Skip to content

Commit 93f4d4b

Browse files
This release changes the CreateLaunchTemplate, CreateLaunchTemplateVersion, ModifyLaunchTemplate CLI and SDKs such that if you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.
1 parent 16516c3 commit 93f4d4b

22 files changed

+133
-80
lines changed

generator/ServiceModels/ec2/ec2-2016-11-15.api.json

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12004,7 +12004,10 @@
1200412004
],
1200512005
"members":{
1200612006
"DryRun":{"shape":"Boolean"},
12007-
"ClientToken":{"shape":"String"},
12007+
"ClientToken":{
12008+
"shape":"String",
12009+
"idempotencyToken":true
12010+
},
1200812011
"LaunchTemplateName":{"shape":"LaunchTemplateName"},
1200912012
"VersionDescription":{"shape":"VersionDescription"},
1201012013
"LaunchTemplateData":{"shape":"RequestLaunchTemplateData"},
@@ -12033,7 +12036,10 @@
1203312036
"required":["LaunchTemplateData"],
1203412037
"members":{
1203512038
"DryRun":{"shape":"Boolean"},
12036-
"ClientToken":{"shape":"String"},
12039+
"ClientToken":{
12040+
"shape":"String",
12041+
"idempotencyToken":true
12042+
},
1203712043
"LaunchTemplateId":{"shape":"LaunchTemplateId"},
1203812044
"LaunchTemplateName":{"shape":"LaunchTemplateName"},
1203912045
"SourceVersion":{"shape":"String"},
@@ -35613,7 +35619,10 @@
3561335619
"type":"structure",
3561435620
"members":{
3561535621
"DryRun":{"shape":"Boolean"},
35616-
"ClientToken":{"shape":"String"},
35622+
"ClientToken":{
35623+
"shape":"String",
35624+
"idempotencyToken":true
35625+
},
3561735626
"LaunchTemplateId":{"shape":"LaunchTemplateId"},
3561835627
"LaunchTemplateName":{"shape":"LaunchTemplateName"},
3561935628
"DefaultVersion":{

generator/ServiceModels/ec2/ec2-2016-11-15.docs.json

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

generator/ServiceModels/ec2/ec2-2016-11-15.normal.json

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2327,7 +2327,7 @@
23272327
},
23282328
"input":{"shape":"DescribeAvailabilityZonesRequest"},
23292329
"output":{"shape":"DescribeAvailabilityZonesResult"},
2330-
"documentation":"<p>Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.</p> <p>For more information about Availability Zones, Local Zones, and Wavelength Zones, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html\">Regions and zones</a> in the <i>Amazon EC2 User Guide</i>.</p> <note> <p>The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.</p> </note>"
2330+
"documentation":"<p>Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you.</p> <p>For more information about Availability Zones, Local Zones, and Wavelength Zones, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html\">Regions and zones</a> in the <i>Amazon EC2 User Guide</i>.</p> <note> <p>The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.</p> </note>"
23312331
},
23322332
"DescribeAwsNetworkPerformanceMetricSubscriptions":{
23332333
"name":"DescribeAwsNetworkPerformanceMetricSubscriptions",
@@ -9751,7 +9751,7 @@
97519751
"members":{
97529752
"OptInStatus":{
97539753
"shape":"AvailabilityZoneOptInStatus",
9754-
"documentation":"<p>For Availability Zones, this parameter always has the value of <code>opt-in-not-required</code>.</p> <p>For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible values are <code>opted-in</code>, and <code>not-opted-in</code>.</p>",
9754+
"documentation":"<p>For Availability Zones, this parameter always has the value of <code>opt-in-not-required</code>.</p> <p>For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible values are <code>opted-in</code> and <code>not-opted-in</code>.</p>",
97559755
"locationName":"optInStatus"
97569756
},
97579757
"Messages":{
@@ -9786,7 +9786,7 @@
97869786
},
97879787
"ZoneType":{
97889788
"shape":"String",
9789-
"documentation":"<p>The type of zone. The valid values are <code>availability-zone</code>, <code>local-zone</code>, and <code>wavelength-zone</code>.</p>",
9789+
"documentation":"<p>The type of zone.</p> <p>Valid values: <code>availability-zone</code> | <code>local-zone</code> | <code>wavelength-zone</code> </p>",
97909790
"locationName":"zoneType"
97919791
},
97929792
"ParentZoneName":{
@@ -9806,7 +9806,7 @@
98069806
},
98079807
"State":{
98089808
"shape":"AvailabilityZoneState",
9809-
"documentation":"<p>The state of the Availability Zone, Local Zone, or Wavelength Zone. This value is always <code>available</code>.</p>",
9809+
"documentation":"<p>The state of the Availability Zone, Local Zone, or Wavelength Zone. The possible values are <code>available</code>, <code>unavailable</code>, and <code>constrained</code>.</p>",
98109810
"locationName":"zoneState"
98119811
}
98129812
},
@@ -14555,7 +14555,8 @@
1455514555
},
1455614556
"ClientToken":{
1455714557
"shape":"String",
14558-
"documentation":"<p>Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a>.</p> <p>Constraint: Maximum 128 ASCII characters.</p>"
14558+
"documentation":"<p>Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If a client token isn't specified, a randomly generated token is used in the request to ensure idempotency.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a>.</p> <p>Constraint: Maximum 128 ASCII characters.</p>",
14559+
"idempotencyToken":true
1455914560
},
1456014561
"LaunchTemplateName":{
1456114562
"shape":"LaunchTemplateName",
@@ -14605,7 +14606,8 @@
1460514606
},
1460614607
"ClientToken":{
1460714608
"shape":"String",
14608-
"documentation":"<p>Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a>.</p> <p>Constraint: Maximum 128 ASCII characters.</p>"
14609+
"documentation":"<p>Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If a client token isn't specified, a randomly generated token is used in the request to ensure idempotency.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a>.</p> <p>Constraint: Maximum 128 ASCII characters.</p>",
14610+
"idempotencyToken":true
1460914611
},
1461014612
"LaunchTemplateId":{
1461114613
"shape":"LaunchTemplateId",
@@ -31916,7 +31918,7 @@
3191631918
},
3191731919
"KmsKeyId":{
3191831920
"shape":"KmsKeyId",
31919-
"documentation":"<p>Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.</p> <p>This parameter is only supported on <code>BlockDeviceMapping</code> objects called by <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html\">CreateFleet</a>, <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html\">RequestSpotInstances</a>, and <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html\">RunInstances</a>.</p>"
31921+
"documentation":"<p>Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.</p> <p>This parameter is only supported on <code>BlockDeviceMapping</code> objects called by <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html\">RunInstances</a>, <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html\">RequestSpotFleet</a>, and <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html\">RequestSpotInstances</a>.</p>"
3192031922
},
3192131923
"SnapshotId":{
3192231924
"shape":"SnapshotId",
@@ -32106,7 +32108,7 @@
3210632108
},
3210732109
"BlockDeviceMappings":{
3210832110
"shape":"FleetBlockDeviceMappingRequestList",
32109-
"documentation":"<p>The block device mapping, which defines the EBS volumes and instance store volumes to attach to the instance at launch. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html\">Block device mappings for volumes on Amazon EC2 instances</a> in the <i>Amazon EC2 User Guide</i>.</p>",
32111+
"documentation":"<p>The block device mapping, which defines the EBS volumes and instance store volumes to attach to the instance at launch. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html\">Block device mappings for volumes on Amazon EC2 instances</a> in the <i>Amazon EC2 User Guide</i>.</p> <p>To override a block device mapping specified in the launch template:</p> <ul> <li> <p>Specify the exact same <code>DeviceName</code> here as specified in the launch template.</p> </li> <li> <p>Only specify the parameters you want to change.</p> </li> <li> <p>Any parameters you don't specify here will keep their original launch template values.</p> </li> </ul> <p>To add a new block device mapping:</p> <ul> <li> <p>Specify a <code>DeviceName</code> that doesn't exist in the launch template.</p> </li> <li> <p>Specify all desired parameters here.</p> </li> </ul>",
3211032112
"locationName":"BlockDeviceMapping"
3211132113
},
3211232114
"InstanceRequirements":{
@@ -37482,7 +37484,7 @@
3748237484
},
3748337485
"Tags":{
3748437486
"shape":"TagList",
37485-
"documentation":"<p>The instance tags associated with the event window. Any instances associated with the tags will be associated with the event window.</p> <p>Note that while you can't create tag keys beginning with <code>aws:</code>, you can specify existing Amazon Web Services managed tag keys (with the <code>aws:</code> prefix) when specifying them as targets to associate with the event window.</p>",
37487+
"documentation":"<p>The instance tags associated with the event window. Any instances associated with the tags will be associated with the event window.</p>",
3748637488
"locationName":"tagSet"
3748737489
},
3748837490
"DedicatedHostIds":{
@@ -38499,7 +38501,7 @@
3849938501
},
3850038502
"AcceleratorTypes":{
3850138503
"shape":"AcceleratorTypeSet",
38502-
"documentation":"<p>The accelerator types that must be on the instance type.</p> <ul> <li> <p>For instance types with FPGA accelerators, specify <code>fpga</code>.</p> </li> <li> <p>For instance types with GPU accelerators, specify <code>gpu</code>.</p> </li> <li> <p>For instance types with Inference accelerators, specify <code>inference</code>.</p> </li> </ul> <p>Default: Any accelerator type</p>",
38504+
"documentation":"<p>The accelerator types that must be on the instance type.</p> <ul> <li> <p>For instance types with FPGA accelerators, specify <code>fpga</code>.</p> </li> <li> <p>For instance types with GPU accelerators, specify <code>gpu</code>.</p> </li> <li> <p>For instance types with Inference accelerators, specify <code>inference</code>.</p> </li> <li> <p>For instance types with Inference accelerators, specify <code>inference</code>.</p> </li> </ul> <p>Default: Any accelerator type</p>",
3850338505
"locationName":"acceleratorTypeSet"
3850438506
},
3850538507
"AcceleratorCount":{
@@ -46111,7 +46113,8 @@
4611146113
},
4611246114
"ClientToken":{
4611346115
"shape":"String",
46114-
"documentation":"<p>Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency in Amazon EC2 API requests</a>.</p> <p>Constraint: Maximum 128 ASCII characters.</p>"
46116+
"documentation":"<p>Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If a client token isn't specified, a randomly generated token is used in the request to ensure idempotency.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a>.</p> <p>Constraint: Maximum 128 ASCII characters.</p>",
46117+
"idempotencyToken":true
4611546118
},
4611646119
"LaunchTemplateId":{
4611746120
"shape":"LaunchTemplateId",
@@ -49905,7 +49908,7 @@
4990549908
"members":{
4990649909
"Managed":{
4990749910
"shape":"Boolean",
49908-
"documentation":"<p>If <code>true</code>, the resource is managed by a service provider.</p>",
49911+
"documentation":"<p>If <code>true</code>, the resource is managed by an service provider.</p>",
4990949912
"locationName":"managed"
4991049913
},
4991149914
"Principal":{
@@ -49914,7 +49917,7 @@
4991449917
"locationName":"principal"
4991549918
}
4991649919
},
49917-
"documentation":"<p>Describes whether the resource is managed by a service provider and, if so, describes the service provider that manages it.</p>"
49920+
"documentation":"<p>Describes whether the resource is managed by an service provider and, if so, describes the service provider that manages it.</p>"
4991849921
},
4991949922
"OrganizationArnStringList":{
4992049923
"type":"list",

sdk/src/Services/EC2/Generated/Model/AvailabilityZone.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ internal bool IsSetNetworkBorderGroup()
141141
///
142142
/// <para>
143143
/// For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible
144-
/// values are <c>opted-in</c>, and <c>not-opted-in</c>.
144+
/// values are <c>opted-in</c> and <c>not-opted-in</c>.
145145
/// </para>
146146
/// </summary>
147147
public AvailabilityZoneOptInStatus OptInStatus
@@ -215,8 +215,8 @@ internal bool IsSetRegionName()
215215
/// <summary>
216216
/// Gets and sets the property State.
217217
/// <para>
218-
/// The state of the Availability Zone, Local Zone, or Wavelength Zone. This value is
219-
/// always <c>available</c>.
218+
/// The state of the Availability Zone, Local Zone, or Wavelength Zone. The possible values
219+
/// are <c>available</c>, <c>unavailable</c>, and <c>constrained</c>.
220220
/// </para>
221221
/// </summary>
222222
public AvailabilityZoneState State
@@ -270,8 +270,12 @@ internal bool IsSetZoneName()
270270
/// <summary>
271271
/// Gets and sets the property ZoneType.
272272
/// <para>
273-
/// The type of zone. The valid values are <c>availability-zone</c>, <c>local-zone</c>,
274-
/// and <c>wavelength-zone</c>.
273+
/// The type of zone.
274+
/// </para>
275+
///
276+
/// <para>
277+
/// Valid values: <c>availability-zone</c> | <c>local-zone</c> | <c>wavelength-zone</c>
278+
///
275279
/// </para>
276280
/// </summary>
277281
public string ZoneType

sdk/src/Services/EC2/Generated/Model/CreateLaunchTemplateRequest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@ public partial class CreateLaunchTemplateRequest : AmazonEC2Request
6262
/// Gets and sets the property ClientToken.
6363
/// <para>
6464
/// Unique, case-sensitive identifier you provide to ensure the idempotency of the request.
65+
/// If a client token isn't specified, a randomly generated token is used in the request
66+
/// to ensure idempotency.
67+
/// </para>
68+
///
69+
/// <para>
6570
/// For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring
6671
/// idempotency</a>.
6772
/// </para>

sdk/src/Services/EC2/Generated/Model/CreateLaunchTemplateVersionRequest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ public partial class CreateLaunchTemplateVersionRequest : AmazonEC2Request
6767
/// Gets and sets the property ClientToken.
6868
/// <para>
6969
/// Unique, case-sensitive identifier you provide to ensure the idempotency of the request.
70+
/// If a client token isn't specified, a randomly generated token is used in the request
71+
/// to ensure idempotency.
72+
/// </para>
73+
///
74+
/// <para>
7075
/// For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring
7176
/// idempotency</a>.
7277
/// </para>

sdk/src/Services/EC2/Generated/Model/DescribeAvailabilityZonesRequest.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ namespace Amazon.EC2.Model
3232
/// <summary>
3333
/// Container for the parameters to the DescribeAvailabilityZones operation.
3434
/// Describes the Availability Zones, Local Zones, and Wavelength Zones that are available
35-
/// to you. If there is an event impacting a zone, you can use this request to view the
36-
/// state and any provided messages for that zone.
35+
/// to you.
3736
///
3837
///
3938
/// <para>

sdk/src/Services/EC2/Generated/Model/FleetEbsBlockDeviceRequest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,9 @@ internal bool IsSetIops()
189189
///
190190
/// <para>
191191
/// This parameter is only supported on <c>BlockDeviceMapping</c> objects called by <a
192-
/// href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html">CreateFleet</a>,
193-
/// <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html">RequestSpotInstances</a>,
194-
/// and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a>.
192+
/// href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a>,
193+
/// <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html">RequestSpotFleet</a>,
194+
/// and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html">RequestSpotInstances</a>.
195195
/// </para>
196196
/// </summary>
197197
public string KmsKeyId

sdk/src/Services/EC2/Generated/Model/FleetLaunchTemplateOverridesRequest.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,35 @@ internal bool IsSetAvailabilityZone()
7171
/// device mappings for volumes on Amazon EC2 instances</a> in the <i>Amazon EC2 User
7272
/// Guide</i>.
7373
/// </para>
74+
///
75+
/// <para>
76+
/// To override a block device mapping specified in the launch template:
77+
/// </para>
78+
/// <ul> <li>
79+
/// <para>
80+
/// Specify the exact same <c>DeviceName</c> here as specified in the launch template.
81+
/// </para>
82+
/// </li> <li>
83+
/// <para>
84+
/// Only specify the parameters you want to change.
85+
/// </para>
86+
/// </li> <li>
87+
/// <para>
88+
/// Any parameters you don't specify here will keep their original launch template values.
89+
/// </para>
90+
/// </li> </ul>
91+
/// <para>
92+
/// To add a new block device mapping:
93+
/// </para>
94+
/// <ul> <li>
95+
/// <para>
96+
/// Specify a <c>DeviceName</c> that doesn't exist in the launch template.
97+
/// </para>
98+
/// </li> <li>
99+
/// <para>
100+
/// Specify all desired parameters here.
101+
/// </para>
102+
/// </li> </ul>
74103
/// </summary>
75104
public List<FleetBlockDeviceMappingRequest> BlockDeviceMappings
76105
{

sdk/src/Services/EC2/Generated/Model/InstanceEventWindowAssociationTarget.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,6 @@ internal bool IsSetInstanceIds()
8080
/// The instance tags associated with the event window. Any instances associated with
8181
/// the tags will be associated with the event window.
8282
/// </para>
83-
///
84-
/// <para>
85-
/// Note that while you can't create tag keys beginning with <c>aws:</c>, you can specify
86-
/// existing Amazon Web Services managed tag keys (with the <c>aws:</c> prefix) when specifying
87-
/// them as targets to associate with the event window.
88-
/// </para>
8983
/// </summary>
9084
public List<Tag> Tags
9185
{

0 commit comments

Comments
 (0)