Skip to content

Commit e32e1ce

Browse files
This release adds the new StartOutpostDecommission API, which starts the decommission process to return Outposts racks or servers.
1 parent c60a589 commit e32e1ce

File tree

16 files changed

+1027
-4
lines changed

16 files changed

+1027
-4
lines changed

generator/ServiceModels/outposts/outposts-2019-12-03.api.json

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,22 @@
440440
{"shape":"InternalServerException"}
441441
]
442442
},
443+
"StartOutpostDecommission":{
444+
"name":"StartOutpostDecommission",
445+
"http":{
446+
"method":"POST",
447+
"requestUri":"/outposts/{OutpostId}/decommission"
448+
},
449+
"input":{"shape":"StartOutpostDecommissionInput"},
450+
"output":{"shape":"StartOutpostDecommissionOutput"},
451+
"errors":[
452+
{"shape":"ValidationException"},
453+
{"shape":"ConflictException"},
454+
{"shape":"NotFoundException"},
455+
{"shape":"AccessDeniedException"},
456+
{"shape":"InternalServerException"}
457+
]
458+
},
443459
"TagResource":{
444460
"name":"TagResource",
445461
"http":{
@@ -735,6 +751,22 @@
735751
"type":"list",
736752
"member":{"shape":"BlockingInstance"}
737753
},
754+
"BlockingResourceType":{
755+
"type":"string",
756+
"enum":[
757+
"EC2_INSTANCE",
758+
"OUTPOST_RAM_SHARE",
759+
"LGW_ROUTING_DOMAIN",
760+
"LGW_ROUTE_TABLE",
761+
"LGW_VIRTUAL_INTERFACE_GROUP",
762+
"OUTPOST_ORDER_CANCELLABLE",
763+
"OUTPOST_ORDER_INTERVENTION_REQUIRED"
764+
]
765+
},
766+
"BlockingResourceTypeList":{
767+
"type":"list",
768+
"member":{"shape":"BlockingResourceType"}
769+
},
738770
"CIDR":{
739771
"type":"string",
740772
"max":18,
@@ -967,7 +999,6 @@
967999
"type":"structure",
9681000
"required":[
9691001
"OutpostIdentifier",
970-
"LineItems",
9711002
"PaymentOption"
9721003
],
9731004
"members":{
@@ -1024,6 +1055,14 @@
10241055
"Site":{"shape":"Site"}
10251056
}
10261057
},
1058+
"DecommissionRequestStatus":{
1059+
"type":"string",
1060+
"enum":[
1061+
"SKIPPED",
1062+
"BLOCKED",
1063+
"REQUESTED"
1064+
]
1065+
},
10271066
"DeleteOutpostInput":{
10281067
"type":"structure",
10291068
"required":["OutpostId"],
@@ -2251,6 +2290,25 @@
22512290
"UnderlayIpAddress":{"shape":"UnderlayIpAddress"}
22522291
}
22532292
},
2293+
"StartOutpostDecommissionInput":{
2294+
"type":"structure",
2295+
"required":["OutpostIdentifier"],
2296+
"members":{
2297+
"OutpostIdentifier":{
2298+
"shape":"OutpostIdentifier",
2299+
"location":"uri",
2300+
"locationName":"OutpostId"
2301+
},
2302+
"ValidateOnly":{"shape":"ValidateOnly"}
2303+
}
2304+
},
2305+
"StartOutpostDecommissionOutput":{
2306+
"type":"structure",
2307+
"members":{
2308+
"Status":{"shape":"DecommissionRequestStatus"},
2309+
"BlockingResourceTypes":{"shape":"BlockingResourceTypeList"}
2310+
}
2311+
},
22542312
"StateOrRegion":{
22552313
"type":"string",
22562314
"max":50,
@@ -2538,6 +2596,7 @@
25382596
"type":"integer",
25392597
"box":true
25402598
},
2599+
"ValidateOnly":{"type":"boolean"},
25412600
"ValidationException":{
25422601
"type":"structure",
25432602
"members":{

generator/ServiceModels/outposts/outposts-2019-12-03.docs.json

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"ListTagsForResource": "<p>Lists the tags for the specified resource.</p>",
3131
"StartCapacityTask": "<p>Starts the specified capacity task. You can have one active capacity task for each order and each Outpost.</p>",
3232
"StartConnection": "<note> <p> Amazon Web Services uses this action to install Outpost servers.</p> </note> <p> Starts the connection required for Outpost server installation. </p> <p> Use CloudTrail to monitor this action or Amazon Web Services managed policy for Amazon Web Services Outposts to secure it. For more information, see <a href=\"https://docs.aws.amazon.com/outposts/latest/userguide/security-iam-awsmanpol.html\"> Amazon Web Services managed policies for Amazon Web Services Outposts</a> and <a href=\"https://docs.aws.amazon.com/outposts/latest/userguide/logging-using-cloudtrail.html\"> Logging Amazon Web Services Outposts API calls with Amazon Web Services CloudTrail</a> in the <i>Amazon Web Services Outposts User Guide</i>. </p>",
33+
"StartOutpostDecommission": "<p>Starts the decommission process to return the Outposts racks or servers.</p>",
3334
"TagResource": "<p>Adds tags to the specified resource.</p>",
3435
"UntagResource": "<p>Removes tags from the specified resource.</p>",
3536
"UpdateOutpost": "<p> Updates an Outpost. </p>",
@@ -238,6 +239,18 @@
238239
"ListBlockingInstancesForCapacityTaskOutput$BlockingInstances": "<p>A list of all running Amazon EC2 instances on the Outpost. Stopping one or more of these instances can free up the capacity needed to run the capacity task.</p>"
239240
}
240241
},
242+
"BlockingResourceType": {
243+
"base": null,
244+
"refs": {
245+
"BlockingResourceTypeList$member": null
246+
}
247+
},
248+
"BlockingResourceTypeList": {
249+
"base": null,
250+
"refs": {
251+
"StartOutpostDecommissionOutput$BlockingResourceTypes": "<p>The resources still associated with the Outpost that you are decommissioning.</p>"
252+
}
253+
},
241254
"CIDR": {
242255
"base": null,
243256
"refs": {
@@ -462,6 +475,12 @@
462475
"base": null,
463476
"refs": {}
464477
},
478+
"DecommissionRequestStatus": {
479+
"base": null,
480+
"refs": {
481+
"StartOutpostDecommissionOutput$Status": "<p>The status of the decommission request.</p>"
482+
}
483+
},
465484
"DeleteOutpostInput": {
466485
"base": null,
467486
"refs": {}
@@ -1063,7 +1082,8 @@
10631082
"ListBlockingInstancesForCapacityTaskInput$OutpostIdentifier": "<p>The ID or ARN of the Outpost associated with the specified capacity task.</p>",
10641083
"ListCapacityTasksInput$OutpostIdentifierFilter": "<p>Filters the results by an Outpost ID or an Outpost ARN.</p>",
10651084
"ListOrdersInput$OutpostIdentifierFilter": "<p> The ID or the Amazon Resource Name (ARN) of the Outpost. </p>",
1066-
"StartCapacityTaskInput$OutpostIdentifier": "<p>The ID or ARN of the Outposts associated with the specified capacity task.</p>"
1085+
"StartCapacityTaskInput$OutpostIdentifier": "<p>The ID or ARN of the Outposts associated with the specified capacity task.</p>",
1086+
"StartOutpostDecommissionInput$OutpostIdentifier": "<p>The ID or ARN of the Outpost that you want to decommission.</p>"
10671087
}
10681088
},
10691089
"OutpostInstanceType": {
@@ -1283,6 +1303,14 @@
12831303
"base": null,
12841304
"refs": {}
12851305
},
1306+
"StartOutpostDecommissionInput": {
1307+
"base": null,
1308+
"refs": {}
1309+
},
1310+
"StartOutpostDecommissionOutput": {
1311+
"base": null,
1312+
"refs": {}
1313+
},
12861314
"StateOrRegion": {
12871315
"base": null,
12881316
"refs": {
@@ -1515,6 +1543,12 @@
15151543
"InstanceTypeItem$VCPUs": "<p>The number of default VCPUs in an instance type.</p>"
15161544
}
15171545
},
1546+
"ValidateOnly": {
1547+
"base": null,
1548+
"refs": {
1549+
"StartOutpostDecommissionInput$ValidateOnly": "<p>Validates the request without starting the decommission process.</p>"
1550+
}
1551+
},
15181552
"ValidationException": {
15191553
"base": "<p>A parameter is not valid.</p>",
15201554
"refs": {}

generator/ServiceModels/outposts/outposts-2019-12-03.normal.json

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,23 @@
468468
],
469469
"documentation":"<note> <p> Amazon Web Services uses this action to install Outpost servers.</p> </note> <p> Starts the connection required for Outpost server installation. </p> <p> Use CloudTrail to monitor this action or Amazon Web Services managed policy for Amazon Web Services Outposts to secure it. For more information, see <a href=\"https://docs.aws.amazon.com/outposts/latest/userguide/security-iam-awsmanpol.html\"> Amazon Web Services managed policies for Amazon Web Services Outposts</a> and <a href=\"https://docs.aws.amazon.com/outposts/latest/userguide/logging-using-cloudtrail.html\"> Logging Amazon Web Services Outposts API calls with Amazon Web Services CloudTrail</a> in the <i>Amazon Web Services Outposts User Guide</i>. </p>"
470470
},
471+
"StartOutpostDecommission":{
472+
"name":"StartOutpostDecommission",
473+
"http":{
474+
"method":"POST",
475+
"requestUri":"/outposts/{OutpostId}/decommission"
476+
},
477+
"input":{"shape":"StartOutpostDecommissionInput"},
478+
"output":{"shape":"StartOutpostDecommissionOutput"},
479+
"errors":[
480+
{"shape":"ValidationException"},
481+
{"shape":"ConflictException"},
482+
{"shape":"NotFoundException"},
483+
{"shape":"AccessDeniedException"},
484+
{"shape":"InternalServerException"}
485+
],
486+
"documentation":"<p>Starts the decommission process to return the Outposts racks or servers.</p>"
487+
},
471488
"TagResource":{
472489
"name":"TagResource",
473490
"http":{
@@ -854,6 +871,22 @@
854871
"type":"list",
855872
"member":{"shape":"BlockingInstance"}
856873
},
874+
"BlockingResourceType":{
875+
"type":"string",
876+
"enum":[
877+
"EC2_INSTANCE",
878+
"OUTPOST_RAM_SHARE",
879+
"LGW_ROUTING_DOMAIN",
880+
"LGW_ROUTE_TABLE",
881+
"LGW_VIRTUAL_INTERFACE_GROUP",
882+
"OUTPOST_ORDER_CANCELLABLE",
883+
"OUTPOST_ORDER_INTERVENTION_REQUIRED"
884+
]
885+
},
886+
"BlockingResourceTypeList":{
887+
"type":"list",
888+
"member":{"shape":"BlockingResourceType"}
889+
},
857890
"CIDR":{
858891
"type":"string",
859892
"max":18,
@@ -1185,7 +1218,6 @@
11851218
"type":"structure",
11861219
"required":[
11871220
"OutpostIdentifier",
1188-
"LineItems",
11891221
"PaymentOption"
11901222
],
11911223
"members":{
@@ -1281,6 +1313,14 @@
12811313
"Site":{"shape":"Site"}
12821314
}
12831315
},
1316+
"DecommissionRequestStatus":{
1317+
"type":"string",
1318+
"enum":[
1319+
"SKIPPED",
1320+
"BLOCKED",
1321+
"REQUESTED"
1322+
]
1323+
},
12841324
"DeleteOutpostInput":{
12851325
"type":"structure",
12861326
"required":["OutpostId"],
@@ -2908,6 +2948,35 @@
29082948
}
29092949
}
29102950
},
2951+
"StartOutpostDecommissionInput":{
2952+
"type":"structure",
2953+
"required":["OutpostIdentifier"],
2954+
"members":{
2955+
"OutpostIdentifier":{
2956+
"shape":"OutpostIdentifier",
2957+
"documentation":"<p>The ID or ARN of the Outpost that you want to decommission.</p>",
2958+
"location":"uri",
2959+
"locationName":"OutpostId"
2960+
},
2961+
"ValidateOnly":{
2962+
"shape":"ValidateOnly",
2963+
"documentation":"<p>Validates the request without starting the decommission process.</p>"
2964+
}
2965+
}
2966+
},
2967+
"StartOutpostDecommissionOutput":{
2968+
"type":"structure",
2969+
"members":{
2970+
"Status":{
2971+
"shape":"DecommissionRequestStatus",
2972+
"documentation":"<p>The status of the decommission request.</p>"
2973+
},
2974+
"BlockingResourceTypes":{
2975+
"shape":"BlockingResourceTypeList",
2976+
"documentation":"<p>The resources still associated with the Outpost that you are decommissioning.</p>"
2977+
}
2978+
}
2979+
},
29112980
"StateOrRegion":{
29122981
"type":"string",
29132982
"max":50,
@@ -3276,6 +3345,7 @@
32763345
"type":"integer",
32773346
"box":true
32783347
},
3348+
"ValidateOnly":{"type":"boolean"},
32793349
"ValidationException":{
32803350
"type":"structure",
32813351
"members":{

sdk/code-analysis/ServiceAnalysis/Outposts/Generated/PropertyValueRules.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,12 @@
521521
<max>15</max>
522522
<pattern>^([0-9]{1,3}\.){3}[0-9]{1,3}$</pattern>
523523
</property-value-rule>
524+
<property-value-rule>
525+
<property>Amazon.Outposts.Model.StartOutpostDecommissionRequest.OutpostIdentifier</property>
526+
<min>1</min>
527+
<max>180</max>
528+
<pattern>^(arn:aws([a-z-]+)?:outposts:[a-z\d-]+:\d{12}:outpost/)?op-[a-f0-9]{17}$</pattern>
529+
</property-value-rule>
524530
<property-value-rule>
525531
<property>Amazon.Outposts.Model.TagResourceRequest.ResourceArn</property>
526532
<max>1011</max>

sdk/src/Services/Outposts/Generated/Model/CreateOrderRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public partial class CreateOrderRequest : AmazonOutpostsRequest
4646
/// The line items that make up the order.
4747
/// </para>
4848
/// </summary>
49-
[AWSProperty(Required=true, Min=1, Max=20)]
49+
[AWSProperty(Min=1, Max=20)]
5050
public List<LineItemRequest> LineItems
5151
{
5252
get { return this._lineItems; }

0 commit comments

Comments
 (0)