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

Sign up to get free protection for your applications and to get access to all the features.
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