aws-sdk-ec2 1.0.0.rc3 → 1.0.0.rc4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 07163de11ef5213365aa653bc84227e45c9e8dd0
4
- data.tar.gz: 2ad099627cc36035190e52746c3fd5612746e301
3
+ metadata.gz: c3d3f0801af74f08f657ce9498ab6f10f44e1d68
4
+ data.tar.gz: 4ae0791653759d3cfb05fdaa091ef7a8aefa04d0
5
5
  SHA512:
6
- metadata.gz: 40e9acac824ed6fbddd590e09df5ffcdeecdc9f6fbcb4b3a02248a9e53e9713cfe901e583e536817f4e6e4ab2cee6fb0d57386e66a2d6900be3bc52a72ac7ace
7
- data.tar.gz: c8a48061219ef257b6d2e3a5e07b26752140af8eaf6f1a418ab294b87b27deb5ab0c513ddf7f39bbc5f2845e1f48bdc9a55a8cedc530b12ae486915375fcd4b3
6
+ metadata.gz: 8fa44676327f15e723c32ef50d6d2245306515a6566f9047aa9c23bb56524076c10064af2337d48ab895a20777d45e7e77f47d17eb7e018edf74b4f9a55005d6
7
+ data.tar.gz: 49a3c4e18c355dadf6f48bcb31af422d8e5a87695b34b0b03d6d8796a43848cfb268e1fbd7418c947b2a95edc58cfa654c39efef4ceff688a6444bc81b62ae15
@@ -65,6 +65,6 @@ require_relative 'aws-sdk-ec2/customizations'
65
65
  # @service
66
66
  module Aws::EC2
67
67
 
68
- GEM_VERSION = '1.0.0.rc3'
68
+ GEM_VERSION = '1.0.0.rc4'
69
69
 
70
70
  end
@@ -18,6 +18,7 @@ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
18
  require 'aws-sdk-core/plugins/response_paging.rb'
19
19
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
20
  require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
21
22
  require 'aws-sdk-core/plugins/signature_v4.rb'
22
23
  require 'aws-sdk-core/plugins/protocols/ec2.rb'
23
24
  require 'aws-sdk-ec2/plugins/copy_encrypted_snapshot.rb'
@@ -47,6 +48,7 @@ module Aws::EC2
47
48
  add_plugin(Aws::Plugins::ResponsePaging)
48
49
  add_plugin(Aws::Plugins::StubResponses)
49
50
  add_plugin(Aws::Plugins::IdempotencyToken)
51
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
52
  add_plugin(Aws::Plugins::SignatureV4)
51
53
  add_plugin(Aws::Plugins::Protocols::EC2)
52
54
  add_plugin(Aws::EC2::Plugins::CopyEncryptedSnapshot)
@@ -196,9 +198,8 @@ module Aws::EC2
196
198
 
197
199
  # Accept a VPC peering connection request. To accept a request, the VPC
198
200
  # peering connection must be in the `pending-acceptance` state, and you
199
- # must be the owner of the peer VPC. Use the
200
- # `DescribeVpcPeeringConnections` request to view your outstanding VPC
201
- # peering connection requests.
201
+ # must be the owner of the peer VPC. Use DescribeVpcPeeringConnections
202
+ # to view your outstanding VPC peering connection requests.
202
203
  #
203
204
  # @option params [Boolean] :dry_run
204
205
  # Checks whether you have the required permissions for the action,
@@ -487,13 +488,18 @@ module Aws::EC2
487
488
  # \[EC2-Classic, VPC in an EC2-VPC-only account\] If the Elastic IP
488
489
  # address is already associated with a different instance, it is
489
490
  # disassociated from that instance and associated with the specified
490
- # instance.
491
+ # instance. If you associate an Elastic IP address with an instance that
492
+ # has an existing Elastic IP address, the existing address is
493
+ # disassociated from the instance, but remains allocated to your
494
+ # account.
491
495
  #
492
496
  # \[VPC in an EC2-Classic account\] If you don't specify a private IP
493
497
  # address, the Elastic IP address is associated with the primary IP
494
498
  # address. If the Elastic IP address is already associated with a
495
499
  # different instance or a network interface, you get an error unless you
496
- # allow reassociation.
500
+ # allow reassociation. You cannot associate an Elastic IP address with
501
+ # an instance or network interface that has an existing Elastic IP
502
+ # address.
497
503
  #
498
504
  # This is an idempotent operation. If you perform the operation more
499
505
  # than once, Amazon EC2 doesn't return an error, and you may be charged
@@ -1027,9 +1033,11 @@ module Aws::EC2
1027
1033
  req.send_request(options)
1028
1034
  end
1029
1035
 
1030
- # Attaches a virtual private gateway to a VPC. For more information, see
1031
- # [Adding a Hardware Virtual Private Gateway to Your VPC][1] in the
1032
- # *Amazon Virtual Private Cloud User Guide*.
1036
+ # Attaches a virtual private gateway to a VPC. You can attach one
1037
+ # virtual private gateway to one VPC at a time.
1038
+ #
1039
+ # For more information, see [Adding a Hardware Virtual Private Gateway
1040
+ # to Your VPC][1] in the *Amazon Virtual Private Cloud User Guide*.
1033
1041
  #
1034
1042
  #
1035
1043
  #
@@ -2133,16 +2141,16 @@ module Aws::EC2
2133
2141
  # specified in `domain-name`, you must set `domain-name-servers` to a
2134
2142
  # custom DNS server.
2135
2143
  #
2136
- # * `domain-name` - If you're using AmazonProvidedDNS in "us-east-1",
2137
- # specify "ec2.internal". If you're using AmazonProvidedDNS in
2138
- # another region, specify "region.compute.internal" (for example,
2139
- # "ap-northeast-1.compute.internal"). Otherwise, specify a domain
2140
- # name (for example, "MyCompany.com"). This value is used to
2141
- # complete unqualified DNS hostnames. **Important**\: Some Linux
2142
- # operating systems accept multiple domain names separated by spaces.
2143
- # However, Windows and other Linux operating systems treat the value
2144
- # as a single domain, which results in unexpected behavior. If your
2145
- # DHCP options set is associated with a VPC that has instances with
2144
+ # * `domain-name` - If you're using AmazonProvidedDNS in `us-east-1`,
2145
+ # specify `ec2.internal`. If you're using AmazonProvidedDNS in
2146
+ # another region, specify `region.compute.internal` (for example,
2147
+ # `ap-northeast-1.compute.internal`). Otherwise, specify a domain name
2148
+ # (for example, `MyCompany.com`). This value is used to complete
2149
+ # unqualified DNS hostnames. **Important**\: Some Linux operating
2150
+ # systems accept multiple domain names separated by spaces. However,
2151
+ # Windows and other Linux operating systems treat the value as a
2152
+ # single domain, which results in unexpected behavior. If your DHCP
2153
+ # options set is associated with a VPC that has instances with
2146
2154
  # multiple operating systems, specify only one domain name.
2147
2155
  #
2148
2156
  # * `ntp-servers` - The IP addresses of up to four Network Time Protocol
@@ -2344,6 +2352,85 @@ module Aws::EC2
2344
2352
  req.send_request(options)
2345
2353
  end
2346
2354
 
2355
+ # Creates an Amazon FPGA Image (AFI) from the specified design
2356
+ # checkpoint (DCP).
2357
+ #
2358
+ # The create operation is asynchronous. To verify that the AFI is ready
2359
+ # for use, check the output logs.
2360
+ #
2361
+ # An AFI contains the FPGA bitstream that is ready to download to an
2362
+ # FPGA. You can securely deploy an AFI on one or more FPGA-accelerated
2363
+ # instances. For more information, see the [AWS FPGA Hardware
2364
+ # Development Kit][1].
2365
+ #
2366
+ #
2367
+ #
2368
+ # [1]: https://github.com/aws/aws-fpga/
2369
+ #
2370
+ # @option params [Boolean] :dry_run
2371
+ # Checks whether you have the required permissions for the action,
2372
+ # without actually making the request, and provides an error response.
2373
+ # If you have the required permissions, the error response is
2374
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2375
+ #
2376
+ # @option params [required, Types::StorageLocation] :input_storage_location
2377
+ # The location of the encrypted design checkpoint in Amazon S3. The
2378
+ # input must be a tarball.
2379
+ #
2380
+ # @option params [Types::StorageLocation] :logs_storage_location
2381
+ # The location in Amazon S3 for the output logs.
2382
+ #
2383
+ # @option params [String] :description
2384
+ # A description for the AFI.
2385
+ #
2386
+ # @option params [String] :name
2387
+ # A name for the AFI.
2388
+ #
2389
+ # @option params [String] :client_token
2390
+ # Unique, case-sensitive identifier that you provide to ensure the
2391
+ # idempotency of the request. For more information, see [Ensuring
2392
+ # Idempotency][1].
2393
+ #
2394
+ #
2395
+ #
2396
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html
2397
+ #
2398
+ # @return [Types::CreateFpgaImageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2399
+ #
2400
+ # * {Types::CreateFpgaImageResult#fpga_image_id #fpga_image_id} => String
2401
+ # * {Types::CreateFpgaImageResult#fpga_image_global_id #fpga_image_global_id} => String
2402
+ #
2403
+ # @example Request syntax with placeholder values
2404
+ #
2405
+ # resp = client.create_fpga_image({
2406
+ # dry_run: false,
2407
+ # input_storage_location: { # required
2408
+ # bucket: "String",
2409
+ # key: "String",
2410
+ # },
2411
+ # logs_storage_location: {
2412
+ # bucket: "String",
2413
+ # key: "String",
2414
+ # },
2415
+ # description: "String",
2416
+ # name: "String",
2417
+ # client_token: "String",
2418
+ # })
2419
+ #
2420
+ # @example Response structure
2421
+ #
2422
+ # resp.fpga_image_id #=> String
2423
+ # resp.fpga_image_global_id #=> String
2424
+ #
2425
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage AWS API Documentation
2426
+ #
2427
+ # @overload create_fpga_image(params = {})
2428
+ # @param [Hash] params ({})
2429
+ def create_fpga_image(params = {}, options = {})
2430
+ req = build_request(:create_fpga_image, params)
2431
+ req.send_request(options)
2432
+ end
2433
+
2347
2434
  # Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance
2348
2435
  # that is either running or stopped.
2349
2436
  #
@@ -3554,7 +3641,7 @@ module Aws::EC2
3554
3641
  # If you've associated an IPv6 CIDR block with your VPC, you can create
3555
3642
  # a subnet with an IPv6 CIDR block that uses a /64 prefix length.
3556
3643
  #
3557
- # AWS reserves both the first four and the last IP address in each
3644
+ # AWS reserves both the first four and the last IPv4 address in each
3558
3645
  # subnet's CIDR block. They're not available for use.
3559
3646
  #
3560
3647
  # If you add more than one subnet to a VPC, they're set up in a star
@@ -3711,14 +3798,18 @@ module Aws::EC2
3711
3798
  # [Amazon EBS Encryption][2] in the *Amazon Elastic Compute Cloud User
3712
3799
  # Guide*.
3713
3800
  #
3714
- # For more information, see [Creating or Restoring an Amazon EBS
3715
- # Volume][3] in the *Amazon Elastic Compute Cloud User Guide*.
3801
+ # You can tag your volumes during creation. For more information, see
3802
+ # [Tagging Your Amazon EC2 Resources][3].
3803
+ #
3804
+ # For more information, see [Creating an Amazon EBS Volume][4] in the
3805
+ # *Amazon Elastic Compute Cloud User Guide*.
3716
3806
  #
3717
3807
  #
3718
3808
  #
3719
3809
  # [1]: http://docs.aws.amazon.com/general/latest/gr/rande.html
3720
3810
  # [2]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
3721
- # [3]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html
3811
+ # [3]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
3812
+ # [4]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html
3722
3813
  #
3723
3814
  # @option params [Boolean] :dry_run
3724
3815
  # Checks whether you have the required permissions for the action,
@@ -3784,6 +3875,9 @@ module Aws::EC2
3784
3875
  # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
3785
3876
  # If a `KmsKeyId` is specified, the `Encrypted` flag must also be set.
3786
3877
  #
3878
+ # @option params [Array<Types::TagSpecification>] :tag_specifications
3879
+ # The tags to apply to the volume during creation.
3880
+ #
3787
3881
  # @return [Types::Volume] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3788
3882
  #
3789
3883
  # * {Types::Volume#volume_id #volume_id} => String
@@ -3810,6 +3904,17 @@ module Aws::EC2
3810
3904
  # iops: 1,
3811
3905
  # encrypted: false,
3812
3906
  # kms_key_id: "String",
3907
+ # tag_specifications: [
3908
+ # {
3909
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
3910
+ # tags: [
3911
+ # {
3912
+ # key: "String",
3913
+ # value: "String",
3914
+ # },
3915
+ # ],
3916
+ # },
3917
+ # ],
3813
3918
  # })
3814
3919
  #
3815
3920
  # @example Response structure
@@ -4027,8 +4132,8 @@ module Aws::EC2
4027
4132
  # the peering connection. The VPC peering connection request expires
4028
4133
  # after 7 days, after which it cannot be accepted or rejected.
4029
4134
  #
4030
- # A `CreateVpcPeeringConnection` request between VPCs with overlapping
4031
- # CIDR blocks results in the VPC peering connection having a status of
4135
+ # If you try to create a VPC peering connection between VPCs that have
4136
+ # overlapping CIDR blocks, the VPC peering connection status goes to
4032
4137
  # `failed`.
4033
4138
  #
4034
4139
  # @option params [Boolean] :dry_run
@@ -7120,18 +7225,6 @@ module Aws::EC2
7120
7225
  #
7121
7226
  # * `architecture` - The instance architecture (`i386` \| `x86_64`).
7122
7227
  #
7123
- # * `association.public-ip` - The address of the Elastic IP address
7124
- # (IPv4) bound to the network interface.
7125
- #
7126
- # * `association.ip-owner-id` - The owner of the Elastic IP address
7127
- # (IPv4) associated with the network interface.
7128
- #
7129
- # * `association.allocation-id` - The allocation ID returned when you
7130
- # allocated the Elastic IP address (IPv4) for your network interface.
7131
- #
7132
- # * `association.association-id` - The association ID returned when the
7133
- # network interface was associated with an IPv4 address.
7134
- #
7135
7228
  # * `availability-zone` - The Availability Zone of the instance.
7136
7229
  #
7137
7230
  # * `block-device-mapping.attach-time` - The attach time for an EBS
@@ -7222,6 +7315,20 @@ module Aws::EC2
7222
7315
  # * `network-interface.addresses.association.ip-owner-id` - The owner ID
7223
7316
  # of the private IPv4 address associated with the network interface.
7224
7317
  #
7318
+ # * `network-interface.association.public-ip` - The address of the
7319
+ # Elastic IP address (IPv4) bound to the network interface.
7320
+ #
7321
+ # * `network-interface.association.ip-owner-id` - The owner of the
7322
+ # Elastic IP address (IPv4) associated with the network interface.
7323
+ #
7324
+ # * `network-interface.association.allocation-id` - The allocation ID
7325
+ # returned when you allocated the Elastic IP address (IPv4) for your
7326
+ # network interface.
7327
+ #
7328
+ # * `network-interface.association.association-id` - The association ID
7329
+ # returned when the network interface was associated with an IPv4
7330
+ # address.
7331
+ #
7225
7332
  # * `network-interface.attachment.attachment-id` - The ID of the
7226
7333
  # interface attachment.
7227
7334
  #
@@ -7952,7 +8059,7 @@ module Aws::EC2
7952
8059
  # The ID of the network interface.
7953
8060
  #
7954
8061
  # @option params [String] :attribute
7955
- # The attribute of the network interface.
8062
+ # The attribute of the network interface. This parameter is required.
7956
8063
  #
7957
8064
  # @return [Types::DescribeNetworkInterfaceAttributeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7958
8065
  #
@@ -8827,6 +8934,9 @@ module Aws::EC2
8827
8934
  # Instance with a tenancy of `dedicated` is applied to instances that
8828
8935
  # run in a VPC on single-tenant hardware (i.e., Dedicated Instances).
8829
8936
  #
8937
+ # **Important:** The `host` value cannot be used with this parameter.
8938
+ # Use the `default` or `dedicated` values only.
8939
+ #
8830
8940
  # Default: `default`
8831
8941
  #
8832
8942
  # @option params [String] :offering_type
@@ -8971,7 +9081,8 @@ module Aws::EC2
8971
9081
  # association.
8972
9082
  #
8973
9083
  # * `association.main` - Indicates whether the route table is the main
8974
- # route table for the VPC (`true` \| `false`).
9084
+ # route table for the VPC (`true` \| `false`). Route tables that do
9085
+ # not have an association ID are not returned in the response.
8975
9086
  #
8976
9087
  # * `route-table-id` - The ID of the route table.
8977
9088
  #
@@ -10684,7 +10795,7 @@ module Aws::EC2
10684
10795
  # The ID of the volume.
10685
10796
  #
10686
10797
  # @option params [String] :attribute
10687
- # The instance attribute.
10798
+ # The attribute of the volume. This parameter is required.
10688
10799
  #
10689
10800
  # @return [Types::DescribeVolumeAttributeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10690
10801
  #
@@ -11242,8 +11353,8 @@ module Aws::EC2
11242
11353
  # its private IP address when addressed from an instance in the VPC to
11243
11354
  # which it's linked. Similarly, the DNS hostname of an instance in a
11244
11355
  # VPC resolves to its private IP address when addressed from a linked
11245
- # EC2-Classic instance. For more information about ClassicLink, see
11246
- # [ClassicLink][1] in the Amazon Elastic Compute Cloud User Guide.
11356
+ # EC2-Classic instance. For more information, see [ClassicLink][1] in
11357
+ # the *Amazon Elastic Compute Cloud User Guide*.
11247
11358
  #
11248
11359
  #
11249
11360
  #
@@ -11889,7 +12000,7 @@ module Aws::EC2
11889
12000
 
11890
12001
  # Detaches an Internet gateway from a VPC, disabling connectivity
11891
12002
  # between the Internet and the VPC. The VPC must not contain any running
11892
- # instances with Elastic IP addresses.
12003
+ # instances with Elastic IP addresses or public IPv4 addresses.
11893
12004
  #
11894
12005
  # @option params [Boolean] :dry_run
11895
12006
  # Checks whether you have the required permissions for the action,
@@ -12144,7 +12255,7 @@ module Aws::EC2
12144
12255
  # resolve to public IP addresses when addressed between a linked
12145
12256
  # EC2-Classic instance and instances in the VPC to which it's linked.
12146
12257
  # For more information about ClassicLink, see [ClassicLink][1] in the
12147
- # Amazon Elastic Compute Cloud User Guide.
12258
+ # *Amazon Elastic Compute Cloud User Guide*.
12148
12259
  #
12149
12260
  #
12150
12261
  #
@@ -12431,8 +12542,8 @@ module Aws::EC2
12431
12542
  # VPC's route tables have existing routes for address ranges within the
12432
12543
  # `10.0.0.0/8` IP address range, excluding local routes for VPCs in the
12433
12544
  # `10.0.0.0/16` and `10.1.0.0/16` IP address ranges. For more
12434
- # information, see [ClassicLink][1] in the Amazon Elastic Compute Cloud
12435
- # User Guide.
12545
+ # information, see [ClassicLink][1] in the *Amazon Elastic Compute Cloud
12546
+ # User Guide*.
12436
12547
  #
12437
12548
  #
12438
12549
  #
@@ -14793,8 +14904,8 @@ module Aws::EC2
14793
14904
  #
14794
14905
  # You can also use `RegisterImage` to create an Amazon EBS-backed Linux
14795
14906
  # AMI from a snapshot of a root device volume. You specify the snapshot
14796
- # using the block device mapping. For more information, see [Launching
14797
- # an Instance from a Snapshot][2] in the *Amazon Elastic Compute Cloud
14907
+ # using the block device mapping. For more information, see [Launching a
14908
+ # Linux Instance from a Backup][2] in the *Amazon Elastic Compute Cloud
14798
14909
  # User Guide*.
14799
14910
  #
14800
14911
  # You can't register an image where a secondary (non-root) snapshot has
@@ -14816,7 +14927,7 @@ module Aws::EC2
14816
14927
  #
14817
14928
  #
14818
14929
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html
14819
- # [2]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_LaunchingInstanceFromSnapshot.html
14930
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html
14820
14931
  #
14821
14932
  # @option params [Boolean] :dry_run
14822
14933
  # Checks whether you have the required permissions for the action,
@@ -14850,7 +14961,9 @@ module Aws::EC2
14850
14961
  # The ID of the RAM disk.
14851
14962
  #
14852
14963
  # @option params [Array<String>] :billing_products
14853
- # The billing product codes.
14964
+ # The billing product codes. Your account must be authorized to specify
14965
+ # billing product codes. Otherwise, you can use the AWS Marketplace to
14966
+ # bill for the use of an AMI.
14854
14967
  #
14855
14968
  # @option params [String] :root_device_name
14856
14969
  # The name of the root device (for example, `/dev/sda1`, or
@@ -16337,10 +16450,10 @@ module Aws::EC2
16337
16450
  # 100 instances each instead of 1 launch request for 500 instances.
16338
16451
  #
16339
16452
  # An instance is ready for you to use when it's in the `running` state.
16340
- # You can check the state of your instance using DescribeInstances.
16341
- # After launch, you can apply tags to your running instance (requires a
16342
- # resource ID). For more information, see CreateTags and [Tagging Your
16343
- # Amazon EC2 Resources][4].
16453
+ # You can check the state of your instance using DescribeInstances. You
16454
+ # can tag instances and EBS volumes during launch, after launch, or
16455
+ # both. For more information, see CreateTags and [Tagging Your Amazon
16456
+ # EC2 Resources][4].
16344
16457
  #
16345
16458
  # Linux instances have access to the public key of the key pair at boot.
16346
16459
  # You can use this key to provide secure access to the instance. Amazon
@@ -16555,6 +16668,11 @@ module Aws::EC2
16555
16668
  #
16556
16669
  # Default: `false`
16557
16670
  #
16671
+ # @option params [Array<Types::TagSpecification>] :tag_specifications
16672
+ # The tags to apply to the resources during launch. You can tag
16673
+ # instances and volumes. The specified tags are applied to all instances
16674
+ # or volumes that are created during launch.
16675
+ #
16558
16676
  # @return [Types::Reservation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
16559
16677
  #
16560
16678
  # * {Types::Reservation#reservation_id #reservation_id} => String
@@ -16644,6 +16762,17 @@ module Aws::EC2
16644
16762
  # name: "String",
16645
16763
  # },
16646
16764
  # ebs_optimized: false,
16765
+ # tag_specifications: [
16766
+ # {
16767
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
16768
+ # tags: [
16769
+ # {
16770
+ # key: "String",
16771
+ # value: "String",
16772
+ # },
16773
+ # ],
16774
+ # },
16775
+ # ],
16647
16776
  # })
16648
16777
  #
16649
16778
  # @example Response structure
@@ -17233,7 +17362,7 @@ module Aws::EC2
17233
17362
  params: params,
17234
17363
  config: config)
17235
17364
  context[:gem_name] = 'aws-sdk-ec2'
17236
- context[:gem_version] = '1.0.0.rc3'
17365
+ context[:gem_version] = '1.0.0.rc4'
17237
17366
  Seahorse::Client::Request.new(handlers, context)
17238
17367
  end
17239
17368
 
@@ -130,6 +130,8 @@ module Aws::EC2
130
130
  CreateEgressOnlyInternetGatewayResult = Shapes::StructureShape.new(name: 'CreateEgressOnlyInternetGatewayResult')
131
131
  CreateFlowLogsRequest = Shapes::StructureShape.new(name: 'CreateFlowLogsRequest')
132
132
  CreateFlowLogsResult = Shapes::StructureShape.new(name: 'CreateFlowLogsResult')
133
+ CreateFpgaImageRequest = Shapes::StructureShape.new(name: 'CreateFpgaImageRequest')
134
+ CreateFpgaImageResult = Shapes::StructureShape.new(name: 'CreateFpgaImageResult')
133
135
  CreateImageRequest = Shapes::StructureShape.new(name: 'CreateImageRequest')
134
136
  CreateImageResult = Shapes::StructureShape.new(name: 'CreateImageResult')
135
137
  CreateInstanceExportTaskRequest = Shapes::StructureShape.new(name: 'CreateInstanceExportTaskRequest')
@@ -815,6 +817,7 @@ module Aws::EC2
815
817
  StopInstancesRequest = Shapes::StructureShape.new(name: 'StopInstancesRequest')
816
818
  StopInstancesResult = Shapes::StructureShape.new(name: 'StopInstancesResult')
817
819
  Storage = Shapes::StructureShape.new(name: 'Storage')
820
+ StorageLocation = Shapes::StructureShape.new(name: 'StorageLocation')
818
821
  String = Shapes::StringShape.new(name: 'String')
819
822
  Subnet = Shapes::StructureShape.new(name: 'Subnet')
820
823
  SubnetCidrBlockState = Shapes::StructureShape.new(name: 'SubnetCidrBlockState')
@@ -829,6 +832,8 @@ module Aws::EC2
829
832
  TagDescription = Shapes::StructureShape.new(name: 'TagDescription')
830
833
  TagDescriptionList = Shapes::ListShape.new(name: 'TagDescriptionList')
831
834
  TagList = Shapes::ListShape.new(name: 'TagList')
835
+ TagSpecification = Shapes::StructureShape.new(name: 'TagSpecification')
836
+ TagSpecificationList = Shapes::ListShape.new(name: 'TagSpecificationList')
832
837
  TargetConfiguration = Shapes::StructureShape.new(name: 'TargetConfiguration')
833
838
  TargetConfigurationRequest = Shapes::StructureShape.new(name: 'TargetConfigurationRequest')
834
839
  TargetConfigurationRequestSet = Shapes::ListShape.new(name: 'TargetConfigurationRequestSet')
@@ -1355,6 +1360,18 @@ module Aws::EC2
1355
1360
  CreateFlowLogsResult.add_member(:unsuccessful, Shapes::ShapeRef.new(shape: UnsuccessfulItemSet, location_name: "unsuccessful"))
1356
1361
  CreateFlowLogsResult.struct_class = Types::CreateFlowLogsResult
1357
1362
 
1363
+ CreateFpgaImageRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
1364
+ CreateFpgaImageRequest.add_member(:input_storage_location, Shapes::ShapeRef.new(shape: StorageLocation, required: true, location_name: "InputStorageLocation"))
1365
+ CreateFpgaImageRequest.add_member(:logs_storage_location, Shapes::ShapeRef.new(shape: StorageLocation, location_name: "LogsStorageLocation"))
1366
+ CreateFpgaImageRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
1367
+ CreateFpgaImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
1368
+ CreateFpgaImageRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken"))
1369
+ CreateFpgaImageRequest.struct_class = Types::CreateFpgaImageRequest
1370
+
1371
+ CreateFpgaImageResult.add_member(:fpga_image_id, Shapes::ShapeRef.new(shape: String, location_name: "fpgaImageId"))
1372
+ CreateFpgaImageResult.add_member(:fpga_image_global_id, Shapes::ShapeRef.new(shape: String, location_name: "fpgaImageGlobalId"))
1373
+ CreateFpgaImageResult.struct_class = Types::CreateFpgaImageResult
1374
+
1358
1375
  CreateImageRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
1359
1376
  CreateImageRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "instanceId"))
1360
1377
  CreateImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
@@ -1518,6 +1535,7 @@ module Aws::EC2
1518
1535
  CreateVolumeRequest.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "Iops"))
1519
1536
  CreateVolumeRequest.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "encrypted"))
1520
1537
  CreateVolumeRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "KmsKeyId"))
1538
+ CreateVolumeRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
1521
1539
  CreateVolumeRequest.struct_class = Types::CreateVolumeRequest
1522
1540
 
1523
1541
  CreateVpcEndpointRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
@@ -4008,6 +4026,7 @@ module Aws::EC2
4008
4026
  RunInstancesRequest.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: InstanceNetworkInterfaceSpecificationList, location_name: "networkInterface"))
4009
4027
  RunInstancesRequest.add_member(:iam_instance_profile, Shapes::ShapeRef.new(shape: IamInstanceProfileSpecification, location_name: "iamInstanceProfile"))
4010
4028
  RunInstancesRequest.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: Boolean, location_name: "ebsOptimized"))
4029
+ RunInstancesRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
4011
4030
  RunInstancesRequest.struct_class = Types::RunInstancesRequest
4012
4031
 
4013
4032
  RunScheduledInstancesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
@@ -4374,6 +4393,10 @@ module Aws::EC2
4374
4393
  Storage.add_member(:s3, Shapes::ShapeRef.new(shape: S3Storage, location_name: "S3"))
4375
4394
  Storage.struct_class = Types::Storage
4376
4395
 
4396
+ StorageLocation.add_member(:bucket, Shapes::ShapeRef.new(shape: String, location_name: "Bucket"))
4397
+ StorageLocation.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "Key"))
4398
+ StorageLocation.struct_class = Types::StorageLocation
4399
+
4377
4400
  Subnet.add_member(:subnet_id, Shapes::ShapeRef.new(shape: String, location_name: "subnetId"))
4378
4401
  Subnet.add_member(:state, Shapes::ShapeRef.new(shape: SubnetState, location_name: "state"))
4379
4402
  Subnet.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, location_name: "vpcId"))
@@ -4416,6 +4439,12 @@ module Aws::EC2
4416
4439
 
4417
4440
  TagList.member = Shapes::ShapeRef.new(shape: Tag, location_name: "item")
4418
4441
 
4442
+ TagSpecification.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "resourceType"))
4443
+ TagSpecification.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tag"))
4444
+ TagSpecification.struct_class = Types::TagSpecification
4445
+
4446
+ TagSpecificationList.member = Shapes::ShapeRef.new(shape: TagSpecification, location_name: "item")
4447
+
4419
4448
  TargetConfiguration.add_member(:offering_id, Shapes::ShapeRef.new(shape: String, location_name: "offeringId"))
4420
4449
  TargetConfiguration.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "instanceCount"))
4421
4450
  TargetConfiguration.struct_class = Types::TargetConfiguration
@@ -4997,6 +5026,14 @@ module Aws::EC2
4997
5026
  o.output = Shapes::ShapeRef.new(shape: CreateFlowLogsResult)
4998
5027
  end)
4999
5028
 
5029
+ api.add_operation(:create_fpga_image, Seahorse::Model::Operation.new.tap do |o|
5030
+ o.name = "CreateFpgaImage"
5031
+ o.http_method = "POST"
5032
+ o.http_request_uri = "/"
5033
+ o.input = Shapes::ShapeRef.new(shape: CreateFpgaImageRequest)
5034
+ o.output = Shapes::ShapeRef.new(shape: CreateFpgaImageResult)
5035
+ end)
5036
+
5000
5037
  api.add_operation(:create_image, Seahorse::Model::Operation.new.tap do |o|
5001
5038
  o.name = "CreateImage"
5002
5039
  o.http_method = "POST"
@@ -299,7 +299,7 @@ module Aws::EC2
299
299
  # If you have the required permissions, the error response is
300
300
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
301
301
  # @option options [String] :attribute
302
- # The attribute of the network interface.
302
+ # The attribute of the network interface. This parameter is required.
303
303
  # @return [Types::DescribeNetworkInterfaceAttributeResult]
304
304
  def describe_attribute(options = {})
305
305
  options = options.merge(network_interface_id: @id)
@@ -130,18 +130,6 @@ module Aws::EC2
130
130
  #
131
131
  # * `architecture` - The instance architecture (`i386` \| `x86_64`).
132
132
  #
133
- # * `association.public-ip` - The address of the Elastic IP address
134
- # (IPv4) bound to the network interface.
135
- #
136
- # * `association.ip-owner-id` - The owner of the Elastic IP address
137
- # (IPv4) associated with the network interface.
138
- #
139
- # * `association.allocation-id` - The allocation ID returned when you
140
- # allocated the Elastic IP address (IPv4) for your network interface.
141
- #
142
- # * `association.association-id` - The association ID returned when the
143
- # network interface was associated with an IPv4 address.
144
- #
145
133
  # * `availability-zone` - The Availability Zone of the instance.
146
134
  #
147
135
  # * `block-device-mapping.attach-time` - The attach time for an EBS
@@ -232,6 +220,20 @@ module Aws::EC2
232
220
  # * `network-interface.addresses.association.ip-owner-id` - The owner ID
233
221
  # of the private IPv4 address associated with the network interface.
234
222
  #
223
+ # * `network-interface.association.public-ip` - The address of the
224
+ # Elastic IP address (IPv4) bound to the network interface.
225
+ #
226
+ # * `network-interface.association.ip-owner-id` - The owner of the
227
+ # Elastic IP address (IPv4) associated with the network interface.
228
+ #
229
+ # * `network-interface.association.allocation-id` - The allocation ID
230
+ # returned when you allocated the Elastic IP address (IPv4) for your
231
+ # network interface.
232
+ #
233
+ # * `network-interface.association.association-id` - The association ID
234
+ # returned when the network interface was associated with an IPv4
235
+ # address.
236
+ #
235
237
  # * `network-interface.attachment.attachment-id` - The ID of the
236
238
  # interface attachment.
237
239
  #
@@ -131,6 +131,17 @@ module Aws::EC2
131
131
  # name: "String",
132
132
  # },
133
133
  # ebs_optimized: false,
134
+ # tag_specifications: [
135
+ # {
136
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
137
+ # tags: [
138
+ # {
139
+ # key: "String",
140
+ # value: "String",
141
+ # },
142
+ # ],
143
+ # },
144
+ # ],
134
145
  # })
135
146
  # @param [Hash] options ({})
136
147
  # @option options [Boolean] :dry_run
@@ -301,6 +312,10 @@ module Aws::EC2
301
312
  # usage charges apply when using an EBS-optimized instance.
302
313
  #
303
314
  # Default: `false`
315
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
316
+ # The tags to apply to the resources during launch. You can tag
317
+ # instances and volumes. The specified tags are applied to all instances
318
+ # or volumes that are created during launch.
304
319
  # @return [Instance::Collection]
305
320
  def create_instances(options = {})
306
321
  batch = []
@@ -665,6 +680,17 @@ module Aws::EC2
665
680
  # iops: 1,
666
681
  # encrypted: false,
667
682
  # kms_key_id: "String",
683
+ # tag_specifications: [
684
+ # {
685
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
686
+ # tags: [
687
+ # {
688
+ # key: "String",
689
+ # value: "String",
690
+ # },
691
+ # ],
692
+ # },
693
+ # ],
668
694
  # })
669
695
  # @param [Hash] options ({})
670
696
  # @option options [Boolean] :dry_run
@@ -723,6 +749,8 @@ module Aws::EC2
723
749
  # then the CMK ID. For example,
724
750
  # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
725
751
  # If a `KmsKeyId` is specified, the `Encrypted` flag must also be set.
752
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
753
+ # The tags to apply to the volume during creation.
726
754
  # @return [Volume]
727
755
  def create_volume(options = {})
728
756
  resp = @client.create_volume(options)
@@ -914,7 +942,9 @@ module Aws::EC2
914
942
  # @option options [String] :ramdisk_id
915
943
  # The ID of the RAM disk.
916
944
  # @option options [Array<String>] :billing_products
917
- # The billing product codes.
945
+ # The billing product codes. Your account must be authorized to specify
946
+ # billing product codes. Otherwise, you can use the AWS Marketplace to
947
+ # bill for the use of an AMI.
918
948
  # @option options [String] :root_device_name
919
949
  # The name of the root device (for example, `/dev/sda1`, or
920
950
  # `/dev/xvda`).
@@ -1282,18 +1312,6 @@ module Aws::EC2
1282
1312
  #
1283
1313
  # * `architecture` - The instance architecture (`i386` \| `x86_64`).
1284
1314
  #
1285
- # * `association.public-ip` - The address of the Elastic IP address
1286
- # (IPv4) bound to the network interface.
1287
- #
1288
- # * `association.ip-owner-id` - The owner of the Elastic IP address
1289
- # (IPv4) associated with the network interface.
1290
- #
1291
- # * `association.allocation-id` - The allocation ID returned when you
1292
- # allocated the Elastic IP address (IPv4) for your network interface.
1293
- #
1294
- # * `association.association-id` - The association ID returned when the
1295
- # network interface was associated with an IPv4 address.
1296
- #
1297
1315
  # * `availability-zone` - The Availability Zone of the instance.
1298
1316
  #
1299
1317
  # * `block-device-mapping.attach-time` - The attach time for an EBS
@@ -1384,6 +1402,20 @@ module Aws::EC2
1384
1402
  # * `network-interface.addresses.association.ip-owner-id` - The owner ID
1385
1403
  # of the private IPv4 address associated with the network interface.
1386
1404
  #
1405
+ # * `network-interface.association.public-ip` - The address of the
1406
+ # Elastic IP address (IPv4) bound to the network interface.
1407
+ #
1408
+ # * `network-interface.association.ip-owner-id` - The owner of the
1409
+ # Elastic IP address (IPv4) associated with the network interface.
1410
+ #
1411
+ # * `network-interface.association.allocation-id` - The allocation ID
1412
+ # returned when you allocated the Elastic IP address (IPv4) for your
1413
+ # network interface.
1414
+ #
1415
+ # * `network-interface.association.association-id` - The association ID
1416
+ # returned when the network interface was associated with an IPv4
1417
+ # address.
1418
+ #
1387
1419
  # * `network-interface.attachment.attachment-id` - The ID of the
1388
1420
  # interface attachment.
1389
1421
  #
@@ -2071,7 +2103,8 @@ module Aws::EC2
2071
2103
  # association.
2072
2104
  #
2073
2105
  # * `association.main` - Indicates whether the route table is the main
2074
- # route table for the VPC (`true` \| `false`).
2106
+ # route table for the VPC (`true` \| `false`). Route tables that do
2107
+ # not have an association ID are not returned in the response.
2075
2108
  #
2076
2109
  # * `route-table-id` - The ID of the route table.
2077
2110
  #
@@ -214,6 +214,17 @@ module Aws::EC2
214
214
  # name: "String",
215
215
  # },
216
216
  # ebs_optimized: false,
217
+ # tag_specifications: [
218
+ # {
219
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
220
+ # tags: [
221
+ # {
222
+ # key: "String",
223
+ # value: "String",
224
+ # },
225
+ # ],
226
+ # },
227
+ # ],
217
228
  # })
218
229
  # @param [Hash] options ({})
219
230
  # @option options [Boolean] :dry_run
@@ -382,6 +393,10 @@ module Aws::EC2
382
393
  # usage charges apply when using an EBS-optimized instance.
383
394
  #
384
395
  # Default: `false`
396
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
397
+ # The tags to apply to the resources during launch. You can tag
398
+ # instances and volumes. The specified tags are applied to all instances
399
+ # or volumes that are created during launch.
385
400
  # @return [Instance::Collection]
386
401
  def create_instances(options = {})
387
402
  batch = []
@@ -559,18 +574,6 @@ module Aws::EC2
559
574
  #
560
575
  # * `architecture` - The instance architecture (`i386` \| `x86_64`).
561
576
  #
562
- # * `association.public-ip` - The address of the Elastic IP address
563
- # (IPv4) bound to the network interface.
564
- #
565
- # * `association.ip-owner-id` - The owner of the Elastic IP address
566
- # (IPv4) associated with the network interface.
567
- #
568
- # * `association.allocation-id` - The allocation ID returned when you
569
- # allocated the Elastic IP address (IPv4) for your network interface.
570
- #
571
- # * `association.association-id` - The association ID returned when the
572
- # network interface was associated with an IPv4 address.
573
- #
574
577
  # * `availability-zone` - The Availability Zone of the instance.
575
578
  #
576
579
  # * `block-device-mapping.attach-time` - The attach time for an EBS
@@ -661,6 +664,20 @@ module Aws::EC2
661
664
  # * `network-interface.addresses.association.ip-owner-id` - The owner ID
662
665
  # of the private IPv4 address associated with the network interface.
663
666
  #
667
+ # * `network-interface.association.public-ip` - The address of the
668
+ # Elastic IP address (IPv4) bound to the network interface.
669
+ #
670
+ # * `network-interface.association.ip-owner-id` - The owner of the
671
+ # Elastic IP address (IPv4) associated with the network interface.
672
+ #
673
+ # * `network-interface.association.allocation-id` - The allocation ID
674
+ # returned when you allocated the Elastic IP address (IPv4) for your
675
+ # network interface.
676
+ #
677
+ # * `network-interface.association.association-id` - The association ID
678
+ # returned when the network interface was associated with an IPv4
679
+ # address.
680
+ #
664
681
  # * `network-interface.attachment.attachment-id` - The ID of the
665
682
  # interface attachment.
666
683
  #
@@ -151,8 +151,8 @@ module Aws::EC2
151
151
  # @return [String]
152
152
  #
153
153
  # @!attribute [rw] instance_health
154
- # The health status of the instance. If the status of both the
155
- # instance status check and the system status check is `impaired`, the
154
+ # The health status of the instance. If the status of either the
155
+ # instance status check or the system status check is `impaired`, the
156
156
  # health status of the instance is `unhealthy`. Otherwise, the health
157
157
  # status is `healthy`.
158
158
  # @return [String]
@@ -2555,6 +2555,86 @@ module Aws::EC2
2555
2555
  include Aws::Structure
2556
2556
  end
2557
2557
 
2558
+ # @note When making an API call, you may pass CreateFpgaImageRequest
2559
+ # data as a hash:
2560
+ #
2561
+ # {
2562
+ # dry_run: false,
2563
+ # input_storage_location: { # required
2564
+ # bucket: "String",
2565
+ # key: "String",
2566
+ # },
2567
+ # logs_storage_location: {
2568
+ # bucket: "String",
2569
+ # key: "String",
2570
+ # },
2571
+ # description: "String",
2572
+ # name: "String",
2573
+ # client_token: "String",
2574
+ # }
2575
+ #
2576
+ # @!attribute [rw] dry_run
2577
+ # Checks whether you have the required permissions for the action,
2578
+ # without actually making the request, and provides an error response.
2579
+ # If you have the required permissions, the error response is
2580
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2581
+ # @return [Boolean]
2582
+ #
2583
+ # @!attribute [rw] input_storage_location
2584
+ # The location of the encrypted design checkpoint in Amazon S3. The
2585
+ # input must be a tarball.
2586
+ # @return [Types::StorageLocation]
2587
+ #
2588
+ # @!attribute [rw] logs_storage_location
2589
+ # The location in Amazon S3 for the output logs.
2590
+ # @return [Types::StorageLocation]
2591
+ #
2592
+ # @!attribute [rw] description
2593
+ # A description for the AFI.
2594
+ # @return [String]
2595
+ #
2596
+ # @!attribute [rw] name
2597
+ # A name for the AFI.
2598
+ # @return [String]
2599
+ #
2600
+ # @!attribute [rw] client_token
2601
+ # Unique, case-sensitive identifier that you provide to ensure the
2602
+ # idempotency of the request. For more information, see [Ensuring
2603
+ # Idempotency][1].
2604
+ #
2605
+ #
2606
+ #
2607
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html
2608
+ # @return [String]
2609
+ #
2610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageRequest AWS API Documentation
2611
+ #
2612
+ class CreateFpgaImageRequest < Struct.new(
2613
+ :dry_run,
2614
+ :input_storage_location,
2615
+ :logs_storage_location,
2616
+ :description,
2617
+ :name,
2618
+ :client_token)
2619
+ include Aws::Structure
2620
+ end
2621
+
2622
+ # @!attribute [rw] fpga_image_id
2623
+ # The FPGA image identifier (AFI ID).
2624
+ # @return [String]
2625
+ #
2626
+ # @!attribute [rw] fpga_image_global_id
2627
+ # The global FPGA image identifier (AGFI ID).
2628
+ # @return [String]
2629
+ #
2630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageResult AWS API Documentation
2631
+ #
2632
+ class CreateFpgaImageResult < Struct.new(
2633
+ :fpga_image_id,
2634
+ :fpga_image_global_id)
2635
+ include Aws::Structure
2636
+ end
2637
+
2558
2638
  # Contains the parameters for CreateImage.
2559
2639
  #
2560
2640
  # @note When making an API call, you may pass CreateImageRequest
@@ -3670,6 +3750,17 @@ module Aws::EC2
3670
3750
  # iops: 1,
3671
3751
  # encrypted: false,
3672
3752
  # kms_key_id: "String",
3753
+ # tag_specifications: [
3754
+ # {
3755
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
3756
+ # tags: [
3757
+ # {
3758
+ # key: "String",
3759
+ # value: "String",
3760
+ # },
3761
+ # ],
3762
+ # },
3763
+ # ],
3673
3764
  # }
3674
3765
  #
3675
3766
  # @!attribute [rw] dry_run
@@ -3744,6 +3835,10 @@ module Aws::EC2
3744
3835
  # If a `KmsKeyId` is specified, the `Encrypted` flag must also be set.
3745
3836
  # @return [String]
3746
3837
  #
3838
+ # @!attribute [rw] tag_specifications
3839
+ # The tags to apply to the volume during creation.
3840
+ # @return [Array<Types::TagSpecification>]
3841
+ #
3747
3842
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumeRequest AWS API Documentation
3748
3843
  #
3749
3844
  class CreateVolumeRequest < Struct.new(
@@ -3754,7 +3849,8 @@ module Aws::EC2
3754
3849
  :volume_type,
3755
3850
  :iops,
3756
3851
  :encrypted,
3757
- :kms_key_id)
3852
+ :kms_key_id,
3853
+ :tag_specifications)
3758
3854
  include Aws::Structure
3759
3855
  end
3760
3856
 
@@ -6681,19 +6777,6 @@ module Aws::EC2
6681
6777
  #
6682
6778
  # * `architecture` - The instance architecture (`i386` \| `x86_64`).
6683
6779
  #
6684
- # * `association.public-ip` - The address of the Elastic IP address
6685
- # (IPv4) bound to the network interface.
6686
- #
6687
- # * `association.ip-owner-id` - The owner of the Elastic IP address
6688
- # (IPv4) associated with the network interface.
6689
- #
6690
- # * `association.allocation-id` - The allocation ID returned when you
6691
- # allocated the Elastic IP address (IPv4) for your network
6692
- # interface.
6693
- #
6694
- # * `association.association-id` - The association ID returned when
6695
- # the network interface was associated with an IPv4 address.
6696
- #
6697
6780
  # * `availability-zone` - The Availability Zone of the instance.
6698
6781
  #
6699
6782
  # * `block-device-mapping.attach-time` - The attach time for an EBS
@@ -6789,6 +6872,20 @@ module Aws::EC2
6789
6872
  # ID of the private IPv4 address associated with the network
6790
6873
  # interface.
6791
6874
  #
6875
+ # * `network-interface.association.public-ip` - The address of the
6876
+ # Elastic IP address (IPv4) bound to the network interface.
6877
+ #
6878
+ # * `network-interface.association.ip-owner-id` - The owner of the
6879
+ # Elastic IP address (IPv4) associated with the network interface.
6880
+ #
6881
+ # * `network-interface.association.allocation-id` - The allocation ID
6882
+ # returned when you allocated the Elastic IP address (IPv4) for your
6883
+ # network interface.
6884
+ #
6885
+ # * `network-interface.association.association-id` - The association
6886
+ # ID returned when the network interface was associated with an IPv4
6887
+ # address.
6888
+ #
6792
6889
  # * `network-interface.attachment.attachment-id` - The ID of the
6793
6890
  # interface attachment.
6794
6891
  #
@@ -7423,7 +7520,7 @@ module Aws::EC2
7423
7520
  # @return [String]
7424
7521
  #
7425
7522
  # @!attribute [rw] attribute
7426
- # The attribute of the network interface.
7523
+ # The attribute of the network interface. This parameter is required.
7427
7524
  # @return [String]
7428
7525
  #
7429
7526
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeRequest AWS API Documentation
@@ -8107,6 +8204,9 @@ module Aws::EC2
8107
8204
  # Instance with a tenancy of `dedicated` is applied to instances that
8108
8205
  # run in a VPC on single-tenant hardware (i.e., Dedicated Instances).
8109
8206
  #
8207
+ # **Important:** The `host` value cannot be used with this parameter.
8208
+ # Use the `default` or `dedicated` values only.
8209
+ #
8110
8210
  # Default: `default`
8111
8211
  # @return [String]
8112
8212
  #
@@ -8370,7 +8470,8 @@ module Aws::EC2
8370
8470
  # association.
8371
8471
  #
8372
8472
  # * `association.main` - Indicates whether the route table is the main
8373
- # route table for the VPC (`true` \| `false`).
8473
+ # route table for the VPC (`true` \| `false`). Route tables that do
8474
+ # not have an association ID are not returned in the response.
8374
8475
  #
8375
8476
  # * `route-table-id` - The ID of the route table.
8376
8477
  #
@@ -9847,7 +9948,7 @@ module Aws::EC2
9847
9948
  # @return [String]
9848
9949
  #
9849
9950
  # @!attribute [rw] attribute
9850
- # The instance attribute.
9951
+ # The attribute of the volume. This parameter is required.
9851
9952
  # @return [String]
9852
9953
  #
9853
9954
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeRequest AWS API Documentation
@@ -17826,7 +17927,9 @@ module Aws::EC2
17826
17927
  # @return [String]
17827
17928
  #
17828
17929
  # @!attribute [rw] billing_products
17829
- # The billing product codes.
17930
+ # The billing product codes. Your account must be authorized to
17931
+ # specify billing product codes. Otherwise, you can use the AWS
17932
+ # Marketplace to bill for the use of an AMI.
17830
17933
  # @return [Array<String>]
17831
17934
  #
17832
17935
  # @!attribute [rw] root_device_name
@@ -20120,6 +20223,17 @@ module Aws::EC2
20120
20223
  # name: "String",
20121
20224
  # },
20122
20225
  # ebs_optimized: false,
20226
+ # tag_specifications: [
20227
+ # {
20228
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
20229
+ # tags: [
20230
+ # {
20231
+ # key: "String",
20232
+ # value: "String",
20233
+ # },
20234
+ # ],
20235
+ # },
20236
+ # ],
20123
20237
  # }
20124
20238
  #
20125
20239
  # @!attribute [rw] dry_run
@@ -20342,6 +20456,12 @@ module Aws::EC2
20342
20456
  # Default: `false`
20343
20457
  # @return [Boolean]
20344
20458
  #
20459
+ # @!attribute [rw] tag_specifications
20460
+ # The tags to apply to the resources during launch. You can tag
20461
+ # instances and volumes. The specified tags are applied to all
20462
+ # instances or volumes that are created during launch.
20463
+ # @return [Array<Types::TagSpecification>]
20464
+ #
20345
20465
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest AWS API Documentation
20346
20466
  #
20347
20467
  class RunInstancesRequest < Struct.new(
@@ -20369,7 +20489,8 @@ module Aws::EC2
20369
20489
  :additional_info,
20370
20490
  :network_interfaces,
20371
20491
  :iam_instance_profile,
20372
- :ebs_optimized)
20492
+ :ebs_optimized,
20493
+ :tag_specifications)
20373
20494
  include Aws::Structure
20374
20495
  end
20375
20496
 
@@ -22689,6 +22810,32 @@ module Aws::EC2
22689
22810
  include Aws::Structure
22690
22811
  end
22691
22812
 
22813
+ # Describes a storage location in Amazon S3.
22814
+ #
22815
+ # @note When making an API call, you may pass StorageLocation
22816
+ # data as a hash:
22817
+ #
22818
+ # {
22819
+ # bucket: "String",
22820
+ # key: "String",
22821
+ # }
22822
+ #
22823
+ # @!attribute [rw] bucket
22824
+ # The name of the S3 bucket.
22825
+ # @return [String]
22826
+ #
22827
+ # @!attribute [rw] key
22828
+ # The key.
22829
+ # @return [String]
22830
+ #
22831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StorageLocation AWS API Documentation
22832
+ #
22833
+ class StorageLocation < Struct.new(
22834
+ :bucket,
22835
+ :key)
22836
+ include Aws::Structure
22837
+ end
22838
+
22692
22839
  # Describes a subnet.
22693
22840
  #
22694
22841
  # @!attribute [rw] subnet_id
@@ -22859,6 +23006,38 @@ module Aws::EC2
22859
23006
  include Aws::Structure
22860
23007
  end
22861
23008
 
23009
+ # The tags to apply to a resource when the resource is being created.
23010
+ #
23011
+ # @note When making an API call, you may pass TagSpecification
23012
+ # data as a hash:
23013
+ #
23014
+ # {
23015
+ # resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
23016
+ # tags: [
23017
+ # {
23018
+ # key: "String",
23019
+ # value: "String",
23020
+ # },
23021
+ # ],
23022
+ # }
23023
+ #
23024
+ # @!attribute [rw] resource_type
23025
+ # The type of resource to tag. Currently, the resource types that
23026
+ # support tagging on creation are `instance` and `volume`.
23027
+ # @return [String]
23028
+ #
23029
+ # @!attribute [rw] tags
23030
+ # The tags to apply to the resource.
23031
+ # @return [Array<Types::Tag>]
23032
+ #
23033
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagSpecification AWS API Documentation
23034
+ #
23035
+ class TagSpecification < Struct.new(
23036
+ :resource_type,
23037
+ :tags)
23038
+ include Aws::Structure
23039
+ end
23040
+
22862
23041
  # Information about the Convertible Reserved Instance offering.
22863
23042
  #
22864
23043
  # @!attribute [rw] offering_id
@@ -274,7 +274,7 @@ module Aws::EC2
274
274
  # If you have the required permissions, the error response is
275
275
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
276
276
  # @option options [String] :attribute
277
- # The instance attribute.
277
+ # The attribute of the volume. This parameter is required.
278
278
  # @return [Types::DescribeVolumeAttributeResult]
279
279
  def describe_attribute(options = {})
280
280
  options = options.merge(volume_id: @id)
@@ -705,18 +705,6 @@ module Aws::EC2
705
705
  #
706
706
  # * `architecture` - The instance architecture (`i386` \| `x86_64`).
707
707
  #
708
- # * `association.public-ip` - The address of the Elastic IP address
709
- # (IPv4) bound to the network interface.
710
- #
711
- # * `association.ip-owner-id` - The owner of the Elastic IP address
712
- # (IPv4) associated with the network interface.
713
- #
714
- # * `association.allocation-id` - The allocation ID returned when you
715
- # allocated the Elastic IP address (IPv4) for your network interface.
716
- #
717
- # * `association.association-id` - The association ID returned when the
718
- # network interface was associated with an IPv4 address.
719
- #
720
708
  # * `availability-zone` - The Availability Zone of the instance.
721
709
  #
722
710
  # * `block-device-mapping.attach-time` - The attach time for an EBS
@@ -807,6 +795,20 @@ module Aws::EC2
807
795
  # * `network-interface.addresses.association.ip-owner-id` - The owner ID
808
796
  # of the private IPv4 address associated with the network interface.
809
797
  #
798
+ # * `network-interface.association.public-ip` - The address of the
799
+ # Elastic IP address (IPv4) bound to the network interface.
800
+ #
801
+ # * `network-interface.association.ip-owner-id` - The owner of the
802
+ # Elastic IP address (IPv4) associated with the network interface.
803
+ #
804
+ # * `network-interface.association.allocation-id` - The allocation ID
805
+ # returned when you allocated the Elastic IP address (IPv4) for your
806
+ # network interface.
807
+ #
808
+ # * `network-interface.association.association-id` - The association ID
809
+ # returned when the network interface was associated with an IPv4
810
+ # address.
811
+ #
810
812
  # * `network-interface.attachment.attachment-id` - The ID of the
811
813
  # interface attachment.
812
814
  #
@@ -1443,7 +1445,8 @@ module Aws::EC2
1443
1445
  # association.
1444
1446
  #
1445
1447
  # * `association.main` - Indicates whether the route table is the main
1446
- # route table for the VPC (`true` \| `false`).
1448
+ # route table for the VPC (`true` \| `false`). Route tables that do
1449
+ # not have an association ID are not returned in the response.
1447
1450
  #
1448
1451
  # * `route-table-id` - The ID of the route table.
1449
1452
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc3
4
+ version: 1.0.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-07 00:00:00.000000000 Z
11
+ date: 2017-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core