Skip to content

Commit 3dbe907

Browse files
kddejonggithub-actions[bot]
authored andcommitted
1 parent adf1662 commit 3dbe907

File tree

62 files changed

+16549
-12098
lines changed

Some content is hidden

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

62 files changed

+16549
-12098
lines changed

server/schema/resources.schema.json

Lines changed: 9626 additions & 9254 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: 282 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,282 @@
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+
"EncryptionConfigMap": {
72+
"type": "object",
73+
"properties": {
74+
"EncryptionConfigurationType": {
75+
"type": "string",
76+
"maxLength": 128,
77+
"minLength": 1,
78+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption\n"
79+
},
80+
"KmsKeyId": {
81+
"type": "string",
82+
"maxLength": 256,
83+
"minLength": 1,
84+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption\n"
85+
}
86+
},
87+
"additionalProperties": false,
88+
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
89+
},
90+
"Tag": {
91+
"type": "object",
92+
"properties": {
93+
"Key": {
94+
"type": "string",
95+
"maxLength": 128,
96+
"minLength": 1,
97+
"markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption\n"
98+
},
99+
"Value": {
100+
"type": "string",
101+
"maxLength": 256,
102+
"minLength": 1,
103+
"markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption\n"
104+
}
105+
},
106+
"required": [
107+
"Key",
108+
"Value"
109+
],
110+
"additionalProperties": false,
111+
"markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption\n"
112+
}
113+
},
114+
"properties": {
115+
"RoleArn": {
116+
"$ref": "#/definitions/RoleArn"
117+
},
118+
"Name": {
119+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
120+
},
121+
"CreatedBy": {
122+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
123+
},
124+
"CreatedAt": {
125+
"$ref": "#/definitions/Timestamp"
126+
},
127+
"LastModifiedBy": {
128+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
129+
},
130+
"LastModifiedAt": {
131+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
132+
},
133+
"Arn": {
134+
"$ref": "#/definitions/InvestigationGroupArn"
135+
},
136+
"RetentionInDays": {
137+
"type": "integer",
138+
"description": "The number of days to retain the investigation group",
139+
"markdownDescription": "The number of days to retain the investigation group\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: Replacement\n"
140+
},
141+
"EncryptionConfig": {
142+
"$ref": "#/definitions/EncryptionConfigMap"
143+
},
144+
"InvestigationGroupPolicy": {
145+
"type": "string",
146+
"description": "Investigation Group policy",
147+
"markdownDescription": "Investigation Group policy\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption\n"
148+
},
149+
"IsCloudTrailEventHistoryEnabled": {
150+
"type": "boolean",
151+
"description": "Flag to enable cloud trail history",
152+
"markdownDescription": "Flag to enable cloud trail history\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption\n"
153+
},
154+
"TagKeyBoundaries": {
155+
"type": "array",
156+
"uniqueItems": true,
157+
"insertionOrder": false,
158+
"items": {
159+
"type": "string",
160+
"maxLength": 200,
161+
"minLength": 1,
162+
"markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nUpdate requires: No interruption\n"
163+
},
164+
"markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
165+
},
166+
"ChatbotNotificationChannels": {
167+
"description": "An array of key-value pairs of notification channels to apply to this resource.",
168+
"type": "array",
169+
"uniqueItems": true,
170+
"insertionOrder": false,
171+
"items": {
172+
"$ref": "#/definitions/ChatbotNotificationChannel"
173+
},
174+
"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"
175+
},
176+
"Tags": {
177+
"description": "An array of key-value pairs to apply to this resource.",
178+
"type": "array",
179+
"uniqueItems": true,
180+
"insertionOrder": false,
181+
"items": {
182+
"$ref": "#/definitions/Tag"
183+
},
184+
"markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption\n"
185+
}
186+
},
187+
"tagging": {
188+
"taggable": true,
189+
"tagOnCreate": true,
190+
"tagUpdatable": true,
191+
"cloudFormationSystemTags": true,
192+
"tagProperty": "/properties/Tags",
193+
"permissions": [
194+
"aiops:TagResource",
195+
"aiops:UntagResource",
196+
"aiops:ListTagsForResource"
197+
]
198+
},
199+
"handlers": {
200+
"create": {
201+
"permissions": [
202+
"aiops:CreateInvestigationGroup",
203+
"aiops:GetInvestigationGroup",
204+
"aiops:GetInvestigationGroupPolicy",
205+
"aiops:PutInvestigationGroupPolicy",
206+
"aiops:TagResource",
207+
"aiops:ListTagsForResource",
208+
"iam:PassRole",
209+
"kms:DescribeKey",
210+
"kms:ListAliases",
211+
"kms:Decrypt",
212+
"kms:Encrypt",
213+
"kms:GenerateDataKey"
214+
]
215+
},
216+
"read": {
217+
"permissions": [
218+
"aiops:GetInvestigationGroup",
219+
"aiops:GetInvestigationGroupPolicy",
220+
"aiops:ListTagsForResource",
221+
"kms:DescribeKey",
222+
"kms:ListAliases",
223+
"kms:Decrypt",
224+
"kms:Encrypt"
225+
]
226+
},
227+
"update": {
228+
"permissions": [
229+
"aiops:GetInvestigationGroup",
230+
"aiops:UpdateInvestigationGroup",
231+
"aiops:GetInvestigationGroupPolicy",
232+
"aiops:PutInvestigationGroupPolicy",
233+
"aiops:DeleteInvestigationGroupPolicy",
234+
"aiops:TagResource",
235+
"aiops:UntagResource",
236+
"aiops:ListTagsForResource",
237+
"iam:PassRole",
238+
"kms:DescribeKey",
239+
"kms:ListAliases",
240+
"kms:Decrypt",
241+
"kms:Encrypt",
242+
"kms:GenerateDataKey"
243+
]
244+
},
245+
"delete": {
246+
"permissions": [
247+
"aiops:DeleteInvestigationGroup",
248+
"aiops:GetInvestigationGroup",
249+
"aiops:DeleteInvestigationGroupPolicy",
250+
"aiops:GetInvestigationGroupPolicy",
251+
"aiops:UntagResource",
252+
"kms:DescribeKey",
253+
"kms:ListAliases"
254+
]
255+
},
256+
"list": {
257+
"permissions": [
258+
"aiops:ListInvestigationGroups",
259+
"kms:DescribeKey",
260+
"kms:ListAliases"
261+
]
262+
}
263+
},
264+
"additionalProperties": false,
265+
"attributes": {
266+
"CreatedBy": {
267+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
268+
},
269+
"CreatedAt": {
270+
"$ref": "#/definitions/Timestamp"
271+
},
272+
"LastModifiedBy": {
273+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
274+
},
275+
"LastModifiedAt": {
276+
"$ref": "#/definitions/StringWithPatternAndLengthLimits"
277+
},
278+
"Arn": {
279+
"$ref": "#/definitions/InvestigationGroupArn"
280+
}
281+
}
282+
}

0 commit comments

Comments
 (0)