aws-sdk-ec2 1.140.0 → 1.145.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -224,7 +224,7 @@ module Aws::EC2
224
224
  # values: ["String"],
225
225
  # },
226
226
  # ],
227
- # instance_ids: ["String"],
227
+ # instance_ids: ["InstanceId"],
228
228
  # dry_run: false,
229
229
  # })
230
230
  # @param [Hash] options ({})
@@ -273,6 +273,7 @@ module Aws::EC2
273
273
  # running, if applicable.
274
274
  #
275
275
  # * `hypervisor` - The hypervisor type of the instance (`ovm` \| `xen`).
276
+ # The value `xen` is used for both Xen and Nitro hypervisors.
276
277
  #
277
278
  # * `iam-instance-profile.arn` - The instance profile associated with
278
279
  # the instance. Specified as an ARN.
@@ -78,7 +78,7 @@ module Aws::EC2
78
78
  # },
79
79
  # ],
80
80
  # kernel_id: "String",
81
- # key_name: "String",
81
+ # key_name: "KeyPairName",
82
82
  # max_count: 1, # required
83
83
  # min_count: 1, # required
84
84
  # monitoring: {
@@ -95,8 +95,8 @@ module Aws::EC2
95
95
  # host_resource_group_arn: "String",
96
96
  # },
97
97
  # ramdisk_id: "String",
98
- # security_group_ids: ["String"],
99
- # security_groups: ["String"],
98
+ # security_group_ids: ["SecurityGroupId"],
99
+ # security_groups: ["SecurityGroupName"],
100
100
  # subnet_id: "String",
101
101
  # user_data: "String",
102
102
  # additional_info: "String",
@@ -115,7 +115,7 @@ module Aws::EC2
115
115
  # delete_on_termination: false,
116
116
  # description: "String",
117
117
  # device_index: 1,
118
- # groups: ["String"],
118
+ # groups: ["SecurityGroupId"],
119
119
  # ipv_6_address_count: 1,
120
120
  # ipv_6_addresses: [
121
121
  # {
@@ -159,7 +159,7 @@ module Aws::EC2
159
159
  # },
160
160
  # ],
161
161
  # launch_template: {
162
- # launch_template_id: "String",
162
+ # launch_template_id: "LaunchTemplateId",
163
163
  # launch_template_name: "String",
164
164
  # version: "String",
165
165
  # },
@@ -183,7 +183,7 @@ module Aws::EC2
183
183
  # capacity_reservation_specification: {
184
184
  # capacity_reservation_preference: "open", # accepts open, none
185
185
  # capacity_reservation_target: {
186
- # capacity_reservation_id: "String",
186
+ # capacity_reservation_id: "CapacityReservationId",
187
187
  # },
188
188
  # },
189
189
  # hibernation_options: {
@@ -339,8 +339,11 @@ module Aws::EC2
339
339
  # Reserved.
340
340
  # @option options [String] :client_token
341
341
  # Unique, case-sensitive identifier you provide to ensure the
342
- # idempotency of the request. For more information, see [Ensuring
343
- # Idempotency][1].
342
+ # idempotency of the request. If you do not specify a client token, a
343
+ # randomly generated token is used for the request to ensure
344
+ # idempotency.
345
+ #
346
+ # For more information, see [Ensuring Idempotency][1].
344
347
  #
345
348
  # Constraints: Maximum 64 ASCII characters
346
349
  #
@@ -515,7 +518,7 @@ module Aws::EC2
515
518
  # @example Request syntax with placeholder values
516
519
  #
517
520
  # keypair = ec2.create_key_pair({
518
- # key_name: "KeyPairName", # required
521
+ # key_name: "String", # required
519
522
  # dry_run: false,
520
523
  # })
521
524
  # @param [Hash] options ({})
@@ -601,7 +604,7 @@ module Aws::EC2
601
604
  # networkinterface = ec2.create_network_interface({
602
605
  # description: "String",
603
606
  # dry_run: false,
604
- # groups: ["String"],
607
+ # groups: ["SecurityGroupId"],
605
608
  # ipv_6_address_count: 1,
606
609
  # ipv_6_addresses: [
607
610
  # {
@@ -880,7 +883,7 @@ module Aws::EC2
880
883
  #
881
884
  # ec2.create_tags({
882
885
  # dry_run: false,
883
- # resources: ["String"], # required
886
+ # resources: ["TaggableResourceId"], # required
884
887
  # tags: [ # required
885
888
  # {
886
889
  # key: "String",
@@ -909,6 +912,45 @@ module Aws::EC2
909
912
  resp.data
910
913
  end
911
914
 
915
+ # @example Request syntax with placeholder values
916
+ #
917
+ # ec2.delete_tags({
918
+ # dry_run: false,
919
+ # resources: ["TaggableResourceId"], # required
920
+ # tags: [
921
+ # {
922
+ # key: "String",
923
+ # value: "String",
924
+ # },
925
+ # ],
926
+ # })
927
+ # @param [Hash] options ({})
928
+ # @option options [Boolean] :dry_run
929
+ # Checks whether you have the required permissions for the action,
930
+ # without actually making the request, and provides an error response.
931
+ # If you have the required permissions, the error response is
932
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
933
+ # @option options [required, Array<String>] :resources
934
+ # The IDs of the resources, separated by spaces.
935
+ #
936
+ # Constraints: Up to 1000 resource IDs. We recommend breaking up this
937
+ # request into smaller batches.
938
+ # @option options [Array<Types::Tag>] :tags
939
+ # The tags to delete. Specify a tag key and an optional tag value to
940
+ # delete specific tags. If you specify a tag key without a tag value, we
941
+ # delete any tag with this key regardless of its value. If you specify a
942
+ # tag key with an empty string as the tag value, we delete the tag only
943
+ # if its value is an empty string.
944
+ #
945
+ # If you omit this parameter, we delete all user-defined tags for the
946
+ # specified resources. We do not delete AWS-generated tags (tags that
947
+ # have the `aws:` prefix).
948
+ # @return [EmptyStructure]
949
+ def delete_tags(options = {})
950
+ resp = @client.delete_tags(options)
951
+ resp.data
952
+ end
953
+
912
954
  # @example Request syntax with placeholder values
913
955
  #
914
956
  # volume = ec2.create_volume({
@@ -932,6 +974,7 @@ module Aws::EC2
932
974
  # ],
933
975
  # },
934
976
  # ],
977
+ # multi_attach_enabled: false,
935
978
  # })
936
979
  # @param [Hash] options ({})
937
980
  # @option options [required, String] :availability_zone
@@ -990,7 +1033,8 @@ module Aws::EC2
990
1033
  # @option options [String] :outpost_arn
991
1034
  # The Amazon Resource Name (ARN) of the Outpost.
992
1035
  # @option options [Integer] :size
993
- # The size of the volume, in GiBs.
1036
+ # The size of the volume, in GiBs. You must specify either a snapshot ID
1037
+ # or a volume size.
994
1038
  #
995
1039
  # Constraints: 1-16,384 for `gp2`, 4-16,384 for `io1`, 500-16,384 for
996
1040
  # `st1`, 500-16,384 for `sc1`, and 1-1,024 for `standard`. If you
@@ -999,16 +1043,9 @@ module Aws::EC2
999
1043
  #
1000
1044
  # Default: If you're creating the volume from a snapshot and don't
1001
1045
  # specify a volume size, the default is the snapshot size.
1002
- #
1003
- # <note markdown="1"> At least one of Size or SnapshotId is required.
1004
- #
1005
- # </note>
1006
1046
  # @option options [String] :snapshot_id
1007
- # The snapshot from which to create the volume.
1008
- #
1009
- # <note markdown="1"> At least one of Size or SnapshotId are required.
1010
- #
1011
- # </note>
1047
+ # The snapshot from which to create the volume. You must specify either
1048
+ # a snapshot ID or a volume size.
1012
1049
  # @option options [String] :volume_type
1013
1050
  # The volume type. This can be `gp2` for General Purpose SSD, `io1` for
1014
1051
  # Provisioned IOPS SSD, `st1` for Throughput Optimized HDD, `sc1` for
@@ -1022,6 +1059,17 @@ module Aws::EC2
1022
1059
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1023
1060
  # @option options [Array<Types::TagSpecification>] :tag_specifications
1024
1061
  # The tags to apply to the volume during creation.
1062
+ # @option options [Boolean] :multi_attach_enabled
1063
+ # Specifies whether to enable Amazon EBS Multi-Attach. If you enable
1064
+ # Multi-Attach, you can attach the volume to up to 16 [Nitro-based
1065
+ # instances][1] in the same Availability Zone. For more information, see
1066
+ # [ Amazon EBS Multi-Attach][2] in the *Amazon Elastic Compute Cloud
1067
+ # User Guide*.
1068
+ #
1069
+ #
1070
+ #
1071
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
1072
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html
1025
1073
  # @return [Volume]
1026
1074
  def create_volume(options = {})
1027
1075
  resp = @client.create_volume(options)
@@ -1037,7 +1085,7 @@ module Aws::EC2
1037
1085
  # vpc = ec2.create_vpc({
1038
1086
  # cidr_block: "String", # required
1039
1087
  # amazon_provided_ipv_6_cidr_block: false,
1040
- # ipv_6_pool: "String",
1088
+ # ipv_6_pool: "Ipv6PoolEc2Id",
1041
1089
  # ipv_6_cidr_block: "String",
1042
1090
  # dry_run: false,
1043
1091
  # instance_tenancy: "default", # accepts default, dedicated, host
@@ -1157,7 +1205,7 @@ module Aws::EC2
1157
1205
  #
1158
1206
  # keypairinfo = ec2.import_key_pair({
1159
1207
  # dry_run: false,
1160
- # key_name: "KeyPairName", # required
1208
+ # key_name: "String", # required
1161
1209
  # public_key_material: "data", # required
1162
1210
  # })
1163
1211
  # @param [Hash] options ({})
@@ -1375,7 +1423,7 @@ module Aws::EC2
1375
1423
  # @example Request syntax with placeholder values
1376
1424
  #
1377
1425
  # dhcp_options_sets = ec2.dhcp_options_sets({
1378
- # dhcp_options_ids: ["String"],
1426
+ # dhcp_options_ids: ["DhcpOptionsId"],
1379
1427
  # filters: [
1380
1428
  # {
1381
1429
  # name: "String",
@@ -1453,7 +1501,7 @@ module Aws::EC2
1453
1501
  # values: ["String"],
1454
1502
  # },
1455
1503
  # ],
1456
- # image_ids: ["String"],
1504
+ # image_ids: ["ImageId"],
1457
1505
  # owners: ["String"],
1458
1506
  # dry_run: false,
1459
1507
  # })
@@ -1602,7 +1650,7 @@ module Aws::EC2
1602
1650
  # values: ["String"],
1603
1651
  # },
1604
1652
  # ],
1605
- # instance_ids: ["String"],
1653
+ # instance_ids: ["InstanceId"],
1606
1654
  # dry_run: false,
1607
1655
  # })
1608
1656
  # @param [Hash] options ({})
@@ -1651,6 +1699,7 @@ module Aws::EC2
1651
1699
  # running, if applicable.
1652
1700
  #
1653
1701
  # * `hypervisor` - The hypervisor type of the instance (`ovm` \| `xen`).
1702
+ # The value `xen` is used for both Xen and Nitro hypervisors.
1654
1703
  #
1655
1704
  # * `iam-instance-profile.arn` - The instance profile associated with
1656
1705
  # the instance. Specified as an ARN.
@@ -1928,7 +1977,7 @@ module Aws::EC2
1928
1977
  # },
1929
1978
  # ],
1930
1979
  # dry_run: false,
1931
- # internet_gateway_ids: ["String"],
1980
+ # internet_gateway_ids: ["InternetGatewayId"],
1932
1981
  # })
1933
1982
  # @param [Hash] options ({})
1934
1983
  # @option options [Array<Types::Filter>] :filters
@@ -2000,8 +2049,8 @@ module Aws::EC2
2000
2049
  # values: ["String"],
2001
2050
  # },
2002
2051
  # ],
2003
- # key_names: ["String"],
2004
- # key_pair_ids: ["String"],
2052
+ # key_names: ["KeyPairName"],
2053
+ # key_pair_ids: ["KeyPairId"],
2005
2054
  # dry_run: false,
2006
2055
  # })
2007
2056
  # @param [Hash] options ({})
@@ -2057,7 +2106,7 @@ module Aws::EC2
2057
2106
  # values: ["String"],
2058
2107
  # },
2059
2108
  # ],
2060
- # nat_gateway_ids: ["String"],
2109
+ # nat_gateway_ids: ["NatGatewayId"],
2061
2110
  # })
2062
2111
  # @param [Hash] options ({})
2063
2112
  # @option options [Array<Types::Filter>] :filter
@@ -2121,7 +2170,7 @@ module Aws::EC2
2121
2170
  # },
2122
2171
  # ],
2123
2172
  # dry_run: false,
2124
- # network_acl_ids: ["String"],
2173
+ # network_acl_ids: ["NetworkAclId"],
2125
2174
  # })
2126
2175
  # @param [Hash] options ({})
2127
2176
  # @option options [Array<Types::Filter>] :filters
@@ -2224,7 +2273,7 @@ module Aws::EC2
2224
2273
  # },
2225
2274
  # ],
2226
2275
  # dry_run: false,
2227
- # network_interface_ids: ["String"],
2276
+ # network_interface_ids: ["NetworkInterfaceId"],
2228
2277
  # })
2229
2278
  # @param [Hash] options ({})
2230
2279
  # @option options [Array<Types::Filter>] :filters
@@ -2386,8 +2435,8 @@ module Aws::EC2
2386
2435
  # },
2387
2436
  # ],
2388
2437
  # dry_run: false,
2389
- # group_names: ["String"],
2390
- # group_ids: ["String"],
2438
+ # group_names: ["PlacementGroupName"],
2439
+ # group_ids: ["PlacementGroupId"],
2391
2440
  # })
2392
2441
  # @param [Hash] options ({})
2393
2442
  # @option options [Array<Types::Filter>] :filters
@@ -2457,7 +2506,7 @@ module Aws::EC2
2457
2506
  # },
2458
2507
  # ],
2459
2508
  # dry_run: false,
2460
- # route_table_ids: ["String"],
2509
+ # route_table_ids: ["RouteTableId"],
2461
2510
  # })
2462
2511
  # @param [Hash] options ({})
2463
2512
  # @option options [Array<Types::Filter>] :filters
@@ -2578,7 +2627,7 @@ module Aws::EC2
2578
2627
  # },
2579
2628
  # ],
2580
2629
  # group_ids: ["String"],
2581
- # group_names: ["String"],
2630
+ # group_names: ["SecurityGroupName"],
2582
2631
  # dry_run: false,
2583
2632
  # })
2584
2633
  # @param [Hash] options ({})
@@ -2717,7 +2766,7 @@ module Aws::EC2
2717
2766
  # ],
2718
2767
  # owner_ids: ["String"],
2719
2768
  # restorable_by_user_ids: ["String"],
2720
- # snapshot_ids: ["String"],
2769
+ # snapshot_ids: ["SnapshotId"],
2721
2770
  # dry_run: false,
2722
2771
  # })
2723
2772
  # @param [Hash] options ({})
@@ -2810,7 +2859,7 @@ module Aws::EC2
2810
2859
  # values: ["String"],
2811
2860
  # },
2812
2861
  # ],
2813
- # subnet_ids: ["String"],
2862
+ # subnet_ids: ["SubnetId"],
2814
2863
  # dry_run: false,
2815
2864
  # })
2816
2865
  # @param [Hash] options ({})
@@ -2909,7 +2958,7 @@ module Aws::EC2
2909
2958
  # values: ["String"],
2910
2959
  # },
2911
2960
  # ],
2912
- # volume_ids: ["String"],
2961
+ # volume_ids: ["VolumeId"],
2913
2962
  # dry_run: false,
2914
2963
  # })
2915
2964
  # @param [Hash] options ({})
@@ -2939,6 +2988,13 @@ module Aws::EC2
2939
2988
  # * `encrypted` - Indicates whether the volume is encrypted (`true` \|
2940
2989
  # `false`)
2941
2990
  #
2991
+ # * `multi-attach-enabled` - Indicates whether the volume is enabled for
2992
+ # Multi-Attach (`true` \| `false`)
2993
+ #
2994
+ # * `fast-restored` - Indicates whether the volume was created from a
2995
+ # snapshot that is enabled for fast snapshot restore (`true` \|
2996
+ # `false`).
2997
+ #
2942
2998
  # * `size` - The size of the volume, in GiB.
2943
2999
  #
2944
3000
  # * `snapshot-id` - The snapshot from which the volume was created.
@@ -3097,7 +3153,7 @@ module Aws::EC2
3097
3153
  # },
3098
3154
  # ],
3099
3155
  # dry_run: false,
3100
- # vpc_peering_connection_ids: ["String"],
3156
+ # vpc_peering_connection_ids: ["VpcPeeringConnectionId"],
3101
3157
  # })
3102
3158
  # @param [Hash] options ({})
3103
3159
  # @option options [Array<Types::Filter>] :filters
@@ -3177,7 +3233,7 @@ module Aws::EC2
3177
3233
  # values: ["String"],
3178
3234
  # },
3179
3235
  # ],
3180
- # vpc_ids: ["String"],
3236
+ # vpc_ids: ["VpcId"],
3181
3237
  # dry_run: false,
3182
3238
  # })
3183
3239
  # @param [Hash] options ({})
@@ -286,12 +286,12 @@ module Aws::EC2
286
286
  # destination_ipv_6_cidr_block: "String",
287
287
  # dry_run: false,
288
288
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
289
- # gateway_id: "RouteTableGatewayId",
289
+ # gateway_id: "RouteGatewayId",
290
290
  # instance_id: "InstanceId",
291
291
  # local_target: false,
292
292
  # nat_gateway_id: "NatGatewayId",
293
293
  # transit_gateway_id: "TransitGatewayId",
294
- # local_gateway_id: "String",
294
+ # local_gateway_id: "LocalGatewayId",
295
295
  # network_interface_id: "NetworkInterfaceId",
296
296
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
297
297
  # })
@@ -192,8 +192,8 @@ module Aws::EC2
192
192
  #
193
193
  # routetableassociation = route_table.associate_with_subnet({
194
194
  # dry_run: false,
195
- # subnet_id: "String",
196
- # gateway_id: "String",
195
+ # subnet_id: "SubnetId",
196
+ # gateway_id: "RouteGatewayId",
197
197
  # })
198
198
  # @param [Hash] options ({})
199
199
  # @option options [Boolean] :dry_run
@@ -222,11 +222,11 @@ module Aws::EC2
222
222
  # destination_ipv_6_cidr_block: "String",
223
223
  # dry_run: false,
224
224
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
225
- # gateway_id: "RouteTableGatewayId",
225
+ # gateway_id: "RouteGatewayId",
226
226
  # instance_id: "InstanceId",
227
227
  # nat_gateway_id: "NatGatewayId",
228
228
  # transit_gateway_id: "TransitGatewayId",
229
- # local_gateway_id: "String",
229
+ # local_gateway_id: "LocalGatewayId",
230
230
  # network_interface_id: "NetworkInterfaceId",
231
231
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
232
232
  # })
@@ -309,6 +309,49 @@ module Aws::EC2
309
309
  Tag::Collection.new([batch], size: batch.size)
310
310
  end
311
311
 
312
+ # @example Request syntax with placeholder values
313
+ #
314
+ # tag = route_table.delete_tags({
315
+ # dry_run: false,
316
+ # tags: [
317
+ # {
318
+ # key: "String",
319
+ # value: "String",
320
+ # },
321
+ # ],
322
+ # })
323
+ # @param [Hash] options ({})
324
+ # @option options [Boolean] :dry_run
325
+ # Checks whether you have the required permissions for the action,
326
+ # without actually making the request, and provides an error response.
327
+ # If you have the required permissions, the error response is
328
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
329
+ # @option options [Array<Types::Tag>] :tags
330
+ # The tags to delete. Specify a tag key and an optional tag value to
331
+ # delete specific tags. If you specify a tag key without a tag value, we
332
+ # delete any tag with this key regardless of its value. If you specify a
333
+ # tag key with an empty string as the tag value, we delete the tag only
334
+ # if its value is an empty string.
335
+ #
336
+ # If you omit this parameter, we delete all user-defined tags for the
337
+ # specified resources. We do not delete AWS-generated tags (tags that
338
+ # have the `aws:` prefix).
339
+ # @return [Tag::Collection]
340
+ def delete_tags(options = {})
341
+ batch = []
342
+ options = Aws::Util.deep_merge(options, resources: [@id])
343
+ resp = @client.delete_tags(options)
344
+ options[:tags].each do |t|
345
+ batch << Tag.new(
346
+ resource_id: @id,
347
+ key: t[:key],
348
+ value: t[:value],
349
+ client: @client
350
+ )
351
+ end
352
+ Tag::Collection.new([batch], size: batch.size)
353
+ end
354
+
312
355
  # @example Request syntax with placeholder values
313
356
  #
314
357
  # route_table.delete({