aws-sdk-ec2 1.0.0.rc7 → 1.0.0.rc8

Sign up to get free protection for your applications and to get access to all the features.
@@ -31,29 +31,48 @@ module Aws::EC2
31
31
  end
32
32
  alias :snapshot_id :id
33
33
 
34
- # The ID of the volume that was used to create the snapshot. Snapshots
35
- # created by the CopySnapshot action have an arbitrary volume ID that
36
- # should not be used for any purpose.
34
+ # The data encryption key identifier for the snapshot. This value is a
35
+ # unique identifier that corresponds to the data encryption key that was
36
+ # used to encrypt the original volume or snapshot copy. Because data
37
+ # encryption keys are inherited by volumes created from snapshots, and
38
+ # vice versa, if snapshots share the same data encryption key
39
+ # identifier, then they belong to the same volume/snapshot lineage. This
40
+ # parameter is only returned by the DescribeSnapshots API operation.
37
41
  # @return [String]
38
- def volume_id
39
- data.volume_id
42
+ def data_encryption_key_id
43
+ data.data_encryption_key_id
40
44
  end
41
45
 
42
- # The snapshot state.
46
+ # The description for the snapshot.
43
47
  # @return [String]
44
- def state
45
- data.state
48
+ def description
49
+ data.description
46
50
  end
47
51
 
48
- # Encrypted Amazon EBS snapshots are copied asynchronously. If a
49
- # snapshot copy operation fails (for example, if the proper AWS Key
50
- # Management Service (AWS KMS) permissions are not obtained) this field
51
- # displays error state details to help you diagnose why the error
52
- # occurred. This parameter is only returned by the DescribeSnapshots API
53
- # operation.
52
+ # Indicates whether the snapshot is encrypted.
53
+ # @return [Boolean]
54
+ def encrypted
55
+ data.encrypted
56
+ end
57
+
58
+ # The full ARN of the AWS Key Management Service (AWS KMS) customer
59
+ # master key (CMK) that was used to protect the volume encryption key
60
+ # for the parent volume.
54
61
  # @return [String]
55
- def state_message
56
- data.state_message
62
+ def kms_key_id
63
+ data.kms_key_id
64
+ end
65
+
66
+ # The AWS account ID of the EBS snapshot owner.
67
+ # @return [String]
68
+ def owner_id
69
+ data.owner_id
70
+ end
71
+
72
+ # The progress of the snapshot, as a percentage.
73
+ # @return [String]
74
+ def progress
75
+ data.progress
57
76
  end
58
77
 
59
78
  # The time stamp when the snapshot was initiated.
@@ -62,22 +81,29 @@ module Aws::EC2
62
81
  data.start_time
63
82
  end
64
83
 
65
- # The progress of the snapshot, as a percentage.
84
+ # The snapshot state.
66
85
  # @return [String]
67
- def progress
68
- data.progress
86
+ def state
87
+ data.state
69
88
  end
70
89
 
71
- # The AWS account ID of the EBS snapshot owner.
90
+ # Encrypted Amazon EBS snapshots are copied asynchronously. If a
91
+ # snapshot copy operation fails (for example, if the proper AWS Key
92
+ # Management Service (AWS KMS) permissions are not obtained) this field
93
+ # displays error state details to help you diagnose why the error
94
+ # occurred. This parameter is only returned by the DescribeSnapshots API
95
+ # operation.
72
96
  # @return [String]
73
- def owner_id
74
- data.owner_id
97
+ def state_message
98
+ data.state_message
75
99
  end
76
100
 
77
- # The description for the snapshot.
101
+ # The ID of the volume that was used to create the snapshot. Snapshots
102
+ # created by the CopySnapshot action have an arbitrary volume ID that
103
+ # should not be used for any purpose.
78
104
  # @return [String]
79
- def description
80
- data.description
105
+ def volume_id
106
+ data.volume_id
81
107
  end
82
108
 
83
109
  # The size of the volume, in GiB.
@@ -100,32 +126,6 @@ module Aws::EC2
100
126
  data.tags
101
127
  end
102
128
 
103
- # Indicates whether the snapshot is encrypted.
104
- # @return [Boolean]
105
- def encrypted
106
- data.encrypted
107
- end
108
-
109
- # The full ARN of the AWS Key Management Service (AWS KMS) customer
110
- # master key (CMK) that was used to protect the volume encryption key
111
- # for the parent volume.
112
- # @return [String]
113
- def kms_key_id
114
- data.kms_key_id
115
- end
116
-
117
- # The data encryption key identifier for the snapshot. This value is a
118
- # unique identifier that corresponds to the data encryption key that was
119
- # used to encrypt the original volume or snapshot copy. Because data
120
- # encryption keys are inherited by volumes created from snapshots, and
121
- # vice versa, if snapshots share the same data encryption key
122
- # identifier, then they belong to the same volume/snapshot lineage. This
123
- # parameter is only returned by the DescribeSnapshots API operation.
124
- # @return [String]
125
- def data_encryption_key_id
126
- data.data_encryption_key_id
127
- end
128
-
129
129
  # @!endgroup
130
130
 
131
131
  # @return [Client]
@@ -184,22 +184,15 @@ module Aws::EC2
184
184
  # @example Request syntax with placeholder values
185
185
  #
186
186
  # snapshot.copy({
187
- # dry_run: false,
188
- # source_region: "String", # required
189
187
  # description: "String",
190
188
  # destination_region: "String",
191
- # presigned_url: "String",
192
189
  # encrypted: false,
193
190
  # kms_key_id: "String",
191
+ # presigned_url: "String",
192
+ # source_region: "String", # required
193
+ # dry_run: false,
194
194
  # })
195
195
  # @param [Hash] options ({})
196
- # @option options [Boolean] :dry_run
197
- # Checks whether you have the required permissions for the action,
198
- # without actually making the request, and provides an error response.
199
- # If you have the required permissions, the error response is
200
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
201
- # @option options [required, String] :source_region
202
- # The ID of the region that contains the snapshot to be copied.
203
196
  # @option options [String] :description
204
197
  # A description for the EBS snapshot.
205
198
  # @option options [String] :destination_region
@@ -214,25 +207,6 @@ module Aws::EC2
214
207
  # the default region in your AWS configuration file).
215
208
  #
216
209
  # </note>
217
- # @option options [String] :presigned_url
218
- # The pre-signed URL that facilitates copying an encrypted snapshot.
219
- # This parameter is only required when copying an encrypted snapshot
220
- # with the Amazon EC2 Query API; it is available as an optional
221
- # parameter in all other cases. The `PresignedUrl` should use the
222
- # snapshot source endpoint, the `CopySnapshot` action, and include the
223
- # `SourceRegion`, `SourceSnapshotId`, and `DestinationRegion`
224
- # parameters. The `PresignedUrl` must be signed using AWS Signature
225
- # Version 4. Because EBS snapshots are stored in Amazon S3, the signing
226
- # algorithm for this parameter uses the same logic that is described in
227
- # [Authenticating Requests by Using Query Parameters (AWS Signature
228
- # Version 4)][1] in the *Amazon Simple Storage Service API Reference*.
229
- # An invalid or improperly signed `PresignedUrl` will cause the copy
230
- # operation to fail asynchronously, and the snapshot will move to an
231
- # `error` state.
232
- #
233
- #
234
- #
235
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
236
210
  # @option options [Boolean] :encrypted
237
211
  # Specifies whether the destination snapshot should be encrypted. You
238
212
  # can encrypt a copy of an unencrypted snapshot using this flag, but you
@@ -256,6 +230,32 @@ module Aws::EC2
256
230
  # The specified CMK must exist in the region that the snapshot is being
257
231
  # copied to. If a `KmsKeyId` is specified, the `Encrypted` flag must
258
232
  # also be set.
233
+ # @option options [String] :presigned_url
234
+ # The pre-signed URL that facilitates copying an encrypted snapshot.
235
+ # This parameter is only required when copying an encrypted snapshot
236
+ # with the Amazon EC2 Query API; it is available as an optional
237
+ # parameter in all other cases. The `PresignedUrl` should use the
238
+ # snapshot source endpoint, the `CopySnapshot` action, and include the
239
+ # `SourceRegion`, `SourceSnapshotId`, and `DestinationRegion`
240
+ # parameters. The `PresignedUrl` must be signed using AWS Signature
241
+ # Version 4. Because EBS snapshots are stored in Amazon S3, the signing
242
+ # algorithm for this parameter uses the same logic that is described in
243
+ # [Authenticating Requests by Using Query Parameters (AWS Signature
244
+ # Version 4)][1] in the *Amazon Simple Storage Service API Reference*.
245
+ # An invalid or improperly signed `PresignedUrl` will cause the copy
246
+ # operation to fail asynchronously, and the snapshot will move to an
247
+ # `error` state.
248
+ #
249
+ #
250
+ #
251
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
252
+ # @option options [required, String] :source_region
253
+ # The ID of the region that contains the snapshot to be copied.
254
+ # @option options [Boolean] :dry_run
255
+ # Checks whether you have the required permissions for the action,
256
+ # without actually making the request, and provides an error response.
257
+ # If you have the required permissions, the error response is
258
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
259
259
  # @return [Types::CopySnapshotResult]
260
260
  def copy(options = {})
261
261
  options = options.merge(source_snapshot_id: @id)
@@ -321,17 +321,17 @@ module Aws::EC2
321
321
  # @example Request syntax with placeholder values
322
322
  #
323
323
  # snapshot.describe_attribute({
324
- # dry_run: false,
325
324
  # attribute: "productCodes", # required, accepts productCodes, createVolumePermission
325
+ # dry_run: false,
326
326
  # })
327
327
  # @param [Hash] options ({})
328
+ # @option options [required, String] :attribute
329
+ # The snapshot attribute you would like to view.
328
330
  # @option options [Boolean] :dry_run
329
331
  # Checks whether you have the required permissions for the action,
330
332
  # without actually making the request, and provides an error response.
331
333
  # If you have the required permissions, the error response is
332
334
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
333
- # @option options [required, String] :attribute
334
- # The snapshot attribute you would like to view.
335
335
  # @return [Types::DescribeSnapshotAttributeResult]
336
336
  def describe_attribute(options = {})
337
337
  options = options.merge(snapshot_id: @id)
@@ -342,32 +342,27 @@ module Aws::EC2
342
342
  # @example Request syntax with placeholder values
343
343
  #
344
344
  # snapshot.modify_attribute({
345
- # dry_run: false,
346
345
  # attribute: "productCodes", # accepts productCodes, createVolumePermission
347
- # operation_type: "add", # accepts add, remove
348
- # user_ids: ["String"],
349
- # group_names: ["String"],
350
346
  # create_volume_permission: {
351
347
  # add: [
352
348
  # {
353
- # user_id: "String",
354
349
  # group: "all", # accepts all
350
+ # user_id: "String",
355
351
  # },
356
352
  # ],
357
353
  # remove: [
358
354
  # {
359
- # user_id: "String",
360
355
  # group: "all", # accepts all
356
+ # user_id: "String",
361
357
  # },
362
358
  # ],
363
359
  # },
360
+ # group_names: ["String"],
361
+ # operation_type: "add", # accepts add, remove
362
+ # user_ids: ["String"],
363
+ # dry_run: false,
364
364
  # })
365
365
  # @param [Hash] options ({})
366
- # @option options [Boolean] :dry_run
367
- # Checks whether you have the required permissions for the action,
368
- # without actually making the request, and provides an error response.
369
- # If you have the required permissions, the error response is
370
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
371
366
  # @option options [String] :attribute
372
367
  # The snapshot attribute to modify.
373
368
  #
@@ -375,14 +370,19 @@ module Aws::EC2
375
370
  # level.
376
371
  #
377
372
  # </note>
373
+ # @option options [Types::CreateVolumePermissionModifications] :create_volume_permission
374
+ # A JSON representation of the snapshot attribute modification.
375
+ # @option options [Array<String>] :group_names
376
+ # The group to modify for the snapshot.
378
377
  # @option options [String] :operation_type
379
378
  # The type of operation to perform to the attribute.
380
379
  # @option options [Array<String>] :user_ids
381
380
  # The account ID to modify for the snapshot.
382
- # @option options [Array<String>] :group_names
383
- # The group to modify for the snapshot.
384
- # @option options [Types::CreateVolumePermissionModifications] :create_volume_permission
385
- # A JSON representation of the snapshot attribute modification.
381
+ # @option options [Boolean] :dry_run
382
+ # Checks whether you have the required permissions for the action,
383
+ # without actually making the request, and provides an error response.
384
+ # If you have the required permissions, the error response is
385
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
386
386
  # @return [EmptyStructure]
387
387
  def modify_attribute(options = {})
388
388
  options = options.merge(snapshot_id: @id)
@@ -393,18 +393,18 @@ module Aws::EC2
393
393
  # @example Request syntax with placeholder values
394
394
  #
395
395
  # snapshot.reset_attribute({
396
- # dry_run: false,
397
396
  # attribute: "productCodes", # required, accepts productCodes, createVolumePermission
397
+ # dry_run: false,
398
398
  # })
399
399
  # @param [Hash] options ({})
400
+ # @option options [required, String] :attribute
401
+ # The attribute to reset. Currently, only the attribute for permission
402
+ # to create volumes can be reset.
400
403
  # @option options [Boolean] :dry_run
401
404
  # Checks whether you have the required permissions for the action,
402
405
  # without actually making the request, and provides an error response.
403
406
  # If you have the required permissions, the error response is
404
407
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
405
- # @option options [required, String] :attribute
406
- # The attribute to reset. Currently, only the attribute for permission
407
- # to create volumes can be reset.
408
408
  # @return [EmptyStructure]
409
409
  def reset_attribute(options = {})
410
410
  options = options.merge(snapshot_id: @id)
@@ -31,36 +31,10 @@ module Aws::EC2
31
31
  end
32
32
  alias :subnet_id :id
33
33
 
34
- # The current state of the subnet.
35
- # @return [String]
36
- def state
37
- data.state
38
- end
39
-
40
- # The ID of the VPC the subnet is in.
41
- # @return [String]
42
- def vpc_id
43
- data.vpc_id
44
- end
45
-
46
- # The IPv4 CIDR block assigned to the subnet.
34
+ # The Availability Zone of the subnet.
47
35
  # @return [String]
48
- def cidr_block
49
- data.cidr_block
50
- end
51
-
52
- # Information about the IPv6 CIDR blocks associated with the subnet.
53
- # @return [Array<Types::SubnetIpv6CidrBlockAssociation>]
54
- def ipv_6_cidr_block_association_set
55
- data.ipv_6_cidr_block_association_set
56
- end
57
-
58
- # Indicates whether a network interface created in this subnet
59
- # (including a network interface created by RunInstances) receives an
60
- # IPv6 address.
61
- # @return [Boolean]
62
- def assign_ipv_6_address_on_creation
63
- data.assign_ipv_6_address_on_creation
36
+ def availability_zone
37
+ data.availability_zone
64
38
  end
65
39
 
66
40
  # The number of unused private IPv4 addresses in the subnet. Note that
@@ -71,10 +45,10 @@ module Aws::EC2
71
45
  data.available_ip_address_count
72
46
  end
73
47
 
74
- # The Availability Zone of the subnet.
48
+ # The IPv4 CIDR block assigned to the subnet.
75
49
  # @return [String]
76
- def availability_zone
77
- data.availability_zone
50
+ def cidr_block
51
+ data.cidr_block
78
52
  end
79
53
 
80
54
  # Indicates whether this is the default subnet for the Availability
@@ -91,6 +65,32 @@ module Aws::EC2
91
65
  data.map_public_ip_on_launch
92
66
  end
93
67
 
68
+ # The current state of the subnet.
69
+ # @return [String]
70
+ def state
71
+ data.state
72
+ end
73
+
74
+ # The ID of the VPC the subnet is in.
75
+ # @return [String]
76
+ def vpc_id
77
+ data.vpc_id
78
+ end
79
+
80
+ # Indicates whether a network interface created in this subnet
81
+ # (including a network interface created by RunInstances) receives an
82
+ # IPv6 address.
83
+ # @return [Boolean]
84
+ def assign_ipv_6_address_on_creation
85
+ data.assign_ipv_6_address_on_creation
86
+ end
87
+
88
+ # Information about the IPv6 CIDR blocks associated with the subnet.
89
+ # @return [Array<Types::SubnetIpv6CidrBlockAssociation>]
90
+ def ipv_6_cidr_block_association_set
91
+ data.ipv_6_cidr_block_association_set
92
+ end
93
+
94
94
  # Any tags assigned to the subnet.
95
95
  # @return [Array<Types::Tag>]
96
96
  def tags
@@ -137,83 +137,84 @@ module Aws::EC2
137
137
  # @example Request syntax with placeholder values
138
138
  #
139
139
  # instance = subnet.create_instances({
140
- # dry_run: false,
141
- # image_id: "String", # required
142
- # min_count: 1, # required
143
- # max_count: 1, # required
144
- # key_name: "String",
145
- # security_groups: ["String"],
146
- # security_group_ids: ["String"],
147
- # user_data: "String",
148
- # instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, x1.16xlarge, x1.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge
149
- # placement: {
150
- # availability_zone: "String",
151
- # group_name: "String",
152
- # tenancy: "default", # accepts default, dedicated, host
153
- # host_id: "String",
154
- # affinity: "String",
155
- # },
156
- # kernel_id: "String",
157
- # ramdisk_id: "String",
158
140
  # block_device_mappings: [
159
141
  # {
160
- # virtual_name: "String",
161
142
  # device_name: "String",
143
+ # virtual_name: "String",
162
144
  # ebs: {
145
+ # encrypted: false,
146
+ # delete_on_termination: false,
147
+ # iops: 1,
163
148
  # snapshot_id: "String",
164
149
  # volume_size: 1,
165
- # delete_on_termination: false,
166
150
  # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
167
- # iops: 1,
168
- # encrypted: false,
169
151
  # },
170
152
  # no_device: "String",
171
153
  # },
172
154
  # ],
173
- # monitoring: {
174
- # enabled: false, # required
175
- # },
176
- # disable_api_termination: false,
177
- # instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
178
- # private_ip_address: "String",
155
+ # image_id: "String", # required
156
+ # instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, x1.16xlarge, x1.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge
157
+ # ipv_6_address_count: 1,
179
158
  # ipv_6_addresses: [
180
159
  # {
181
160
  # ipv_6_address: "String",
182
161
  # },
183
162
  # ],
184
- # ipv_6_address_count: 1,
185
- # client_token: "String",
163
+ # kernel_id: "String",
164
+ # key_name: "String",
165
+ # max_count: 1, # required
166
+ # min_count: 1, # required
167
+ # monitoring: {
168
+ # enabled: false, # required
169
+ # },
170
+ # placement: {
171
+ # availability_zone: "String",
172
+ # affinity: "String",
173
+ # group_name: "String",
174
+ # host_id: "String",
175
+ # tenancy: "default", # accepts default, dedicated, host
176
+ # spread_domain: "String",
177
+ # },
178
+ # ramdisk_id: "String",
179
+ # security_group_ids: ["String"],
180
+ # security_groups: ["String"],
181
+ # user_data: "String",
186
182
  # additional_info: "String",
183
+ # client_token: "String",
184
+ # disable_api_termination: false,
185
+ # dry_run: false,
186
+ # ebs_optimized: false,
187
+ # iam_instance_profile: {
188
+ # arn: "String",
189
+ # name: "String",
190
+ # },
191
+ # instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
187
192
  # network_interfaces: [
188
193
  # {
189
- # network_interface_id: "String",
190
- # device_index: 1,
191
- # subnet_id: "String",
194
+ # associate_public_ip_address: false,
195
+ # delete_on_termination: false,
192
196
  # description: "String",
193
- # private_ip_address: "String",
197
+ # device_index: 1,
194
198
  # groups: ["String"],
195
- # delete_on_termination: false,
196
- # private_ip_addresses: [
199
+ # ipv_6_address_count: 1,
200
+ # ipv_6_addresses: [
197
201
  # {
198
- # private_ip_address: "String", # required
199
- # primary: false,
202
+ # ipv_6_address: "String",
200
203
  # },
201
204
  # ],
202
- # secondary_private_ip_address_count: 1,
203
- # associate_public_ip_address: false,
204
- # ipv_6_addresses: [
205
+ # network_interface_id: "String",
206
+ # private_ip_address: "String",
207
+ # private_ip_addresses: [
205
208
  # {
206
- # ipv_6_address: "String",
209
+ # primary: false,
210
+ # private_ip_address: "String", # required
207
211
  # },
208
212
  # ],
209
- # ipv_6_address_count: 1,
213
+ # secondary_private_ip_address_count: 1,
214
+ # subnet_id: "String",
210
215
  # },
211
216
  # ],
212
- # iam_instance_profile: {
213
- # arn: "String",
214
- # name: "String",
215
- # },
216
- # ebs_optimized: false,
217
+ # private_ip_address: "String",
217
218
  # tag_specifications: [
218
219
  # {
219
220
  # 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
@@ -227,26 +228,56 @@ module Aws::EC2
227
228
  # ],
228
229
  # })
229
230
  # @param [Hash] options ({})
230
- # @option options [Boolean] :dry_run
231
- # Checks whether you have the required permissions for the action,
232
- # without actually making the request, and provides an error response.
233
- # If you have the required permissions, the error response is
234
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
231
+ # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
232
+ # The block device mapping.
233
+ #
234
+ # Supplying both a snapshot ID and an encryption value as arguments for
235
+ # block-device mapping results in an error. This is because only blank
236
+ # volumes can be encrypted on start, and these are not created from a
237
+ # snapshot. If a snapshot is the basis for the volume, it contains data
238
+ # by definition and its encryption status cannot be changed using this
239
+ # action.
235
240
  # @option options [required, String] :image_id
236
241
  # The ID of the AMI, which you can get by calling DescribeImages.
237
- # @option options [required, Integer] :min_count
238
- # The minimum number of instances to launch. If you specify a minimum
239
- # that is more instances than Amazon EC2 can launch in the target
240
- # Availability Zone, Amazon EC2 launches no instances.
242
+ # @option options [String] :instance_type
243
+ # The instance type. For more information, see [Instance Types][1] in
244
+ # the *Amazon Elastic Compute Cloud User Guide*.
241
245
  #
242
- # Constraints: Between 1 and the maximum number you're allowed for the
243
- # specified instance type. For more information about the default
244
- # limits, and how to request an increase, see [How many instances can I
245
- # run in Amazon EC2][1] in the Amazon EC2 General FAQ.
246
+ # Default: `m1.small`
246
247
  #
247
248
  #
248
249
  #
249
- # [1]: http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2
250
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
251
+ # @option options [Integer] :ipv_6_address_count
252
+ # \[EC2-VPC\] A number of IPv6 addresses to associate with the primary
253
+ # network interface. Amazon EC2 chooses the IPv6 addresses from the
254
+ # range of your subnet. You cannot specify this option and the option to
255
+ # assign specific IPv6 addresses in the same request. You can specify
256
+ # this option if you've specified a minimum number of instances to
257
+ # launch.
258
+ # @option options [Array<Types::InstanceIpv6Address>] :ipv_6_addresses
259
+ # \[EC2-VPC\] Specify one or more IPv6 addresses from the range of the
260
+ # subnet to associate with the primary network interface. You cannot
261
+ # specify this option and the option to assign a number of IPv6
262
+ # addresses in the same request. You cannot specify this option if
263
+ # you've specified a minimum number of instances to launch.
264
+ # @option options [String] :kernel_id
265
+ # The ID of the kernel.
266
+ #
267
+ # We recommend that you use PV-GRUB instead of kernels and RAM disks.
268
+ # For more information, see [ PV-GRUB][1] in the *Amazon Elastic Compute
269
+ # Cloud User Guide*.
270
+ #
271
+ #
272
+ #
273
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html
274
+ # @option options [String] :key_name
275
+ # The name of the key pair. You can create a key pair using
276
+ # CreateKeyPair or ImportKeyPair.
277
+ #
278
+ # If you do not specify a key pair, you can't connect to the instance
279
+ # unless you choose an AMI that is configured to allow users another way
280
+ # to log in.
250
281
  # @option options [required, Integer] :max_count
251
282
  # The maximum number of instances to launch. If you specify more
252
283
  # instances than Amazon EC2 can launch in the target Availability Zone,
@@ -261,23 +292,43 @@ module Aws::EC2
261
292
  #
262
293
  #
263
294
  # [1]: http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2
264
- # @option options [String] :key_name
265
- # The name of the key pair. You can create a key pair using
266
- # CreateKeyPair or ImportKeyPair.
295
+ # @option options [required, Integer] :min_count
296
+ # The minimum number of instances to launch. If you specify a minimum
297
+ # that is more instances than Amazon EC2 can launch in the target
298
+ # Availability Zone, Amazon EC2 launches no instances.
267
299
  #
268
- # If you do not specify a key pair, you can't connect to the instance
269
- # unless you choose an AMI that is configured to allow users another way
270
- # to log in.
271
- # @option options [Array<String>] :security_groups
272
- # \[EC2-Classic, default VPC\] One or more security group names. For a
273
- # nondefault VPC, you must use security group IDs instead.
300
+ # Constraints: Between 1 and the maximum number you're allowed for the
301
+ # specified instance type. For more information about the default
302
+ # limits, and how to request an increase, see [How many instances can I
303
+ # run in Amazon EC2][1] in the Amazon EC2 General FAQ.
274
304
  #
275
- # Default: Amazon EC2 uses the default security group.
305
+ #
306
+ #
307
+ # [1]: http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2
308
+ # @option options [Types::RunInstancesMonitoringEnabled] :monitoring
309
+ # The monitoring for the instance.
310
+ # @option options [Types::Placement] :placement
311
+ # The placement for the instance.
312
+ # @option options [String] :ramdisk_id
313
+ # The ID of the RAM disk.
314
+ #
315
+ # We recommend that you use PV-GRUB instead of kernels and RAM disks.
316
+ # For more information, see [ PV-GRUB][1] in the *Amazon Elastic Compute
317
+ # Cloud User Guide*.
318
+ #
319
+ #
320
+ #
321
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html
276
322
  # @option options [Array<String>] :security_group_ids
277
323
  # One or more security group IDs. You can create a security group using
278
324
  # CreateSecurityGroup.
279
325
  #
280
326
  # Default: Amazon EC2 uses the default security group.
327
+ # @option options [Array<String>] :security_groups
328
+ # \[EC2-Classic, default VPC\] One or more security group names. For a
329
+ # nondefault VPC, you must use security group IDs instead.
330
+ #
331
+ # Default: Amazon EC2 uses the default security group.
281
332
  # @option options [String] :user_data
282
333
  # The user data to make available to the instance. For more information,
283
334
  # see [Running Commands on Your Linux Instance at Launch][1] (Linux) and
@@ -290,48 +341,18 @@ module Aws::EC2
290
341
  #
291
342
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
292
343
  # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data
293
- # @option options [String] :instance_type
294
- # The instance type. For more information, see [Instance Types][1] in
295
- # the *Amazon Elastic Compute Cloud User Guide*.
296
- #
297
- # Default: `m1.small`
298
- #
299
- #
300
- #
301
- # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
302
- # @option options [Types::Placement] :placement
303
- # The placement for the instance.
304
- # @option options [String] :kernel_id
305
- # The ID of the kernel.
306
- #
307
- # We recommend that you use PV-GRUB instead of kernels and RAM disks.
308
- # For more information, see [ PV-GRUB][1] in the *Amazon Elastic Compute
309
- # Cloud User Guide*.
310
- #
311
- #
312
- #
313
- # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html
314
- # @option options [String] :ramdisk_id
315
- # The ID of the RAM disk.
316
- #
317
- # We recommend that you use PV-GRUB instead of kernels and RAM disks.
318
- # For more information, see [ PV-GRUB][1] in the *Amazon Elastic Compute
319
- # Cloud User Guide*.
344
+ # @option options [String] :additional_info
345
+ # Reserved.
346
+ # @option options [String] :client_token
347
+ # Unique, case-sensitive identifier you provide to ensure the
348
+ # idempotency of the request. For more information, see [Ensuring
349
+ # Idempotency][1].
320
350
  #
351
+ # Constraints: Maximum 64 ASCII characters
321
352
  #
322
353
  #
323
- # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html
324
- # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
325
- # The block device mapping.
326
354
  #
327
- # Supplying both a snapshot ID and an encryption value as arguments for
328
- # block-device mapping results in an error. This is because only blank
329
- # volumes can be encrypted on start, and these are not created from a
330
- # snapshot. If a snapshot is the basis for the volume, it contains data
331
- # by definition and its encryption status cannot be changed using this
332
- # action.
333
- # @option options [Types::RunInstancesMonitoringEnabled] :monitoring
334
- # The monitoring for the instance.
355
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
335
356
  # @option options [Boolean] :disable_api_termination
336
357
  # If you set this parameter to `true`, you can't terminate the instance
337
358
  # using the Amazon EC2 console, CLI, or API; otherwise, you can. To
@@ -341,12 +362,29 @@ module Aws::EC2
341
362
  # the instance by running the shutdown command from the instance.
342
363
  #
343
364
  # Default: `false`
365
+ # @option options [Boolean] :dry_run
366
+ # Checks whether you have the required permissions for the action,
367
+ # without actually making the request, and provides an error response.
368
+ # If you have the required permissions, the error response is
369
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
370
+ # @option options [Boolean] :ebs_optimized
371
+ # Indicates whether the instance is optimized for EBS I/O. This
372
+ # optimization provides dedicated throughput to Amazon EBS and an
373
+ # optimized configuration stack to provide optimal EBS I/O performance.
374
+ # This optimization isn't available with all instance types. Additional
375
+ # usage charges apply when using an EBS-optimized instance.
376
+ #
377
+ # Default: `false`
378
+ # @option options [Types::IamInstanceProfileSpecification] :iam_instance_profile
379
+ # The IAM instance profile.
344
380
  # @option options [String] :instance_initiated_shutdown_behavior
345
381
  # Indicates whether an instance stops or terminates when you initiate
346
382
  # shutdown from the instance (using the operating system command for
347
383
  # system shutdown).
348
384
  #
349
385
  # Default: `stop`
386
+ # @option options [Array<Types::InstanceNetworkInterfaceSpecification>] :network_interfaces
387
+ # One or more network interfaces.
350
388
  # @option options [String] :private_ip_address
351
389
  # \[EC2-VPC\] The primary IPv4 address. You must specify a value from
352
390
  # the IPv4 address range of the subnet.
@@ -356,43 +394,6 @@ module Aws::EC2
356
394
  # private IP address as the primary IP address in a network interface
357
395
  # specification. You cannot specify this option if you're launching
358
396
  # more than one instance in the request.
359
- # @option options [Array<Types::InstanceIpv6Address>] :ipv_6_addresses
360
- # \[EC2-VPC\] Specify one or more IPv6 addresses from the range of the
361
- # subnet to associate with the primary network interface. You cannot
362
- # specify this option and the option to assign a number of IPv6
363
- # addresses in the same request. You cannot specify this option if
364
- # you've specified a minimum number of instances to launch.
365
- # @option options [Integer] :ipv_6_address_count
366
- # \[EC2-VPC\] A number of IPv6 addresses to associate with the primary
367
- # network interface. Amazon EC2 chooses the IPv6 addresses from the
368
- # range of your subnet. You cannot specify this option and the option to
369
- # assign specific IPv6 addresses in the same request. You can specify
370
- # this option if you've specified a minimum number of instances to
371
- # launch.
372
- # @option options [String] :client_token
373
- # Unique, case-sensitive identifier you provide to ensure the
374
- # idempotency of the request. For more information, see [Ensuring
375
- # Idempotency][1].
376
- #
377
- # Constraints: Maximum 64 ASCII characters
378
- #
379
- #
380
- #
381
- # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
382
- # @option options [String] :additional_info
383
- # Reserved.
384
- # @option options [Array<Types::InstanceNetworkInterfaceSpecification>] :network_interfaces
385
- # One or more network interfaces.
386
- # @option options [Types::IamInstanceProfileSpecification] :iam_instance_profile
387
- # The IAM instance profile.
388
- # @option options [Boolean] :ebs_optimized
389
- # Indicates whether the instance is optimized for EBS I/O. This
390
- # optimization provides dedicated throughput to Amazon EBS and an
391
- # optimized configuration stack to provide optimal EBS I/O performance.
392
- # This optimization isn't available with all instance types. Additional
393
- # usage charges apply when using an EBS-optimized instance.
394
- #
395
- # Default: `false`
396
397
  # @option options [Array<Types::TagSpecification>] :tag_specifications
397
398
  # The tags to apply to the resources during launch. You can tag
398
399
  # instances and volumes. The specified tags are applied to all instances
@@ -416,34 +417,49 @@ module Aws::EC2
416
417
  #
417
418
  # networkinterface = subnet.create_network_interface({
418
419
  # description: "String",
419
- # private_ip_address: "String",
420
+ # dry_run: false,
420
421
  # groups: ["String"],
421
- # private_ip_addresses: [
422
+ # ipv_6_address_count: 1,
423
+ # ipv_6_addresses: [
422
424
  # {
423
- # private_ip_address: "String", # required
424
- # primary: false,
425
+ # ipv_6_address: "String",
425
426
  # },
426
427
  # ],
427
- # secondary_private_ip_address_count: 1,
428
- # ipv_6_addresses: [
428
+ # private_ip_address: "String",
429
+ # private_ip_addresses: [
429
430
  # {
430
- # ipv_6_address: "String",
431
+ # primary: false,
432
+ # private_ip_address: "String", # required
431
433
  # },
432
434
  # ],
433
- # ipv_6_address_count: 1,
434
- # dry_run: false,
435
+ # secondary_private_ip_address_count: 1,
435
436
  # })
436
437
  # @param [Hash] options ({})
437
438
  # @option options [String] :description
438
439
  # A description for the network interface.
440
+ # @option options [Boolean] :dry_run
441
+ # Checks whether you have the required permissions for the action,
442
+ # without actually making the request, and provides an error response.
443
+ # If you have the required permissions, the error response is
444
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
445
+ # @option options [Array<String>] :groups
446
+ # The IDs of one or more security groups.
447
+ # @option options [Integer] :ipv_6_address_count
448
+ # The number of IPv6 addresses to assign to a network interface. Amazon
449
+ # EC2 automatically selects the IPv6 addresses from the subnet range.
450
+ # You can't use this option if specifying specific IPv6 addresses. If
451
+ # your subnet has the `AssignIpv6AddressOnCreation` attribute set to
452
+ # `true`, you can specify `0` to override this setting.
453
+ # @option options [Array<Types::InstanceIpv6Address>] :ipv_6_addresses
454
+ # One or more specific IPv6 addresses from the IPv6 CIDR block range of
455
+ # your subnet. You can't use this option if you're specifying a number
456
+ # of IPv6 addresses.
439
457
  # @option options [String] :private_ip_address
440
458
  # The primary private IPv4 address of the network interface. If you
441
459
  # don't specify an IPv4 address, Amazon EC2 selects one for you from
442
460
  # the subnet's IPv4 CIDR range. If you specify an IP address, you
443
461
  # cannot indicate any IP addresses specified in `privateIpAddresses` as
444
462
  # primary (only one IP address can be designated as primary).
445
- # @option options [Array<String>] :groups
446
- # The IDs of one or more security groups.
447
463
  # @option options [Array<Types::PrivateIpAddressSpecification>] :private_ip_addresses
448
464
  # One or more private IPv4 addresses.
449
465
  # @option options [Integer] :secondary_private_ip_address_count
@@ -461,21 +477,6 @@ module Aws::EC2
461
477
  #
462
478
  #
463
479
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
464
- # @option options [Array<Types::InstanceIpv6Address>] :ipv_6_addresses
465
- # One or more specific IPv6 addresses from the IPv6 CIDR block range of
466
- # your subnet. You can't use this option if you're specifying a number
467
- # of IPv6 addresses.
468
- # @option options [Integer] :ipv_6_address_count
469
- # The number of IPv6 addresses to assign to a network interface. Amazon
470
- # EC2 automatically selects the IPv6 addresses from the subnet range.
471
- # You can't use this option if specifying specific IPv6 addresses. If
472
- # your subnet has the `AssignIpv6AddressOnCreation` attribute set to
473
- # `true`, you can specify `0` to override this setting.
474
- # @option options [Boolean] :dry_run
475
- # Checks whether you have the required permissions for the action,
476
- # without actually making the request, and provides an error response.
477
- # If you have the required permissions, the error response is
478
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
479
480
  # @return [NetworkInterface]
480
481
  def create_network_interface(options = {})
481
482
  options = options.merge(subnet_id: @id)
@@ -547,25 +548,16 @@ module Aws::EC2
547
548
  # @example Request syntax with placeholder values
548
549
  #
549
550
  # instances = subnet.instances({
550
- # dry_run: false,
551
- # instance_ids: ["String"],
552
551
  # filters: [
553
552
  # {
554
553
  # name: "String",
555
554
  # values: ["String"],
556
555
  # },
557
556
  # ],
557
+ # instance_ids: ["String"],
558
+ # dry_run: false,
558
559
  # })
559
560
  # @param [Hash] options ({})
560
- # @option options [Boolean] :dry_run
561
- # Checks whether you have the required permissions for the action,
562
- # without actually making the request, and provides an error response.
563
- # If you have the required permissions, the error response is
564
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
565
- # @option options [Array<String>] :instance_ids
566
- # One or more instance IDs.
567
- #
568
- # Default: Describes all your instances.
569
561
  # @option options [Array<Types::Filter>] :filters
570
562
  # One or more filters.
571
563
  #
@@ -828,6 +820,15 @@ module Aws::EC2
828
820
  # (`paravirtual` \| `hvm`).
829
821
  #
830
822
  # * `vpc-id` - The ID of the VPC that the instance is running in.
823
+ # @option options [Array<String>] :instance_ids
824
+ # One or more instance IDs.
825
+ #
826
+ # Default: Describes all your instances.
827
+ # @option options [Boolean] :dry_run
828
+ # Checks whether you have the required permissions for the action,
829
+ # without actually making the request, and provides an error response.
830
+ # If you have the required permissions, the error response is
831
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
831
832
  # @return [Instance::Collection]
832
833
  def instances(options = {})
833
834
  batches = Enumerator.new do |y|
@@ -856,25 +857,16 @@ module Aws::EC2
856
857
  # @example Request syntax with placeholder values
857
858
  #
858
859
  # network_interfaces = subnet.network_interfaces({
859
- # dry_run: false,
860
- # network_interface_ids: ["String"],
861
860
  # filters: [
862
861
  # {
863
862
  # name: "String",
864
863
  # values: ["String"],
865
864
  # },
866
865
  # ],
866
+ # dry_run: false,
867
+ # network_interface_ids: ["String"],
867
868
  # })
868
869
  # @param [Hash] options ({})
869
- # @option options [Boolean] :dry_run
870
- # Checks whether you have the required permissions for the action,
871
- # without actually making the request, and provides an error response.
872
- # If you have the required permissions, the error response is
873
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
874
- # @option options [Array<String>] :network_interface_ids
875
- # One or more network interface IDs.
876
- #
877
- # Default: Describes all your network interfaces.
878
870
  # @option options [Array<Types::Filter>] :filters
879
871
  # One or more filters.
880
872
  #
@@ -994,6 +986,15 @@ module Aws::EC2
994
986
  # filter is independent of the `tag-key` filter.
995
987
  #
996
988
  # * `vpc-id` - The ID of the VPC for the network interface.
989
+ # @option options [Boolean] :dry_run
990
+ # Checks whether you have the required permissions for the action,
991
+ # without actually making the request, and provides an error response.
992
+ # If you have the required permissions, the error response is
993
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
994
+ # @option options [Array<String>] :network_interface_ids
995
+ # One or more network interface IDs.
996
+ #
997
+ # Default: Describes all your network interfaces.
997
998
  # @return [NetworkInterface::Collection]
998
999
  def network_interfaces(options = {})
999
1000
  batches = Enumerator.new do |y|