Skip to content

Commit 310d97f

Browse files
Update API model
1 parent c2985c9 commit 310d97f

7 files changed

Lines changed: 1855 additions & 714 deletions

File tree

tools/code-generation/smithy/api-descriptions/accessanalyzer.json

Lines changed: 187 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@
5252
{
5353
"target": "com.amazonaws.accessanalyzer#CreateAccessPreview"
5454
},
55+
{
56+
"target": "com.amazonaws.accessanalyzer#CreateServiceLinkedAnalyzer"
57+
},
5558
{
5659
"target": "com.amazonaws.accessanalyzer#GenerateFindingRecommendation"
5760
},
@@ -1791,7 +1794,7 @@
17911794
"type": "resource",
17921795
"identifiers": {
17931796
"analyzerName": {
1794-
"target": "com.amazonaws.accessanalyzer#Name"
1797+
"target": "com.amazonaws.accessanalyzer#AnalyzerName"
17951798
}
17961799
},
17971800
"put": {
@@ -1809,6 +1812,11 @@
18091812
"list": {
18101813
"target": "com.amazonaws.accessanalyzer#ListAnalyzers"
18111814
},
1815+
"operations": [
1816+
{
1817+
"target": "com.amazonaws.accessanalyzer#DeleteServiceLinkedAnalyzer"
1818+
}
1819+
],
18121820
"resources": [
18131821
{
18141822
"target": "com.amazonaws.accessanalyzer#ArchiveRule"
@@ -1847,6 +1855,16 @@
18471855
"smithy.api#documentation": "<p>Contains information about the configuration of an analyzer for an Amazon Web Services organization or account.</p>"
18481856
}
18491857
},
1858+
"com.amazonaws.accessanalyzer#AnalyzerName": {
1859+
"type": "string",
1860+
"traits": {
1861+
"smithy.api#length": {
1862+
"min": 1,
1863+
"max": 255
1864+
},
1865+
"smithy.api#pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$"
1866+
}
1867+
},
18501868
"com.amazonaws.accessanalyzer#AnalyzerStatus": {
18511869
"type": "string",
18521870
"traits": {
@@ -1881,7 +1899,7 @@
18811899
}
18821900
},
18831901
"name": {
1884-
"target": "com.amazonaws.accessanalyzer#Name",
1902+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
18851903
"traits": {
18861904
"smithy.api#documentation": "<p>The name of the analyzer.</p>",
18871905
"smithy.api#required": {}
@@ -1937,6 +1955,12 @@
19371955
"traits": {
19381956
"smithy.api#documentation": "<p>Specifies if the analyzer is an external access, unused access, or internal access analyzer. The <a href=\"https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_GetAnalyzer.html\">GetAnalyzer</a> action includes this property in its response if a configuration is specified, while the <a href=\"https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_ListAnalyzers.html\">ListAnalyzers</a> action omits it.</p>"
19391957
}
1958+
},
1959+
"managedBy": {
1960+
"target": "smithy.api#String",
1961+
"traits": {
1962+
"smithy.api#documentation": "<p>The service principal that manages this analyzer (for example, <code>securityhubv2.amazonaws.com</code>). This field is only present for service-linked analyzers and is not included for customer-managed analyzers.</p>"
1963+
}
19401964
}
19411965
},
19421966
"traits": {
@@ -2017,7 +2041,7 @@
20172041
"type": "resource",
20182042
"identifiers": {
20192043
"analyzerName": {
2020-
"target": "com.amazonaws.accessanalyzer#Name"
2044+
"target": "com.amazonaws.accessanalyzer#AnalyzerName"
20212045
},
20222046
"ruleName": {
20232047
"target": "com.amazonaws.accessanalyzer#Name"
@@ -2893,7 +2917,7 @@
28932917
"type": "structure",
28942918
"members": {
28952919
"analyzerName": {
2896-
"target": "com.amazonaws.accessanalyzer#Name",
2920+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
28972921
"traits": {
28982922
"smithy.api#documentation": "<p>The name of the analyzer to create.</p>",
28992923
"smithy.api#required": {}
@@ -2995,7 +3019,7 @@
29953019
"type": "structure",
29963020
"members": {
29973021
"analyzerName": {
2998-
"target": "com.amazonaws.accessanalyzer#Name",
3022+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
29993023
"traits": {
30003024
"smithy.api#documentation": "<p>The name of the created analyzer.</p>",
30013025
"smithy.api#httpLabel": {},
@@ -3028,6 +3052,94 @@
30283052
"smithy.api#documentation": "<p>Creates an archive rule.</p>"
30293053
}
30303054
},
3055+
"com.amazonaws.accessanalyzer#CreateServiceLinkedAnalyzer": {
3056+
"type": "operation",
3057+
"input": {
3058+
"target": "com.amazonaws.accessanalyzer#CreateServiceLinkedAnalyzerRequest"
3059+
},
3060+
"output": {
3061+
"target": "com.amazonaws.accessanalyzer#CreateServiceLinkedAnalyzerResponse"
3062+
},
3063+
"errors": [
3064+
{
3065+
"target": "com.amazonaws.accessanalyzer#AccessDeniedException"
3066+
},
3067+
{
3068+
"target": "com.amazonaws.accessanalyzer#ConflictException"
3069+
},
3070+
{
3071+
"target": "com.amazonaws.accessanalyzer#InternalServerException"
3072+
},
3073+
{
3074+
"target": "com.amazonaws.accessanalyzer#ServiceQuotaExceededException"
3075+
},
3076+
{
3077+
"target": "com.amazonaws.accessanalyzer#ThrottlingException"
3078+
},
3079+
{
3080+
"target": "com.amazonaws.accessanalyzer#ValidationException"
3081+
}
3082+
],
3083+
"traits": {
3084+
"smithy.api#documentation": "<p>Creates a service-linked analyzer managed by an Amazon Web Services service. This operation can only be invoked by authorized Amazon Web Services services. Direct customer invocation returns <code>AccessDeniedException</code>.</p> <p>Service-linked analyzers enable Amazon Web Services services to create and manage analyzers on behalf of customers. The lifecycle of these analyzers is managed by the calling service.</p>",
3085+
"smithy.api#http": {
3086+
"uri": "/service-linked-analyzer",
3087+
"method": "PUT",
3088+
"code": 200
3089+
},
3090+
"smithy.api#idempotent": {}
3091+
}
3092+
},
3093+
"com.amazonaws.accessanalyzer#CreateServiceLinkedAnalyzerRequest": {
3094+
"type": "structure",
3095+
"members": {
3096+
"type": {
3097+
"target": "com.amazonaws.accessanalyzer#Type",
3098+
"traits": {
3099+
"smithy.api#documentation": "<p>The type of analyzer to create. Valid values are <code>ACCOUNT_UNUSED_ACCESS</code> and <code>ORGANIZATION_UNUSED_ACCESS</code>.</p>",
3100+
"smithy.api#required": {}
3101+
}
3102+
},
3103+
"archiveRules": {
3104+
"target": "com.amazonaws.accessanalyzer#InlineArchiveRulesList",
3105+
"traits": {
3106+
"smithy.api#documentation": "<p>Specifies the archive rules to add for the analyzer. Archive rules automatically archive findings that meet the criteria you define for the rule.</p>"
3107+
}
3108+
},
3109+
"clientToken": {
3110+
"target": "smithy.api#String",
3111+
"traits": {
3112+
"smithy.api#documentation": "<p>A client token.</p>",
3113+
"smithy.api#idempotencyToken": {}
3114+
}
3115+
},
3116+
"configuration": {
3117+
"target": "com.amazonaws.accessanalyzer#AnalyzerConfiguration",
3118+
"traits": {
3119+
"smithy.api#documentation": "<p>Specifies the configuration of the analyzer. The specified scope of unused access is used for the configuration.</p>"
3120+
}
3121+
}
3122+
},
3123+
"traits": {
3124+
"smithy.api#documentation": "<p>Creates a service-linked analyzer.</p>",
3125+
"smithy.api#input": {}
3126+
}
3127+
},
3128+
"com.amazonaws.accessanalyzer#CreateServiceLinkedAnalyzerResponse": {
3129+
"type": "structure",
3130+
"members": {
3131+
"arn": {
3132+
"target": "com.amazonaws.accessanalyzer#AnalyzerArn",
3133+
"traits": {
3134+
"smithy.api#documentation": "<p>The ARN of the service-linked analyzer that was created by the request. The analyzer name follows the format <code>_AccessAnalyzerFor{ServiceName}-{Id}</code> where <code>Id</code> is a randomly generated identifier.</p>"
3135+
}
3136+
}
3137+
},
3138+
"traits": {
3139+
"smithy.api#documentation": "<p>The response to the request to create a service-linked analyzer.</p>",
3140+
"smithy.api#output": {}
3141+
}
3142+
},
30313143
"com.amazonaws.accessanalyzer#Criterion": {
30323144
"type": "structure",
30333145
"members": {
@@ -3099,7 +3211,7 @@
30993211
"type": "structure",
31003212
"members": {
31013213
"analyzerName": {
3102-
"target": "com.amazonaws.accessanalyzer#Name",
3214+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
31033215
"traits": {
31043216
"smithy.api#documentation": "<p>The name of the analyzer to delete.</p>",
31053217
"smithy.api#httpLabel": {},
@@ -3158,7 +3270,7 @@
31583270
"type": "structure",
31593271
"members": {
31603272
"analyzerName": {
3161-
"target": "com.amazonaws.accessanalyzer#Name",
3273+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
31623274
"traits": {
31633275
"smithy.api#documentation": "<p>The name of the analyzer that associated with the archive rule to delete.</p>",
31643276
"smithy.api#httpLabel": {},
@@ -3186,6 +3298,69 @@
31863298
"smithy.api#documentation": "<p>Deletes an archive rule.</p>"
31873299
}
31883300
},
3301+
"com.amazonaws.accessanalyzer#DeleteServiceLinkedAnalyzer": {
3302+
"type": "operation",
3303+
"input": {
3304+
"target": "com.amazonaws.accessanalyzer#DeleteServiceLinkedAnalyzerRequest"
3305+
},
3306+
"output": {
3307+
"target": "smithy.api#Unit"
3308+
},
3309+
"errors": [
3310+
{
3311+
"target": "com.amazonaws.accessanalyzer#AccessDeniedException"
3312+
},
3313+
{
3314+
"target": "com.amazonaws.accessanalyzer#ConflictException"
3315+
},
3316+
{
3317+
"target": "com.amazonaws.accessanalyzer#InternalServerException"
3318+
},
3319+
{
3320+
"target": "com.amazonaws.accessanalyzer#ResourceNotFoundException"
3321+
},
3322+
{
3323+
"target": "com.amazonaws.accessanalyzer#ThrottlingException"
3324+
},
3325+
{
3326+
"target": "com.amazonaws.accessanalyzer#ValidationException"
3327+
}
3328+
],
3329+
"traits": {
3330+
"smithy.api#documentation": "<p>Deletes a service-linked analyzer. This operation can be invoked by both authorized Amazon Web Services services and customers.</p> <p>When invoked by a customer, IAM Access Analyzer performs a callback to the managing service to verify whether the analyzer is still in use and can be deleted. If the service indicates the analyzer is still in use, the deletion is rejected with <code>ConflictException</code>.</p>",
3331+
"smithy.api#http": {
3332+
"uri": "/service-linked-analyzer/{analyzerName}",
3333+
"method": "DELETE",
3334+
"code": 200
3335+
},
3336+
"smithy.api#idempotent": {}
3337+
}
3338+
},
3339+
"com.amazonaws.accessanalyzer#DeleteServiceLinkedAnalyzerRequest": {
3340+
"type": "structure",
3341+
"members": {
3342+
"analyzerName": {
3343+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
3344+
"traits": {
3345+
"smithy.api#documentation": "<p>The name of the service-linked analyzer to delete. Service-linked analyzer names follow the format <code>_AccessAnalyzerFor{ServiceName}-{Id}</code>.</p>",
3346+
"smithy.api#httpLabel": {},
3347+
"smithy.api#required": {}
3348+
}
3349+
},
3350+
"clientToken": {
3351+
"target": "smithy.api#String",
3352+
"traits": {
3353+
"smithy.api#documentation": "<p>A client token.</p>",
3354+
"smithy.api#httpQuery": "clientToken",
3355+
"smithy.api#idempotencyToken": {}
3356+
}
3357+
}
3358+
},
3359+
"traits": {
3360+
"smithy.api#documentation": "<p>Deletes a service-linked analyzer.</p>",
3361+
"smithy.api#input": {}
3362+
}
3363+
},
31893364
"com.amazonaws.accessanalyzer#DynamodbStreamConfiguration": {
31903365
"type": "structure",
31913366
"members": {
@@ -4299,7 +4474,7 @@
42994474
"type": "structure",
43004475
"members": {
43014476
"analyzerName": {
4302-
"target": "com.amazonaws.accessanalyzer#Name",
4477+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
43034478
"traits": {
43044479
"smithy.api#documentation": "<p>The name of the analyzer retrieved.</p>",
43054480
"smithy.api#httpLabel": {},
@@ -4365,7 +4540,7 @@
43654540
"type": "structure",
43664541
"members": {
43674542
"analyzerName": {
4368-
"target": "com.amazonaws.accessanalyzer#Name",
4543+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
43694544
"traits": {
43704545
"smithy.api#documentation": "<p>The name of the analyzer to retrieve rules from.</p>",
43714546
"smithy.api#httpLabel": {},
@@ -6020,7 +6195,7 @@
60206195
"type": "structure",
60216196
"members": {
60226197
"analyzerName": {
6023-
"target": "com.amazonaws.accessanalyzer#Name",
6198+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
60246199
"traits": {
60256200
"smithy.api#documentation": "<p>The name of the analyzer to retrieve rules from.</p>",
60266201
"smithy.api#httpLabel": {},
@@ -8259,7 +8434,7 @@
82598434
"type": "structure",
82608435
"members": {
82618436
"analyzerName": {
8262-
"target": "com.amazonaws.accessanalyzer#Name",
8437+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
82638438
"traits": {
82648439
"smithy.api#documentation": "<p>The name of the analyzer to modify.</p>",
82658440
"smithy.api#httpLabel": {},
@@ -8324,7 +8499,7 @@
83248499
"type": "structure",
83258500
"members": {
83268501
"analyzerName": {
8327-
"target": "com.amazonaws.accessanalyzer#Name",
8502+
"target": "com.amazonaws.accessanalyzer#AnalyzerName",
83288503
"traits": {
83298504
"smithy.api#documentation": "<p>The name of the analyzer to update the archive rules for.</p>",
83308505
"smithy.api#httpLabel": {},

0 commit comments

Comments
 (0)