Skip to content
This repository was archived by the owner on Sep 28, 2026. It is now read-only.

Commit 987762c

Browse files
committed
initial configuration
1 parent 0476ce9 commit 987762c

1 file changed

Lines changed: 167 additions & 0 deletions

File tree

‎specs/SHIELD.json‎

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1331,6 +1331,125 @@
13311331
]
13321332
]
13331333
},
1334+
"Deploy.ConfigurationCategory": {
1335+
"title": "Deploy - Configuration Category List",
1336+
"description": "Collection of objects representing configuration categories used to organize deployable configuration items.",
1337+
"type": "array",
1338+
"items": {
1339+
"description": "Single configuration category with curated properties and values in a user-friendly format.",
1340+
"type": "object",
1341+
"properties": {
1342+
"categoryId": {
1343+
"type": "string",
1344+
"description": "Internal Object ID in UUID format to uniquely identify this configuration category definition.",
1345+
"format": "uuid",
1346+
"maxLength": 36,
1347+
"minLength": 36,
1348+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
1349+
"examples": [
1350+
"6a2c7e1b-4d5f-4a8b-9e6a-2b1c7f3d8e4a"
1351+
]
1352+
},
1353+
"name": {
1354+
"type": "string",
1355+
"description": "Human friendly name of the Configuration Category.",
1356+
"examples": [
1357+
"Identity Protection"
1358+
]
1359+
},
1360+
"description": {
1361+
"type": "string",
1362+
"description": "Lengthier explanation of how this category groups related configuration items.",
1363+
"examples": [
1364+
"Baseline controls that harden identity and access related workloads."
1365+
]
1366+
},
1367+
"parentCategoryId": {
1368+
"type": "string",
1369+
"description": "Object ID in UUID format that references the parent configuration category when this category is nested.",
1370+
"format": "uuid",
1371+
"maxLength": 36,
1372+
"minLength": 36,
1373+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
1374+
"examples": [
1375+
"1b7e2a3c-5d4f-4a8b-9e6a-7c2b1d3f8e4a"
1376+
]
1377+
},
1378+
"groupTagMetadataId": {
1379+
"type": "string",
1380+
"description": "Object ID in UUID format that references the deploy group tag metadata record associated with this category.",
1381+
"format": "uuid",
1382+
"maxLength": 36,
1383+
"minLength": 36,
1384+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
1385+
"examples": [
1386+
"5d3f9c2e-7a1b-4a8b-8c6e-1a3d7e8b5c4a"
1387+
]
1388+
},
1389+
"templateIds": {
1390+
"type": "array",
1391+
"description": "List of configuration item templateIds assigned to this category.",
1392+
"minItems": 0,
1393+
"items": {
1394+
"type": "string",
1395+
"format": "uuid",
1396+
"maxLength": 36,
1397+
"minLength": 36,
1398+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$",
1399+
"examples": [
1400+
"2a1c7e3b-5d4f-4a8b-9e6a-7f3d2b1c8e4a"
1401+
]
1402+
},
1403+
"examples": [
1404+
[
1405+
"2a1c7e3b-5d4f-4a8b-9e6a-7f3d2b1c8e4a",
1406+
"4a8b7e1a-2b3c-4d5f-9e6a-1c2b7f3d8e4a"
1407+
]
1408+
]
1409+
}
1410+
},
1411+
"required": [
1412+
"categoryId",
1413+
"name"
1414+
],
1415+
"examples": [
1416+
{
1417+
"categoryId": "6a2c7e1b-4d5f-4a8b-9e6a-2b1c7f3d8e4a",
1418+
"name": "Identity Protection",
1419+
"description": "Baseline controls that harden identity and access related workloads.",
1420+
"groupTagMetadataId": "5d3f9c2e-7a1b-4a8b-8c6e-1a3d7e8b5c4a",
1421+
"templateIds": [
1422+
"2a1c7e3b-5d4f-4a8b-9e6a-7f3d2b1c8e4a",
1423+
"4a8b7e1a-2b3c-4d5f-9e6a-1c2b7f3d8e4a"
1424+
]
1425+
},
1426+
{
1427+
"categoryId": "7e1a2b3c-4d5f-4a8b-9e6a-1c2b7f3d8e4a",
1428+
"name": "Conditional Access",
1429+
"parentCategoryId": "6a2c7e1b-4d5f-4a8b-9e6a-2b1c7f3d8e4a"
1430+
}
1431+
]
1432+
},
1433+
"examples": [
1434+
[
1435+
{
1436+
"categoryId": "6a2c7e1b-4d5f-4a8b-9e6a-2b1c7f3d8e4a",
1437+
"name": "Identity Protection",
1438+
"description": "Baseline controls that harden identity and access related workloads.",
1439+
"groupTagMetadataId": "5d3f9c2e-7a1b-4a8b-8c6e-1a3d7e8b5c4a",
1440+
"templateIds": [
1441+
"2a1c7e3b-5d4f-4a8b-9e6a-7f3d2b1c8e4a",
1442+
"4a8b7e1a-2b3c-4d5f-9e6a-1c2b7f3d8e4a"
1443+
]
1444+
},
1445+
{
1446+
"categoryId": "7e1a2b3c-4d5f-4a8b-9e6a-1c2b7f3d8e4a",
1447+
"name": "Conditional Access",
1448+
"parentCategoryId": "6a2c7e1b-4d5f-4a8b-9e6a-2b1c7f3d8e4a"
1449+
}
1450+
]
1451+
]
1452+
},
13341453
"Deploy.ConfigurationItemMetaData": {
13351454
"title": "Deploy - Configuration Item Meta Data",
13361455
"description": "Object representing populated information expanding details of the Configuration Item with user friendly information.",
@@ -5346,6 +5465,51 @@
53465465
]
53475466
}
53485467
},
5468+
"/Api/Deploy/Component/ConfigurationCategory": {
5469+
"get": {
5470+
"summary": "Returns List of Available Configuration Categories",
5471+
"description": "Retrieves the collection of all existing configuration categories with curated set of metadata.\n\nThis endpoint requires the `Deploy.Read`, `Deploy.ReadWrite`, or the `Everything.ReadWrite` scope (permission).",
5472+
"operationId": "/Api/Deploy/Component/ConfigurationCategory/Get",
5473+
"responses": {
5474+
"200": {
5475+
"content": {
5476+
"application/json": {
5477+
"examples": {
5478+
"Sample List of Available Configuration Categories": {
5479+
"description": "Sample list of configuration category records available for deploy component organization.",
5480+
"summary": "Available Configuration Categories",
5481+
"value": [
5482+
{
5483+
"categoryId": "6a2c7e1b-4d5f-4a8b-9e6a-2b1c7f3d8e4a",
5484+
"name": "Identity Protection",
5485+
"description": "Baseline controls that harden identity and access related workloads.",
5486+
"groupTagMetadataId": "5d3f9c2e-7a1b-4a8b-8c6e-1a3d7e8b5c4a",
5487+
"templateIds": [
5488+
"2a1c7e3b-5d4f-4a8b-9e6a-7f3d2b1c8e4a",
5489+
"4a8b7e1a-2b3c-4d5f-9e6a-1c2b7f3d8e4a"
5490+
]
5491+
},
5492+
{
5493+
"categoryId": "7e1a2b3c-4d5f-4a8b-9e6a-1c2b7f3d8e4a",
5494+
"name": "Conditional Access",
5495+
"parentCategoryId": "6a2c7e1b-4d5f-4a8b-9e6a-2b1c7f3d8e4a"
5496+
}
5497+
]
5498+
}
5499+
},
5500+
"schema": {
5501+
"$ref": "#/components/schemas/Deploy.ConfigurationCategory"
5502+
}
5503+
}
5504+
},
5505+
"description": "OK"
5506+
}
5507+
},
5508+
"tags": [
5509+
"Deploy"
5510+
]
5511+
}
5512+
},
53495513
"/Api/Deploy/Component/ConfigurationItem/{templateId}/Docs": {
53505514
"get": {
53515515
"summary": "Return Result of Retrieving Configuration Item Documentation",
@@ -5478,6 +5642,9 @@
54785642
}
54795643
},
54805644
"description": "OK"
5645+
},
5646+
"400": {
5647+
"$ref": "#/components/responses/400"
54815648
}
54825649
},
54835650
"tags": [

0 commit comments

Comments
 (0)