aws-sdk-ec2 1.142.0 → 1.147.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class DhcpOptions
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,32 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
10
+ # When EC2 returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::EC2::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all EC2 errors using ServiceError:
14
+ # begin
15
+ # # do stuff
16
+ # rescue Aws::EC2::Errors::ServiceError
17
+ # # rescues all EC2 API errors
18
+ # end
19
+ #
20
+ # ## Request Context
21
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
22
+ # information about the request that generated the error, including:
23
+ # *
24
+ # * #params - The request params
25
+ # * #operation_name - Name of the API operation invoked
26
+ # * #http_request
27
+ # * #http_response
28
+ # * etc ...
29
+ #
30
+ # See {Seahorse::Client::RequestContext} for more information.
31
+ #
32
+ # ## Error Classes
33
+ # Additionally, error classes are dynamically generated for service errors based on the error code
34
+ # if they are not defined above.
9
35
  module Errors
10
36
 
11
37
  extend Aws::Errors::DynamicErrors
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class Image
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class Instance
10
11
 
11
12
  extend Aws::Deprecations
@@ -1357,7 +1358,7 @@ module Aws::EC2
1357
1358
  # values: ["String"],
1358
1359
  # },
1359
1360
  # ],
1360
- # volume_ids: ["String"],
1361
+ # volume_ids: ["VolumeId"],
1361
1362
  # dry_run: false,
1362
1363
  # })
1363
1364
  # @param [Hash] options ({})
@@ -1387,6 +1388,9 @@ module Aws::EC2
1387
1388
  # * `encrypted` - Indicates whether the volume is encrypted (`true` \|
1388
1389
  # `false`)
1389
1390
  #
1391
+ # * `multi-attach-enabled` - Indicates whether the volume is enabled for
1392
+ # Multi-Attach (`true` \| `false`)
1393
+ #
1390
1394
  # * `fast-restored` - Indicates whether the volume was created from a
1391
1395
  # snapshot that is enabled for fast snapshot restore (`true` \|
1392
1396
  # `false`).
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class InternetGateway
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class KeyPair
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class KeyPairInfo
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class NatGateway
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class NetworkAcl
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class NetworkInterface
10
11
 
11
12
  extend Aws::Deprecations
@@ -497,12 +498,12 @@ module Aws::EC2
497
498
  #
498
499
  # network_interface.modify_attribute({
499
500
  # attachment: {
500
- # attachment_id: "String",
501
+ # attachment_id: "NetworkInterfaceAttachmentId",
501
502
  # delete_on_termination: false,
502
503
  # },
503
504
  # description: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
504
505
  # dry_run: false,
505
- # groups: ["String"],
506
+ # groups: ["SecurityGroupId"],
506
507
  # source_dest_check: {
507
508
  # value: false,
508
509
  # },
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class NetworkInterfaceAssociation
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+
9
10
  class PlacementGroup
10
11
 
11
12
  extend Aws::Deprecations
@@ -224,7 +225,7 @@ module Aws::EC2
224
225
  # values: ["String"],
225
226
  # },
226
227
  # ],
227
- # instance_ids: ["String"],
228
+ # instance_ids: ["InstanceId"],
228
229
  # dry_run: false,
229
230
  # })
230
231
  # @param [Hash] options ({})
@@ -6,6 +6,13 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::EC2
9
+ # This class provides a resource oriented interface for EC2.
10
+ # To create a resource object:
11
+ # resource = Aws::EC2::Resource.new(region: 'us-west-2')
12
+ # You can supply a client object with custom configuration that will be used for all resource operations.
13
+ # If you do not pass +:client+, a default client will be constructed.
14
+ # client = Aws::EC2::Client.new(region: 'us-west-2')
15
+ # resource = Aws::EC2::Resource.new(client: client)
9
16
  class Resource
10
17
 
11
18
  # @param options ({})
@@ -78,7 +85,7 @@ module Aws::EC2
78
85
  # },
79
86
  # ],
80
87
  # kernel_id: "String",
81
- # key_name: "String",
88
+ # key_name: "KeyPairName",
82
89
  # max_count: 1, # required
83
90
  # min_count: 1, # required
84
91
  # monitoring: {
@@ -95,8 +102,8 @@ module Aws::EC2
95
102
  # host_resource_group_arn: "String",
96
103
  # },
97
104
  # ramdisk_id: "String",
98
- # security_group_ids: ["String"],
99
- # security_groups: ["String"],
105
+ # security_group_ids: ["SecurityGroupId"],
106
+ # security_groups: ["SecurityGroupName"],
100
107
  # subnet_id: "String",
101
108
  # user_data: "String",
102
109
  # additional_info: "String",
@@ -115,7 +122,7 @@ module Aws::EC2
115
122
  # delete_on_termination: false,
116
123
  # description: "String",
117
124
  # device_index: 1,
118
- # groups: ["String"],
125
+ # groups: ["SecurityGroupId"],
119
126
  # ipv_6_address_count: 1,
120
127
  # ipv_6_addresses: [
121
128
  # {
@@ -149,7 +156,7 @@ module Aws::EC2
149
156
  # ],
150
157
  # tag_specifications: [
151
158
  # {
152
- # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, key-pair, launch-template, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway
159
+ # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, key-pair, launch-template, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
153
160
  # tags: [
154
161
  # {
155
162
  # key: "String",
@@ -159,7 +166,7 @@ module Aws::EC2
159
166
  # },
160
167
  # ],
161
168
  # launch_template: {
162
- # launch_template_id: "String",
169
+ # launch_template_id: "LaunchTemplateId",
163
170
  # launch_template_name: "String",
164
171
  # version: "String",
165
172
  # },
@@ -183,7 +190,7 @@ module Aws::EC2
183
190
  # capacity_reservation_specification: {
184
191
  # capacity_reservation_preference: "open", # accepts open, none
185
192
  # capacity_reservation_target: {
186
- # capacity_reservation_id: "String",
193
+ # capacity_reservation_id: "CapacityReservationId",
187
194
  # },
188
195
  # },
189
196
  # hibernation_options: {
@@ -515,7 +522,7 @@ module Aws::EC2
515
522
  # @example Request syntax with placeholder values
516
523
  #
517
524
  # keypair = ec2.create_key_pair({
518
- # key_name: "KeyPairName", # required
525
+ # key_name: "String", # required
519
526
  # dry_run: false,
520
527
  # })
521
528
  # @param [Hash] options ({})
@@ -601,7 +608,7 @@ module Aws::EC2
601
608
  # networkinterface = ec2.create_network_interface({
602
609
  # description: "String",
603
610
  # dry_run: false,
604
- # groups: ["String"],
611
+ # groups: ["SecurityGroupId"],
605
612
  # ipv_6_address_count: 1,
606
613
  # ipv_6_addresses: [
607
614
  # {
@@ -789,7 +796,7 @@ module Aws::EC2
789
796
  # volume_id: "VolumeId", # required
790
797
  # tag_specifications: [
791
798
  # {
792
- # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, key-pair, launch-template, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway
799
+ # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, key-pair, launch-template, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
793
800
  # tags: [
794
801
  # {
795
802
  # key: "String",
@@ -880,7 +887,7 @@ module Aws::EC2
880
887
  #
881
888
  # ec2.create_tags({
882
889
  # dry_run: false,
883
- # resources: ["String"], # required
890
+ # resources: ["TaggableResourceId"], # required
884
891
  # tags: [ # required
885
892
  # {
886
893
  # key: "String",
@@ -913,7 +920,7 @@ module Aws::EC2
913
920
  #
914
921
  # ec2.delete_tags({
915
922
  # dry_run: false,
916
- # resources: ["String"], # required
923
+ # resources: ["TaggableResourceId"], # required
917
924
  # tags: [
918
925
  # {
919
926
  # key: "String",
@@ -962,7 +969,7 @@ module Aws::EC2
962
969
  # dry_run: false,
963
970
  # tag_specifications: [
964
971
  # {
965
- # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, key-pair, launch-template, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway
972
+ # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, key-pair, launch-template, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
966
973
  # tags: [
967
974
  # {
968
975
  # key: "String",
@@ -971,6 +978,7 @@ module Aws::EC2
971
978
  # ],
972
979
  # },
973
980
  # ],
981
+ # multi_attach_enabled: false,
974
982
  # })
975
983
  # @param [Hash] options ({})
976
984
  # @option options [required, String] :availability_zone
@@ -1055,6 +1063,17 @@ module Aws::EC2
1055
1063
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1056
1064
  # @option options [Array<Types::TagSpecification>] :tag_specifications
1057
1065
  # The tags to apply to the volume during creation.
1066
+ # @option options [Boolean] :multi_attach_enabled
1067
+ # Specifies whether to enable Amazon EBS Multi-Attach. If you enable
1068
+ # Multi-Attach, you can attach the volume to up to 16 [Nitro-based
1069
+ # instances][1] in the same Availability Zone. For more information, see
1070
+ # [ Amazon EBS Multi-Attach][2] in the *Amazon Elastic Compute Cloud
1071
+ # User Guide*.
1072
+ #
1073
+ #
1074
+ #
1075
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
1076
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html
1058
1077
  # @return [Volume]
1059
1078
  def create_volume(options = {})
1060
1079
  resp = @client.create_volume(options)
@@ -1070,7 +1089,7 @@ module Aws::EC2
1070
1089
  # vpc = ec2.create_vpc({
1071
1090
  # cidr_block: "String", # required
1072
1091
  # amazon_provided_ipv_6_cidr_block: false,
1073
- # ipv_6_pool: "String",
1092
+ # ipv_6_pool: "Ipv6PoolEc2Id",
1074
1093
  # ipv_6_cidr_block: "String",
1075
1094
  # dry_run: false,
1076
1095
  # instance_tenancy: "default", # accepts default, dedicated, host
@@ -1190,7 +1209,7 @@ module Aws::EC2
1190
1209
  #
1191
1210
  # keypairinfo = ec2.import_key_pair({
1192
1211
  # dry_run: false,
1193
- # key_name: "KeyPairName", # required
1212
+ # key_name: "String", # required
1194
1213
  # public_key_material: "data", # required
1195
1214
  # })
1196
1215
  # @param [Hash] options ({})
@@ -1408,7 +1427,7 @@ module Aws::EC2
1408
1427
  # @example Request syntax with placeholder values
1409
1428
  #
1410
1429
  # dhcp_options_sets = ec2.dhcp_options_sets({
1411
- # dhcp_options_ids: ["String"],
1430
+ # dhcp_options_ids: ["DhcpOptionsId"],
1412
1431
  # filters: [
1413
1432
  # {
1414
1433
  # name: "String",
@@ -1486,7 +1505,7 @@ module Aws::EC2
1486
1505
  # values: ["String"],
1487
1506
  # },
1488
1507
  # ],
1489
- # image_ids: ["String"],
1508
+ # image_ids: ["ImageId"],
1490
1509
  # owners: ["String"],
1491
1510
  # dry_run: false,
1492
1511
  # })
@@ -1635,7 +1654,7 @@ module Aws::EC2
1635
1654
  # values: ["String"],
1636
1655
  # },
1637
1656
  # ],
1638
- # instance_ids: ["String"],
1657
+ # instance_ids: ["InstanceId"],
1639
1658
  # dry_run: false,
1640
1659
  # })
1641
1660
  # @param [Hash] options ({})
@@ -1961,7 +1980,7 @@ module Aws::EC2
1961
1980
  # },
1962
1981
  # ],
1963
1982
  # dry_run: false,
1964
- # internet_gateway_ids: ["String"],
1983
+ # internet_gateway_ids: ["InternetGatewayId"],
1965
1984
  # })
1966
1985
  # @param [Hash] options ({})
1967
1986
  # @option options [Array<Types::Filter>] :filters
@@ -2033,8 +2052,8 @@ module Aws::EC2
2033
2052
  # values: ["String"],
2034
2053
  # },
2035
2054
  # ],
2036
- # key_names: ["String"],
2037
- # key_pair_ids: ["String"],
2055
+ # key_names: ["KeyPairName"],
2056
+ # key_pair_ids: ["KeyPairId"],
2038
2057
  # dry_run: false,
2039
2058
  # })
2040
2059
  # @param [Hash] options ({})
@@ -2090,7 +2109,7 @@ module Aws::EC2
2090
2109
  # values: ["String"],
2091
2110
  # },
2092
2111
  # ],
2093
- # nat_gateway_ids: ["String"],
2112
+ # nat_gateway_ids: ["NatGatewayId"],
2094
2113
  # })
2095
2114
  # @param [Hash] options ({})
2096
2115
  # @option options [Array<Types::Filter>] :filter
@@ -2154,7 +2173,7 @@ module Aws::EC2
2154
2173
  # },
2155
2174
  # ],
2156
2175
  # dry_run: false,
2157
- # network_acl_ids: ["String"],
2176
+ # network_acl_ids: ["NetworkAclId"],
2158
2177
  # })
2159
2178
  # @param [Hash] options ({})
2160
2179
  # @option options [Array<Types::Filter>] :filters
@@ -2257,7 +2276,7 @@ module Aws::EC2
2257
2276
  # },
2258
2277
  # ],
2259
2278
  # dry_run: false,
2260
- # network_interface_ids: ["String"],
2279
+ # network_interface_ids: ["NetworkInterfaceId"],
2261
2280
  # })
2262
2281
  # @param [Hash] options ({})
2263
2282
  # @option options [Array<Types::Filter>] :filters
@@ -2419,8 +2438,8 @@ module Aws::EC2
2419
2438
  # },
2420
2439
  # ],
2421
2440
  # dry_run: false,
2422
- # group_names: ["String"],
2423
- # group_ids: ["String"],
2441
+ # group_names: ["PlacementGroupName"],
2442
+ # group_ids: ["PlacementGroupId"],
2424
2443
  # })
2425
2444
  # @param [Hash] options ({})
2426
2445
  # @option options [Array<Types::Filter>] :filters
@@ -2490,7 +2509,7 @@ module Aws::EC2
2490
2509
  # },
2491
2510
  # ],
2492
2511
  # dry_run: false,
2493
- # route_table_ids: ["String"],
2512
+ # route_table_ids: ["RouteTableId"],
2494
2513
  # })
2495
2514
  # @param [Hash] options ({})
2496
2515
  # @option options [Array<Types::Filter>] :filters
@@ -2611,7 +2630,7 @@ module Aws::EC2
2611
2630
  # },
2612
2631
  # ],
2613
2632
  # group_ids: ["String"],
2614
- # group_names: ["String"],
2633
+ # group_names: ["SecurityGroupName"],
2615
2634
  # dry_run: false,
2616
2635
  # })
2617
2636
  # @param [Hash] options ({})
@@ -2750,7 +2769,7 @@ module Aws::EC2
2750
2769
  # ],
2751
2770
  # owner_ids: ["String"],
2752
2771
  # restorable_by_user_ids: ["String"],
2753
- # snapshot_ids: ["String"],
2772
+ # snapshot_ids: ["SnapshotId"],
2754
2773
  # dry_run: false,
2755
2774
  # })
2756
2775
  # @param [Hash] options ({})
@@ -2843,7 +2862,7 @@ module Aws::EC2
2843
2862
  # values: ["String"],
2844
2863
  # },
2845
2864
  # ],
2846
- # subnet_ids: ["String"],
2865
+ # subnet_ids: ["SubnetId"],
2847
2866
  # dry_run: false,
2848
2867
  # })
2849
2868
  # @param [Hash] options ({})
@@ -2942,7 +2961,7 @@ module Aws::EC2
2942
2961
  # values: ["String"],
2943
2962
  # },
2944
2963
  # ],
2945
- # volume_ids: ["String"],
2964
+ # volume_ids: ["VolumeId"],
2946
2965
  # dry_run: false,
2947
2966
  # })
2948
2967
  # @param [Hash] options ({})
@@ -2972,6 +2991,9 @@ module Aws::EC2
2972
2991
  # * `encrypted` - Indicates whether the volume is encrypted (`true` \|
2973
2992
  # `false`)
2974
2993
  #
2994
+ # * `multi-attach-enabled` - Indicates whether the volume is enabled for
2995
+ # Multi-Attach (`true` \| `false`)
2996
+ #
2975
2997
  # * `fast-restored` - Indicates whether the volume was created from a
2976
2998
  # snapshot that is enabled for fast snapshot restore (`true` \|
2977
2999
  # `false`).
@@ -3134,7 +3156,7 @@ module Aws::EC2
3134
3156
  # },
3135
3157
  # ],
3136
3158
  # dry_run: false,
3137
- # vpc_peering_connection_ids: ["String"],
3159
+ # vpc_peering_connection_ids: ["VpcPeeringConnectionId"],
3138
3160
  # })
3139
3161
  # @param [Hash] options ({})
3140
3162
  # @option options [Array<Types::Filter>] :filters
@@ -3214,7 +3236,7 @@ module Aws::EC2
3214
3236
  # values: ["String"],
3215
3237
  # },
3216
3238
  # ],
3217
- # vpc_ids: ["String"],
3239
+ # vpc_ids: ["VpcId"],
3218
3240
  # dry_run: false,
3219
3241
  # })
3220
3242
  # @param [Hash] options ({})