Skip to content

Commit a9f9a57

Browse files
kddejonggithub-actions[bot]
authored andcommitted
1 parent 8888a3a commit a9f9a57

File tree

105 files changed

+21485
-13164
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+21485
-13164
lines changed

server/schema/resources.schema.json

Lines changed: 9650 additions & 9044 deletions
Large diffs are not rendered by default.

server/schema/resources/aws-accessanalyzer-analyzer.json

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,69 @@
142142
"additionalProperties": false,
143143
"markdownDescription": "The criteria for an analysis rule for an analyzer.\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
144144
},
145+
"InternalAccessAnalysisRuleCriteria": {
146+
"description": "The criteria for an analysis rule for an internal access analyzer.",
147+
"type": "object",
148+
"properties": {
149+
"AccountIds": {
150+
"description": "A list of AWS account IDs to apply to the internal access analysis rule criteria. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers and cannot include the organization owner account.",
151+
"type": "array",
152+
"insertionOrder": false,
153+
"items": {
154+
"type": "string",
155+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption\n"
156+
},
157+
"markdownDescription": "A list of AWS account IDs to apply to the internal access analysis rule criteria. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers and cannot include the organization owner account.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
158+
},
159+
"ResourceArns": {
160+
"description": "A list of resource ARNs to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources that match these ARNs.",
161+
"type": "array",
162+
"insertionOrder": false,
163+
"items": {
164+
"type": "string",
165+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption\n"
166+
},
167+
"markdownDescription": "A list of resource ARNs to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources that match these ARNs.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
168+
},
169+
"ResourceTypes": {
170+
"description": "A list of resource types to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources of these types.",
171+
"type": "array",
172+
"insertionOrder": false,
173+
"items": {
174+
"type": "string",
175+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption\n"
176+
},
177+
"markdownDescription": "A list of resource types to apply to the internal access analysis rule criteria. The analyzer will only generate findings for resources of these types.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
178+
}
179+
},
180+
"additionalProperties": false,
181+
"markdownDescription": "The criteria for an analysis rule for an internal access analyzer.\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
182+
},
183+
"InternalAccessConfiguration": {
184+
"description": "Specifies the configuration of an internal access analyzer for an AWS organization or account. This configuration determines how the analyzer evaluates internal access within your AWS environment.",
185+
"type": "object",
186+
"properties": {
187+
"InternalAccessAnalysisRule": {
188+
"description": "Contains information about analysis rules for the internal access analyzer. Analysis rules determine which entities will generate findings based on the criteria you define when you create the rule.",
189+
"type": "object",
190+
"properties": {
191+
"Inclusions": {
192+
"description": "A list of rules for the internal access analyzer containing criteria to include in analysis. Only resources that meet the rule criteria will generate findings.",
193+
"type": "array",
194+
"insertionOrder": false,
195+
"items": {
196+
"$ref": "#/definitions/InternalAccessAnalysisRuleCriteria"
197+
},
198+
"markdownDescription": "A list of rules for the internal access analyzer containing criteria to include in analysis. Only resources that meet the rule criteria will generate findings.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
199+
}
200+
},
201+
"additionalProperties": false,
202+
"markdownDescription": "Contains information about analysis rules for the internal access analyzer. Analysis rules determine which entities will generate findings based on the criteria you define when you create the rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
203+
}
204+
},
205+
"additionalProperties": false,
206+
"markdownDescription": "Specifies the configuration of an internal access analyzer for an AWS organization or account. This configuration determines how the analyzer evaluates internal access within your AWS environment.\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
207+
},
145208
"UnusedAccessConfiguration": {
146209
"description": "The Configuration for Unused Access Analyzer",
147210
"type": "object",
@@ -210,18 +273,21 @@
210273
"markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
211274
},
212275
"Type": {
213-
"description": "The type of the analyzer, must be one of ACCOUNT, ORGANIZATION, ACCOUNT_UNUSED_ACCESS or ORGANIZATION_UNUSED_ACCESS",
276+
"description": "The type of the analyzer, must be one of ACCOUNT, ORGANIZATION, ACCOUNT_INTERNAL_ACCESS, ORGANIZATION_INTERNAL_ACCESS, ACCOUNT_UNUSED_ACCESS and ORGANIZATION_UNUSED_ACCESS",
214277
"type": "string",
215278
"minLength": 0,
216279
"maxLength": 1024,
217-
"markdownDescription": "The type of the analyzer, must be one of ACCOUNT, ORGANIZATION, ACCOUNT_UNUSED_ACCESS or ORGANIZATION_UNUSED_ACCESS\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nUpdate requires: Replacement\n"
280+
"markdownDescription": "The type of the analyzer, must be one of ACCOUNT, ORGANIZATION, ACCOUNT_INTERNAL_ACCESS, ORGANIZATION_INTERNAL_ACCESS, ACCOUNT_UNUSED_ACCESS and ORGANIZATION_UNUSED_ACCESS\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nUpdate requires: Replacement\n"
218281
},
219282
"AnalyzerConfiguration": {
220283
"description": "The configuration for the analyzer",
221284
"type": "object",
222285
"properties": {
223286
"UnusedAccessConfiguration": {
224287
"$ref": "#/definitions/UnusedAccessConfiguration"
288+
},
289+
"InternalAccessConfiguration": {
290+
"$ref": "#/definitions/InternalAccessConfiguration"
225291
}
226292
},
227293
"additionalProperties": false,
Lines changed: 302 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,302 @@
1+
{
2+
"typeName": "AWS::AIOps::InvestigationGroup",
3+
"description": "Definition of AWS::AIOps::InvestigationGroup Resource Type",
4+
"primaryIdentifier": [
5+
"/properties/Arn"
6+
],
7+
"required": [
8+
"Name"
9+
],
10+
"readOnlyProperties": [
11+
"/properties/CreatedBy",
12+
"/properties/CreatedAt",
13+
"/properties/LastModifiedBy",
14+
"/properties/LastModifiedAt",
15+
"/properties/Arn"
16+
],
17+
"createOnlyProperties": [
18+
"/properties/Name",
19+
"/properties/RetentionInDays"
20+
],
21+
"definitions": {
22+
"RoleArn": {
23+
"type": "string",
24+
"maxLength": 2048,
25+
"minLength": 20,
26+
"description": "The Investigation Role's ARN.",
27+
"markdownDescription": "The Investigation Role's ARN.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption\n"
28+
},
29+
"StringWithPatternAndLengthLimits": {
30+
"type": "string",
31+
"maxLength": 512,
32+
"minLength": 1,
33+
"description": "User friendly name for resources.",
34+
"markdownDescription": "User friendly name for resources.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption\n"
35+
},
36+
"Timestamp": {
37+
"type": "string",
38+
"description": "The timestamp value.",
39+
"markdownDescription": "The timestamp value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption\n"
40+
},
41+
"InvestigationGroupArn": {
42+
"type": "string",
43+
"maxLength": 2048,
44+
"minLength": 20,
45+
"description": "The Investigation Group's ARN.",
46+
"markdownDescription": "The Investigation Group's ARN.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption\n"
47+
},
48+
"ChatbotNotificationChannel": {
49+
"type": "object",
50+
"properties": {
51+
"SNSTopicArn": {
52+
"type": "string",
53+
"maxLength": 2048,
54+
"minLength": 20,
55+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption\n"
56+
},
57+
"ChatConfigurationArns": {
58+
"type": "array",
59+
"uniqueItems": true,
60+
"insertionOrder": false,
61+
"items": {
62+
"type": "string",
63+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption\n"
64+
},
65+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
66+
}
67+
},
68+
"additionalProperties": false,
69+
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
70+
},
71+
"CrossAccountConfiguration": {
72+
"type": "object",
73+
"properties": {
74+
"SourceRoleArn": {
75+
"$ref": "#/definitions/RoleArn"
76+
}
77+
},
78+
"additionalProperties": false,
79+
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
80+
},
81+
"EncryptionConfigMap": {
82+
"type": "object",
83+
"properties": {
84+
"EncryptionConfigurationType": {
85+
"type": "string",
86+
"maxLength": 128,
87+
"minLength": 1,
88+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption\n"
89+
},
90+
"KmsKeyId": {
91+
"type": "string",
92+
"maxLength": 256,
93+
"minLength": 1,
94+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption\n"
95+
}
96+
},
97+
"additionalProperties": false,
98+
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
99+
},
100+
"Tag": {
101+
"type": "object",
102+
"properties": {
103+
"Key": {
104+
"type": "string",
105+
"maxLength": 128,
106+
"minLength": 1,
107+
"markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption\n"
108+
},
109+
"Value": {
110+
"type": "string",
111+
"maxLength": 256,
112+
"minLength": 1,
113+
"markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption\n"
114+
}
115+
},
116+
"required": [
117+
"Key",
118+
"Value"
119+
],
120+
"additionalProperties": false,
121+
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
122+
}
123+
},
124+
"properties": {
125+
"RoleArn": {
126+
"$ref": "#/definitions/RoleArn"
127+
},
128+
"Name": {
129+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
130+
},
131+
"CreatedBy": {
132+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
133+
},
134+
"CreatedAt": {
135+
"$ref": "#/definitions/Timestamp"
136+
},
137+
"LastModifiedBy": {
138+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
139+
},
140+
"LastModifiedAt": {
141+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
142+
},
143+
"Arn": {
144+
"$ref": "#/definitions/InvestigationGroupArn"
145+
},
146+
"RetentionInDays": {
147+
"type": "integer",
148+
"description": "The number of days to retain the investigation group",
149+
"markdownDescription": "The number of days to retain the investigation group\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: Replacement\n"
150+
},
151+
"EncryptionConfig": {
152+
"$ref": "#/definitions/EncryptionConfigMap"
153+
},
154+
"InvestigationGroupPolicy": {
155+
"type": "string",
156+
"description": "Investigation Group policy",
157+
"markdownDescription": "Investigation Group policy\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption\n"
158+
},
159+
"IsCloudTrailEventHistoryEnabled": {
160+
"type": "boolean",
161+
"description": "Flag to enable cloud trail history",
162+
"markdownDescription": "Flag to enable cloud trail history\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption\n"
163+
},
164+
"TagKeyBoundaries": {
165+
"type": "array",
166+
"uniqueItems": true,
167+
"insertionOrder": false,
168+
"items": {
169+
"type": "string",
170+
"maxLength": 200,
171+
"minLength": 1,
172+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nUpdate requires: No interruption\n"
173+
},
174+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
175+
},
176+
"ChatbotNotificationChannels": {
177+
"description": "An array of key-value pairs of notification channels to apply to this resource.",
178+
"type": "array",
179+
"uniqueItems": true,
180+
"insertionOrder": false,
181+
"items": {
182+
"$ref": "#/definitions/ChatbotNotificationChannel"
183+
},
184+
"markdownDescription": "An array of key-value pairs of notification channels to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
185+
},
186+
"CrossAccountConfigurations": {
187+
"description": "An array of cross account configurations.",
188+
"type": "array",
189+
"uniqueItems": true,
190+
"insertionOrder": false,
191+
"items": {
192+
"$ref": "#/definitions/CrossAccountConfiguration"
193+
},
194+
"markdownDescription": "An array of cross account configurations.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
195+
},
196+
"Tags": {
197+
"description": "An array of key-value pairs to apply to this resource.",
198+
"type": "array",
199+
"uniqueItems": true,
200+
"insertionOrder": false,
201+
"items": {
202+
"$ref": "#/definitions/Tag"
203+
},
204+
"markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
205+
}
206+
},
207+
"tagging": {
208+
"taggable": true,
209+
"tagOnCreate": true,
210+
"tagUpdatable": true,
211+
"cloudFormationSystemTags": true,
212+
"tagProperty": "/properties/Tags",
213+
"permissions": [
214+
"aiops:TagResource",
215+
"aiops:UntagResource",
216+
"aiops:ListTagsForResource"
217+
]
218+
},
219+
"handlers": {
220+
"create": {
221+
"permissions": [
222+
"aiops:CreateInvestigationGroup",
223+
"aiops:GetInvestigationGroup",
224+
"aiops:GetInvestigationGroupPolicy",
225+
"aiops:PutInvestigationGroupPolicy",
226+
"aiops:TagResource",
227+
"aiops:ListTagsForResource",
228+
"iam:PassRole",
229+
"kms:DescribeKey",
230+
"kms:ListAliases",
231+
"kms:Decrypt",
232+
"kms:Encrypt",
233+
"kms:GenerateDataKey"
234+
]
235+
},
236+
"read": {
237+
"permissions": [
238+
"aiops:GetInvestigationGroup",
239+
"aiops:GetInvestigationGroupPolicy",
240+
"aiops:ListTagsForResource",
241+
"kms:DescribeKey",
242+
"kms:ListAliases",
243+
"kms:Decrypt",
244+
"kms:Encrypt"
245+
]
246+
},
247+
"update": {
248+
"permissions": [
249+
"aiops:GetInvestigationGroup",
250+
"aiops:UpdateInvestigationGroup",
251+
"aiops:GetInvestigationGroupPolicy",
252+
"aiops:PutInvestigationGroupPolicy",
253+
"aiops:DeleteInvestigationGroupPolicy",
254+
"aiops:TagResource",
255+
"aiops:UntagResource",
256+
"aiops:ListTagsForResource",
257+
"iam:PassRole",
258+
"kms:DescribeKey",
259+
"kms:ListAliases",
260+
"kms:Decrypt",
261+
"kms:Encrypt",
262+
"kms:GenerateDataKey"
263+
]
264+
},
265+
"delete": {
266+
"permissions": [
267+
"aiops:DeleteInvestigationGroup",
268+
"aiops:GetInvestigationGroup",
269+
"aiops:DeleteInvestigationGroupPolicy",
270+
"aiops:GetInvestigationGroupPolicy",
271+
"aiops:UntagResource",
272+
"kms:DescribeKey",
273+
"kms:ListAliases"
274+
]
275+
},
276+
"list": {
277+
"permissions": [
278+
"aiops:ListInvestigationGroups",
279+
"kms:DescribeKey",
280+
"kms:ListAliases"
281+
]
282+
}
283+
},
284+
"additionalProperties": false,
285+
"attributes": {
286+
"CreatedBy": {
287+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
288+
},
289+
"CreatedAt": {
290+
"$ref": "#/definitions/Timestamp"
291+
},
292+
"LastModifiedBy": {
293+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
294+
},
295+
"LastModifiedAt": {
296+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
297+
},
298+
"Arn": {
299+
"$ref": "#/definitions/InvestigationGroupArn"
300+
}
301+
}
302+
}

0 commit comments

Comments
 (0)