aws-sdk-ec2 1.87.0 → 1.88.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 21dda517188475950d29fe7f6e39614b5a01590b
4
- data.tar.gz: 5aa78a8b99f16769e3832e3d753fb2d17c97594d
3
+ metadata.gz: c5f248852b2c365ea6324b173559a6f251224657
4
+ data.tar.gz: eb6f18f32d420f90488c46b4f41a56608857bbbf
5
5
  SHA512:
6
- metadata.gz: 883e7edbf9f132e67c27eaed8acf9b0ca9956552942692c93c51cc61709803d798bf0b044d4a880550cf615388f1278c0c89e91e0e6feea78d50bcaa9b2342f5
7
- data.tar.gz: 8b258f3003a9fbcb4a315d27dc33e56a8d022cb6804aca2acdedceb9147eb3bfdea4589cbf1e61f5aa6d7372428a95978118fb07f488ce6e58a74a42558dadc8
6
+ metadata.gz: d2f357be688258ee723df816e14add07da815e6e9b60539d232cbcaa65447389a110f3056a3fc89e29d8adabc580d7a7ee97bb254c9b5849f01ff6f2f536844e
7
+ data.tar.gz: 2e388653ad6d94fd6d7d4e8758c61ad75994c72de09d93a8967c119e850967340a24798ebded76eed15632a322f3bac98f01573ca1e9e5802ba92d63ea925ddd
@@ -65,6 +65,6 @@ require_relative 'aws-sdk-ec2/customizations'
65
65
  # @service
66
66
  module Aws::EC2
67
67
 
68
- GEM_VERSION = '1.87.0'
68
+ GEM_VERSION = '1.88.0'
69
69
 
70
70
  end
@@ -1850,8 +1850,8 @@ module Aws::EC2
1850
1850
  # use with a VPC.
1851
1851
  #
1852
1852
  # An outbound rule permits instances to send traffic to the specified
1853
- # destination IPv4 or IPv6 CIDR address ranges, or to the specified
1854
- # destination security groups for the same VPC.
1853
+ # IPv4 or IPv6 CIDR address ranges, or to the instances associated with
1854
+ # the specified destination security groups.
1855
1855
  #
1856
1856
  # You specify a protocol for each rule (for example, TCP). For the TCP
1857
1857
  # and UDP protocols, you must also specify the destination port or port
@@ -2015,8 +2015,8 @@ module Aws::EC2
2015
2015
  # Adds the specified ingress rules to a security group.
2016
2016
  #
2017
2017
  # An inbound rule permits instances to receive traffic from the
2018
- # specified destination IPv4 or IPv6 CIDR address ranges, or from the
2019
- # specified destination security groups.
2018
+ # specified IPv4 or IPv6 CIDR address ranges, or from the instances
2019
+ # associated with the specified destination security groups.
2020
2020
  #
2021
2021
  # You specify a protocol for each rule (for example, TCP). For TCP and
2022
2022
  # UDP, you must also specify the destination port or port range. For
@@ -2912,20 +2912,18 @@ module Aws::EC2
2912
2912
  # this parameter is not specified, the default CMK for EBS is used. If a
2913
2913
  # `KmsKeyId` is specified, the `Encrypted` flag must also be set.
2914
2914
  #
2915
- # The CMK identifier may be provided in any of the following formats:
2915
+ # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
2916
+ # name, or alias ARN. When using an alias name, prefix it with
2917
+ # "alias/". For example:
2916
2918
  #
2917
- # * Key ID
2919
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
2918
2920
  #
2919
- # * ARN using key ID. The ID ARN contains the `arn:aws:kms` namespace,
2920
- # followed by the Region of the CMK, the AWS account ID of the CMK
2921
- # owner, the `key` namespace, and then the CMK ID. For example,
2922
- # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
2921
+ # * Key ARN:
2922
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
2923
2923
  #
2924
- # * ARN using key alias. The alias ARN contains the `arn:aws:kms`
2925
- # namespace, followed by the Region of the CMK, the AWS account ID of
2926
- # the CMK owner, the `alias` namespace, and then the CMK alias. For
2927
- # example,
2928
- # arn:aws:kms:*us-east-1*\:*012345678910*\:alias/*ExampleAlias*.
2924
+ # * Alias name: `alias/ExampleAlias`
2925
+ #
2926
+ # * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
2929
2927
  #
2930
2928
  # AWS parses `KmsKeyId` asynchronously, meaning that the action you call
2931
2929
  # may appear to complete even though you provided an invalid identifier.
@@ -6541,6 +6539,83 @@ module Aws::EC2
6541
6539
  req.send_request(options)
6542
6540
  end
6543
6541
 
6542
+ # Creates crash-consistent snapshots of multiple EBS volumes and stores
6543
+ # the data in S3. Volumes are chosen by specifying an instance. Any
6544
+ # attached volumes will produce one snapshot each that is
6545
+ # crash-consistent across the instance. Boot volumes can be excluded by
6546
+ # changing the paramaters.
6547
+ #
6548
+ # @option params [String] :description
6549
+ # A description propagated to every snapshot specified by the instance.
6550
+ #
6551
+ # @option params [required, Types::InstanceSpecification] :instance_specification
6552
+ # The instance to specify which volumes should be included in the
6553
+ # snapshots.
6554
+ #
6555
+ # @option params [Array<Types::TagSpecification>] :tag_specifications
6556
+ # Tags to apply to every snapshot specified by the instance.
6557
+ #
6558
+ # @option params [Boolean] :dry_run
6559
+ # Checks whether you have the required permissions for the action
6560
+ # without actually making the request. Provides an error response. If
6561
+ # you have the required permissions, the error response is
6562
+ # DryRunOperation. Otherwise, it is UnauthorizedOperation.
6563
+ #
6564
+ # @option params [String] :copy_tags_from_source
6565
+ # Copies the tags from the specified instance to all snapshots.
6566
+ #
6567
+ # @return [Types::CreateSnapshotsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6568
+ #
6569
+ # * {Types::CreateSnapshotsResult#snapshots #snapshots} => Array&lt;Types::SnapshotInfo&gt;
6570
+ #
6571
+ # @example Request syntax with placeholder values
6572
+ #
6573
+ # resp = client.create_snapshots({
6574
+ # description: "String",
6575
+ # instance_specification: { # required
6576
+ # instance_id: "String",
6577
+ # exclude_boot_volume: false,
6578
+ # },
6579
+ # tag_specifications: [
6580
+ # {
6581
+ # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, launch-template, natgateway, network-acl, network-interface, reserved-instances, route-table, security-group, snapshot, spot-instances-request, subnet, transit-gateway, transit-gateway-attachment, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway
6582
+ # tags: [
6583
+ # {
6584
+ # key: "String",
6585
+ # value: "String",
6586
+ # },
6587
+ # ],
6588
+ # },
6589
+ # ],
6590
+ # dry_run: false,
6591
+ # copy_tags_from_source: "volume", # accepts volume
6592
+ # })
6593
+ #
6594
+ # @example Response structure
6595
+ #
6596
+ # resp.snapshots #=> Array
6597
+ # resp.snapshots[0].description #=> String
6598
+ # resp.snapshots[0].tags #=> Array
6599
+ # resp.snapshots[0].tags[0].key #=> String
6600
+ # resp.snapshots[0].tags[0].value #=> String
6601
+ # resp.snapshots[0].encrypted #=> Boolean
6602
+ # resp.snapshots[0].volume_id #=> String
6603
+ # resp.snapshots[0].state #=> String, one of "pending", "completed", "error"
6604
+ # resp.snapshots[0].volume_size #=> Integer
6605
+ # resp.snapshots[0].start_time #=> Time
6606
+ # resp.snapshots[0].progress #=> String
6607
+ # resp.snapshots[0].owner_id #=> String
6608
+ # resp.snapshots[0].snapshot_id #=> String
6609
+ #
6610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots AWS API Documentation
6611
+ #
6612
+ # @overload create_snapshots(params = {})
6613
+ # @param [Hash] params ({})
6614
+ def create_snapshots(params = {}, options = {})
6615
+ req = build_request(:create_snapshots, params)
6616
+ req.send_request(options)
6617
+ end
6618
+
6544
6619
  # Creates a data feed for Spot Instances, enabling you to view Spot
6545
6620
  # Instance usage logs. You can create one data feed per AWS account. For
6546
6621
  # more information, see [Spot Instance Data Feed][1] in the *Amazon EC2
@@ -7148,23 +7223,23 @@ module Aws::EC2
7148
7223
  #
7149
7224
  # @option params [Boolean] :encrypted
7150
7225
  # Specifies the encryption state of the volume. The default effect of
7151
- # setting the `Encrypted` parameter to `true` through the console, API,
7152
- # or CLI depends on the volume's origin (new or from a snapshot),
7153
- # starting encryption state, ownership, and whether [account-level
7154
- # encryption][1] is enabled. Each default case can be overridden by
7155
- # specifying a customer master key (CMK) with the `KmsKeyId` parameter
7156
- # in addition to setting `Encrypted` to `true`. For a complete list of
7157
- # possible encryption cases, see [Amazon EBS
7158
- # Encryption](AWSEC2/latest/UserGuide/EBSEncryption.htm).
7226
+ # setting the `Encrypted` parameter to `true` depends on the volume
7227
+ # origin (new or from a snapshot), starting encryption state, ownership,
7228
+ # and whether [account-level encryption][1] is enabled. Each default
7229
+ # case can be overridden by specifying a customer master key (CMK) using
7230
+ # the `KmsKeyId` parameter, in addition to setting `Encrypted` to
7231
+ # `true`. For a complete list of possible encryption cases, see [Amazon
7232
+ # EBS Encryption][2].
7159
7233
  #
7160
7234
  # Encrypted Amazon EBS volumes may only be attached to instances that
7161
7235
  # support Amazon EBS encryption. For more information, see [Supported
7162
- # Instance Types][2].
7236
+ # Instance Types][3].
7163
7237
  #
7164
7238
  #
7165
7239
  #
7166
7240
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/account-level-encryption.html
7167
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
7241
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
7242
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
7168
7243
  #
7169
7244
  # @option params [Integer] :iops
7170
7245
  # The number of I/O operations per second (IOPS) to provision for the
@@ -8377,6 +8452,8 @@ module Aws::EC2
8377
8452
  # @option params [required, Array<String>] :flow_log_ids
8378
8453
  # One or more flow log IDs.
8379
8454
  #
8455
+ # Constraint: Maximum of 1000 flow log IDs.
8456
+ #
8380
8457
  # @return [Types::DeleteFlowLogsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8381
8458
  #
8382
8459
  # * {Types::DeleteFlowLogsResult#unsuccessful #unsuccessful} => Array&lt;Types::UnsuccessfulItem&gt;
@@ -11884,6 +11961,8 @@ module Aws::EC2
11884
11961
  # @option params [Array<String>] :flow_log_ids
11885
11962
  # One or more flow log IDs.
11886
11963
  #
11964
+ # Constraint: Maximum of 1000 flow log IDs.
11965
+ #
11887
11966
  # @option params [Integer] :max_results
11888
11967
  # The maximum number of results to return with a single call. To
11889
11968
  # retrieve the remaining results, make another call with the returned
@@ -21813,7 +21892,7 @@ module Aws::EC2
21813
21892
  # Any volume restored from an encrypted snapshot is also encrypted. For
21814
21893
  # more information, see [Amazon EBS Snapshots][1].
21815
21894
  #
21816
- # Once EBS encryption by default is enabled, you can no longer launch
21895
+ # After EBS encryption by default is enabled, you can no longer launch
21817
21896
  # older-generation instance types that do not support encryption. For
21818
21897
  # more information, see [Supported Instance Types][2].
21819
21898
  #
@@ -23769,7 +23848,7 @@ module Aws::EC2
23769
23848
  end
23770
23849
 
23771
23850
  # Changes the default customer master key (CMK) that your account uses
23772
- # to encrypt EBS volumes if you dont specify a CMK in the API call.
23851
+ # to encrypt EBS volumes if you don't specify a CMK in the API call.
23773
23852
  #
23774
23853
  # Your account has an AWS-managed default CMK that is used for
23775
23854
  # encrypting an EBS volume when no CMK is specified in the API call that
@@ -26641,7 +26720,14 @@ module Aws::EC2
26641
26720
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html
26642
26721
  #
26643
26722
  # @option params [String] :image_location
26644
- # The full path to your AMI manifest in Amazon S3 storage.
26723
+ # The full path to your AMI manifest in Amazon S3 storage. The specified
26724
+ # bucket must have the `aws-exec-read` canned access control list (ACL)
26725
+ # to ensure that it can be accessed by Amazon EC2. For more information,
26726
+ # see [Canned ACLs][1] in the *Amazon S3 Service Developer Guide*.
26727
+ #
26728
+ #
26729
+ #
26730
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
26645
26731
  #
26646
26732
  # @option params [String] :architecture
26647
26733
  # The architecture of the AMI.
@@ -30627,7 +30713,7 @@ module Aws::EC2
30627
30713
  params: params,
30628
30714
  config: config)
30629
30715
  context[:gem_name] = 'aws-sdk-ec2'
30630
- context[:gem_version] = '1.87.0'
30716
+ context[:gem_version] = '1.88.0'
30631
30717
  Seahorse::Client::Request.new(handlers, context)
30632
30718
  end
30633
30719
 
@@ -199,6 +199,7 @@ module Aws::EC2
199
199
  CopyImageResult = Shapes::StructureShape.new(name: 'CopyImageResult')
200
200
  CopySnapshotRequest = Shapes::StructureShape.new(name: 'CopySnapshotRequest')
201
201
  CopySnapshotResult = Shapes::StructureShape.new(name: 'CopySnapshotResult')
202
+ CopyTagsFromSource = Shapes::StringShape.new(name: 'CopyTagsFromSource')
202
203
  CpuOptions = Shapes::StructureShape.new(name: 'CpuOptions')
203
204
  CpuOptionsRequest = Shapes::StructureShape.new(name: 'CpuOptionsRequest')
204
205
  CreateCapacityReservationRequest = Shapes::StructureShape.new(name: 'CreateCapacityReservationRequest')
@@ -257,6 +258,8 @@ module Aws::EC2
257
258
  CreateSecurityGroupRequest = Shapes::StructureShape.new(name: 'CreateSecurityGroupRequest')
258
259
  CreateSecurityGroupResult = Shapes::StructureShape.new(name: 'CreateSecurityGroupResult')
259
260
  CreateSnapshotRequest = Shapes::StructureShape.new(name: 'CreateSnapshotRequest')
261
+ CreateSnapshotsRequest = Shapes::StructureShape.new(name: 'CreateSnapshotsRequest')
262
+ CreateSnapshotsResult = Shapes::StructureShape.new(name: 'CreateSnapshotsResult')
260
263
  CreateSpotDatafeedSubscriptionRequest = Shapes::StructureShape.new(name: 'CreateSpotDatafeedSubscriptionRequest')
261
264
  CreateSpotDatafeedSubscriptionResult = Shapes::StructureShape.new(name: 'CreateSpotDatafeedSubscriptionResult')
262
265
  CreateSubnetRequest = Shapes::StructureShape.new(name: 'CreateSubnetRequest')
@@ -842,6 +845,7 @@ module Aws::EC2
842
845
  InstanceNetworkInterfaceSpecificationList = Shapes::ListShape.new(name: 'InstanceNetworkInterfaceSpecificationList')
843
846
  InstancePrivateIpAddress = Shapes::StructureShape.new(name: 'InstancePrivateIpAddress')
844
847
  InstancePrivateIpAddressList = Shapes::ListShape.new(name: 'InstancePrivateIpAddressList')
848
+ InstanceSpecification = Shapes::StructureShape.new(name: 'InstanceSpecification')
845
849
  InstanceState = Shapes::StructureShape.new(name: 'InstanceState')
846
850
  InstanceStateChange = Shapes::StructureShape.new(name: 'InstanceStateChange')
847
851
  InstanceStateChangeList = Shapes::ListShape.new(name: 'InstanceStateChangeList')
@@ -1265,7 +1269,9 @@ module Aws::EC2
1265
1269
  SnapshotDetailList = Shapes::ListShape.new(name: 'SnapshotDetailList')
1266
1270
  SnapshotDiskContainer = Shapes::StructureShape.new(name: 'SnapshotDiskContainer')
1267
1271
  SnapshotIdStringList = Shapes::ListShape.new(name: 'SnapshotIdStringList')
1272
+ SnapshotInfo = Shapes::StructureShape.new(name: 'SnapshotInfo')
1268
1273
  SnapshotList = Shapes::ListShape.new(name: 'SnapshotList')
1274
+ SnapshotSet = Shapes::ListShape.new(name: 'SnapshotSet')
1269
1275
  SnapshotState = Shapes::StringShape.new(name: 'SnapshotState')
1270
1276
  SnapshotTaskDetail = Shapes::StructureShape.new(name: 'SnapshotTaskDetail')
1271
1277
  SpotAllocationStrategy = Shapes::StringShape.new(name: 'SpotAllocationStrategy')
@@ -2481,6 +2487,16 @@ module Aws::EC2
2481
2487
  CreateSnapshotRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2482
2488
  CreateSnapshotRequest.struct_class = Types::CreateSnapshotRequest
2483
2489
 
2490
+ CreateSnapshotsRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
2491
+ CreateSnapshotsRequest.add_member(:instance_specification, Shapes::ShapeRef.new(shape: InstanceSpecification, required: true, location_name: "InstanceSpecification"))
2492
+ CreateSnapshotsRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
2493
+ CreateSnapshotsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2494
+ CreateSnapshotsRequest.add_member(:copy_tags_from_source, Shapes::ShapeRef.new(shape: CopyTagsFromSource, location_name: "CopyTagsFromSource"))
2495
+ CreateSnapshotsRequest.struct_class = Types::CreateSnapshotsRequest
2496
+
2497
+ CreateSnapshotsResult.add_member(:snapshots, Shapes::ShapeRef.new(shape: SnapshotSet, location_name: "snapshotSet"))
2498
+ CreateSnapshotsResult.struct_class = Types::CreateSnapshotsResult
2499
+
2484
2500
  CreateSpotDatafeedSubscriptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: String, required: true, location_name: "bucket"))
2485
2501
  CreateSpotDatafeedSubscriptionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2486
2502
  CreateSpotDatafeedSubscriptionRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: String, location_name: "prefix"))
@@ -4996,6 +5012,10 @@ module Aws::EC2
4996
5012
 
4997
5013
  InstancePrivateIpAddressList.member = Shapes::ShapeRef.new(shape: InstancePrivateIpAddress, location_name: "item")
4998
5014
 
5015
+ InstanceSpecification.add_member(:instance_id, Shapes::ShapeRef.new(shape: String, location_name: "InstanceId"))
5016
+ InstanceSpecification.add_member(:exclude_boot_volume, Shapes::ShapeRef.new(shape: Boolean, location_name: "ExcludeBootVolume"))
5017
+ InstanceSpecification.struct_class = Types::InstanceSpecification
5018
+
4999
5019
  InstanceState.add_member(:code, Shapes::ShapeRef.new(shape: Integer, location_name: "code"))
5000
5020
  InstanceState.add_member(:name, Shapes::ShapeRef.new(shape: InstanceStateName, location_name: "name"))
5001
5021
  InstanceState.struct_class = Types::InstanceState
@@ -6823,8 +6843,22 @@ module Aws::EC2
6823
6843
 
6824
6844
  SnapshotIdStringList.member = Shapes::ShapeRef.new(shape: String, location_name: "SnapshotId")
6825
6845
 
6846
+ SnapshotInfo.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
6847
+ SnapshotInfo.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
6848
+ SnapshotInfo.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "encrypted"))
6849
+ SnapshotInfo.add_member(:volume_id, Shapes::ShapeRef.new(shape: String, location_name: "volumeId"))
6850
+ SnapshotInfo.add_member(:state, Shapes::ShapeRef.new(shape: SnapshotState, location_name: "state"))
6851
+ SnapshotInfo.add_member(:volume_size, Shapes::ShapeRef.new(shape: Integer, location_name: "volumeSize"))
6852
+ SnapshotInfo.add_member(:start_time, Shapes::ShapeRef.new(shape: MillisecondDateTime, location_name: "startTime"))
6853
+ SnapshotInfo.add_member(:progress, Shapes::ShapeRef.new(shape: String, location_name: "progress"))
6854
+ SnapshotInfo.add_member(:owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ownerId"))
6855
+ SnapshotInfo.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: String, location_name: "snapshotId"))
6856
+ SnapshotInfo.struct_class = Types::SnapshotInfo
6857
+
6826
6858
  SnapshotList.member = Shapes::ShapeRef.new(shape: Snapshot, location_name: "item")
6827
6859
 
6860
+ SnapshotSet.member = Shapes::ShapeRef.new(shape: SnapshotInfo, location_name: "item")
6861
+
6828
6862
  SnapshotTaskDetail.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
6829
6863
  SnapshotTaskDetail.add_member(:disk_image_size, Shapes::ShapeRef.new(shape: Double, location_name: "diskImageSize"))
6830
6864
  SnapshotTaskDetail.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "encrypted"))
@@ -8188,6 +8222,14 @@ module Aws::EC2
8188
8222
  o.output = Shapes::ShapeRef.new(shape: Snapshot)
8189
8223
  end)
8190
8224
 
8225
+ api.add_operation(:create_snapshots, Seahorse::Model::Operation.new.tap do |o|
8226
+ o.name = "CreateSnapshots"
8227
+ o.http_method = "POST"
8228
+ o.http_request_uri = "/"
8229
+ o.input = Shapes::ShapeRef.new(shape: CreateSnapshotsRequest)
8230
+ o.output = Shapes::ShapeRef.new(shape: CreateSnapshotsResult)
8231
+ end)
8232
+
8191
8233
  api.add_operation(:create_spot_datafeed_subscription, Seahorse::Model::Operation.new.tap do |o|
8192
8234
  o.name = "CreateSpotDatafeedSubscription"
8193
8235
  o.http_method = "POST"
@@ -884,23 +884,23 @@ module Aws::EC2
884
884
  # The Availability Zone in which to create the volume.
885
885
  # @option options [Boolean] :encrypted
886
886
  # Specifies the encryption state of the volume. The default effect of
887
- # setting the `Encrypted` parameter to `true` through the console, API,
888
- # or CLI depends on the volume's origin (new or from a snapshot),
889
- # starting encryption state, ownership, and whether [account-level
890
- # encryption][1] is enabled. Each default case can be overridden by
891
- # specifying a customer master key (CMK) with the `KmsKeyId` parameter
892
- # in addition to setting `Encrypted` to `true`. For a complete list of
893
- # possible encryption cases, see [Amazon EBS
894
- # Encryption](AWSEC2/latest/UserGuide/EBSEncryption.htm).
887
+ # setting the `Encrypted` parameter to `true` depends on the volume
888
+ # origin (new or from a snapshot), starting encryption state, ownership,
889
+ # and whether [account-level encryption][1] is enabled. Each default
890
+ # case can be overridden by specifying a customer master key (CMK) using
891
+ # the `KmsKeyId` parameter, in addition to setting `Encrypted` to
892
+ # `true`. For a complete list of possible encryption cases, see [Amazon
893
+ # EBS Encryption][2].
895
894
  #
896
895
  # Encrypted Amazon EBS volumes may only be attached to instances that
897
896
  # support Amazon EBS encryption. For more information, see [Supported
898
- # Instance Types][2].
897
+ # Instance Types][3].
899
898
  #
900
899
  #
901
900
  #
902
901
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/account-level-encryption.html
903
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
902
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
903
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
904
904
  # @option options [Integer] :iops
905
905
  # The number of I/O operations per second (IOPS) to provision for the
906
906
  # volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000
@@ -1157,7 +1157,14 @@ module Aws::EC2
1157
1157
  # })
1158
1158
  # @param [Hash] options ({})
1159
1159
  # @option options [String] :image_location
1160
- # The full path to your AMI manifest in Amazon S3 storage.
1160
+ # The full path to your AMI manifest in Amazon S3 storage. The specified
1161
+ # bucket must have the `aws-exec-read` canned access control list (ACL)
1162
+ # to ensure that it can be accessed by Amazon EC2. For more information,
1163
+ # see [Canned ACLs][1] in the *Amazon S3 Service Developer Guide*.
1164
+ #
1165
+ #
1166
+ #
1167
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
1161
1168
  # @option options [String] :architecture
1162
1169
  # The architecture of the AMI.
1163
1170
  #
@@ -3681,20 +3681,18 @@ module Aws::EC2
3681
3681
  # this parameter is not specified, the default CMK for EBS is used. If
3682
3682
  # a `KmsKeyId` is specified, the `Encrypted` flag must also be set.
3683
3683
  #
3684
- # The CMK identifier may be provided in any of the following formats:
3684
+ # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
3685
+ # name, or alias ARN. When using an alias name, prefix it with
3686
+ # "alias/". For example:
3685
3687
  #
3686
- # * Key ID
3688
+ # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
3687
3689
  #
3688
- # * ARN using key ID. The ID ARN contains the `arn:aws:kms` namespace,
3689
- # followed by the Region of the CMK, the AWS account ID of the CMK
3690
- # owner, the `key` namespace, and then the CMK ID. For example,
3691
- # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
3690
+ # * Key ARN:
3691
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
3692
3692
  #
3693
- # * ARN using key alias. The alias ARN contains the `arn:aws:kms`
3694
- # namespace, followed by the Region of the CMK, the AWS account ID
3695
- # of the CMK owner, the `alias` namespace, and then the CMK alias.
3696
- # For example,
3697
- # arn:aws:kms:*us-east-1*\:*012345678910*\:alias/*ExampleAlias*.
3693
+ # * Alias name: `alias/ExampleAlias`
3694
+ #
3695
+ # * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
3698
3696
  #
3699
3697
  # AWS parses `KmsKeyId` asynchronously, meaning that the action you
3700
3698
  # call may appear to complete even though you provided an invalid
@@ -6431,6 +6429,77 @@ module Aws::EC2
6431
6429
  include Aws::Structure
6432
6430
  end
6433
6431
 
6432
+ # @note When making an API call, you may pass CreateSnapshotsRequest
6433
+ # data as a hash:
6434
+ #
6435
+ # {
6436
+ # description: "String",
6437
+ # instance_specification: { # required
6438
+ # instance_id: "String",
6439
+ # exclude_boot_volume: false,
6440
+ # },
6441
+ # tag_specifications: [
6442
+ # {
6443
+ # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, launch-template, natgateway, network-acl, network-interface, reserved-instances, route-table, security-group, snapshot, spot-instances-request, subnet, transit-gateway, transit-gateway-attachment, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway
6444
+ # tags: [
6445
+ # {
6446
+ # key: "String",
6447
+ # value: "String",
6448
+ # },
6449
+ # ],
6450
+ # },
6451
+ # ],
6452
+ # dry_run: false,
6453
+ # copy_tags_from_source: "volume", # accepts volume
6454
+ # }
6455
+ #
6456
+ # @!attribute [rw] description
6457
+ # A description propagated to every snapshot specified by the
6458
+ # instance.
6459
+ # @return [String]
6460
+ #
6461
+ # @!attribute [rw] instance_specification
6462
+ # The instance to specify which volumes should be included in the
6463
+ # snapshots.
6464
+ # @return [Types::InstanceSpecification]
6465
+ #
6466
+ # @!attribute [rw] tag_specifications
6467
+ # Tags to apply to every snapshot specified by the instance.
6468
+ # @return [Array<Types::TagSpecification>]
6469
+ #
6470
+ # @!attribute [rw] dry_run
6471
+ # Checks whether you have the required permissions for the action
6472
+ # without actually making the request. Provides an error response. If
6473
+ # you have the required permissions, the error response is
6474
+ # DryRunOperation. Otherwise, it is UnauthorizedOperation.
6475
+ # @return [Boolean]
6476
+ #
6477
+ # @!attribute [rw] copy_tags_from_source
6478
+ # Copies the tags from the specified instance to all snapshots.
6479
+ # @return [String]
6480
+ #
6481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshotsRequest AWS API Documentation
6482
+ #
6483
+ class CreateSnapshotsRequest < Struct.new(
6484
+ :description,
6485
+ :instance_specification,
6486
+ :tag_specifications,
6487
+ :dry_run,
6488
+ :copy_tags_from_source)
6489
+ include Aws::Structure
6490
+ end
6491
+
6492
+ # @!attribute [rw] snapshots
6493
+ # List of snapshots.
6494
+ # @return [Array<Types::SnapshotInfo>]
6495
+ #
6496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshotsResult AWS API Documentation
6497
+ #
6498
+ class CreateSnapshotsResult < Struct.new(
6499
+ :snapshots)
6500
+ include Aws::Structure
6501
+ end
6502
+
6434
6503
  # Contains the parameters for CreateSpotDatafeedSubscription.
6435
6504
  #
6436
6505
  # @note When making an API call, you may pass CreateSpotDatafeedSubscriptionRequest
@@ -6969,23 +7038,23 @@ module Aws::EC2
6969
7038
  #
6970
7039
  # @!attribute [rw] encrypted
6971
7040
  # Specifies the encryption state of the volume. The default effect of
6972
- # setting the `Encrypted` parameter to `true` through the console,
6973
- # API, or CLI depends on the volume's origin (new or from a
6974
- # snapshot), starting encryption state, ownership, and whether
6975
- # [account-level encryption][1] is enabled. Each default case can be
6976
- # overridden by specifying a customer master key (CMK) with the
6977
- # `KmsKeyId` parameter in addition to setting `Encrypted` to `true`.
6978
- # For a complete list of possible encryption cases, see [Amazon EBS
6979
- # Encryption](AWSEC2/latest/UserGuide/EBSEncryption.htm).
7041
+ # setting the `Encrypted` parameter to `true` depends on the volume
7042
+ # origin (new or from a snapshot), starting encryption state,
7043
+ # ownership, and whether [account-level encryption][1] is enabled.
7044
+ # Each default case can be overridden by specifying a customer master
7045
+ # key (CMK) using the `KmsKeyId` parameter, in addition to setting
7046
+ # `Encrypted` to `true`. For a complete list of possible encryption
7047
+ # cases, see [Amazon EBS Encryption][2].
6980
7048
  #
6981
7049
  # Encrypted Amazon EBS volumes may only be attached to instances that
6982
7050
  # support Amazon EBS encryption. For more information, see [Supported
6983
- # Instance Types][2].
7051
+ # Instance Types][3].
6984
7052
  #
6985
7053
  #
6986
7054
  #
6987
7055
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/account-level-encryption.html
6988
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
7056
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
7057
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
6989
7058
  # @return [Boolean]
6990
7059
  #
6991
7060
  # @!attribute [rw] iops
@@ -8039,6 +8108,8 @@ module Aws::EC2
8039
8108
  #
8040
8109
  # @!attribute [rw] flow_log_ids
8041
8110
  # One or more flow log IDs.
8111
+ #
8112
+ # Constraint: Maximum of 1000 flow log IDs.
8042
8113
  # @return [Array<String>]
8043
8114
  #
8044
8115
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsRequest AWS API Documentation
@@ -10918,6 +10989,8 @@ module Aws::EC2
10918
10989
  #
10919
10990
  # @!attribute [rw] flow_log_ids
10920
10991
  # One or more flow log IDs.
10992
+ #
10993
+ # Constraint: Maximum of 1000 flow log IDs.
10921
10994
  # @return [Array<String>]
10922
10995
  #
10923
10996
  # @!attribute [rw] max_results
@@ -23359,7 +23432,7 @@ module Aws::EC2
23359
23432
  # If you are not creating an EFA, specify `interface` or omit this
23360
23433
  # parameter.
23361
23434
  #
23362
- # Valide values: `interface` \| `efa`
23435
+ # Valid values: `interface` \| `efa`
23363
23436
  #
23364
23437
  #
23365
23438
  #
@@ -23415,6 +23488,32 @@ module Aws::EC2
23415
23488
  include Aws::Structure
23416
23489
  end
23417
23490
 
23491
+ # The instance details to specify which volumes should be snapshotted.
23492
+ #
23493
+ # @note When making an API call, you may pass InstanceSpecification
23494
+ # data as a hash:
23495
+ #
23496
+ # {
23497
+ # instance_id: "String",
23498
+ # exclude_boot_volume: false,
23499
+ # }
23500
+ #
23501
+ # @!attribute [rw] instance_id
23502
+ # The instance to specify which volumes should be snapshotted.
23503
+ # @return [String]
23504
+ #
23505
+ # @!attribute [rw] exclude_boot_volume
23506
+ # Excludes the root volume from being snapshotted.
23507
+ # @return [Boolean]
23508
+ #
23509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceSpecification AWS API Documentation
23510
+ #
23511
+ class InstanceSpecification < Struct.new(
23512
+ :instance_id,
23513
+ :exclude_boot_volume)
23514
+ include Aws::Structure
23515
+ end
23516
+
23418
23517
  # Describes the current state of an instance.
23419
23518
  #
23420
23519
  # @!attribute [rw] code
@@ -24762,7 +24861,18 @@ module Aws::EC2
24762
24861
  # @return [Array<String>]
24763
24862
  #
24764
24863
  # @!attribute [rw] interface_type
24765
- # The type of networking interface.
24864
+ # The type of network interface. To create an Elastic Fabric Adapter
24865
+ # (EFA), specify `efa`. For more information, see [Elastic Fabric
24866
+ # Adapter][1] in the *Amazon Elastic Compute Cloud User Guide*.
24867
+ #
24868
+ # If you are not creating an EFA, specify `interface` or omit this
24869
+ # parameter.
24870
+ #
24871
+ # Valid values: `interface` \| `efa`
24872
+ #
24873
+ #
24874
+ #
24875
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html
24766
24876
  # @return [String]
24767
24877
  #
24768
24878
  # @!attribute [rw] ipv_6_address_count
@@ -29306,7 +29416,15 @@ module Aws::EC2
29306
29416
  # }
29307
29417
  #
29308
29418
  # @!attribute [rw] image_location
29309
- # The full path to your AMI manifest in Amazon S3 storage.
29419
+ # The full path to your AMI manifest in Amazon S3 storage. The
29420
+ # specified bucket must have the `aws-exec-read` canned access control
29421
+ # list (ACL) to ensure that it can be accessed by Amazon EC2. For more
29422
+ # information, see [Canned ACLs][1] in the *Amazon S3 Service
29423
+ # Developer Guide*.
29424
+ #
29425
+ #
29426
+ #
29427
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
29310
29428
  # @return [String]
29311
29429
  #
29312
29430
  # @!attribute [rw] architecture
@@ -34478,6 +34596,66 @@ module Aws::EC2
34478
34596
  include Aws::Structure
34479
34597
  end
34480
34598
 
34599
+ # Object that contains information about a snapshot.
34600
+ #
34601
+ # @!attribute [rw] description
34602
+ # Description specified by the CreateSnapshotRequest that has been
34603
+ # applied to all snapshots.
34604
+ # @return [String]
34605
+ #
34606
+ # @!attribute [rw] tags
34607
+ # Tags associated with this snapshot.
34608
+ # @return [Array<Types::Tag>]
34609
+ #
34610
+ # @!attribute [rw] encrypted
34611
+ # Boolean that specifies whether or not this snapshot is encrypted.
34612
+ # @return [Boolean]
34613
+ #
34614
+ # @!attribute [rw] volume_id
34615
+ # Source volume from which this snapshot was created.
34616
+ # @return [String]
34617
+ #
34618
+ # @!attribute [rw] state
34619
+ # Current state of the snapshot.
34620
+ # @return [String]
34621
+ #
34622
+ # @!attribute [rw] volume_size
34623
+ # Size of the volume from which this snapshot was created.
34624
+ # @return [Integer]
34625
+ #
34626
+ # @!attribute [rw] start_time
34627
+ # Time this snapshot was started. This is the same for all snapshots
34628
+ # initiated by the same request.
34629
+ # @return [Time]
34630
+ #
34631
+ # @!attribute [rw] progress
34632
+ # Progress this snapshot has made towards completing.
34633
+ # @return [String]
34634
+ #
34635
+ # @!attribute [rw] owner_id
34636
+ # Account id used when creating this snapshot.
34637
+ # @return [String]
34638
+ #
34639
+ # @!attribute [rw] snapshot_id
34640
+ # Snapshot id that can be used to describe this snapshot.
34641
+ # @return [String]
34642
+ #
34643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotInfo AWS API Documentation
34644
+ #
34645
+ class SnapshotInfo < Struct.new(
34646
+ :description,
34647
+ :tags,
34648
+ :encrypted,
34649
+ :volume_id,
34650
+ :state,
34651
+ :volume_size,
34652
+ :start_time,
34653
+ :progress,
34654
+ :owner_id,
34655
+ :snapshot_id)
34656
+ include Aws::Structure
34657
+ end
34658
+
34481
34659
  # Details about the import snapshot task.
34482
34660
  #
34483
34661
  # @!attribute [rw] description
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.87.0
4
+ version: 1.88.0
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: 2019-05-23 00:00:00.000000000 Z
11
+ date: 2019-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sigv4