Skip to content

Commit b8bf84f

Browse files
author
AWS
committed
AWS Marketplace Catalog Service Update: Added three new APIs to support tagging and tag-based authorization: TagResource, UntagResource, and ListTagsForResource. Added optional parameters to the StartChangeSet API to support tagging a resource while making a request to create it.
1 parent a7cea59 commit b8bf84f

File tree

3 files changed

+205
-25
lines changed

3 files changed

+205
-25
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS Marketplace Catalog Service",
4+
"contributor": "",
5+
"description": "Added three new APIs to support tagging and tag-based authorization: TagResource, UntagResource, and ListTagsForResource. Added optional parameters to the StartChangeSet API to support tagging a resource while making a request to create it."
6+
}

services/marketplacecatalog/src/main/resources/codegen-resources/endpoint-tests.json

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
}
99
},
1010
"params": {
11-
"UseDualStack": true,
11+
"UseFIPS": true,
1212
"Region": "us-west-2",
13-
"UseFIPS": true
13+
"UseDualStack": true
1414
}
1515
},
1616
{
@@ -21,9 +21,9 @@
2121
}
2222
},
2323
"params": {
24-
"UseDualStack": false,
24+
"UseFIPS": true,
2525
"Region": "us-west-2",
26-
"UseFIPS": true
26+
"UseDualStack": false
2727
}
2828
},
2929
{
@@ -34,9 +34,9 @@
3434
}
3535
},
3636
"params": {
37-
"UseDualStack": true,
37+
"UseFIPS": false,
3838
"Region": "us-west-2",
39-
"UseFIPS": false
39+
"UseDualStack": true
4040
}
4141
},
4242
{
@@ -47,9 +47,9 @@
4747
}
4848
},
4949
"params": {
50-
"UseDualStack": false,
50+
"UseFIPS": false,
5151
"Region": "us-west-2",
52-
"UseFIPS": false
52+
"UseDualStack": false
5353
}
5454
},
5555
{
@@ -60,9 +60,9 @@
6060
}
6161
},
6262
"params": {
63-
"UseDualStack": true,
63+
"UseFIPS": true,
6464
"Region": "us-east-1",
65-
"UseFIPS": true
65+
"UseDualStack": true
6666
}
6767
},
6868
{
@@ -73,9 +73,9 @@
7373
}
7474
},
7575
"params": {
76-
"UseDualStack": false,
76+
"UseFIPS": true,
7777
"Region": "us-east-1",
78-
"UseFIPS": true
78+
"UseDualStack": false
7979
}
8080
},
8181
{
@@ -86,9 +86,9 @@
8686
}
8787
},
8888
"params": {
89-
"UseDualStack": true,
89+
"UseFIPS": false,
9090
"Region": "us-east-1",
91-
"UseFIPS": false
91+
"UseDualStack": true
9292
}
9393
},
9494
{
@@ -99,9 +99,9 @@
9999
}
100100
},
101101
"params": {
102-
"UseDualStack": false,
102+
"UseFIPS": false,
103103
"Region": "us-east-1",
104-
"UseFIPS": false
104+
"UseDualStack": false
105105
}
106106
},
107107
{
@@ -112,9 +112,9 @@
112112
}
113113
},
114114
"params": {
115-
"UseDualStack": false,
116-
"Region": "us-east-1",
117115
"UseFIPS": false,
116+
"Region": "us-east-1",
117+
"UseDualStack": false,
118118
"Endpoint": "https://example.com"
119119
}
120120
},
@@ -124,9 +124,9 @@
124124
"error": "Invalid Configuration: FIPS and custom endpoint are not supported"
125125
},
126126
"params": {
127-
"UseDualStack": false,
128-
"Region": "us-east-1",
129127
"UseFIPS": true,
128+
"Region": "us-east-1",
129+
"UseDualStack": false,
130130
"Endpoint": "https://example.com"
131131
}
132132
},
@@ -136,9 +136,9 @@
136136
"error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
137137
},
138138
"params": {
139-
"UseDualStack": true,
140-
"Region": "us-east-1",
141139
"UseFIPS": false,
140+
"Region": "us-east-1",
141+
"UseDualStack": true,
142142
"Endpoint": "https://example.com"
143143
}
144144
}

services/marketplacecatalog/src/main/resources/codegen-resources/service-2.json

Lines changed: 177 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,23 @@
9999
],
100100
"documentation":"<p>Provides the list of entities of a given type.</p>"
101101
},
102+
"ListTagsForResource":{
103+
"name":"ListTagsForResource",
104+
"http":{
105+
"method":"POST",
106+
"requestUri":"/ListTagsForResource"
107+
},
108+
"input":{"shape":"ListTagsForResourceRequest"},
109+
"output":{"shape":"ListTagsForResourceResponse"},
110+
"errors":[
111+
{"shape":"ResourceNotFoundException"},
112+
{"shape":"InternalServiceException"},
113+
{"shape":"AccessDeniedException"},
114+
{"shape":"ValidationException"},
115+
{"shape":"ThrottlingException"}
116+
],
117+
"documentation":"<p>Lists all tags that have been added to a resource (either an <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#catalog-api-entities\">entity</a> or <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets\">change set</a>).</p>"
118+
},
102119
"StartChangeSet":{
103120
"name":"StartChangeSet",
104121
"http":{
@@ -116,7 +133,41 @@
116133
{"shape":"ThrottlingException"},
117134
{"shape":"ServiceQuotaExceededException"}
118135
],
119-
"documentation":"<p>This operation allows you to request changes for your entities. Within a single ChangeSet, you cannot start the same change type against the same entity multiple times. Additionally, when a ChangeSet is running, all the entities targeted by the different changes are locked until the ChangeSet has completed (either succeeded, cancelled, or failed). If you try to start a ChangeSet containing a change against an entity that is already locked, you will receive a <code>ResourceInUseException</code>.</p> <p>For example, you cannot start the ChangeSet described in the <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_StartChangeSet.html#API_StartChangeSet_Examples\">example</a> later in this topic, because it contains two changes to execute the same change type (<code>AddRevisions</code>) against the same entity (<code>entity-id@1)</code>.</p> <p>For more information about working with change sets, see <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets\"> Working with change sets</a>.</p>"
136+
"documentation":"<p>Allows you to request changes for your entities. Within a single <code>ChangeSet</code>, you can't start the same change type against the same entity multiple times. Additionally, when a <code>ChangeSet</code> is running, all the entities targeted by the different changes are locked until the change set has completed (either succeeded, cancelled, or failed). If you try to start a change set containing a change against an entity that is already locked, you will receive a <code>ResourceInUseException</code> error.</p> <p>For example, you can't start the <code>ChangeSet</code> described in the <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_StartChangeSet.html#API_StartChangeSet_Examples\">example</a> later in this topic because it contains two changes to run the same change type (<code>AddRevisions</code>) against the same entity (<code>entity-id@1</code>).</p> <p>For more information about working with change sets, see <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets\"> Working with change sets</a>.</p>"
137+
},
138+
"TagResource":{
139+
"name":"TagResource",
140+
"http":{
141+
"method":"POST",
142+
"requestUri":"/TagResource"
143+
},
144+
"input":{"shape":"TagResourceRequest"},
145+
"output":{"shape":"TagResourceResponse"},
146+
"errors":[
147+
{"shape":"ResourceNotFoundException"},
148+
{"shape":"InternalServiceException"},
149+
{"shape":"AccessDeniedException"},
150+
{"shape":"ValidationException"},
151+
{"shape":"ThrottlingException"}
152+
],
153+
"documentation":"<p>Tags a resource (either an <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#catalog-api-entities\">entity</a> or <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets\">change set</a>).</p>"
154+
},
155+
"UntagResource":{
156+
"name":"UntagResource",
157+
"http":{
158+
"method":"POST",
159+
"requestUri":"/UntagResource"
160+
},
161+
"input":{"shape":"UntagResourceRequest"},
162+
"output":{"shape":"UntagResourceResponse"},
163+
"errors":[
164+
{"shape":"ResourceNotFoundException"},
165+
{"shape":"InternalServiceException"},
166+
{"shape":"AccessDeniedException"},
167+
{"shape":"ValidationException"},
168+
{"shape":"ThrottlingException"}
169+
],
170+
"documentation":"<p>Removes a tag or list of tags from a resource (either an <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#catalog-api-entities\">entity</a> or <a href=\"https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets\">change set</a>).</p>"
120171
}
121172
},
122173
"shapes":{
@@ -192,6 +243,10 @@
192243
"shape":"Entity",
193244
"documentation":"<p>The entity to be changed.</p>"
194245
},
246+
"EntityTags":{
247+
"shape":"TagList",
248+
"documentation":"<p>The tags associated with the change.</p>"
249+
},
195250
"Details":{
196251
"shape":"Json",
197252
"documentation":"<p>This object contains details specific to the change type of the requested change.</p>"
@@ -305,9 +360,9 @@
305360
},
306361
"ClientRequestToken":{
307362
"type":"string",
308-
"max":36,
363+
"max":64,
309364
"min":1,
310-
"pattern":"^[\\w\\-]+$"
365+
"pattern":"^[!-~]+$"
311366
},
312367
"DateTimeISO8601":{
313368
"type":"string",
@@ -660,6 +715,29 @@
660715
}
661716
}
662717
},
718+
"ListTagsForResourceRequest":{
719+
"type":"structure",
720+
"required":["ResourceArn"],
721+
"members":{
722+
"ResourceArn":{
723+
"shape":"ResourceARN",
724+
"documentation":"<p>Required. The Amazon Resource Name (ARN) associated with the resource you want to list tags on.</p>"
725+
}
726+
}
727+
},
728+
"ListTagsForResourceResponse":{
729+
"type":"structure",
730+
"members":{
731+
"ResourceArn":{
732+
"shape":"ResourceARN",
733+
"documentation":"<p>Required. The ARN associated with the resource you want to list tags on.</p>"
734+
},
735+
"Tags":{
736+
"shape":"TagList",
737+
"documentation":"<p>Required. A list of objects specifying each key name and value. Number of objects allowed: 1-50.</p>"
738+
}
739+
}
740+
},
663741
"MaxResultInteger":{
664742
"type":"integer",
665743
"box":true,
@@ -678,6 +756,12 @@
678756
"max":20,
679757
"min":1
680758
},
759+
"ResourceARN":{
760+
"type":"string",
761+
"max":255,
762+
"min":1,
763+
"pattern":"^arn:[\\w+=/,.@-]+:aws-marketplace:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*$"
764+
},
681765
"ResourceId":{
682766
"type":"string",
683767
"max":255,
@@ -778,6 +862,10 @@
778862
"shape":"ClientRequestToken",
779863
"documentation":"<p>A unique token to identify the request to ensure idempotency.</p>",
780864
"idempotencyToken":true
865+
},
866+
"ChangeSetTags":{
867+
"shape":"TagList",
868+
"documentation":"<p>A list of objects specifying each key name and value for the <code>ChangeSetTags</code> property.</p>"
781869
}
782870
}
783871
},
@@ -794,6 +882,70 @@
794882
}
795883
}
796884
},
885+
"Tag":{
886+
"type":"structure",
887+
"required":[
888+
"Key",
889+
"Value"
890+
],
891+
"members":{
892+
"Key":{
893+
"shape":"TagKey",
894+
"documentation":"<p>The key associated with the tag.</p>"
895+
},
896+
"Value":{
897+
"shape":"TagValue",
898+
"documentation":"<p>The value associated with the tag.</p>"
899+
}
900+
},
901+
"documentation":"<p>A list of objects specifying each key name and value.</p>"
902+
},
903+
"TagKey":{
904+
"type":"string",
905+
"max":128,
906+
"min":1,
907+
"pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
908+
},
909+
"TagKeyList":{
910+
"type":"list",
911+
"member":{"shape":"TagKey"},
912+
"max":50,
913+
"min":1
914+
},
915+
"TagList":{
916+
"type":"list",
917+
"member":{"shape":"Tag"},
918+
"max":50,
919+
"min":1
920+
},
921+
"TagResourceRequest":{
922+
"type":"structure",
923+
"required":[
924+
"ResourceArn",
925+
"Tags"
926+
],
927+
"members":{
928+
"ResourceArn":{
929+
"shape":"ResourceARN",
930+
"documentation":"<p>Required. The Amazon Resource Name (ARN) associated with the resource you want to tag.</p>"
931+
},
932+
"Tags":{
933+
"shape":"TagList",
934+
"documentation":"<p>Required. A list of objects specifying each key name and value. Number of objects allowed: 1-50.</p>"
935+
}
936+
}
937+
},
938+
"TagResourceResponse":{
939+
"type":"structure",
940+
"members":{
941+
}
942+
},
943+
"TagValue":{
944+
"type":"string",
945+
"max":256,
946+
"min":0,
947+
"pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
948+
},
797949
"ThrottlingException":{
798950
"type":"structure",
799951
"members":{
@@ -804,6 +956,28 @@
804956
"exception":true,
805957
"synthetic":true
806958
},
959+
"UntagResourceRequest":{
960+
"type":"structure",
961+
"required":[
962+
"ResourceArn",
963+
"TagKeys"
964+
],
965+
"members":{
966+
"ResourceArn":{
967+
"shape":"ResourceARN",
968+
"documentation":"<p>Required. The Amazon Resource Name (ARN) associated with the resource you want to remove the tag from.</p>"
969+
},
970+
"TagKeys":{
971+
"shape":"TagKeyList",
972+
"documentation":"<p>Required. A list of key names of tags to be removed. Number of strings allowed: 0-256.</p>"
973+
}
974+
}
975+
},
976+
"UntagResourceResponse":{
977+
"type":"structure",
978+
"members":{
979+
}
980+
},
807981
"ValidationException":{
808982
"type":"structure",
809983
"members":{

0 commit comments

Comments
 (0)