aws-sdk-ec2 1.18.0 → 1.19.0

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: dc0562e8cfa7fd81ea0aa3369a87e9f02febc716
4
- data.tar.gz: 0f024ed0c3057baf49668eda7dd5fb92f856cdb5
3
+ metadata.gz: 31501a64a7e2c8235f61c50c081c0cad12df9d5e
4
+ data.tar.gz: 7a495430ec06eb91da611186fefa8a58bb0eb8fc
5
5
  SHA512:
6
- metadata.gz: 116f6e5550395957a5c9e9fa3377a06456cb6f57c796874de52e7e515d53b9f26681532b7dbe952f58f21acb5098329d080008139e0c6e5b28c16db33a72b586
7
- data.tar.gz: 356b78beb78f41aa94e31a32ec5688e5010661dc379c02fb3115d2e03202d6b95312c2a5a9463a48ab77bd59cca05c1fd46a603a12a2534cf3fab54d1ffae7bb
6
+ metadata.gz: 39493f3ce16bea8cd3fb87eefeb96cc28083dde1bca11ad80c52360cc823c99d99b76419f488be20ada81b62f5ec1c890f09ffd79d5793b42f869ad6c3045e55
7
+ data.tar.gz: 1ec8306d58228371886b18ec11c09dbd53ec09e7a5fe235b1924d8b02580640fa2c9c78e5fd6888030216356ac201be68685a930b13b8868b4b8e471a46ab030
data/lib/aws-sdk-ec2.rb CHANGED
@@ -65,6 +65,6 @@ require_relative 'aws-sdk-ec2/customizations'
65
65
  # @service
66
66
  module Aws::EC2
67
67
 
68
- GEM_VERSION = '1.18.0'
68
+ GEM_VERSION = '1.19.0'
69
69
 
70
70
  end
@@ -196,6 +196,49 @@ module Aws::EC2
196
196
  req.send_request(options)
197
197
  end
198
198
 
199
+ # Accepts one or more interface VPC endpoint connection requests to your
200
+ # VPC endpoint service.
201
+ #
202
+ # @option params [Boolean] :dry_run
203
+ # Checks whether you have the required permissions for the action,
204
+ # without actually making the request, and provides an error response.
205
+ # If you have the required permissions, the error response is
206
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
207
+ #
208
+ # @option params [required, String] :service_id
209
+ # The ID of the endpoint service.
210
+ #
211
+ # @option params [required, Array<String>] :vpc_endpoint_ids
212
+ # The IDs of one or more interface VPC endpoints.
213
+ #
214
+ # @return [Types::AcceptVpcEndpointConnectionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
215
+ #
216
+ # * {Types::AcceptVpcEndpointConnectionsResult#unsuccessful #unsuccessful} => Array&lt;Types::UnsuccessfulItem&gt;
217
+ #
218
+ # @example Request syntax with placeholder values
219
+ #
220
+ # resp = client.accept_vpc_endpoint_connections({
221
+ # dry_run: false,
222
+ # service_id: "String", # required
223
+ # vpc_endpoint_ids: ["String"], # required
224
+ # })
225
+ #
226
+ # @example Response structure
227
+ #
228
+ # resp.unsuccessful #=> Array
229
+ # resp.unsuccessful[0].error.code #=> String
230
+ # resp.unsuccessful[0].error.message #=> String
231
+ # resp.unsuccessful[0].resource_id #=> String
232
+ #
233
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections AWS API Documentation
234
+ #
235
+ # @overload accept_vpc_endpoint_connections(params = {})
236
+ # @param [Hash] params ({})
237
+ def accept_vpc_endpoint_connections(params = {}, options = {})
238
+ req = build_request(:accept_vpc_endpoint_connections, params)
239
+ req.send_request(options)
240
+ end
241
+
199
242
  # Accept a VPC peering connection request. To accept a request, the VPC
200
243
  # peering connection must be in the `pending-acceptance` state, and you
201
244
  # must be the owner of the peer VPC. Use DescribeVpcPeeringConnections
@@ -1224,7 +1267,7 @@ module Aws::EC2
1224
1267
  # resp.attach_time #=> Time
1225
1268
  # resp.device #=> String
1226
1269
  # resp.instance_id #=> String
1227
- # resp.state #=> String, one of "attaching", "attached", "detaching", "detached"
1270
+ # resp.state #=> String, one of "attaching", "attached", "detaching", "detached", "busy"
1228
1271
  # resp.volume_id #=> String
1229
1272
  # resp.delete_on_termination #=> Boolean
1230
1273
  #
@@ -1855,13 +1898,13 @@ module Aws::EC2
1855
1898
  req.send_request(options)
1856
1899
  end
1857
1900
 
1858
- # Cancels the specified Spot fleet requests.
1901
+ # Cancels the specified Spot Fleet requests.
1859
1902
  #
1860
- # After you cancel a Spot fleet request, the Spot fleet launches no new
1861
- # Spot instances. You must specify whether the Spot fleet should also
1862
- # terminate its Spot instances. If you terminate the instances, the Spot
1863
- # fleet request enters the `cancelled_terminating` state. Otherwise, the
1864
- # Spot fleet request enters the `cancelled_running` state and the
1903
+ # After you cancel a Spot Fleet request, the Spot Fleet launches no new
1904
+ # Spot Instances. You must specify whether the Spot Fleet should also
1905
+ # terminate its Spot Instances. If you terminate the instances, the Spot
1906
+ # Fleet request enters the `cancelled_terminating` state. Otherwise, the
1907
+ # Spot Fleet request enters the `cancelled_running` state and the
1865
1908
  # instances continue to run until they are interrupted or you terminate
1866
1909
  # them manually.
1867
1910
  #
@@ -1872,10 +1915,10 @@ module Aws::EC2
1872
1915
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1873
1916
  #
1874
1917
  # @option params [required, Array<String>] :spot_fleet_request_ids
1875
- # The IDs of the Spot fleet requests.
1918
+ # The IDs of the Spot Fleet requests.
1876
1919
  #
1877
1920
  # @option params [required, Boolean] :terminate_instances
1878
- # Indicates whether to terminate instances for a Spot fleet request if
1921
+ # Indicates whether to terminate instances for a Spot Fleet request if
1879
1922
  # it is canceled successfully.
1880
1923
  #
1881
1924
  # @return [Types::CancelSpotFleetRequestsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1956,16 +1999,14 @@ module Aws::EC2
1956
1999
  req.send_request(options)
1957
2000
  end
1958
2001
 
1959
- # Cancels one or more Spot instance requests. Spot instances are
1960
- # instances that Amazon EC2 starts on your behalf when the bid price
1961
- # that you specify exceeds the current Spot price. Amazon EC2
1962
- # periodically sets the Spot price based on available Spot instance
1963
- # capacity and current Spot instance requests. For more information, see
1964
- # [Spot Instance Requests][1] in the *Amazon Elastic Compute Cloud User
1965
- # Guide*.
2002
+ # Cancels one or more Spot Instance requests. Spot Instances are
2003
+ # instances that Amazon EC2 starts on your behalf when the maximum price
2004
+ # that you specify exceeds the current Spot price. For more information,
2005
+ # see [Spot Instance Requests][1] in the *Amazon Elastic Compute Cloud
2006
+ # User Guide*.
1966
2007
  #
1967
- # Canceling a Spot instance request does not terminate running Spot
1968
- # instances associated with the request.
2008
+ # Canceling a Spot Instance request does not terminate running Spot
2009
+ # Instances associated with the request.
1969
2010
  #
1970
2011
  #
1971
2012
  #
@@ -1978,7 +2019,7 @@ module Aws::EC2
1978
2019
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1979
2020
  #
1980
2021
  # @option params [required, Array<String>] :spot_instance_request_ids
1981
- # One or more Spot instance request IDs.
2022
+ # One or more Spot Instance request IDs.
1982
2023
  #
1983
2024
  # @return [Types::CancelSpotInstanceRequestsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1984
2025
  #
@@ -3047,6 +3088,7 @@ module Aws::EC2
3047
3088
  # encrypted: false,
3048
3089
  # delete_on_termination: false,
3049
3090
  # iops: 1,
3091
+ # kms_key_id: "String",
3050
3092
  # snapshot_id: "String",
3051
3093
  # volume_size: 1,
3052
3094
  # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
@@ -3205,17 +3247,17 @@ module Aws::EC2
3205
3247
  # Creates a 2048-bit RSA key pair with the specified name. Amazon EC2
3206
3248
  # stores the public key and displays the private key for you to save to
3207
3249
  # a file. The private key is returned as an unencrypted PEM encoded
3208
- # PKCS#8 private key. If a key with the specified name already exists,
3250
+ # PKCS#1 private key. If a key with the specified name already exists,
3209
3251
  # Amazon EC2 returns an error.
3210
3252
  #
3211
3253
  # You can have up to five thousand key pairs per region.
3212
3254
  #
3213
3255
  # The key pair returned to you is available only in the region in which
3214
- # you create it. To create a key pair that is available in all regions,
3215
- # use ImportKeyPair.
3256
+ # you create it. If you prefer, you can create your own key pair using a
3257
+ # third-party tool and upload it to any region using ImportKeyPair.
3216
3258
  #
3217
- # For more information about key pairs, see [Key Pairs][1] in the
3218
- # *Amazon Elastic Compute Cloud User Guide*.
3259
+ # For more information, see [Key Pairs][1] in the *Amazon Elastic
3260
+ # Compute Cloud User Guide*.
3219
3261
  #
3220
3262
  #
3221
3263
  #
@@ -3269,6 +3311,406 @@ module Aws::EC2
3269
3311
  req.send_request(options)
3270
3312
  end
3271
3313
 
3314
+ # Creates a launch template. A launch template contains the parameters
3315
+ # to launch an instance. When you launch an instance using RunInstances,
3316
+ # you can specify a launch template instead of providing the launch
3317
+ # parameters in the request.
3318
+ #
3319
+ # @option params [Boolean] :dry_run
3320
+ # Checks whether you have the required permissions for the action,
3321
+ # without actually making the request, and provides an error response.
3322
+ # If you have the required permissions, the error response is
3323
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3324
+ #
3325
+ # @option params [String] :client_token
3326
+ # Unique, case-sensitive identifier you provide to ensure the
3327
+ # idempotency of the request. For more information, see [Ensuring
3328
+ # Idempotency][1].
3329
+ #
3330
+ #
3331
+ #
3332
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
3333
+ #
3334
+ # @option params [required, String] :launch_template_name
3335
+ # A name for the launch template.
3336
+ #
3337
+ # @option params [String] :version_description
3338
+ # A description for the first version of the launch template.
3339
+ #
3340
+ # @option params [required, Types::RequestLaunchTemplateData] :launch_template_data
3341
+ # The information for the launch template.
3342
+ #
3343
+ # @return [Types::CreateLaunchTemplateResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3344
+ #
3345
+ # * {Types::CreateLaunchTemplateResult#launch_template #launch_template} => Types::LaunchTemplate
3346
+ #
3347
+ # @example Request syntax with placeholder values
3348
+ #
3349
+ # resp = client.create_launch_template({
3350
+ # dry_run: false,
3351
+ # client_token: "String",
3352
+ # launch_template_name: "LaunchTemplateName", # required
3353
+ # version_description: "VersionDescription",
3354
+ # launch_template_data: { # required
3355
+ # kernel_id: "String",
3356
+ # ebs_optimized: false,
3357
+ # iam_instance_profile: {
3358
+ # arn: "String",
3359
+ # name: "String",
3360
+ # },
3361
+ # block_device_mappings: [
3362
+ # {
3363
+ # device_name: "String",
3364
+ # virtual_name: "String",
3365
+ # ebs: {
3366
+ # encrypted: false,
3367
+ # delete_on_termination: false,
3368
+ # iops: 1,
3369
+ # kms_key_id: "String",
3370
+ # snapshot_id: "String",
3371
+ # volume_size: 1,
3372
+ # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
3373
+ # },
3374
+ # no_device: "String",
3375
+ # },
3376
+ # ],
3377
+ # network_interfaces: [
3378
+ # {
3379
+ # associate_public_ip_address: false,
3380
+ # delete_on_termination: false,
3381
+ # description: "String",
3382
+ # device_index: 1,
3383
+ # groups: ["String"],
3384
+ # ipv_6_address_count: 1,
3385
+ # ipv_6_addresses: [
3386
+ # {
3387
+ # ipv_6_address: "String",
3388
+ # },
3389
+ # ],
3390
+ # network_interface_id: "String",
3391
+ # private_ip_address: "String",
3392
+ # private_ip_addresses: [
3393
+ # {
3394
+ # primary: false,
3395
+ # private_ip_address: "String", # required
3396
+ # },
3397
+ # ],
3398
+ # secondary_private_ip_address_count: 1,
3399
+ # subnet_id: "String",
3400
+ # },
3401
+ # ],
3402
+ # image_id: "String",
3403
+ # 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, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.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, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge
3404
+ # key_name: "String",
3405
+ # monitoring: {
3406
+ # enabled: false,
3407
+ # },
3408
+ # placement: {
3409
+ # availability_zone: "String",
3410
+ # affinity: "String",
3411
+ # group_name: "String",
3412
+ # host_id: "String",
3413
+ # tenancy: "default", # accepts default, dedicated, host
3414
+ # spread_domain: "String",
3415
+ # },
3416
+ # ram_disk_id: "String",
3417
+ # disable_api_termination: false,
3418
+ # instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
3419
+ # user_data: "String",
3420
+ # tag_specifications: [
3421
+ # {
3422
+ # 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
3423
+ # tags: [
3424
+ # {
3425
+ # key: "String",
3426
+ # value: "String",
3427
+ # },
3428
+ # ],
3429
+ # },
3430
+ # ],
3431
+ # elastic_gpu_specifications: [
3432
+ # {
3433
+ # type: "String", # required
3434
+ # },
3435
+ # ],
3436
+ # security_group_ids: ["String"],
3437
+ # security_groups: ["String"],
3438
+ # instance_market_options: {
3439
+ # market_type: "spot", # accepts spot
3440
+ # spot_options: {
3441
+ # max_price: "String",
3442
+ # spot_instance_type: "one-time", # accepts one-time, persistent
3443
+ # block_duration_minutes: 1,
3444
+ # valid_until: Time.now,
3445
+ # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
3446
+ # },
3447
+ # },
3448
+ # credit_specification: {
3449
+ # cpu_credits: "String",
3450
+ # },
3451
+ # },
3452
+ # })
3453
+ #
3454
+ # @example Response structure
3455
+ #
3456
+ # resp.launch_template.launch_template_id #=> String
3457
+ # resp.launch_template.launch_template_name #=> String
3458
+ # resp.launch_template.create_time #=> Time
3459
+ # resp.launch_template.created_by #=> String
3460
+ # resp.launch_template.default_version_number #=> Integer
3461
+ # resp.launch_template.latest_version_number #=> Integer
3462
+ # resp.launch_template.tags #=> Array
3463
+ # resp.launch_template.tags[0].key #=> String
3464
+ # resp.launch_template.tags[0].value #=> String
3465
+ #
3466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate AWS API Documentation
3467
+ #
3468
+ # @overload create_launch_template(params = {})
3469
+ # @param [Hash] params ({})
3470
+ def create_launch_template(params = {}, options = {})
3471
+ req = build_request(:create_launch_template, params)
3472
+ req.send_request(options)
3473
+ end
3474
+
3475
+ # Creates a new version for a launch template. You can specify an
3476
+ # existing version of launch template from which to base the new
3477
+ # version.
3478
+ #
3479
+ # Launch template versions are numbered in the order in which they are
3480
+ # created. You cannot specify, change, or replace the numbering of
3481
+ # launch template versions.
3482
+ #
3483
+ # @option params [Boolean] :dry_run
3484
+ # Checks whether you have the required permissions for the action,
3485
+ # without actually making the request, and provides an error response.
3486
+ # If you have the required permissions, the error response is
3487
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3488
+ #
3489
+ # @option params [String] :client_token
3490
+ # Unique, case-sensitive identifier you provide to ensure the
3491
+ # idempotency of the request. For more information, see [Ensuring
3492
+ # Idempotency][1].
3493
+ #
3494
+ #
3495
+ #
3496
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
3497
+ #
3498
+ # @option params [String] :launch_template_id
3499
+ # The ID of the launch template. You must specify either the launch
3500
+ # template ID or launch template name in the request.
3501
+ #
3502
+ # @option params [String] :launch_template_name
3503
+ # The name of the launch template. You must specify either the launch
3504
+ # template ID or launch template name in the request.
3505
+ #
3506
+ # @option params [String] :source_version
3507
+ # The version number of the launch template version on which to base the
3508
+ # new version. The new version inherits the same launch parameters as
3509
+ # the source version, except for parameters that you specify in
3510
+ # LaunchTemplateData.
3511
+ #
3512
+ # @option params [String] :version_description
3513
+ # A description for the version of the launch template.
3514
+ #
3515
+ # @option params [required, Types::RequestLaunchTemplateData] :launch_template_data
3516
+ # The information for the launch template.
3517
+ #
3518
+ # @return [Types::CreateLaunchTemplateVersionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3519
+ #
3520
+ # * {Types::CreateLaunchTemplateVersionResult#launch_template_version #launch_template_version} => Types::LaunchTemplateVersion
3521
+ #
3522
+ # @example Request syntax with placeholder values
3523
+ #
3524
+ # resp = client.create_launch_template_version({
3525
+ # dry_run: false,
3526
+ # client_token: "String",
3527
+ # launch_template_id: "String",
3528
+ # launch_template_name: "LaunchTemplateName",
3529
+ # source_version: "String",
3530
+ # version_description: "VersionDescription",
3531
+ # launch_template_data: { # required
3532
+ # kernel_id: "String",
3533
+ # ebs_optimized: false,
3534
+ # iam_instance_profile: {
3535
+ # arn: "String",
3536
+ # name: "String",
3537
+ # },
3538
+ # block_device_mappings: [
3539
+ # {
3540
+ # device_name: "String",
3541
+ # virtual_name: "String",
3542
+ # ebs: {
3543
+ # encrypted: false,
3544
+ # delete_on_termination: false,
3545
+ # iops: 1,
3546
+ # kms_key_id: "String",
3547
+ # snapshot_id: "String",
3548
+ # volume_size: 1,
3549
+ # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
3550
+ # },
3551
+ # no_device: "String",
3552
+ # },
3553
+ # ],
3554
+ # network_interfaces: [
3555
+ # {
3556
+ # associate_public_ip_address: false,
3557
+ # delete_on_termination: false,
3558
+ # description: "String",
3559
+ # device_index: 1,
3560
+ # groups: ["String"],
3561
+ # ipv_6_address_count: 1,
3562
+ # ipv_6_addresses: [
3563
+ # {
3564
+ # ipv_6_address: "String",
3565
+ # },
3566
+ # ],
3567
+ # network_interface_id: "String",
3568
+ # private_ip_address: "String",
3569
+ # private_ip_addresses: [
3570
+ # {
3571
+ # primary: false,
3572
+ # private_ip_address: "String", # required
3573
+ # },
3574
+ # ],
3575
+ # secondary_private_ip_address_count: 1,
3576
+ # subnet_id: "String",
3577
+ # },
3578
+ # ],
3579
+ # image_id: "String",
3580
+ # 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, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.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, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge
3581
+ # key_name: "String",
3582
+ # monitoring: {
3583
+ # enabled: false,
3584
+ # },
3585
+ # placement: {
3586
+ # availability_zone: "String",
3587
+ # affinity: "String",
3588
+ # group_name: "String",
3589
+ # host_id: "String",
3590
+ # tenancy: "default", # accepts default, dedicated, host
3591
+ # spread_domain: "String",
3592
+ # },
3593
+ # ram_disk_id: "String",
3594
+ # disable_api_termination: false,
3595
+ # instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
3596
+ # user_data: "String",
3597
+ # tag_specifications: [
3598
+ # {
3599
+ # 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
3600
+ # tags: [
3601
+ # {
3602
+ # key: "String",
3603
+ # value: "String",
3604
+ # },
3605
+ # ],
3606
+ # },
3607
+ # ],
3608
+ # elastic_gpu_specifications: [
3609
+ # {
3610
+ # type: "String", # required
3611
+ # },
3612
+ # ],
3613
+ # security_group_ids: ["String"],
3614
+ # security_groups: ["String"],
3615
+ # instance_market_options: {
3616
+ # market_type: "spot", # accepts spot
3617
+ # spot_options: {
3618
+ # max_price: "String",
3619
+ # spot_instance_type: "one-time", # accepts one-time, persistent
3620
+ # block_duration_minutes: 1,
3621
+ # valid_until: Time.now,
3622
+ # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
3623
+ # },
3624
+ # },
3625
+ # credit_specification: {
3626
+ # cpu_credits: "String",
3627
+ # },
3628
+ # },
3629
+ # })
3630
+ #
3631
+ # @example Response structure
3632
+ #
3633
+ # resp.launch_template_version.launch_template_id #=> String
3634
+ # resp.launch_template_version.launch_template_name #=> String
3635
+ # resp.launch_template_version.version_number #=> Integer
3636
+ # resp.launch_template_version.version_description #=> String
3637
+ # resp.launch_template_version.create_time #=> Time
3638
+ # resp.launch_template_version.created_by #=> String
3639
+ # resp.launch_template_version.default_version #=> Boolean
3640
+ # resp.launch_template_version.launch_template_data.kernel_id #=> String
3641
+ # resp.launch_template_version.launch_template_data.ebs_optimized #=> Boolean
3642
+ # resp.launch_template_version.launch_template_data.iam_instance_profile.arn #=> String
3643
+ # resp.launch_template_version.launch_template_data.iam_instance_profile.name #=> String
3644
+ # resp.launch_template_version.launch_template_data.block_device_mappings #=> Array
3645
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].device_name #=> String
3646
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].virtual_name #=> String
3647
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.encrypted #=> Boolean
3648
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
3649
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.iops #=> Integer
3650
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.kms_key_id #=> String
3651
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.snapshot_id #=> String
3652
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.volume_size #=> Integer
3653
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
3654
+ # resp.launch_template_version.launch_template_data.block_device_mappings[0].no_device #=> String
3655
+ # resp.launch_template_version.launch_template_data.network_interfaces #=> Array
3656
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].associate_public_ip_address #=> Boolean
3657
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].delete_on_termination #=> Boolean
3658
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].description #=> String
3659
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].device_index #=> Integer
3660
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].groups #=> Array
3661
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].groups[0] #=> String
3662
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_address_count #=> Integer
3663
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_addresses #=> Array
3664
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].ipv_6_addresses[0].ipv_6_address #=> String
3665
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].network_interface_id #=> String
3666
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].private_ip_address #=> String
3667
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].private_ip_addresses #=> Array
3668
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].private_ip_addresses[0].primary #=> Boolean
3669
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].private_ip_addresses[0].private_ip_address #=> String
3670
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].secondary_private_ip_address_count #=> Integer
3671
+ # resp.launch_template_version.launch_template_data.network_interfaces[0].subnet_id #=> String
3672
+ # resp.launch_template_version.launch_template_data.image_id #=> String
3673
+ # resp.launch_template_version.launch_template_data.instance_type #=> String, one of "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", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.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", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.18xlarge", "cc1.4xlarge", "cc2.8xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "cg1.4xlarge", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "f1.2xlarge", "f1.16xlarge"
3674
+ # resp.launch_template_version.launch_template_data.key_name #=> String
3675
+ # resp.launch_template_version.launch_template_data.monitoring.enabled #=> Boolean
3676
+ # resp.launch_template_version.launch_template_data.placement.availability_zone #=> String
3677
+ # resp.launch_template_version.launch_template_data.placement.affinity #=> String
3678
+ # resp.launch_template_version.launch_template_data.placement.group_name #=> String
3679
+ # resp.launch_template_version.launch_template_data.placement.host_id #=> String
3680
+ # resp.launch_template_version.launch_template_data.placement.tenancy #=> String, one of "default", "dedicated", "host"
3681
+ # resp.launch_template_version.launch_template_data.placement.spread_domain #=> String
3682
+ # resp.launch_template_version.launch_template_data.ram_disk_id #=> String
3683
+ # resp.launch_template_version.launch_template_data.disable_api_termination #=> Boolean
3684
+ # resp.launch_template_version.launch_template_data.instance_initiated_shutdown_behavior #=> String, one of "stop", "terminate"
3685
+ # resp.launch_template_version.launch_template_data.user_data #=> String
3686
+ # resp.launch_template_version.launch_template_data.tag_specifications #=> Array
3687
+ # resp.launch_template_version.launch_template_data.tag_specifications[0].resource_type #=> String, one of "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"
3688
+ # resp.launch_template_version.launch_template_data.tag_specifications[0].tags #=> Array
3689
+ # resp.launch_template_version.launch_template_data.tag_specifications[0].tags[0].key #=> String
3690
+ # resp.launch_template_version.launch_template_data.tag_specifications[0].tags[0].value #=> String
3691
+ # resp.launch_template_version.launch_template_data.elastic_gpu_specifications #=> Array
3692
+ # resp.launch_template_version.launch_template_data.elastic_gpu_specifications[0].type #=> String
3693
+ # resp.launch_template_version.launch_template_data.security_group_ids #=> Array
3694
+ # resp.launch_template_version.launch_template_data.security_group_ids[0] #=> String
3695
+ # resp.launch_template_version.launch_template_data.security_groups #=> Array
3696
+ # resp.launch_template_version.launch_template_data.security_groups[0] #=> String
3697
+ # resp.launch_template_version.launch_template_data.instance_market_options.market_type #=> String, one of "spot"
3698
+ # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.max_price #=> String
3699
+ # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
3700
+ # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
3701
+ # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.valid_until #=> Time
3702
+ # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
3703
+ # resp.launch_template_version.launch_template_data.credit_specification.cpu_credits #=> String
3704
+ #
3705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion AWS API Documentation
3706
+ #
3707
+ # @overload create_launch_template_version(params = {})
3708
+ # @param [Hash] params ({})
3709
+ def create_launch_template_version(params = {}, options = {})
3710
+ req = build_request(:create_launch_template_version, params)
3711
+ req.send_request(options)
3712
+ end
3713
+
3272
3714
  # Creates a NAT gateway in the specified subnet. A NAT gateway can be
3273
3715
  # used to enable instances in a private subnet to connect to the
3274
3716
  # Internet. This action creates a network interface in the specified
@@ -4427,8 +4869,8 @@ module Aws::EC2
4427
4869
  req.send_request(options)
4428
4870
  end
4429
4871
 
4430
- # Creates a data feed for Spot instances, enabling you to view Spot
4431
- # instance usage logs. You can create one data feed per AWS account. For
4872
+ # Creates a data feed for Spot Instances, enabling you to view Spot
4873
+ # Instance usage logs. You can create one data feed per AWS account. For
4432
4874
  # more information, see [Spot Instance Data Feed][1] in the *Amazon
4433
4875
  # Elastic Compute Cloud User Guide*.
4434
4876
  #
@@ -4437,7 +4879,7 @@ module Aws::EC2
4437
4879
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html
4438
4880
  #
4439
4881
  # @option params [required, String] :bucket
4440
- # The Amazon S3 bucket in which to store the Spot instance data feed.
4882
+ # The Amazon S3 bucket in which to store the Spot Instance data feed.
4441
4883
  #
4442
4884
  # @option params [Boolean] :dry_run
4443
4885
  # Checks whether you have the required permissions for the action,
@@ -4887,7 +5329,7 @@ module Aws::EC2
4887
5329
  # resp.attachments[0].attach_time #=> Time
4888
5330
  # resp.attachments[0].device #=> String
4889
5331
  # resp.attachments[0].instance_id #=> String
4890
- # resp.attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached"
5332
+ # resp.attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached", "busy"
4891
5333
  # resp.attachments[0].volume_id #=> String
4892
5334
  # resp.attachments[0].delete_on_termination #=> Boolean
4893
5335
  # resp.availability_zone #=> String
@@ -5033,22 +5475,28 @@ module Aws::EC2
5033
5475
  req.send_request(options)
5034
5476
  end
5035
5477
 
5036
- # Creates a VPC endpoint for a specified AWS service. An endpoint
5037
- # enables you to create a private connection between your VPC and
5038
- # another AWS service in your account. You can create a gateway endpoint
5039
- # or an interface endpoint.
5478
+ # Creates a VPC endpoint for a specified service. An endpoint enables
5479
+ # you to create a private connection between your VPC and the service.
5480
+ # The service may be provided by AWS, an AWS Marketplace partner, or
5481
+ # another AWS account. For more information, see [VPC Endpoints][1] in
5482
+ # the *Amazon Virtual Private Cloud User Guide*.
5040
5483
  #
5041
- # A gateway endpoint serves as a target for a route in your route table
5042
- # for traffic destined for the AWS service. You can specify the VPC
5043
- # route tables that use the endpoint, and you can optionally specify an
5484
+ # A `gateway` endpoint serves as a target for a route in your route
5485
+ # table for traffic destined for the AWS service. You can specify an
5044
5486
  # endpoint policy to attach to the endpoint that will control access to
5045
- # the service from your VPC.
5487
+ # the service from your VPC. You can also specify the VPC route tables
5488
+ # that use the endpoint.
5046
5489
  #
5047
- # An interface endpoint is a network interface in your subnet with a
5048
- # private IP address that serves as an entry point for traffic destined
5049
- # to the AWS service. You can specify the subnets in which to create an
5050
- # endpoint, and the security groups to associate with the network
5051
- # interface.
5490
+ # An `interface` endpoint is a network interface in your subnet that
5491
+ # serves as an endpoint for communicating with the specified service.
5492
+ # You can specify the subnets in which to create an endpoint, and the
5493
+ # security groups to associate with the endpoint network interface.
5494
+ #
5495
+ # Use DescribeVpcEndpointServices to get a list of supported services.
5496
+ #
5497
+ #
5498
+ #
5499
+ # [1]: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html
5052
5500
  #
5053
5501
  # @option params [Boolean] :dry_run
5054
5502
  # Checks whether you have the required permissions for the action,
@@ -5057,16 +5505,16 @@ module Aws::EC2
5057
5505
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
5058
5506
  #
5059
5507
  # @option params [String] :vpc_endpoint_type
5060
- # The type of endpoint. If not specified, the default is a gateway
5061
- # endpoint.
5508
+ # The type of endpoint.
5509
+ #
5510
+ # Default: Gateway
5062
5511
  #
5063
5512
  # @option params [required, String] :vpc_id
5064
5513
  # The ID of the VPC in which the endpoint will be used.
5065
5514
  #
5066
5515
  # @option params [required, String] :service_name
5067
- # The AWS service name, in the form `com.amazonaws.region.service `. To
5068
- # get a list of available services, use the DescribeVpcEndpointServices
5069
- # request.
5516
+ # The service name. To get a list of available services, use the
5517
+ # DescribeVpcEndpointServices request.
5070
5518
  #
5071
5519
  # @option params [String] :policy_document
5072
5520
  # (Gateway endpoint) A policy to attach to the endpoint that controls
@@ -5079,11 +5527,11 @@ module Aws::EC2
5079
5527
  #
5080
5528
  # @option params [Array<String>] :subnet_ids
5081
5529
  # (Interface endpoint) The ID of one or more subnets in which to create
5082
- # a network interface for the endpoint.
5530
+ # an endpoint network interface.
5083
5531
  #
5084
5532
  # @option params [Array<String>] :security_group_ids
5085
5533
  # (Interface endpoint) The ID of one or more security groups to
5086
- # associate with the network interface.
5534
+ # associate with the endpoint network interface.
5087
5535
  #
5088
5536
  # @option params [String] :client_token
5089
5537
  # Unique, case-sensitive identifier you provide to ensure the
@@ -5110,56 +5558,211 @@ module Aws::EC2
5110
5558
  #
5111
5559
  # Default: `true`
5112
5560
  #
5113
- # @return [Types::CreateVpcEndpointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5561
+ # @return [Types::CreateVpcEndpointResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5562
+ #
5563
+ # * {Types::CreateVpcEndpointResult#vpc_endpoint #vpc_endpoint} => Types::VpcEndpoint
5564
+ # * {Types::CreateVpcEndpointResult#client_token #client_token} => String
5565
+ #
5566
+ # @example Request syntax with placeholder values
5567
+ #
5568
+ # resp = client.create_vpc_endpoint({
5569
+ # dry_run: false,
5570
+ # vpc_endpoint_type: "Interface", # accepts Interface, Gateway
5571
+ # vpc_id: "String", # required
5572
+ # service_name: "String", # required
5573
+ # policy_document: "String",
5574
+ # route_table_ids: ["String"],
5575
+ # subnet_ids: ["String"],
5576
+ # security_group_ids: ["String"],
5577
+ # client_token: "String",
5578
+ # private_dns_enabled: false,
5579
+ # })
5580
+ #
5581
+ # @example Response structure
5582
+ #
5583
+ # resp.vpc_endpoint.vpc_endpoint_id #=> String
5584
+ # resp.vpc_endpoint.vpc_endpoint_type #=> String, one of "Interface", "Gateway"
5585
+ # resp.vpc_endpoint.vpc_id #=> String
5586
+ # resp.vpc_endpoint.service_name #=> String
5587
+ # resp.vpc_endpoint.state #=> String, one of "PendingAcceptance", "Pending", "Available", "Deleting", "Deleted", "Rejected", "Failed", "Expired"
5588
+ # resp.vpc_endpoint.policy_document #=> String
5589
+ # resp.vpc_endpoint.route_table_ids #=> Array
5590
+ # resp.vpc_endpoint.route_table_ids[0] #=> String
5591
+ # resp.vpc_endpoint.subnet_ids #=> Array
5592
+ # resp.vpc_endpoint.subnet_ids[0] #=> String
5593
+ # resp.vpc_endpoint.groups #=> Array
5594
+ # resp.vpc_endpoint.groups[0].group_id #=> String
5595
+ # resp.vpc_endpoint.groups[0].group_name #=> String
5596
+ # resp.vpc_endpoint.private_dns_enabled #=> Boolean
5597
+ # resp.vpc_endpoint.network_interface_ids #=> Array
5598
+ # resp.vpc_endpoint.network_interface_ids[0] #=> String
5599
+ # resp.vpc_endpoint.dns_entries #=> Array
5600
+ # resp.vpc_endpoint.dns_entries[0].dns_name #=> String
5601
+ # resp.vpc_endpoint.dns_entries[0].hosted_zone_id #=> String
5602
+ # resp.vpc_endpoint.creation_timestamp #=> Time
5603
+ # resp.client_token #=> String
5604
+ #
5605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint AWS API Documentation
5606
+ #
5607
+ # @overload create_vpc_endpoint(params = {})
5608
+ # @param [Hash] params ({})
5609
+ def create_vpc_endpoint(params = {}, options = {})
5610
+ req = build_request(:create_vpc_endpoint, params)
5611
+ req.send_request(options)
5612
+ end
5613
+
5614
+ # Creates a connection notification for a specified VPC endpoint or VPC
5615
+ # endpoint service. A connection notification notifies you of specific
5616
+ # endpoint events. You must create an SNS topic to receive
5617
+ # notifications. For more information, see [Create a Topic][1] in the
5618
+ # *Amazon Simple Notification Service Developer Guide*.
5619
+ #
5620
+ # You can create a connection notification for interface endpoints only.
5621
+ #
5622
+ #
5623
+ #
5624
+ # [1]: http://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html
5625
+ #
5626
+ # @option params [Boolean] :dry_run
5627
+ # Checks whether you have the required permissions for the action,
5628
+ # without actually making the request, and provides an error response.
5629
+ # If you have the required permissions, the error response is
5630
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
5631
+ #
5632
+ # @option params [String] :service_id
5633
+ # The ID of the endpoint service.
5634
+ #
5635
+ # @option params [String] :vpc_endpoint_id
5636
+ # The ID of the endpoint.
5637
+ #
5638
+ # @option params [required, String] :connection_notification_arn
5639
+ # The ARN of the SNS topic for the notifications.
5640
+ #
5641
+ # @option params [required, Array<String>] :connection_events
5642
+ # One or more endpoint events for which to receive notifications. Valid
5643
+ # values are `Accept`, `Connect`, `Delete`, and `Reject`.
5644
+ #
5645
+ # @option params [String] :client_token
5646
+ # Unique, case-sensitive identifier you provide to ensure the
5647
+ # idempotency of the request. For more information, see [How to Ensure
5648
+ # Idempotency][1].
5649
+ #
5650
+ #
5651
+ #
5652
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
5653
+ #
5654
+ # @return [Types::CreateVpcEndpointConnectionNotificationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5655
+ #
5656
+ # * {Types::CreateVpcEndpointConnectionNotificationResult#connection_notification #connection_notification} => Types::ConnectionNotification
5657
+ # * {Types::CreateVpcEndpointConnectionNotificationResult#client_token #client_token} => String
5658
+ #
5659
+ # @example Request syntax with placeholder values
5660
+ #
5661
+ # resp = client.create_vpc_endpoint_connection_notification({
5662
+ # dry_run: false,
5663
+ # service_id: "String",
5664
+ # vpc_endpoint_id: "String",
5665
+ # connection_notification_arn: "String", # required
5666
+ # connection_events: ["String"], # required
5667
+ # client_token: "String",
5668
+ # })
5669
+ #
5670
+ # @example Response structure
5671
+ #
5672
+ # resp.connection_notification.connection_notification_id #=> String
5673
+ # resp.connection_notification.service_id #=> String
5674
+ # resp.connection_notification.vpc_endpoint_id #=> String
5675
+ # resp.connection_notification.connection_notification_type #=> String, one of "Topic"
5676
+ # resp.connection_notification.connection_notification_arn #=> String
5677
+ # resp.connection_notification.connection_events #=> Array
5678
+ # resp.connection_notification.connection_events[0] #=> String
5679
+ # resp.connection_notification.connection_notification_state #=> String, one of "Enabled", "Disabled"
5680
+ # resp.client_token #=> String
5681
+ #
5682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification AWS API Documentation
5683
+ #
5684
+ # @overload create_vpc_endpoint_connection_notification(params = {})
5685
+ # @param [Hash] params ({})
5686
+ def create_vpc_endpoint_connection_notification(params = {}, options = {})
5687
+ req = build_request(:create_vpc_endpoint_connection_notification, params)
5688
+ req.send_request(options)
5689
+ end
5690
+
5691
+ # Creates a VPC endpoint service configuration to which service
5692
+ # consumers (AWS accounts, IAM users, and IAM roles) can connect.
5693
+ # Service consumers can create an interface VPC endpoint to connect to
5694
+ # your service.
5695
+ #
5696
+ # To create an endpoint service configuration, you must first create a
5697
+ # Network Load Balancer for your service. For more information, see [VPC
5698
+ # Endpoint Services][1] in the *Amazon Virtual Private Cloud User
5699
+ # Guide*.
5700
+ #
5701
+ #
5702
+ #
5703
+ # [1]: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html
5704
+ #
5705
+ # @option params [Boolean] :dry_run
5706
+ # Checks whether you have the required permissions for the action,
5707
+ # without actually making the request, and provides an error response.
5708
+ # If you have the required permissions, the error response is
5709
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
5710
+ #
5711
+ # @option params [Boolean] :acceptance_required
5712
+ # Indicate whether requests from service consumers to create an endpoint
5713
+ # to your service must be accepted. To accept a request, use
5714
+ # AcceptVpcEndpointConnections.
5715
+ #
5716
+ # @option params [required, Array<String>] :network_load_balancer_arns
5717
+ # The Amazon Resource Names (ARNs) of one or more Network Load Balancers
5718
+ # for your service.
5719
+ #
5720
+ # @option params [String] :client_token
5721
+ # Unique, case-sensitive identifier you provide to ensure the
5722
+ # idempotency of the request. For more information, see [How to Ensure
5723
+ # Idempotency][1].
5724
+ #
5725
+ #
5726
+ #
5727
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html
5728
+ #
5729
+ # @return [Types::CreateVpcEndpointServiceConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5114
5730
  #
5115
- # * {Types::CreateVpcEndpointResult#vpc_endpoint #vpc_endpoint} => Types::VpcEndpoint
5116
- # * {Types::CreateVpcEndpointResult#client_token #client_token} => String
5731
+ # * {Types::CreateVpcEndpointServiceConfigurationResult#service_configuration #service_configuration} => Types::ServiceConfiguration
5732
+ # * {Types::CreateVpcEndpointServiceConfigurationResult#client_token #client_token} => String
5117
5733
  #
5118
5734
  # @example Request syntax with placeholder values
5119
5735
  #
5120
- # resp = client.create_vpc_endpoint({
5736
+ # resp = client.create_vpc_endpoint_service_configuration({
5121
5737
  # dry_run: false,
5122
- # vpc_endpoint_type: "Interface", # accepts Interface, Gateway
5123
- # vpc_id: "String", # required
5124
- # service_name: "String", # required
5125
- # policy_document: "String",
5126
- # route_table_ids: ["String"],
5127
- # subnet_ids: ["String"],
5128
- # security_group_ids: ["String"],
5738
+ # acceptance_required: false,
5739
+ # network_load_balancer_arns: ["String"], # required
5129
5740
  # client_token: "String",
5130
- # private_dns_enabled: false,
5131
5741
  # })
5132
5742
  #
5133
5743
  # @example Response structure
5134
5744
  #
5135
- # resp.vpc_endpoint.vpc_endpoint_id #=> String
5136
- # resp.vpc_endpoint.vpc_endpoint_type #=> String, one of "Interface", "Gateway"
5137
- # resp.vpc_endpoint.vpc_id #=> String
5138
- # resp.vpc_endpoint.service_name #=> String
5139
- # resp.vpc_endpoint.state #=> String, one of "PendingAcceptance", "Pending", "Available", "Deleting", "Deleted", "Rejected", "Failed", "Expired"
5140
- # resp.vpc_endpoint.policy_document #=> String
5141
- # resp.vpc_endpoint.route_table_ids #=> Array
5142
- # resp.vpc_endpoint.route_table_ids[0] #=> String
5143
- # resp.vpc_endpoint.subnet_ids #=> Array
5144
- # resp.vpc_endpoint.subnet_ids[0] #=> String
5145
- # resp.vpc_endpoint.groups #=> Array
5146
- # resp.vpc_endpoint.groups[0].group_id #=> String
5147
- # resp.vpc_endpoint.groups[0].group_name #=> String
5148
- # resp.vpc_endpoint.private_dns_enabled #=> Boolean
5149
- # resp.vpc_endpoint.network_interface_ids #=> Array
5150
- # resp.vpc_endpoint.network_interface_ids[0] #=> String
5151
- # resp.vpc_endpoint.dns_entries #=> Array
5152
- # resp.vpc_endpoint.dns_entries[0].dns_name #=> String
5153
- # resp.vpc_endpoint.dns_entries[0].hosted_zone_id #=> String
5154
- # resp.vpc_endpoint.creation_timestamp #=> Time
5745
+ # resp.service_configuration.service_type #=> Array
5746
+ # resp.service_configuration.service_type[0].service_type #=> String, one of "Interface", "Gateway"
5747
+ # resp.service_configuration.service_id #=> String
5748
+ # resp.service_configuration.service_name #=> String
5749
+ # resp.service_configuration.service_state #=> String, one of "Pending", "Available", "Deleting", "Deleted", "Failed"
5750
+ # resp.service_configuration.availability_zones #=> Array
5751
+ # resp.service_configuration.availability_zones[0] #=> String
5752
+ # resp.service_configuration.acceptance_required #=> Boolean
5753
+ # resp.service_configuration.network_load_balancer_arns #=> Array
5754
+ # resp.service_configuration.network_load_balancer_arns[0] #=> String
5755
+ # resp.service_configuration.base_endpoint_dns_names #=> Array
5756
+ # resp.service_configuration.base_endpoint_dns_names[0] #=> String
5757
+ # resp.service_configuration.private_dns_name #=> String
5155
5758
  # resp.client_token #=> String
5156
5759
  #
5157
- # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint AWS API Documentation
5760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration AWS API Documentation
5158
5761
  #
5159
- # @overload create_vpc_endpoint(params = {})
5762
+ # @overload create_vpc_endpoint_service_configuration(params = {})
5160
5763
  # @param [Hash] params ({})
5161
- def create_vpc_endpoint(params = {}, options = {})
5162
- req = build_request(:create_vpc_endpoint, params)
5764
+ def create_vpc_endpoint_service_configuration(params = {}, options = {})
5765
+ req = build_request(:create_vpc_endpoint_service_configuration, params)
5163
5766
  req.send_request(options)
5164
5767
  end
5165
5768
 
@@ -5707,6 +6310,115 @@ module Aws::EC2
5707
6310
  req.send_request(options)
5708
6311
  end
5709
6312
 
6313
+ # Deletes a launch template. Deleting a launch template deletes all of
6314
+ # its versions.
6315
+ #
6316
+ # @option params [Boolean] :dry_run
6317
+ # Checks whether you have the required permissions for the action,
6318
+ # without actually making the request, and provides an error response.
6319
+ # If you have the required permissions, the error response is
6320
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
6321
+ #
6322
+ # @option params [String] :launch_template_id
6323
+ # The ID of the launch template. You must specify either the launch
6324
+ # template ID or launch template name in the request.
6325
+ #
6326
+ # @option params [String] :launch_template_name
6327
+ # The name of the launch template. You must specify either the launch
6328
+ # template ID or launch template name in the request.
6329
+ #
6330
+ # @return [Types::DeleteLaunchTemplateResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6331
+ #
6332
+ # * {Types::DeleteLaunchTemplateResult#launch_template #launch_template} => Types::LaunchTemplate
6333
+ #
6334
+ # @example Request syntax with placeholder values
6335
+ #
6336
+ # resp = client.delete_launch_template({
6337
+ # dry_run: false,
6338
+ # launch_template_id: "String",
6339
+ # launch_template_name: "LaunchTemplateName",
6340
+ # })
6341
+ #
6342
+ # @example Response structure
6343
+ #
6344
+ # resp.launch_template.launch_template_id #=> String
6345
+ # resp.launch_template.launch_template_name #=> String
6346
+ # resp.launch_template.create_time #=> Time
6347
+ # resp.launch_template.created_by #=> String
6348
+ # resp.launch_template.default_version_number #=> Integer
6349
+ # resp.launch_template.latest_version_number #=> Integer
6350
+ # resp.launch_template.tags #=> Array
6351
+ # resp.launch_template.tags[0].key #=> String
6352
+ # resp.launch_template.tags[0].value #=> String
6353
+ #
6354
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate AWS API Documentation
6355
+ #
6356
+ # @overload delete_launch_template(params = {})
6357
+ # @param [Hash] params ({})
6358
+ def delete_launch_template(params = {}, options = {})
6359
+ req = build_request(:delete_launch_template, params)
6360
+ req.send_request(options)
6361
+ end
6362
+
6363
+ # Deletes one or more versions of a launch template. You cannot delete
6364
+ # the default version of a launch template; you must first assign a
6365
+ # different version as the default. If the default version is the only
6366
+ # version for the launch template, you must delete the entire launch
6367
+ # template using DeleteLaunchTemplate.
6368
+ #
6369
+ # @option params [Boolean] :dry_run
6370
+ # Checks whether you have the required permissions for the action,
6371
+ # without actually making the request, and provides an error response.
6372
+ # If you have the required permissions, the error response is
6373
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
6374
+ #
6375
+ # @option params [String] :launch_template_id
6376
+ # The ID of the launch template. You must specify either the launch
6377
+ # template ID or launch template name in the request.
6378
+ #
6379
+ # @option params [String] :launch_template_name
6380
+ # The name of the launch template. You must specify either the launch
6381
+ # template ID or launch template name in the request.
6382
+ #
6383
+ # @option params [required, Array<String>] :versions
6384
+ # The version numbers of one or more launch template versions to delete.
6385
+ #
6386
+ # @return [Types::DeleteLaunchTemplateVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6387
+ #
6388
+ # * {Types::DeleteLaunchTemplateVersionsResult#successfully_deleted_launch_template_versions #successfully_deleted_launch_template_versions} => Array&lt;Types::DeleteLaunchTemplateVersionsResponseSuccessItem&gt;
6389
+ # * {Types::DeleteLaunchTemplateVersionsResult#unsuccessfully_deleted_launch_template_versions #unsuccessfully_deleted_launch_template_versions} => Array&lt;Types::DeleteLaunchTemplateVersionsResponseErrorItem&gt;
6390
+ #
6391
+ # @example Request syntax with placeholder values
6392
+ #
6393
+ # resp = client.delete_launch_template_versions({
6394
+ # dry_run: false,
6395
+ # launch_template_id: "String",
6396
+ # launch_template_name: "LaunchTemplateName",
6397
+ # versions: ["String"], # required
6398
+ # })
6399
+ #
6400
+ # @example Response structure
6401
+ #
6402
+ # resp.successfully_deleted_launch_template_versions #=> Array
6403
+ # resp.successfully_deleted_launch_template_versions[0].launch_template_id #=> String
6404
+ # resp.successfully_deleted_launch_template_versions[0].launch_template_name #=> String
6405
+ # resp.successfully_deleted_launch_template_versions[0].version_number #=> Integer
6406
+ # resp.unsuccessfully_deleted_launch_template_versions #=> Array
6407
+ # resp.unsuccessfully_deleted_launch_template_versions[0].launch_template_id #=> String
6408
+ # resp.unsuccessfully_deleted_launch_template_versions[0].launch_template_name #=> String
6409
+ # resp.unsuccessfully_deleted_launch_template_versions[0].version_number #=> Integer
6410
+ # resp.unsuccessfully_deleted_launch_template_versions[0].response_error.code #=> String, one of "launchTemplateIdDoesNotExist", "launchTemplateIdMalformed", "launchTemplateNameDoesNotExist", "launchTemplateNameMalformed", "launchTemplateVersionDoesNotExist", "unexpectedError"
6411
+ # resp.unsuccessfully_deleted_launch_template_versions[0].response_error.message #=> String
6412
+ #
6413
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions AWS API Documentation
6414
+ #
6415
+ # @overload delete_launch_template_versions(params = {})
6416
+ # @param [Hash] params ({})
6417
+ def delete_launch_template_versions(params = {}, options = {})
6418
+ req = build_request(:delete_launch_template_versions, params)
6419
+ req.send_request(options)
6420
+ end
6421
+
5710
6422
  # Deletes the specified NAT gateway. Deleting a NAT gateway
5711
6423
  # disassociates its Elastic IP address, but does not release the address
5712
6424
  # from your account. Deleting a NAT gateway does not delete any NAT
@@ -6163,7 +6875,7 @@ module Aws::EC2
6163
6875
  req.send_request(options)
6164
6876
  end
6165
6877
 
6166
- # Deletes the data feed for Spot instances.
6878
+ # Deletes the data feed for Spot Instances.
6167
6879
  #
6168
6880
  # @option params [Boolean] :dry_run
6169
6881
  # Checks whether you have the required permissions for the action,
@@ -6401,6 +7113,85 @@ module Aws::EC2
6401
7113
  req.send_request(options)
6402
7114
  end
6403
7115
 
7116
+ # Deletes one or more VPC endpoint connection notifications.
7117
+ #
7118
+ # @option params [Boolean] :dry_run
7119
+ # Checks whether you have the required permissions for the action,
7120
+ # without actually making the request, and provides an error response.
7121
+ # If you have the required permissions, the error response is
7122
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
7123
+ #
7124
+ # @option params [required, Array<String>] :connection_notification_ids
7125
+ # One or more notification IDs.
7126
+ #
7127
+ # @return [Types::DeleteVpcEndpointConnectionNotificationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7128
+ #
7129
+ # * {Types::DeleteVpcEndpointConnectionNotificationsResult#unsuccessful #unsuccessful} => Array&lt;Types::UnsuccessfulItem&gt;
7130
+ #
7131
+ # @example Request syntax with placeholder values
7132
+ #
7133
+ # resp = client.delete_vpc_endpoint_connection_notifications({
7134
+ # dry_run: false,
7135
+ # connection_notification_ids: ["String"], # required
7136
+ # })
7137
+ #
7138
+ # @example Response structure
7139
+ #
7140
+ # resp.unsuccessful #=> Array
7141
+ # resp.unsuccessful[0].error.code #=> String
7142
+ # resp.unsuccessful[0].error.message #=> String
7143
+ # resp.unsuccessful[0].resource_id #=> String
7144
+ #
7145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications AWS API Documentation
7146
+ #
7147
+ # @overload delete_vpc_endpoint_connection_notifications(params = {})
7148
+ # @param [Hash] params ({})
7149
+ def delete_vpc_endpoint_connection_notifications(params = {}, options = {})
7150
+ req = build_request(:delete_vpc_endpoint_connection_notifications, params)
7151
+ req.send_request(options)
7152
+ end
7153
+
7154
+ # Deletes one or more VPC endpoint service configurations in your
7155
+ # account. Before you delete the endpoint service configuration, you
7156
+ # must reject any `Available` or `PendingAcceptance` interface endpoint
7157
+ # connections that are attached to the service.
7158
+ #
7159
+ # @option params [Boolean] :dry_run
7160
+ # Checks whether you have the required permissions for the action,
7161
+ # without actually making the request, and provides an error response.
7162
+ # If you have the required permissions, the error response is
7163
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
7164
+ #
7165
+ # @option params [required, Array<String>] :service_ids
7166
+ # The IDs of one or more services.
7167
+ #
7168
+ # @return [Types::DeleteVpcEndpointServiceConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7169
+ #
7170
+ # * {Types::DeleteVpcEndpointServiceConfigurationsResult#unsuccessful #unsuccessful} => Array&lt;Types::UnsuccessfulItem&gt;
7171
+ #
7172
+ # @example Request syntax with placeholder values
7173
+ #
7174
+ # resp = client.delete_vpc_endpoint_service_configurations({
7175
+ # dry_run: false,
7176
+ # service_ids: ["String"], # required
7177
+ # })
7178
+ #
7179
+ # @example Response structure
7180
+ #
7181
+ # resp.unsuccessful #=> Array
7182
+ # resp.unsuccessful[0].error.code #=> String
7183
+ # resp.unsuccessful[0].error.message #=> String
7184
+ # resp.unsuccessful[0].resource_id #=> String
7185
+ #
7186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations AWS API Documentation
7187
+ #
7188
+ # @overload delete_vpc_endpoint_service_configurations(params = {})
7189
+ # @param [Hash] params ({})
7190
+ def delete_vpc_endpoint_service_configurations(params = {}, options = {})
7191
+ req = build_request(:delete_vpc_endpoint_service_configurations, params)
7192
+ req.send_request(options)
7193
+ end
7194
+
6404
7195
  # Deletes one or more specified VPC endpoints. Deleting a gateway
6405
7196
  # endpoint also deletes the endpoint routes in the route tables that
6406
7197
  # were associated with the endpoint. Deleting an interface endpoint
@@ -6413,7 +7204,7 @@ module Aws::EC2
6413
7204
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
6414
7205
  #
6415
7206
  # @option params [required, Array<String>] :vpc_endpoint_ids
6416
- # One or more endpoint IDs.
7207
+ # One or more VPC endpoint IDs.
6417
7208
  #
6418
7209
  # @return [Types::DeleteVpcEndpointsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6419
7210
  #
@@ -8435,6 +9226,7 @@ module Aws::EC2
8435
9226
  # resp.block_device_mappings[0].ebs.encrypted #=> Boolean
8436
9227
  # resp.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
8437
9228
  # resp.block_device_mappings[0].ebs.iops #=> Integer
9229
+ # resp.block_device_mappings[0].ebs.kms_key_id #=> String
8438
9230
  # resp.block_device_mappings[0].ebs.snapshot_id #=> String
8439
9231
  # resp.block_device_mappings[0].ebs.volume_size #=> Integer
8440
9232
  # resp.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
@@ -8629,6 +9421,7 @@ module Aws::EC2
8629
9421
  # resp.images[0].block_device_mappings[0].ebs.encrypted #=> Boolean
8630
9422
  # resp.images[0].block_device_mappings[0].ebs.delete_on_termination #=> Boolean
8631
9423
  # resp.images[0].block_device_mappings[0].ebs.iops #=> Integer
9424
+ # resp.images[0].block_device_mappings[0].ebs.kms_key_id #=> String
8632
9425
  # resp.images[0].block_device_mappings[0].ebs.snapshot_id #=> String
8633
9426
  # resp.images[0].block_device_mappings[0].ebs.volume_size #=> Integer
8634
9427
  # resp.images[0].block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
@@ -9680,14 +10473,239 @@ module Aws::EC2
9680
10473
  # @option params [Array<Types::Filter>] :filters
9681
10474
  # One or more filters.
9682
10475
  #
9683
- # * `fingerprint` - The fingerprint of the key pair.
10476
+ # * `fingerprint` - The fingerprint of the key pair.
10477
+ #
10478
+ # * `key-name` - The name of the key pair.
10479
+ #
10480
+ # @option params [Array<String>] :key_names
10481
+ # One or more key pair names.
10482
+ #
10483
+ # Default: Describes all your key pairs.
10484
+ #
10485
+ # @option params [Boolean] :dry_run
10486
+ # Checks whether you have the required permissions for the action,
10487
+ # without actually making the request, and provides an error response.
10488
+ # If you have the required permissions, the error response is
10489
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
10490
+ #
10491
+ # @return [Types::DescribeKeyPairsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10492
+ #
10493
+ # * {Types::DescribeKeyPairsResult#key_pairs #key_pairs} => Array&lt;Types::KeyPairInfo&gt;
10494
+ #
10495
+ #
10496
+ # @example Example: To display a key pair
10497
+ #
10498
+ # # This example displays the fingerprint for the specified key.
10499
+ #
10500
+ # resp = client.describe_key_pairs({
10501
+ # key_names: [
10502
+ # "my-key-pair",
10503
+ # ],
10504
+ # })
10505
+ #
10506
+ # resp.to_h outputs the following:
10507
+ # {
10508
+ # key_pairs: [
10509
+ # {
10510
+ # key_fingerprint: "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f",
10511
+ # key_name: "my-key-pair",
10512
+ # },
10513
+ # ],
10514
+ # }
10515
+ #
10516
+ # @example Request syntax with placeholder values
10517
+ #
10518
+ # resp = client.describe_key_pairs({
10519
+ # filters: [
10520
+ # {
10521
+ # name: "String",
10522
+ # values: ["String"],
10523
+ # },
10524
+ # ],
10525
+ # key_names: ["String"],
10526
+ # dry_run: false,
10527
+ # })
10528
+ #
10529
+ # @example Response structure
10530
+ #
10531
+ # resp.key_pairs #=> Array
10532
+ # resp.key_pairs[0].key_fingerprint #=> String
10533
+ # resp.key_pairs[0].key_name #=> String
10534
+ #
10535
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs AWS API Documentation
10536
+ #
10537
+ # @overload describe_key_pairs(params = {})
10538
+ # @param [Hash] params ({})
10539
+ def describe_key_pairs(params = {}, options = {})
10540
+ req = build_request(:describe_key_pairs, params)
10541
+ req.send_request(options)
10542
+ end
10543
+
10544
+ # Describes one or more versions of a specified launch template. You can
10545
+ # describe all versions, individual versions, or a range of versions.
10546
+ #
10547
+ # @option params [Boolean] :dry_run
10548
+ # Checks whether you have the required permissions for the action,
10549
+ # without actually making the request, and provides an error response.
10550
+ # If you have the required permissions, the error response is
10551
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
10552
+ #
10553
+ # @option params [String] :launch_template_id
10554
+ # The ID of the launch template. You must specify either the launch
10555
+ # template ID or launch template name in the request.
10556
+ #
10557
+ # @option params [String] :launch_template_name
10558
+ # The name of the launch template. You must specify either the launch
10559
+ # template ID or launch template name in the request.
10560
+ #
10561
+ # @option params [Array<String>] :versions
10562
+ # One or more versions of the launch template.
10563
+ #
10564
+ # @option params [String] :min_version
10565
+ # The version number after which to describe launch template versions.
10566
+ #
10567
+ # @option params [String] :max_version
10568
+ # The version number up to which to describe launch template versions.
10569
+ #
10570
+ # @option params [String] :next_token
10571
+ # The token to request the next page of results.
10572
+ #
10573
+ # @option params [Integer] :max_results
10574
+ # The maximum number of results to return in a single call. To retrieve
10575
+ # the remaining results, make another call with the returned `NextToken`
10576
+ # value. This value can be between 5 and 1000.
10577
+ #
10578
+ # @option params [Array<Types::Filter>] :filters
10579
+ # One or more filters.
10580
+ #
10581
+ # * `create-time` - The time the launch template version was created.
10582
+ #
10583
+ # * `ebs-optimized` - A boolean that indicates whether the instance is
10584
+ # optimized for Amazon EBS I/O.
10585
+ #
10586
+ # * `iam-instance-profile` - The ARN of the IAM instance profile.
10587
+ #
10588
+ # * `image-id` - The ID of the AMI.
10589
+ #
10590
+ # * `instance-type` - The instance type.
10591
+ #
10592
+ # * `is-default-version` - A boolean that indicates whether the launch
10593
+ # template version is the default version.
10594
+ #
10595
+ # * `kernel-id` - The kernel ID.
10596
+ #
10597
+ # * `ram-disk-id` - The RAM disk ID.
10598
+ #
10599
+ # @return [Types::DescribeLaunchTemplateVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10600
+ #
10601
+ # * {Types::DescribeLaunchTemplateVersionsResult#launch_template_versions #launch_template_versions} => Array&lt;Types::LaunchTemplateVersion&gt;
10602
+ # * {Types::DescribeLaunchTemplateVersionsResult#next_token #next_token} => String
10603
+ #
10604
+ # @example Request syntax with placeholder values
10605
+ #
10606
+ # resp = client.describe_launch_template_versions({
10607
+ # dry_run: false,
10608
+ # launch_template_id: "String",
10609
+ # launch_template_name: "LaunchTemplateName",
10610
+ # versions: ["String"],
10611
+ # min_version: "String",
10612
+ # max_version: "String",
10613
+ # next_token: "String",
10614
+ # max_results: 1,
10615
+ # filters: [
10616
+ # {
10617
+ # name: "String",
10618
+ # values: ["String"],
10619
+ # },
10620
+ # ],
10621
+ # })
10622
+ #
10623
+ # @example Response structure
9684
10624
  #
9685
- # * `key-name` - The name of the key pair.
10625
+ # resp.launch_template_versions #=> Array
10626
+ # resp.launch_template_versions[0].launch_template_id #=> String
10627
+ # resp.launch_template_versions[0].launch_template_name #=> String
10628
+ # resp.launch_template_versions[0].version_number #=> Integer
10629
+ # resp.launch_template_versions[0].version_description #=> String
10630
+ # resp.launch_template_versions[0].create_time #=> Time
10631
+ # resp.launch_template_versions[0].created_by #=> String
10632
+ # resp.launch_template_versions[0].default_version #=> Boolean
10633
+ # resp.launch_template_versions[0].launch_template_data.kernel_id #=> String
10634
+ # resp.launch_template_versions[0].launch_template_data.ebs_optimized #=> Boolean
10635
+ # resp.launch_template_versions[0].launch_template_data.iam_instance_profile.arn #=> String
10636
+ # resp.launch_template_versions[0].launch_template_data.iam_instance_profile.name #=> String
10637
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings #=> Array
10638
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].device_name #=> String
10639
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].virtual_name #=> String
10640
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].ebs.encrypted #=> Boolean
10641
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
10642
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].ebs.iops #=> Integer
10643
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].ebs.kms_key_id #=> String
10644
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].ebs.snapshot_id #=> String
10645
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].ebs.volume_size #=> Integer
10646
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
10647
+ # resp.launch_template_versions[0].launch_template_data.block_device_mappings[0].no_device #=> String
10648
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces #=> Array
10649
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].associate_public_ip_address #=> Boolean
10650
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].delete_on_termination #=> Boolean
10651
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].description #=> String
10652
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].device_index #=> Integer
10653
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].groups #=> Array
10654
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].groups[0] #=> String
10655
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].ipv_6_address_count #=> Integer
10656
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].ipv_6_addresses #=> Array
10657
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].ipv_6_addresses[0].ipv_6_address #=> String
10658
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].network_interface_id #=> String
10659
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].private_ip_address #=> String
10660
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].private_ip_addresses #=> Array
10661
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].private_ip_addresses[0].primary #=> Boolean
10662
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].private_ip_addresses[0].private_ip_address #=> String
10663
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].secondary_private_ip_address_count #=> Integer
10664
+ # resp.launch_template_versions[0].launch_template_data.network_interfaces[0].subnet_id #=> String
10665
+ # resp.launch_template_versions[0].launch_template_data.image_id #=> String
10666
+ # resp.launch_template_versions[0].launch_template_data.instance_type #=> String, one of "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", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.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", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.18xlarge", "cc1.4xlarge", "cc2.8xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "cg1.4xlarge", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "f1.2xlarge", "f1.16xlarge"
10667
+ # resp.launch_template_versions[0].launch_template_data.key_name #=> String
10668
+ # resp.launch_template_versions[0].launch_template_data.monitoring.enabled #=> Boolean
10669
+ # resp.launch_template_versions[0].launch_template_data.placement.availability_zone #=> String
10670
+ # resp.launch_template_versions[0].launch_template_data.placement.affinity #=> String
10671
+ # resp.launch_template_versions[0].launch_template_data.placement.group_name #=> String
10672
+ # resp.launch_template_versions[0].launch_template_data.placement.host_id #=> String
10673
+ # resp.launch_template_versions[0].launch_template_data.placement.tenancy #=> String, one of "default", "dedicated", "host"
10674
+ # resp.launch_template_versions[0].launch_template_data.placement.spread_domain #=> String
10675
+ # resp.launch_template_versions[0].launch_template_data.ram_disk_id #=> String
10676
+ # resp.launch_template_versions[0].launch_template_data.disable_api_termination #=> Boolean
10677
+ # resp.launch_template_versions[0].launch_template_data.instance_initiated_shutdown_behavior #=> String, one of "stop", "terminate"
10678
+ # resp.launch_template_versions[0].launch_template_data.user_data #=> String
10679
+ # resp.launch_template_versions[0].launch_template_data.tag_specifications #=> Array
10680
+ # resp.launch_template_versions[0].launch_template_data.tag_specifications[0].resource_type #=> String, one of "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"
10681
+ # resp.launch_template_versions[0].launch_template_data.tag_specifications[0].tags #=> Array
10682
+ # resp.launch_template_versions[0].launch_template_data.tag_specifications[0].tags[0].key #=> String
10683
+ # resp.launch_template_versions[0].launch_template_data.tag_specifications[0].tags[0].value #=> String
10684
+ # resp.launch_template_versions[0].launch_template_data.elastic_gpu_specifications #=> Array
10685
+ # resp.launch_template_versions[0].launch_template_data.elastic_gpu_specifications[0].type #=> String
10686
+ # resp.launch_template_versions[0].launch_template_data.security_group_ids #=> Array
10687
+ # resp.launch_template_versions[0].launch_template_data.security_group_ids[0] #=> String
10688
+ # resp.launch_template_versions[0].launch_template_data.security_groups #=> Array
10689
+ # resp.launch_template_versions[0].launch_template_data.security_groups[0] #=> String
10690
+ # resp.launch_template_versions[0].launch_template_data.instance_market_options.market_type #=> String, one of "spot"
10691
+ # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.max_price #=> String
10692
+ # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
10693
+ # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
10694
+ # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.valid_until #=> Time
10695
+ # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
10696
+ # resp.launch_template_versions[0].launch_template_data.credit_specification.cpu_credits #=> String
10697
+ # resp.next_token #=> String
9686
10698
  #
9687
- # @option params [Array<String>] :key_names
9688
- # One or more key pair names.
10699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions AWS API Documentation
9689
10700
  #
9690
- # Default: Describes all your key pairs.
10701
+ # @overload describe_launch_template_versions(params = {})
10702
+ # @param [Hash] params ({})
10703
+ def describe_launch_template_versions(params = {}, options = {})
10704
+ req = build_request(:describe_launch_template_versions, params)
10705
+ req.send_request(options)
10706
+ end
10707
+
10708
+ # Describes one or more launch templates.
9691
10709
  #
9692
10710
  # @option params [Boolean] :dry_run
9693
10711
  # Checks whether you have the required permissions for the action,
@@ -9695,56 +10713,68 @@ module Aws::EC2
9695
10713
  # If you have the required permissions, the error response is
9696
10714
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
9697
10715
  #
9698
- # @return [Types::DescribeKeyPairsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10716
+ # @option params [Array<String>] :launch_template_ids
10717
+ # One or more launch template IDs.
9699
10718
  #
9700
- # * {Types::DescribeKeyPairsResult#key_pairs #key_pairs} => Array&lt;Types::KeyPairInfo&gt;
10719
+ # @option params [Array<String>] :launch_template_names
10720
+ # One or more launch template names.
9701
10721
  #
10722
+ # @option params [Array<Types::Filter>] :filters
10723
+ # One or more filters.
9702
10724
  #
9703
- # @example Example: To display a key pair
10725
+ # * `create-time` - The time the launch template was created.
9704
10726
  #
9705
- # # This example displays the fingerprint for the specified key.
10727
+ # * `launch-template-name` - The name of the launch template.
9706
10728
  #
9707
- # resp = client.describe_key_pairs({
9708
- # key_names: [
9709
- # "my-key-pair",
9710
- # ],
9711
- # })
10729
+ # @option params [String] :next_token
10730
+ # The token to request the next page of results.
9712
10731
  #
9713
- # resp.to_h outputs the following:
9714
- # {
9715
- # key_pairs: [
9716
- # {
9717
- # key_fingerprint: "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f",
9718
- # key_name: "my-key-pair",
9719
- # },
9720
- # ],
9721
- # }
10732
+ # @option params [Integer] :max_results
10733
+ # The maximum number of results to return in a single call. To retrieve
10734
+ # the remaining results, make another call with the returned `NextToken`
10735
+ # value. This value can be between 5 and 1000.
10736
+ #
10737
+ # @return [Types::DescribeLaunchTemplatesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10738
+ #
10739
+ # * {Types::DescribeLaunchTemplatesResult#launch_templates #launch_templates} => Array&lt;Types::LaunchTemplate&gt;
10740
+ # * {Types::DescribeLaunchTemplatesResult#next_token #next_token} => String
9722
10741
  #
9723
10742
  # @example Request syntax with placeholder values
9724
10743
  #
9725
- # resp = client.describe_key_pairs({
10744
+ # resp = client.describe_launch_templates({
10745
+ # dry_run: false,
10746
+ # launch_template_ids: ["String"],
10747
+ # launch_template_names: ["LaunchTemplateName"],
9726
10748
  # filters: [
9727
10749
  # {
9728
10750
  # name: "String",
9729
10751
  # values: ["String"],
9730
10752
  # },
9731
10753
  # ],
9732
- # key_names: ["String"],
9733
- # dry_run: false,
10754
+ # next_token: "String",
10755
+ # max_results: 1,
9734
10756
  # })
9735
10757
  #
9736
10758
  # @example Response structure
9737
10759
  #
9738
- # resp.key_pairs #=> Array
9739
- # resp.key_pairs[0].key_fingerprint #=> String
9740
- # resp.key_pairs[0].key_name #=> String
10760
+ # resp.launch_templates #=> Array
10761
+ # resp.launch_templates[0].launch_template_id #=> String
10762
+ # resp.launch_templates[0].launch_template_name #=> String
10763
+ # resp.launch_templates[0].create_time #=> Time
10764
+ # resp.launch_templates[0].created_by #=> String
10765
+ # resp.launch_templates[0].default_version_number #=> Integer
10766
+ # resp.launch_templates[0].latest_version_number #=> Integer
10767
+ # resp.launch_templates[0].tags #=> Array
10768
+ # resp.launch_templates[0].tags[0].key #=> String
10769
+ # resp.launch_templates[0].tags[0].value #=> String
10770
+ # resp.next_token #=> String
9741
10771
  #
9742
- # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs AWS API Documentation
10772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates AWS API Documentation
9743
10773
  #
9744
- # @overload describe_key_pairs(params = {})
10774
+ # @overload describe_launch_templates(params = {})
9745
10775
  # @param [Hash] params ({})
9746
- def describe_key_pairs(params = {}, options = {})
9747
- req = build_request(:describe_key_pairs, params)
10776
+ def describe_launch_templates(params = {}, options = {})
10777
+ req = build_request(:describe_launch_templates, params)
9748
10778
  req.send_request(options)
9749
10779
  end
9750
10780
 
@@ -10694,7 +11724,7 @@ module Aws::EC2
10694
11724
  # includes the prefix list name and prefix list ID of the service and
10695
11725
  # the IP address range for the service. A prefix list ID is required for
10696
11726
  # creating an outbound security group rule that allows traffic from a
10697
- # VPC to access an AWS service through a VPC endpoint.
11727
+ # VPC to access an AWS service through a gateway VPC endpoint.
10698
11728
  #
10699
11729
  # @option params [Boolean] :dry_run
10700
11730
  # Checks whether you have the required permissions for the action,
@@ -12478,7 +13508,7 @@ module Aws::EC2
12478
13508
  req.send_request(options)
12479
13509
  end
12480
13510
 
12481
- # Describes the data feed for Spot instances. For more information, see
13511
+ # Describes the data feed for Spot Instances. For more information, see
12482
13512
  # [Spot Instance Data Feed][1] in the *Amazon Elastic Compute Cloud User
12483
13513
  # Guide*.
12484
13514
  #
@@ -12538,7 +13568,7 @@ module Aws::EC2
12538
13568
  req.send_request(options)
12539
13569
  end
12540
13570
 
12541
- # Describes the running instances for the specified Spot fleet.
13571
+ # Describes the running instances for the specified Spot Fleet.
12542
13572
  #
12543
13573
  # @option params [Boolean] :dry_run
12544
13574
  # Checks whether you have the required permissions for the action,
@@ -12556,7 +13586,7 @@ module Aws::EC2
12556
13586
  # The token for the next set of results.
12557
13587
  #
12558
13588
  # @option params [required, String] :spot_fleet_request_id
12559
- # The ID of the Spot fleet request.
13589
+ # The ID of the Spot Fleet request.
12560
13590
  #
12561
13591
  # @return [Types::DescribeSpotFleetInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12562
13592
  #
@@ -12613,10 +13643,10 @@ module Aws::EC2
12613
13643
  req.send_request(options)
12614
13644
  end
12615
13645
 
12616
- # Describes the events for the specified Spot fleet request during the
13646
+ # Describes the events for the specified Spot Fleet request during the
12617
13647
  # specified time.
12618
13648
  #
12619
- # Spot fleet events are delayed by up to 30 seconds before they can be
13649
+ # Spot Fleet events are delayed by up to 30 seconds before they can be
12620
13650
  # described. This ensures that you can query by the last evaluated time
12621
13651
  # and not miss a recorded event.
12622
13652
  #
@@ -12639,7 +13669,7 @@ module Aws::EC2
12639
13669
  # The token for the next set of results.
12640
13670
  #
12641
13671
  # @option params [required, String] :spot_fleet_request_id
12642
- # The ID of the Spot fleet request.
13672
+ # The ID of the Spot Fleet request.
12643
13673
  #
12644
13674
  # @option params [required, Time,DateTime,Date,Integer,String] :start_time
12645
13675
  # The starting date and time for the events, in UTC format (for example,
@@ -12735,9 +13765,9 @@ module Aws::EC2
12735
13765
  req.send_request(options)
12736
13766
  end
12737
13767
 
12738
- # Describes your Spot fleet requests.
13768
+ # Describes your Spot Fleet requests.
12739
13769
  #
12740
- # Spot fleet requests are deleted 48 hours after they are canceled and
13770
+ # Spot Fleet requests are deleted 48 hours after they are canceled and
12741
13771
  # their instances are terminated.
12742
13772
  #
12743
13773
  # @option params [Boolean] :dry_run
@@ -12756,7 +13786,7 @@ module Aws::EC2
12756
13786
  # The token for the next set of results.
12757
13787
  #
12758
13788
  # @option params [Array<String>] :spot_fleet_request_ids
12759
- # The IDs of the Spot fleet requests.
13789
+ # The IDs of the Spot Fleet requests.
12760
13790
  #
12761
13791
  # @return [Types::DescribeSpotFleetRequestsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
12762
13792
  #
@@ -12850,6 +13880,7 @@ module Aws::EC2
12850
13880
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.encrypted #=> Boolean
12851
13881
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.delete_on_termination #=> Boolean
12852
13882
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.iops #=> Integer
13883
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.kms_key_id #=> String
12853
13884
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.snapshot_id #=> String
12854
13885
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.volume_size #=> Integer
12855
13886
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
@@ -12892,6 +13923,16 @@ module Aws::EC2
12892
13923
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].tag_specifications[0].tags #=> Array
12893
13924
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].tag_specifications[0].tags[0].key #=> String
12894
13925
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_specifications[0].tag_specifications[0].tags[0].value #=> String
13926
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs #=> Array
13927
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].launch_template_specification.launch_template_id #=> String
13928
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].launch_template_specification.launch_template_name #=> String
13929
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].launch_template_specification.version #=> String
13930
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].overrides #=> Array
13931
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].overrides[0].instance_type #=> String, one of "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", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.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", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.18xlarge", "cc1.4xlarge", "cc2.8xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "cg1.4xlarge", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "f1.2xlarge", "f1.16xlarge"
13932
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].overrides[0].spot_price #=> String
13933
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].overrides[0].subnet_id #=> String
13934
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].overrides[0].availability_zone #=> String
13935
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.launch_template_configs[0].overrides[0].weighted_capacity #=> Float
12895
13936
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.spot_price #=> String
12896
13937
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.target_capacity #=> Integer
12897
13938
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.terminate_instances_with_expiration #=> Boolean
@@ -12899,7 +13940,7 @@ module Aws::EC2
12899
13940
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.valid_from #=> Time
12900
13941
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.valid_until #=> Time
12901
13942
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.replace_unhealthy_instances #=> Boolean
12902
- # resp.spot_fleet_request_configs[0].spot_fleet_request_config.instance_interruption_behavior #=> String, one of "stop", "terminate"
13943
+ # resp.spot_fleet_request_configs[0].spot_fleet_request_config.instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
12903
13944
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.load_balancers_config.classic_load_balancers_config.classic_load_balancers #=> Array
12904
13945
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.load_balancers_config.classic_load_balancers_config.classic_load_balancers[0].name #=> String
12905
13946
  # resp.spot_fleet_request_configs[0].spot_fleet_request_config.load_balancers_config.target_groups_config.target_groups #=> Array
@@ -12916,22 +13957,20 @@ module Aws::EC2
12916
13957
  req.send_request(options)
12917
13958
  end
12918
13959
 
12919
- # Describes the Spot instance requests that belong to your account. Spot
12920
- # instances are instances that Amazon EC2 launches when the bid price
12921
- # that you specify exceeds the current Spot price. Amazon EC2
12922
- # periodically sets the Spot price based on available Spot instance
12923
- # capacity and current Spot instance requests. For more information, see
12924
- # [Spot Instance Requests][1] in the *Amazon Elastic Compute Cloud User
12925
- # Guide*.
13960
+ # Describes the Spot Instance requests that belong to your account. Spot
13961
+ # Instances are instances that Amazon EC2 launches when the Spot price
13962
+ # that you specify exceeds the current Spot price. For more information,
13963
+ # see [Spot Instance Requests][1] in the *Amazon Elastic Compute Cloud
13964
+ # User Guide*.
12926
13965
  #
12927
13966
  # You can use `DescribeSpotInstanceRequests` to find a running Spot
12928
- # instance by examining the response. If the status of the Spot instance
13967
+ # Instance by examining the response. If the status of the Spot Instance
12929
13968
  # is `fulfilled`, the instance ID appears in the response and contains
12930
13969
  # the identifier of the instance. Alternatively, you can use
12931
13970
  # DescribeInstances with a filter to look for instances where the
12932
13971
  # instance lifecycle is `spot`.
12933
13972
  #
12934
- # Spot instance requests are deleted 4 hours after they are canceled and
13973
+ # Spot Instance requests are deleted 4 hours after they are canceled and
12935
13974
  # their instances are terminated.
12936
13975
  #
12937
13976
  #
@@ -12943,7 +13982,7 @@ module Aws::EC2
12943
13982
  #
12944
13983
  # * `availability-zone-group` - The Availability Zone group.
12945
13984
  #
12946
- # * `create-time` - The time stamp when the Spot instance request was
13985
+ # * `create-time` - The time stamp when the Spot Instance request was
12947
13986
  # created.
12948
13987
  #
12949
13988
  # * `fault-code` - The fault code related to the request.
@@ -12952,7 +13991,7 @@ module Aws::EC2
12952
13991
  #
12953
13992
  # * `instance-id` - The ID of the instance that fulfilled the request.
12954
13993
  #
12955
- # * `launch-group` - The Spot instance launch group.
13994
+ # * `launch-group` - The Spot Instance launch group.
12956
13995
  #
12957
13996
  # * `launch.block-device-mapping.delete-on-termination` - Indicates
12958
13997
  # whether the EBS volume is deleted on instance termination.
@@ -12985,12 +14024,12 @@ module Aws::EC2
12985
14024
  # with.
12986
14025
  #
12987
14026
  # * `launch.monitoring-enabled` - Whether detailed monitoring is enabled
12988
- # for the Spot instance.
14027
+ # for the Spot Instance.
12989
14028
  #
12990
14029
  # * `launch.ramdisk-id` - The RAM disk ID.
12991
14030
  #
12992
14031
  # * `launched-availability-zone` - The Availability Zone in which the
12993
- # bid is launched.
14032
+ # request is launched.
12994
14033
  #
12995
14034
  # * `network-interface.addresses.primary` - Indicates whether the IP
12996
14035
  # address is the primary private IP address.
@@ -13019,22 +14058,22 @@ module Aws::EC2
13019
14058
  # * `product-description` - The product description associated with the
13020
14059
  # instance (`Linux/UNIX` \| `Windows`).
13021
14060
  #
13022
- # * `spot-instance-request-id` - The Spot instance request ID.
14061
+ # * `spot-instance-request-id` - The Spot Instance request ID.
13023
14062
  #
13024
- # * `spot-price` - The maximum hourly price for any Spot instance
14063
+ # * `spot-price` - The maximum hourly price for any Spot Instance
13025
14064
  # launched to fulfill the request.
13026
14065
  #
13027
- # * `state` - The state of the Spot instance request (`open` \| `active`
13028
- # \| `closed` \| `cancelled` \| `failed`). Spot bid status information
13029
- # can help you track your Amazon EC2 Spot instance requests. For more
13030
- # information, see [Spot Bid Status][1] in the Amazon Elastic Compute
13031
- # Cloud User Guide.
14066
+ # * `state` - The state of the Spot Instance request (`open` \| `active`
14067
+ # \| `closed` \| `cancelled` \| `failed`). Spot request status
14068
+ # information can help you track your Amazon EC2 Spot Instance
14069
+ # requests. For more information, see [Spot Request Status][1] in the
14070
+ # Amazon Elastic Compute Cloud User Guide.
13032
14071
  #
13033
14072
  # * `status-code` - The short code describing the most recent evaluation
13034
- # of your Spot instance request.
14073
+ # of your Spot Instance request.
13035
14074
  #
13036
14075
  # * `status-message` - The message explaining the status of the Spot
13037
- # instance request.
14076
+ # Instance request.
13038
14077
  #
13039
14078
  # * `tag`\:*key*=*value* - The key/value combination of a tag assigned
13040
14079
  # to the resource. Specify the key of the tag in the filter name and
@@ -13053,7 +14092,7 @@ module Aws::EC2
13053
14092
  # * `tag-value` - The value of a tag assigned to the resource. This
13054
14093
  # filter is independent of the `tag-key` filter.
13055
14094
  #
13056
- # * `type` - The type of Spot instance request (`one-time` \|
14095
+ # * `type` - The type of Spot Instance request (`one-time` \|
13057
14096
  # `persistent`).
13058
14097
  #
13059
14098
  # * `valid-from` - The start date of the request.
@@ -13071,7 +14110,7 @@ module Aws::EC2
13071
14110
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
13072
14111
  #
13073
14112
  # @option params [Array<String>] :spot_instance_request_ids
13074
- # One or more Spot instance request IDs.
14113
+ # One or more Spot Instance request IDs.
13075
14114
  #
13076
14115
  # @return [Types::DescribeSpotInstanceRequestsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
13077
14116
  #
@@ -13166,6 +14205,7 @@ module Aws::EC2
13166
14205
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.encrypted #=> Boolean
13167
14206
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
13168
14207
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.iops #=> Integer
14208
+ # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.kms_key_id #=> String
13169
14209
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.snapshot_id #=> String
13170
14210
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.volume_size #=> Integer
13171
14211
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
@@ -13214,7 +14254,7 @@ module Aws::EC2
13214
14254
  # resp.spot_instance_requests[0].type #=> String, one of "one-time", "persistent"
13215
14255
  # resp.spot_instance_requests[0].valid_from #=> Time
13216
14256
  # resp.spot_instance_requests[0].valid_until #=> Time
13217
- # resp.spot_instance_requests[0].instance_interruption_behavior #=> String, one of "stop", "terminate"
14257
+ # resp.spot_instance_requests[0].instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
13218
14258
  #
13219
14259
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests AWS API Documentation
13220
14260
  #
@@ -13274,8 +14314,7 @@ module Aws::EC2
13274
14314
  # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z).
13275
14315
  #
13276
14316
  # @option params [Array<String>] :instance_types
13277
- # Filters the results by the specified instance types. Note that T2 and
13278
- # HS1 instance types are not supported.
14317
+ # Filters the results by the specified instance types.
13279
14318
  #
13280
14319
  # @option params [Integer] :max_results
13281
14320
  # The maximum number of results to return in a single call. Specify a
@@ -14222,7 +15261,7 @@ module Aws::EC2
14222
15261
  # resp.volumes[0].attachments[0].attach_time #=> Time
14223
15262
  # resp.volumes[0].attachments[0].device #=> String
14224
15263
  # resp.volumes[0].attachments[0].instance_id #=> String
14225
- # resp.volumes[0].attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached"
15264
+ # resp.volumes[0].attachments[0].state #=> String, one of "attaching", "attached", "detaching", "detached", "busy"
14226
15265
  # resp.volumes[0].attachments[0].volume_id #=> String
14227
15266
  # resp.volumes[0].attachments[0].delete_on_termination #=> Boolean
14228
15267
  # resp.volumes[0].availability_zone #=> String
@@ -14474,77 +15513,371 @@ module Aws::EC2
14474
15513
  #
14475
15514
  # @example Response structure
14476
15515
  #
14477
- # resp.vpcs #=> Array
14478
- # resp.vpcs[0].classic_link_enabled #=> Boolean
14479
- # resp.vpcs[0].tags #=> Array
14480
- # resp.vpcs[0].tags[0].key #=> String
14481
- # resp.vpcs[0].tags[0].value #=> String
14482
- # resp.vpcs[0].vpc_id #=> String
15516
+ # resp.vpcs #=> Array
15517
+ # resp.vpcs[0].classic_link_enabled #=> Boolean
15518
+ # resp.vpcs[0].tags #=> Array
15519
+ # resp.vpcs[0].tags[0].key #=> String
15520
+ # resp.vpcs[0].tags[0].value #=> String
15521
+ # resp.vpcs[0].vpc_id #=> String
15522
+ #
15523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink AWS API Documentation
15524
+ #
15525
+ # @overload describe_vpc_classic_link(params = {})
15526
+ # @param [Hash] params ({})
15527
+ def describe_vpc_classic_link(params = {}, options = {})
15528
+ req = build_request(:describe_vpc_classic_link, params)
15529
+ req.send_request(options)
15530
+ end
15531
+
15532
+ # Describes the ClassicLink DNS support status of one or more VPCs. If
15533
+ # enabled, the DNS hostname of a linked EC2-Classic instance resolves to
15534
+ # its private IP address when addressed from an instance in the VPC to
15535
+ # which it's linked. Similarly, the DNS hostname of an instance in a
15536
+ # VPC resolves to its private IP address when addressed from a linked
15537
+ # EC2-Classic instance. For more information, see [ClassicLink][1] in
15538
+ # the *Amazon Elastic Compute Cloud User Guide*.
15539
+ #
15540
+ #
15541
+ #
15542
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
15543
+ #
15544
+ # @option params [Integer] :max_results
15545
+ # The maximum number of items to return for this request. The request
15546
+ # returns a token that you can specify in a subsequent call to get the
15547
+ # next set of results.
15548
+ #
15549
+ # @option params [String] :next_token
15550
+ # The token for the next set of items to return. (You received this
15551
+ # token from a prior call.)
15552
+ #
15553
+ # @option params [Array<String>] :vpc_ids
15554
+ # One or more VPC IDs.
15555
+ #
15556
+ # @return [Types::DescribeVpcClassicLinkDnsSupportResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
15557
+ #
15558
+ # * {Types::DescribeVpcClassicLinkDnsSupportResult#next_token #next_token} => String
15559
+ # * {Types::DescribeVpcClassicLinkDnsSupportResult#vpcs #vpcs} => Array&lt;Types::ClassicLinkDnsSupport&gt;
15560
+ #
15561
+ # @example Request syntax with placeholder values
15562
+ #
15563
+ # resp = client.describe_vpc_classic_link_dns_support({
15564
+ # max_results: 1,
15565
+ # next_token: "NextToken",
15566
+ # vpc_ids: ["String"],
15567
+ # })
15568
+ #
15569
+ # @example Response structure
15570
+ #
15571
+ # resp.next_token #=> String
15572
+ # resp.vpcs #=> Array
15573
+ # resp.vpcs[0].classic_link_dns_supported #=> Boolean
15574
+ # resp.vpcs[0].vpc_id #=> String
15575
+ #
15576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport AWS API Documentation
15577
+ #
15578
+ # @overload describe_vpc_classic_link_dns_support(params = {})
15579
+ # @param [Hash] params ({})
15580
+ def describe_vpc_classic_link_dns_support(params = {}, options = {})
15581
+ req = build_request(:describe_vpc_classic_link_dns_support, params)
15582
+ req.send_request(options)
15583
+ end
15584
+
15585
+ # Describes the connection notifications for VPC endpoints and VPC
15586
+ # endpoint services.
15587
+ #
15588
+ # @option params [Boolean] :dry_run
15589
+ # Checks whether you have the required permissions for the action,
15590
+ # without actually making the request, and provides an error response.
15591
+ # If you have the required permissions, the error response is
15592
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
15593
+ #
15594
+ # @option params [String] :connection_notification_id
15595
+ # The ID of the notification.
15596
+ #
15597
+ # @option params [Array<Types::Filter>] :filters
15598
+ # One or more filters.
15599
+ #
15600
+ # * `connection-notification-arn` - The ARN of SNS topic for the
15601
+ # notification.
15602
+ #
15603
+ # * `connection-notification-id` - The ID of the notification.
15604
+ #
15605
+ # * `connection-notification-state` - The state of the notification
15606
+ # (`Enabled` \| `Disabled`).
15607
+ #
15608
+ # * `connection-notification-type` - The type of notification (`Topic`).
15609
+ #
15610
+ # * `service-id` - The ID of the endpoint service.
15611
+ #
15612
+ # * `vpc-endpoint-id` - The ID of the VPC endpoint.
15613
+ #
15614
+ # @option params [Integer] :max_results
15615
+ # The maximum number of results to return in a single call. To retrieve
15616
+ # the remaining results, make another request with the returned
15617
+ # `NextToken` value.
15618
+ #
15619
+ # @option params [String] :next_token
15620
+ # The token to request the next page of results.
15621
+ #
15622
+ # @return [Types::DescribeVpcEndpointConnectionNotificationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
15623
+ #
15624
+ # * {Types::DescribeVpcEndpointConnectionNotificationsResult#connection_notification_set #connection_notification_set} => Array&lt;Types::ConnectionNotification&gt;
15625
+ # * {Types::DescribeVpcEndpointConnectionNotificationsResult#next_token #next_token} => String
15626
+ #
15627
+ # @example Request syntax with placeholder values
15628
+ #
15629
+ # resp = client.describe_vpc_endpoint_connection_notifications({
15630
+ # dry_run: false,
15631
+ # connection_notification_id: "String",
15632
+ # filters: [
15633
+ # {
15634
+ # name: "String",
15635
+ # values: ["String"],
15636
+ # },
15637
+ # ],
15638
+ # max_results: 1,
15639
+ # next_token: "String",
15640
+ # })
15641
+ #
15642
+ # @example Response structure
15643
+ #
15644
+ # resp.connection_notification_set #=> Array
15645
+ # resp.connection_notification_set[0].connection_notification_id #=> String
15646
+ # resp.connection_notification_set[0].service_id #=> String
15647
+ # resp.connection_notification_set[0].vpc_endpoint_id #=> String
15648
+ # resp.connection_notification_set[0].connection_notification_type #=> String, one of "Topic"
15649
+ # resp.connection_notification_set[0].connection_notification_arn #=> String
15650
+ # resp.connection_notification_set[0].connection_events #=> Array
15651
+ # resp.connection_notification_set[0].connection_events[0] #=> String
15652
+ # resp.connection_notification_set[0].connection_notification_state #=> String, one of "Enabled", "Disabled"
15653
+ # resp.next_token #=> String
15654
+ #
15655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications AWS API Documentation
15656
+ #
15657
+ # @overload describe_vpc_endpoint_connection_notifications(params = {})
15658
+ # @param [Hash] params ({})
15659
+ def describe_vpc_endpoint_connection_notifications(params = {}, options = {})
15660
+ req = build_request(:describe_vpc_endpoint_connection_notifications, params)
15661
+ req.send_request(options)
15662
+ end
15663
+
15664
+ # Describes the VPC endpoint connections to your VPC endpoint services,
15665
+ # including any endpoints that are pending your acceptance.
15666
+ #
15667
+ # @option params [Boolean] :dry_run
15668
+ # Checks whether you have the required permissions for the action,
15669
+ # without actually making the request, and provides an error response.
15670
+ # If you have the required permissions, the error response is
15671
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
15672
+ #
15673
+ # @option params [Array<Types::Filter>] :filters
15674
+ # One or more filters.
15675
+ #
15676
+ # * `customer-account-id` - The AWS account number of the owner of the
15677
+ # endpoint.
15678
+ #
15679
+ # * `endpoint-connection-state` - The state of the endpoint
15680
+ # (`PendingAcceptance` \| `Pending` \| `Available` \| `Deleting` \|
15681
+ # `Deleted` \| `Rejected` \| `Failed`).
15682
+ #
15683
+ # * `vpc-endpoint-id` - The ID of the endpoint.
15684
+ #
15685
+ # * `vpc-endpoint-service-id` - The ID of the service.
15686
+ #
15687
+ # @option params [Integer] :max_results
15688
+ # The maximum number of results to return for the request in a single
15689
+ # page. The remaining results of the initial request can be seen by
15690
+ # sending another request with the returned `NextToken` value. This
15691
+ # value can be between 5 and 1000; if `MaxResults` is given a value
15692
+ # larger than 1000, only 1000 results are returned.
15693
+ #
15694
+ # @option params [String] :next_token
15695
+ # The token to retrieve the next page of results.
15696
+ #
15697
+ # @return [Types::DescribeVpcEndpointConnectionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
15698
+ #
15699
+ # * {Types::DescribeVpcEndpointConnectionsResult#vpc_endpoint_connections #vpc_endpoint_connections} => Array&lt;Types::VpcEndpointConnection&gt;
15700
+ # * {Types::DescribeVpcEndpointConnectionsResult#next_token #next_token} => String
15701
+ #
15702
+ # @example Request syntax with placeholder values
15703
+ #
15704
+ # resp = client.describe_vpc_endpoint_connections({
15705
+ # dry_run: false,
15706
+ # filters: [
15707
+ # {
15708
+ # name: "String",
15709
+ # values: ["String"],
15710
+ # },
15711
+ # ],
15712
+ # max_results: 1,
15713
+ # next_token: "String",
15714
+ # })
15715
+ #
15716
+ # @example Response structure
15717
+ #
15718
+ # resp.vpc_endpoint_connections #=> Array
15719
+ # resp.vpc_endpoint_connections[0].service_id #=> String
15720
+ # resp.vpc_endpoint_connections[0].vpc_endpoint_id #=> String
15721
+ # resp.vpc_endpoint_connections[0].vpc_endpoint_owner #=> String
15722
+ # resp.vpc_endpoint_connections[0].vpc_endpoint_state #=> String, one of "PendingAcceptance", "Pending", "Available", "Deleting", "Deleted", "Rejected", "Failed", "Expired"
15723
+ # resp.vpc_endpoint_connections[0].creation_timestamp #=> Time
15724
+ # resp.next_token #=> String
15725
+ #
15726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections AWS API Documentation
15727
+ #
15728
+ # @overload describe_vpc_endpoint_connections(params = {})
15729
+ # @param [Hash] params ({})
15730
+ def describe_vpc_endpoint_connections(params = {}, options = {})
15731
+ req = build_request(:describe_vpc_endpoint_connections, params)
15732
+ req.send_request(options)
15733
+ end
15734
+
15735
+ # Describes the VPC endpoint service configurations in your account
15736
+ # (your services).
15737
+ #
15738
+ # @option params [Boolean] :dry_run
15739
+ # Checks whether you have the required permissions for the action,
15740
+ # without actually making the request, and provides an error response.
15741
+ # If you have the required permissions, the error response is
15742
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
15743
+ #
15744
+ # @option params [Array<String>] :service_ids
15745
+ # The IDs of one or more services.
15746
+ #
15747
+ # @option params [Array<Types::Filter>] :filters
15748
+ # One or more filters.
15749
+ #
15750
+ # * `service-name` - The ARN of the service.
15751
+ #
15752
+ # * `vpc-endpoint-service-id` - The ID of the service.
15753
+ #
15754
+ # * `vpc-endpoint-service-state` - The state of the service (`Pending`
15755
+ # \| `Available` \| `Deleting` \| `Deleted` \| `Failed`).
15756
+ #
15757
+ # @option params [Integer] :max_results
15758
+ # The maximum number of results to return for the request in a single
15759
+ # page. The remaining results of the initial request can be seen by
15760
+ # sending another request with the returned `NextToken` value. This
15761
+ # value can be between 5 and 1000; if `MaxResults` is given a value
15762
+ # larger than 1000, only 1000 results are returned.
15763
+ #
15764
+ # @option params [String] :next_token
15765
+ # The token to retrieve the next page of results.
15766
+ #
15767
+ # @return [Types::DescribeVpcEndpointServiceConfigurationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
15768
+ #
15769
+ # * {Types::DescribeVpcEndpointServiceConfigurationsResult#service_configurations #service_configurations} => Array&lt;Types::ServiceConfiguration&gt;
15770
+ # * {Types::DescribeVpcEndpointServiceConfigurationsResult#next_token #next_token} => String
15771
+ #
15772
+ # @example Request syntax with placeholder values
15773
+ #
15774
+ # resp = client.describe_vpc_endpoint_service_configurations({
15775
+ # dry_run: false,
15776
+ # service_ids: ["String"],
15777
+ # filters: [
15778
+ # {
15779
+ # name: "String",
15780
+ # values: ["String"],
15781
+ # },
15782
+ # ],
15783
+ # max_results: 1,
15784
+ # next_token: "String",
15785
+ # })
15786
+ #
15787
+ # @example Response structure
15788
+ #
15789
+ # resp.service_configurations #=> Array
15790
+ # resp.service_configurations[0].service_type #=> Array
15791
+ # resp.service_configurations[0].service_type[0].service_type #=> String, one of "Interface", "Gateway"
15792
+ # resp.service_configurations[0].service_id #=> String
15793
+ # resp.service_configurations[0].service_name #=> String
15794
+ # resp.service_configurations[0].service_state #=> String, one of "Pending", "Available", "Deleting", "Deleted", "Failed"
15795
+ # resp.service_configurations[0].availability_zones #=> Array
15796
+ # resp.service_configurations[0].availability_zones[0] #=> String
15797
+ # resp.service_configurations[0].acceptance_required #=> Boolean
15798
+ # resp.service_configurations[0].network_load_balancer_arns #=> Array
15799
+ # resp.service_configurations[0].network_load_balancer_arns[0] #=> String
15800
+ # resp.service_configurations[0].base_endpoint_dns_names #=> Array
15801
+ # resp.service_configurations[0].base_endpoint_dns_names[0] #=> String
15802
+ # resp.service_configurations[0].private_dns_name #=> String
15803
+ # resp.next_token #=> String
14483
15804
  #
14484
- # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink AWS API Documentation
15805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations AWS API Documentation
14485
15806
  #
14486
- # @overload describe_vpc_classic_link(params = {})
15807
+ # @overload describe_vpc_endpoint_service_configurations(params = {})
14487
15808
  # @param [Hash] params ({})
14488
- def describe_vpc_classic_link(params = {}, options = {})
14489
- req = build_request(:describe_vpc_classic_link, params)
15809
+ def describe_vpc_endpoint_service_configurations(params = {}, options = {})
15810
+ req = build_request(:describe_vpc_endpoint_service_configurations, params)
14490
15811
  req.send_request(options)
14491
15812
  end
14492
15813
 
14493
- # Describes the ClassicLink DNS support status of one or more VPCs. If
14494
- # enabled, the DNS hostname of a linked EC2-Classic instance resolves to
14495
- # its private IP address when addressed from an instance in the VPC to
14496
- # which it's linked. Similarly, the DNS hostname of an instance in a
14497
- # VPC resolves to its private IP address when addressed from a linked
14498
- # EC2-Classic instance. For more information, see [ClassicLink][1] in
14499
- # the *Amazon Elastic Compute Cloud User Guide*.
15814
+ # Describes the principals (service consumers) that are permitted to
15815
+ # discover your VPC endpoint service.
15816
+ #
15817
+ # @option params [Boolean] :dry_run
15818
+ # Checks whether you have the required permissions for the action,
15819
+ # without actually making the request, and provides an error response.
15820
+ # If you have the required permissions, the error response is
15821
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
15822
+ #
15823
+ # @option params [required, String] :service_id
15824
+ # The ID of the service.
14500
15825
  #
15826
+ # @option params [Array<Types::Filter>] :filters
15827
+ # One or more filters.
14501
15828
  #
15829
+ # * `principal` - The ARN of the principal.
14502
15830
  #
14503
- # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
15831
+ # * `principal-type` - The principal type (`All` \| `Service` \|
15832
+ # `OrganizationUnit` \| `Account` \| `User` \| `Role`).
14504
15833
  #
14505
15834
  # @option params [Integer] :max_results
14506
- # The maximum number of items to return for this request. The request
14507
- # returns a token that you can specify in a subsequent call to get the
14508
- # next set of results.
15835
+ # The maximum number of results to return for the request in a single
15836
+ # page. The remaining results of the initial request can be seen by
15837
+ # sending another request with the returned `NextToken` value. This
15838
+ # value can be between 5 and 1000; if `MaxResults` is given a value
15839
+ # larger than 1000, only 1000 results are returned.
14509
15840
  #
14510
15841
  # @option params [String] :next_token
14511
- # The token for the next set of items to return. (You received this
14512
- # token from a prior call.)
14513
- #
14514
- # @option params [Array<String>] :vpc_ids
14515
- # One or more VPC IDs.
15842
+ # The token to retrieve the next page of results.
14516
15843
  #
14517
- # @return [Types::DescribeVpcClassicLinkDnsSupportResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
15844
+ # @return [Types::DescribeVpcEndpointServicePermissionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
14518
15845
  #
14519
- # * {Types::DescribeVpcClassicLinkDnsSupportResult#next_token #next_token} => String
14520
- # * {Types::DescribeVpcClassicLinkDnsSupportResult#vpcs #vpcs} => Array&lt;Types::ClassicLinkDnsSupport&gt;
15846
+ # * {Types::DescribeVpcEndpointServicePermissionsResult#allowed_principals #allowed_principals} => Array&lt;Types::AllowedPrincipal&gt;
15847
+ # * {Types::DescribeVpcEndpointServicePermissionsResult#next_token #next_token} => String
14521
15848
  #
14522
15849
  # @example Request syntax with placeholder values
14523
15850
  #
14524
- # resp = client.describe_vpc_classic_link_dns_support({
15851
+ # resp = client.describe_vpc_endpoint_service_permissions({
15852
+ # dry_run: false,
15853
+ # service_id: "String", # required
15854
+ # filters: [
15855
+ # {
15856
+ # name: "String",
15857
+ # values: ["String"],
15858
+ # },
15859
+ # ],
14525
15860
  # max_results: 1,
14526
- # next_token: "NextToken",
14527
- # vpc_ids: ["String"],
15861
+ # next_token: "String",
14528
15862
  # })
14529
15863
  #
14530
15864
  # @example Response structure
14531
15865
  #
15866
+ # resp.allowed_principals #=> Array
15867
+ # resp.allowed_principals[0].principal_type #=> String, one of "All", "Service", "OrganizationUnit", "Account", "User", "Role"
15868
+ # resp.allowed_principals[0].principal #=> String
14532
15869
  # resp.next_token #=> String
14533
- # resp.vpcs #=> Array
14534
- # resp.vpcs[0].classic_link_dns_supported #=> Boolean
14535
- # resp.vpcs[0].vpc_id #=> String
14536
15870
  #
14537
- # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport AWS API Documentation
15871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions AWS API Documentation
14538
15872
  #
14539
- # @overload describe_vpc_classic_link_dns_support(params = {})
15873
+ # @overload describe_vpc_endpoint_service_permissions(params = {})
14540
15874
  # @param [Hash] params ({})
14541
- def describe_vpc_classic_link_dns_support(params = {}, options = {})
14542
- req = build_request(:describe_vpc_classic_link_dns_support, params)
15875
+ def describe_vpc_endpoint_service_permissions(params = {}, options = {})
15876
+ req = build_request(:describe_vpc_endpoint_service_permissions, params)
14543
15877
  req.send_request(options)
14544
15878
  end
14545
15879
 
14546
- # Describes all supported AWS services that can be specified when
14547
- # creating a VPC endpoint.
15880
+ # Describes available services to which you can create a VPC endpoint.
14548
15881
  #
14549
15882
  # @option params [Boolean] :dry_run
14550
15883
  # Checks whether you have the required permissions for the action,
@@ -14636,7 +15969,7 @@ module Aws::EC2
14636
15969
  # @option params [Array<Types::Filter>] :filters
14637
15970
  # One or more filters.
14638
15971
  #
14639
- # * `service-name`\: The name of the AWS service.
15972
+ # * `service-name`\: The name of the service.
14640
15973
  #
14641
15974
  # * `vpc-id`\: The ID of the VPC in which the endpoint resides.
14642
15975
  #
@@ -15407,7 +16740,7 @@ module Aws::EC2
15407
16740
  # resp.attach_time #=> Time
15408
16741
  # resp.device #=> String
15409
16742
  # resp.instance_id #=> String
15410
- # resp.state #=> String, one of "attaching", "attached", "detaching", "detached"
16743
+ # resp.state #=> String, one of "attaching", "attached", "detaching", "detached", "busy"
15411
16744
  # resp.volume_id #=> String
15412
16745
  # resp.delete_on_termination #=> Boolean
15413
16746
  #
@@ -16113,6 +17446,105 @@ module Aws::EC2
16113
17446
  req.send_request(options)
16114
17447
  end
16115
17448
 
17449
+ # Retrieves the configuration data of the specified instance. You can
17450
+ # use this data to create a launch template.
17451
+ #
17452
+ # @option params [Boolean] :dry_run
17453
+ # Checks whether you have the required permissions for the action,
17454
+ # without actually making the request, and provides an error response.
17455
+ # If you have the required permissions, the error response is
17456
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
17457
+ #
17458
+ # @option params [required, String] :instance_id
17459
+ # The ID of the instance.
17460
+ #
17461
+ # @return [Types::GetLaunchTemplateDataResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
17462
+ #
17463
+ # * {Types::GetLaunchTemplateDataResult#launch_template_data #launch_template_data} => Types::ResponseLaunchTemplateData
17464
+ #
17465
+ # @example Request syntax with placeholder values
17466
+ #
17467
+ # resp = client.get_launch_template_data({
17468
+ # dry_run: false,
17469
+ # instance_id: "String", # required
17470
+ # })
17471
+ #
17472
+ # @example Response structure
17473
+ #
17474
+ # resp.launch_template_data.kernel_id #=> String
17475
+ # resp.launch_template_data.ebs_optimized #=> Boolean
17476
+ # resp.launch_template_data.iam_instance_profile.arn #=> String
17477
+ # resp.launch_template_data.iam_instance_profile.name #=> String
17478
+ # resp.launch_template_data.block_device_mappings #=> Array
17479
+ # resp.launch_template_data.block_device_mappings[0].device_name #=> String
17480
+ # resp.launch_template_data.block_device_mappings[0].virtual_name #=> String
17481
+ # resp.launch_template_data.block_device_mappings[0].ebs.encrypted #=> Boolean
17482
+ # resp.launch_template_data.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
17483
+ # resp.launch_template_data.block_device_mappings[0].ebs.iops #=> Integer
17484
+ # resp.launch_template_data.block_device_mappings[0].ebs.kms_key_id #=> String
17485
+ # resp.launch_template_data.block_device_mappings[0].ebs.snapshot_id #=> String
17486
+ # resp.launch_template_data.block_device_mappings[0].ebs.volume_size #=> Integer
17487
+ # resp.launch_template_data.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
17488
+ # resp.launch_template_data.block_device_mappings[0].no_device #=> String
17489
+ # resp.launch_template_data.network_interfaces #=> Array
17490
+ # resp.launch_template_data.network_interfaces[0].associate_public_ip_address #=> Boolean
17491
+ # resp.launch_template_data.network_interfaces[0].delete_on_termination #=> Boolean
17492
+ # resp.launch_template_data.network_interfaces[0].description #=> String
17493
+ # resp.launch_template_data.network_interfaces[0].device_index #=> Integer
17494
+ # resp.launch_template_data.network_interfaces[0].groups #=> Array
17495
+ # resp.launch_template_data.network_interfaces[0].groups[0] #=> String
17496
+ # resp.launch_template_data.network_interfaces[0].ipv_6_address_count #=> Integer
17497
+ # resp.launch_template_data.network_interfaces[0].ipv_6_addresses #=> Array
17498
+ # resp.launch_template_data.network_interfaces[0].ipv_6_addresses[0].ipv_6_address #=> String
17499
+ # resp.launch_template_data.network_interfaces[0].network_interface_id #=> String
17500
+ # resp.launch_template_data.network_interfaces[0].private_ip_address #=> String
17501
+ # resp.launch_template_data.network_interfaces[0].private_ip_addresses #=> Array
17502
+ # resp.launch_template_data.network_interfaces[0].private_ip_addresses[0].primary #=> Boolean
17503
+ # resp.launch_template_data.network_interfaces[0].private_ip_addresses[0].private_ip_address #=> String
17504
+ # resp.launch_template_data.network_interfaces[0].secondary_private_ip_address_count #=> Integer
17505
+ # resp.launch_template_data.network_interfaces[0].subnet_id #=> String
17506
+ # resp.launch_template_data.image_id #=> String
17507
+ # resp.launch_template_data.instance_type #=> String, one of "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", "x1e.xlarge", "x1e.2xlarge", "x1e.4xlarge", "x1e.8xlarge", "x1e.16xlarge", "x1e.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", "c5.large", "c5.xlarge", "c5.2xlarge", "c5.4xlarge", "c5.9xlarge", "c5.18xlarge", "cc1.4xlarge", "cc2.8xlarge", "g2.2xlarge", "g2.8xlarge", "g3.4xlarge", "g3.8xlarge", "g3.16xlarge", "cg1.4xlarge", "p2.xlarge", "p2.8xlarge", "p2.16xlarge", "p3.2xlarge", "p3.8xlarge", "p3.16xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "f1.2xlarge", "f1.16xlarge"
17508
+ # resp.launch_template_data.key_name #=> String
17509
+ # resp.launch_template_data.monitoring.enabled #=> Boolean
17510
+ # resp.launch_template_data.placement.availability_zone #=> String
17511
+ # resp.launch_template_data.placement.affinity #=> String
17512
+ # resp.launch_template_data.placement.group_name #=> String
17513
+ # resp.launch_template_data.placement.host_id #=> String
17514
+ # resp.launch_template_data.placement.tenancy #=> String, one of "default", "dedicated", "host"
17515
+ # resp.launch_template_data.placement.spread_domain #=> String
17516
+ # resp.launch_template_data.ram_disk_id #=> String
17517
+ # resp.launch_template_data.disable_api_termination #=> Boolean
17518
+ # resp.launch_template_data.instance_initiated_shutdown_behavior #=> String, one of "stop", "terminate"
17519
+ # resp.launch_template_data.user_data #=> String
17520
+ # resp.launch_template_data.tag_specifications #=> Array
17521
+ # resp.launch_template_data.tag_specifications[0].resource_type #=> String, one of "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"
17522
+ # resp.launch_template_data.tag_specifications[0].tags #=> Array
17523
+ # resp.launch_template_data.tag_specifications[0].tags[0].key #=> String
17524
+ # resp.launch_template_data.tag_specifications[0].tags[0].value #=> String
17525
+ # resp.launch_template_data.elastic_gpu_specifications #=> Array
17526
+ # resp.launch_template_data.elastic_gpu_specifications[0].type #=> String
17527
+ # resp.launch_template_data.security_group_ids #=> Array
17528
+ # resp.launch_template_data.security_group_ids[0] #=> String
17529
+ # resp.launch_template_data.security_groups #=> Array
17530
+ # resp.launch_template_data.security_groups[0] #=> String
17531
+ # resp.launch_template_data.instance_market_options.market_type #=> String, one of "spot"
17532
+ # resp.launch_template_data.instance_market_options.spot_options.max_price #=> String
17533
+ # resp.launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
17534
+ # resp.launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
17535
+ # resp.launch_template_data.instance_market_options.spot_options.valid_until #=> Time
17536
+ # resp.launch_template_data.instance_market_options.spot_options.instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
17537
+ # resp.launch_template_data.credit_specification.cpu_credits #=> String
17538
+ #
17539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData AWS API Documentation
17540
+ #
17541
+ # @overload get_launch_template_data(params = {})
17542
+ # @param [Hash] params ({})
17543
+ def get_launch_template_data(params = {}, options = {})
17544
+ req = build_request(:get_launch_template_data, params)
17545
+ req.send_request(options)
17546
+ end
17547
+
16116
17548
  # Retrieves the encrypted administrator password for a running Windows
16117
17549
  # instance.
16118
17550
  #
@@ -17305,6 +18737,73 @@ module Aws::EC2
17305
18737
  req.send_request(options)
17306
18738
  end
17307
18739
 
18740
+ # Modifies a launch template. You can specify which version of the
18741
+ # launch template to set as the default version. When launching an
18742
+ # instance, the default version applies when a launch template version
18743
+ # is not specified.
18744
+ #
18745
+ # @option params [Boolean] :dry_run
18746
+ # Checks whether you have the required permissions for the action,
18747
+ # without actually making the request, and provides an error response.
18748
+ # If you have the required permissions, the error response is
18749
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
18750
+ #
18751
+ # @option params [String] :client_token
18752
+ # Unique, case-sensitive identifier you provide to ensure the
18753
+ # idempotency of the request. For more information, see [Ensuring
18754
+ # Idempotency][1].
18755
+ #
18756
+ #
18757
+ #
18758
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
18759
+ #
18760
+ # @option params [String] :launch_template_id
18761
+ # The ID of the launch template. You must specify either the launch
18762
+ # template ID or launch template name in the request.
18763
+ #
18764
+ # @option params [String] :launch_template_name
18765
+ # The name of the launch template. You must specify either the launch
18766
+ # template ID or launch template name in the request.
18767
+ #
18768
+ # @option params [String] :default_version
18769
+ # The version number of the launch template to set as the default
18770
+ # version.
18771
+ #
18772
+ # @return [Types::ModifyLaunchTemplateResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
18773
+ #
18774
+ # * {Types::ModifyLaunchTemplateResult#launch_template #launch_template} => Types::LaunchTemplate
18775
+ #
18776
+ # @example Request syntax with placeholder values
18777
+ #
18778
+ # resp = client.modify_launch_template({
18779
+ # dry_run: false,
18780
+ # client_token: "String",
18781
+ # launch_template_id: "String",
18782
+ # launch_template_name: "LaunchTemplateName",
18783
+ # default_version: "String",
18784
+ # })
18785
+ #
18786
+ # @example Response structure
18787
+ #
18788
+ # resp.launch_template.launch_template_id #=> String
18789
+ # resp.launch_template.launch_template_name #=> String
18790
+ # resp.launch_template.create_time #=> Time
18791
+ # resp.launch_template.created_by #=> String
18792
+ # resp.launch_template.default_version_number #=> Integer
18793
+ # resp.launch_template.latest_version_number #=> Integer
18794
+ # resp.launch_template.tags #=> Array
18795
+ # resp.launch_template.tags[0].key #=> String
18796
+ # resp.launch_template.tags[0].value #=> String
18797
+ #
18798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate AWS API Documentation
18799
+ #
18800
+ # @overload modify_launch_template(params = {})
18801
+ # @param [Hash] params ({})
18802
+ def modify_launch_template(params = {}, options = {})
18803
+ req = build_request(:modify_launch_template, params)
18804
+ req.send_request(options)
18805
+ end
18806
+
17308
18807
  # Modifies the specified network interface attribute. You can specify
17309
18808
  # only one attribute at a time.
17310
18809
  #
@@ -17596,37 +19095,40 @@ module Aws::EC2
17596
19095
  req.send_request(options)
17597
19096
  end
17598
19097
 
17599
- # Modifies the specified Spot fleet request.
19098
+ # Modifies the specified Spot Fleet request.
17600
19099
  #
17601
- # While the Spot fleet request is being modified, it is in the
19100
+ # While the Spot Fleet request is being modified, it is in the
17602
19101
  # `modifying` state.
17603
19102
  #
17604
- # To scale up your Spot fleet, increase its target capacity. The Spot
17605
- # fleet launches the additional Spot instances according to the
17606
- # allocation strategy for the Spot fleet request. If the allocation
17607
- # strategy is `lowestPrice`, the Spot fleet launches instances using the
19103
+ # To scale up your Spot Fleet, increase its target capacity. The Spot
19104
+ # Fleet launches the additional Spot Instances according to the
19105
+ # allocation strategy for the Spot Fleet request. If the allocation
19106
+ # strategy is `lowestPrice`, the Spot Fleet launches instances using the
17608
19107
  # Spot pool with the lowest price. If the allocation strategy is
17609
- # `diversified`, the Spot fleet distributes the instances across the
19108
+ # `diversified`, the Spot Fleet distributes the instances across the
17610
19109
  # Spot pools.
17611
19110
  #
17612
- # To scale down your Spot fleet, decrease its target capacity. First,
17613
- # the Spot fleet cancels any open bids that exceed the new target
17614
- # capacity. You can request that the Spot fleet terminate Spot instances
19111
+ # To scale down your Spot Fleet, decrease its target capacity. First,
19112
+ # the Spot Fleet cancels any open requests that exceed the new target
19113
+ # capacity. You can request that the Spot Fleet terminate Spot Instances
17615
19114
  # until the size of the fleet no longer exceeds the new target capacity.
17616
- # If the allocation strategy is `lowestPrice`, the Spot fleet terminates
19115
+ # If the allocation strategy is `lowestPrice`, the Spot Fleet terminates
17617
19116
  # the instances with the highest price per unit. If the allocation
17618
- # strategy is `diversified`, the Spot fleet terminates instances across
17619
- # the Spot pools. Alternatively, you can request that the Spot fleet
17620
- # keep the fleet at its current size, but not replace any Spot instances
19117
+ # strategy is `diversified`, the Spot Fleet terminates instances across
19118
+ # the Spot pools. Alternatively, you can request that the Spot Fleet
19119
+ # keep the fleet at its current size, but not replace any Spot Instances
17621
19120
  # that are interrupted or that you terminate manually.
17622
19121
  #
19122
+ # If you are finished with your Spot Fleet for now, but will use it
19123
+ # again later, you can set the target capacity to 0.
19124
+ #
17623
19125
  # @option params [String] :excess_capacity_termination_policy
17624
- # Indicates whether running Spot instances should be terminated if the
17625
- # target capacity of the Spot fleet request is decreased below the
17626
- # current size of the Spot fleet.
19126
+ # Indicates whether running Spot Instances should be terminated if the
19127
+ # target capacity of the Spot Fleet request is decreased below the
19128
+ # current size of the Spot Fleet.
17627
19129
  #
17628
19130
  # @option params [required, String] :spot_fleet_request_id
17629
- # The ID of the Spot fleet request.
19131
+ # The ID of the Spot Fleet request.
17630
19132
  #
17631
19133
  # @option params [Integer] :target_capacity
17632
19134
  # The size of the fleet.
@@ -18100,6 +19602,152 @@ module Aws::EC2
18100
19602
  req.send_request(options)
18101
19603
  end
18102
19604
 
19605
+ # Modifies a connection notification for VPC endpoint or VPC endpoint
19606
+ # service. You can change the SNS topic for the notification, or the
19607
+ # events for which to be notified.
19608
+ #
19609
+ # @option params [Boolean] :dry_run
19610
+ # Checks whether you have the required permissions for the action,
19611
+ # without actually making the request, and provides an error response.
19612
+ # If you have the required permissions, the error response is
19613
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19614
+ #
19615
+ # @option params [required, String] :connection_notification_id
19616
+ # The ID of the notification.
19617
+ #
19618
+ # @option params [String] :connection_notification_arn
19619
+ # The ARN for the SNS topic for the notification.
19620
+ #
19621
+ # @option params [Array<String>] :connection_events
19622
+ # One or more events for the endpoint. Valid values are `Accept`,
19623
+ # `Connect`, `Delete`, and `Reject`.
19624
+ #
19625
+ # @return [Types::ModifyVpcEndpointConnectionNotificationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
19626
+ #
19627
+ # * {Types::ModifyVpcEndpointConnectionNotificationResult#return_value #return_value} => Boolean
19628
+ #
19629
+ # @example Request syntax with placeholder values
19630
+ #
19631
+ # resp = client.modify_vpc_endpoint_connection_notification({
19632
+ # dry_run: false,
19633
+ # connection_notification_id: "String", # required
19634
+ # connection_notification_arn: "String",
19635
+ # connection_events: ["String"],
19636
+ # })
19637
+ #
19638
+ # @example Response structure
19639
+ #
19640
+ # resp.return_value #=> Boolean
19641
+ #
19642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification AWS API Documentation
19643
+ #
19644
+ # @overload modify_vpc_endpoint_connection_notification(params = {})
19645
+ # @param [Hash] params ({})
19646
+ def modify_vpc_endpoint_connection_notification(params = {}, options = {})
19647
+ req = build_request(:modify_vpc_endpoint_connection_notification, params)
19648
+ req.send_request(options)
19649
+ end
19650
+
19651
+ # Modifies the attributes of your VPC endpoint service configuration.
19652
+ # You can change the Network Load Balancers for your service, and you
19653
+ # can specify whether acceptance is required for requests to connect to
19654
+ # your endpoint service through an interface VPC endpoint.
19655
+ #
19656
+ # @option params [Boolean] :dry_run
19657
+ # Checks whether you have the required permissions for the action,
19658
+ # without actually making the request, and provides an error response.
19659
+ # If you have the required permissions, the error response is
19660
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19661
+ #
19662
+ # @option params [required, String] :service_id
19663
+ # The ID of the service.
19664
+ #
19665
+ # @option params [Boolean] :acceptance_required
19666
+ # Indicate whether requests to create an endpoint to your service must
19667
+ # be accepted.
19668
+ #
19669
+ # @option params [Array<String>] :add_network_load_balancer_arns
19670
+ # The Amazon Resource Names (ARNs) of Network Load Balancers to add to
19671
+ # your service configuration.
19672
+ #
19673
+ # @option params [Array<String>] :remove_network_load_balancer_arns
19674
+ # The Amazon Resource Names (ARNs) of Network Load Balancers to remove
19675
+ # from your service configuration.
19676
+ #
19677
+ # @return [Types::ModifyVpcEndpointServiceConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
19678
+ #
19679
+ # * {Types::ModifyVpcEndpointServiceConfigurationResult#return #return} => Boolean
19680
+ #
19681
+ # @example Request syntax with placeholder values
19682
+ #
19683
+ # resp = client.modify_vpc_endpoint_service_configuration({
19684
+ # dry_run: false,
19685
+ # service_id: "String", # required
19686
+ # acceptance_required: false,
19687
+ # add_network_load_balancer_arns: ["String"],
19688
+ # remove_network_load_balancer_arns: ["String"],
19689
+ # })
19690
+ #
19691
+ # @example Response structure
19692
+ #
19693
+ # resp.return #=> Boolean
19694
+ #
19695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration AWS API Documentation
19696
+ #
19697
+ # @overload modify_vpc_endpoint_service_configuration(params = {})
19698
+ # @param [Hash] params ({})
19699
+ def modify_vpc_endpoint_service_configuration(params = {}, options = {})
19700
+ req = build_request(:modify_vpc_endpoint_service_configuration, params)
19701
+ req.send_request(options)
19702
+ end
19703
+
19704
+ # Modifies the permissions for your VPC endpoint service. You can add or
19705
+ # remove permissions for service consumers (IAM users, IAM roles, and
19706
+ # AWS accounts) to discover your endpoint service.
19707
+ #
19708
+ # @option params [Boolean] :dry_run
19709
+ # Checks whether you have the required permissions for the action,
19710
+ # without actually making the request, and provides an error response.
19711
+ # If you have the required permissions, the error response is
19712
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19713
+ #
19714
+ # @option params [required, String] :service_id
19715
+ # The ID of the service.
19716
+ #
19717
+ # @option params [Array<String>] :add_allowed_principals
19718
+ # One or more Amazon Resource Names (ARNs) of principals for which to
19719
+ # allow permission. Specify `*` to allow all principals.
19720
+ #
19721
+ # @option params [Array<String>] :remove_allowed_principals
19722
+ # One or more Amazon Resource Names (ARNs) of principals for which to
19723
+ # remove permission.
19724
+ #
19725
+ # @return [Types::ModifyVpcEndpointServicePermissionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
19726
+ #
19727
+ # * {Types::ModifyVpcEndpointServicePermissionsResult#return_value #return_value} => Boolean
19728
+ #
19729
+ # @example Request syntax with placeholder values
19730
+ #
19731
+ # resp = client.modify_vpc_endpoint_service_permissions({
19732
+ # dry_run: false,
19733
+ # service_id: "String", # required
19734
+ # add_allowed_principals: ["String"],
19735
+ # remove_allowed_principals: ["String"],
19736
+ # })
19737
+ #
19738
+ # @example Response structure
19739
+ #
19740
+ # resp.return_value #=> Boolean
19741
+ #
19742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions AWS API Documentation
19743
+ #
19744
+ # @overload modify_vpc_endpoint_service_permissions(params = {})
19745
+ # @param [Hash] params ({})
19746
+ def modify_vpc_endpoint_service_permissions(params = {}, options = {})
19747
+ req = build_request(:modify_vpc_endpoint_service_permissions, params)
19748
+ req.send_request(options)
19749
+ end
19750
+
18103
19751
  # Modifies the VPC peering connection options on one side of a VPC
18104
19752
  # peering connection. You can do the following:
18105
19753
  #
@@ -18744,7 +20392,7 @@ module Aws::EC2
18744
20392
  # with a PV AMI can make instances launched from the AMI unreachable.
18745
20393
  #
18746
20394
  # @option params [String] :virtualization_type
18747
- # The type of virtualization.
20395
+ # The type of virtualization (`hvm` \| `paravirtual`).
18748
20396
  #
18749
20397
  # Default: `paravirtual`
18750
20398
  #
@@ -18765,6 +20413,7 @@ module Aws::EC2
18765
20413
  # encrypted: false,
18766
20414
  # delete_on_termination: false,
18767
20415
  # iops: 1,
20416
+ # kms_key_id: "String",
18768
20417
  # snapshot_id: "String",
18769
20418
  # volume_size: 1,
18770
20419
  # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
@@ -18797,6 +20446,49 @@ module Aws::EC2
18797
20446
  req.send_request(options)
18798
20447
  end
18799
20448
 
20449
+ # Rejects one or more VPC endpoint connection requests to your VPC
20450
+ # endpoint service.
20451
+ #
20452
+ # @option params [Boolean] :dry_run
20453
+ # Checks whether you have the required permissions for the action,
20454
+ # without actually making the request, and provides an error response.
20455
+ # If you have the required permissions, the error response is
20456
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
20457
+ #
20458
+ # @option params [required, String] :service_id
20459
+ # The ID of the service.
20460
+ #
20461
+ # @option params [required, Array<String>] :vpc_endpoint_ids
20462
+ # The IDs of one or more VPC endpoints.
20463
+ #
20464
+ # @return [Types::RejectVpcEndpointConnectionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
20465
+ #
20466
+ # * {Types::RejectVpcEndpointConnectionsResult#unsuccessful #unsuccessful} => Array&lt;Types::UnsuccessfulItem&gt;
20467
+ #
20468
+ # @example Request syntax with placeholder values
20469
+ #
20470
+ # resp = client.reject_vpc_endpoint_connections({
20471
+ # dry_run: false,
20472
+ # service_id: "String", # required
20473
+ # vpc_endpoint_ids: ["String"], # required
20474
+ # })
20475
+ #
20476
+ # @example Response structure
20477
+ #
20478
+ # resp.unsuccessful #=> Array
20479
+ # resp.unsuccessful[0].error.code #=> String
20480
+ # resp.unsuccessful[0].error.message #=> String
20481
+ # resp.unsuccessful[0].resource_id #=> String
20482
+ #
20483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections AWS API Documentation
20484
+ #
20485
+ # @overload reject_vpc_endpoint_connections(params = {})
20486
+ # @param [Hash] params ({})
20487
+ def reject_vpc_endpoint_connections(params = {}, options = {})
20488
+ req = build_request(:reject_vpc_endpoint_connections, params)
20489
+ req.send_request(options)
20490
+ end
20491
+
18800
20492
  # Rejects a VPC peering connection request. The VPC peering connection
18801
20493
  # must be in the `pending-acceptance` state. Use the
18802
20494
  # DescribeVpcPeeringConnections request to view your outstanding VPC
@@ -19401,23 +21093,27 @@ module Aws::EC2
19401
21093
  req.send_request(options)
19402
21094
  end
19403
21095
 
19404
- # Creates a Spot fleet request.
21096
+ # Creates a Spot Fleet request.
19405
21097
  #
19406
21098
  # You can submit a single request that includes multiple launch
19407
21099
  # specifications that vary by instance type, AMI, Availability Zone, or
19408
21100
  # subnet.
19409
21101
  #
19410
- # By default, the Spot fleet requests Spot instances in the Spot pool
21102
+ # By default, the Spot Fleet requests Spot Instances in the Spot pool
19411
21103
  # where the price per unit is the lowest. Each launch specification can
19412
21104
  # include its own instance weighting that reflects the value of the
19413
21105
  # instance type to your application workload.
19414
21106
  #
19415
- # Alternatively, you can specify that the Spot fleet distribute the
21107
+ # Alternatively, you can specify that the Spot Fleet distribute the
19416
21108
  # target capacity across the Spot pools included in its launch
19417
- # specifications. By ensuring that the Spot instances in your Spot fleet
21109
+ # specifications. By ensuring that the Spot Instances in your Spot Fleet
19418
21110
  # are in different Spot pools, you can improve the availability of your
19419
21111
  # fleet.
19420
21112
  #
21113
+ # You can specify tags for the Spot Instances. You cannot tag other
21114
+ # resource types in a Spot Fleet request; only the `instance` resource
21115
+ # type is supported.
21116
+ #
19421
21117
  # For more information, see [Spot Fleet Requests][1] in the *Amazon
19422
21118
  # Elastic Compute Cloud User Guide*.
19423
21119
  #
@@ -19432,7 +21128,7 @@ module Aws::EC2
19432
21128
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19433
21129
  #
19434
21130
  # @option params [required, Types::SpotFleetRequestConfigData] :spot_fleet_request_config
19435
- # The configuration for the Spot fleet request.
21131
+ # The configuration for the Spot Fleet request.
19436
21132
  #
19437
21133
  # @return [Types::RequestSpotFleetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
19438
21134
  #
@@ -19599,7 +21295,7 @@ module Aws::EC2
19599
21295
  # excess_capacity_termination_policy: "noTermination", # accepts noTermination, default
19600
21296
  # fulfilled_capacity: 1.0,
19601
21297
  # iam_fleet_role: "String", # required
19602
- # launch_specifications: [ # required
21298
+ # launch_specifications: [
19603
21299
  # {
19604
21300
  # security_groups: [
19605
21301
  # {
@@ -19616,6 +21312,7 @@ module Aws::EC2
19616
21312
  # encrypted: false,
19617
21313
  # delete_on_termination: false,
19618
21314
  # iops: 1,
21315
+ # kms_key_id: "String",
19619
21316
  # snapshot_id: "String",
19620
21317
  # volume_size: 1,
19621
21318
  # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
@@ -19683,14 +21380,32 @@ module Aws::EC2
19683
21380
  # ],
19684
21381
  # },
19685
21382
  # ],
19686
- # spot_price: "String", # required
21383
+ # launch_template_configs: [
21384
+ # {
21385
+ # launch_template_specification: {
21386
+ # launch_template_id: "String",
21387
+ # launch_template_name: "LaunchTemplateName",
21388
+ # version: "String",
21389
+ # },
21390
+ # overrides: [
21391
+ # {
21392
+ # 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, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.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, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge
21393
+ # spot_price: "String",
21394
+ # subnet_id: "String",
21395
+ # availability_zone: "String",
21396
+ # weighted_capacity: 1.0,
21397
+ # },
21398
+ # ],
21399
+ # },
21400
+ # ],
21401
+ # spot_price: "String",
19687
21402
  # target_capacity: 1, # required
19688
21403
  # terminate_instances_with_expiration: false,
19689
21404
  # type: "request", # accepts request, maintain
19690
21405
  # valid_from: Time.now,
19691
21406
  # valid_until: Time.now,
19692
21407
  # replace_unhealthy_instances: false,
19693
- # instance_interruption_behavior: "stop", # accepts stop, terminate
21408
+ # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
19694
21409
  # load_balancers_config: {
19695
21410
  # classic_load_balancers_config: {
19696
21411
  # classic_load_balancers: [ # required
@@ -19723,48 +21438,46 @@ module Aws::EC2
19723
21438
  req.send_request(options)
19724
21439
  end
19725
21440
 
19726
- # Creates a Spot instance request. Spot instances are instances that
19727
- # Amazon EC2 launches when the bid price that you specify exceeds the
19728
- # current Spot price. Amazon EC2 periodically sets the Spot price based
19729
- # on available Spot Instance capacity and current Spot instance
19730
- # requests. For more information, see [Spot Instance Requests][1] in the
19731
- # *Amazon Elastic Compute Cloud User Guide*.
21441
+ # Creates a Spot Instance request. Spot Instances are instances that
21442
+ # Amazon EC2 launches when the maximum price that you specify exceeds
21443
+ # the current Spot price. For more information, see [Spot Instance
21444
+ # Requests][1] in the *Amazon Elastic Compute Cloud User Guide*.
19732
21445
  #
19733
21446
  #
19734
21447
  #
19735
21448
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html
19736
21449
  #
19737
21450
  # @option params [String] :availability_zone_group
19738
- # The user-specified name for a logical grouping of bids.
21451
+ # The user-specified name for a logical grouping of requests.
19739
21452
  #
19740
21453
  # When you specify an Availability Zone group in a Spot Instance
19741
- # request, all Spot instances in the request are launched in the same
21454
+ # request, all Spot Instances in the request are launched in the same
19742
21455
  # Availability Zone. Instance proximity is maintained with this
19743
21456
  # parameter, but the choice of Availability Zone is not. The group
19744
- # applies only to bids for Spot Instances of the same instance type. Any
19745
- # additional Spot instance requests that are specified with the same
21457
+ # applies only to requests for Spot Instances of the same instance type.
21458
+ # Any additional Spot Instance requests that are specified with the same
19746
21459
  # Availability Zone group name are launched in that same Availability
19747
21460
  # Zone, as long as at least one instance from the group is still active.
19748
21461
  #
19749
21462
  # If there is no active instance running in the Availability Zone group
19750
- # that you specify for a new Spot instance request (all instances are
19751
- # terminated, the bid is expired, or the bid falls below current
19752
- # market), then Amazon EC2 launches the instance in any Availability
19753
- # Zone where the constraint can be met. Consequently, the subsequent set
19754
- # of Spot instances could be placed in a different zone from the
19755
- # original request, even if you specified the same Availability Zone
19756
- # group.
21463
+ # that you specify for a new Spot Instance request (all instances are
21464
+ # terminated, the request is expired, or the maximum price you specified
21465
+ # falls below current Spot price), then Amazon EC2 launches the instance
21466
+ # in any Availability Zone where the constraint can be met.
21467
+ # Consequently, the subsequent set of Spot Instances could be placed in
21468
+ # a different zone from the original request, even if you specified the
21469
+ # same Availability Zone group.
19757
21470
  #
19758
21471
  # Default: Instances are launched in any available Availability Zone.
19759
21472
  #
19760
21473
  # @option params [Integer] :block_duration_minutes
19761
- # The required duration for the Spot instances (also known as Spot
21474
+ # The required duration for the Spot Instances (also known as Spot
19762
21475
  # blocks), in minutes. This value must be a multiple of 60 (60, 120,
19763
21476
  # 180, 240, 300, or 360).
19764
21477
  #
19765
- # The duration period starts as soon as your Spot instance receives its
21478
+ # The duration period starts as soon as your Spot Instance receives its
19766
21479
  # instance ID. At the end of the duration period, Amazon EC2 marks the
19767
- # Spot instance for termination and provides a Spot instance termination
21480
+ # Spot Instance for termination and provides a Spot Instance termination
19768
21481
  # notice, which gives the instance a two-minute warning before it
19769
21482
  # terminates.
19770
21483
  #
@@ -19787,12 +21500,12 @@ module Aws::EC2
19787
21500
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19788
21501
  #
19789
21502
  # @option params [Integer] :instance_count
19790
- # The maximum number of Spot instances to launch.
21503
+ # The maximum number of Spot Instances to launch.
19791
21504
  #
19792
21505
  # Default: 1
19793
21506
  #
19794
21507
  # @option params [String] :launch_group
19795
- # The instance launch group. Launch groups are Spot instances that
21508
+ # The instance launch group. Launch groups are Spot Instances that
19796
21509
  # launch together and terminate together.
19797
21510
  #
19798
21511
  # Default: Instances are launched and terminated individually
@@ -19800,12 +21513,12 @@ module Aws::EC2
19800
21513
  # @option params [Types::RequestSpotLaunchSpecification] :launch_specification
19801
21514
  # The launch specification.
19802
21515
  #
19803
- # @option params [required, String] :spot_price
19804
- # The maximum hourly price (bid) for any Spot instance launched to
19805
- # fulfill the request.
21516
+ # @option params [String] :spot_price
21517
+ # The maximum price per hour that you are willing to pay for a Spot
21518
+ # Instance. The default is the On-Demand price.
19806
21519
  #
19807
21520
  # @option params [String] :type
19808
- # The Spot instance request type.
21521
+ # The Spot Instance request type.
19809
21522
  #
19810
21523
  # Default: `one-time`
19811
21524
  #
@@ -19816,19 +21529,16 @@ module Aws::EC2
19816
21529
  # If the request is persistent, the request becomes active at this date
19817
21530
  # and time and remains active until it expires or is canceled.
19818
21531
  #
19819
- # Default: The request is effective indefinitely.
19820
- #
19821
21532
  # @option params [Time,DateTime,Date,Integer,String] :valid_until
19822
21533
  # The end date of the request. If this is a one-time request, the
19823
21534
  # request remains active until all instances launch, the request is
19824
21535
  # canceled, or this date is reached. If the request is persistent, it
19825
- # remains active until it is canceled or this date and time is reached.
19826
- #
19827
- # Default: The request is effective indefinitely.
21536
+ # remains active until it is canceled or this date is reached. The
21537
+ # default end date is 7 days from the current date.
19828
21538
  #
19829
21539
  # @option params [String] :instance_interruption_behavior
19830
- # Indicates whether a Spot instance stops or terminates when it is
19831
- # interrupted.
21540
+ # The behavior when a Spot Instance is interrupted. The default is
21541
+ # `terminate`.
19832
21542
  #
19833
21543
  # @return [Types::RequestSpotInstancesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
19834
21544
  #
@@ -19906,6 +21616,7 @@ module Aws::EC2
19906
21616
  # encrypted: false,
19907
21617
  # delete_on_termination: false,
19908
21618
  # iops: 1,
21619
+ # kms_key_id: "String",
19909
21620
  # snapshot_id: "String",
19910
21621
  # volume_size: 1,
19911
21622
  # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
@@ -19959,11 +21670,11 @@ module Aws::EC2
19959
21670
  # subnet_id: "String",
19960
21671
  # user_data: "String",
19961
21672
  # },
19962
- # spot_price: "String", # required
21673
+ # spot_price: "String",
19963
21674
  # type: "one-time", # accepts one-time, persistent
19964
21675
  # valid_from: Time.now,
19965
21676
  # valid_until: Time.now,
19966
- # instance_interruption_behavior: "stop", # accepts stop, terminate
21677
+ # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
19967
21678
  # })
19968
21679
  #
19969
21680
  # @example Response structure
@@ -19988,6 +21699,7 @@ module Aws::EC2
19988
21699
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.encrypted #=> Boolean
19989
21700
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
19990
21701
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.iops #=> Integer
21702
+ # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.kms_key_id #=> String
19991
21703
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.snapshot_id #=> String
19992
21704
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.volume_size #=> Integer
19993
21705
  # resp.spot_instance_requests[0].launch_specification.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
@@ -20036,7 +21748,7 @@ module Aws::EC2
20036
21748
  # resp.spot_instance_requests[0].type #=> String, one of "one-time", "persistent"
20037
21749
  # resp.spot_instance_requests[0].valid_from #=> Time
20038
21750
  # resp.spot_instance_requests[0].valid_until #=> Time
20039
- # resp.spot_instance_requests[0].instance_interruption_behavior #=> String, one of "stop", "terminate"
21751
+ # resp.spot_instance_requests[0].instance_interruption_behavior #=> String, one of "hibernate", "stop", "terminate"
20040
21752
  #
20041
21753
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances AWS API Documentation
20042
21754
  #
@@ -20603,6 +22315,11 @@ module Aws::EC2
20603
22315
  # * If any of the AMIs have a product code attached for which the user
20604
22316
  # has not subscribed, the request fails.
20605
22317
  #
22318
+ # You can create a [launch template][4], which is a resource that
22319
+ # contains the parameters to launch an instance. When you launch an
22320
+ # instance using RunInstances, you can specify the launch template
22321
+ # instead of specifying the launch parameters.
22322
+ #
20606
22323
  # To ensure faster instance launches, break up large requests into
20607
22324
  # smaller batches. For example, create five separate launch requests for
20608
22325
  # 100 instances each instead of one launch request for 500 instances.
@@ -20611,16 +22328,16 @@ module Aws::EC2
20611
22328
  # You can check the state of your instance using DescribeInstances. You
20612
22329
  # can tag instances and EBS volumes during launch, after launch, or
20613
22330
  # both. For more information, see CreateTags and [Tagging Your Amazon
20614
- # EC2 Resources][4].
22331
+ # EC2 Resources][5].
20615
22332
  #
20616
22333
  # Linux instances have access to the public key of the key pair at boot.
20617
22334
  # You can use this key to provide secure access to the instance. Amazon
20618
22335
  # EC2 public images use this feature to provide secure access without
20619
- # passwords. For more information, see [Key Pairs][5] in the *Amazon
22336
+ # passwords. For more information, see [Key Pairs][6] in the *Amazon
20620
22337
  # Elastic Compute Cloud User Guide*.
20621
22338
  #
20622
22339
  # For troubleshooting, see [What To Do If An Instance Immediately
20623
- # Terminates][6], and [Troubleshooting Connecting to Your Instance][7]
22340
+ # Terminates][7], and [Troubleshooting Connecting to Your Instance][8]
20624
22341
  # in the *Amazon Elastic Compute Cloud User Guide*.
20625
22342
  #
20626
22343
  #
@@ -20628,10 +22345,11 @@ module Aws::EC2
20628
22345
  # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types
20629
22346
  # [2]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
20630
22347
  # [3]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
20631
- # [4]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
20632
- # [5]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
20633
- # [6]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html
20634
- # [7]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html
22348
+ # [4]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
22349
+ # [5]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
22350
+ # [6]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
22351
+ # [7]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html
22352
+ # [8]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html
20635
22353
  #
20636
22354
  # @option params [Array<Types::BlockDeviceMapping>] :block_device_mappings
20637
22355
  # One or more block device mapping entries. You can't specify both a
@@ -20640,7 +22358,7 @@ module Aws::EC2
20640
22358
  # volume, it is not blank and its encryption status is used for the
20641
22359
  # volume encryption status.
20642
22360
  #
20643
- # @option params [required, String] :image_id
22361
+ # @option params [String] :image_id
20644
22362
  # The ID of the AMI, which you can get by calling DescribeImages.
20645
22363
  #
20646
22364
  # @option params [String] :instance_type
@@ -20824,13 +22542,21 @@ module Aws::EC2
20824
22542
  # more than one instance in the request.
20825
22543
  #
20826
22544
  # @option params [Array<Types::ElasticGpuSpecification>] :elastic_gpu_specification
20827
- # An Elastic GPU to associate with the instance.
22545
+ # An elastic GPU to associate with the instance.
20828
22546
  #
20829
22547
  # @option params [Array<Types::TagSpecification>] :tag_specifications
20830
22548
  # The tags to apply to the resources during launch. You can tag
20831
22549
  # instances and volumes. The specified tags are applied to all instances
20832
22550
  # or volumes that are created during launch.
20833
22551
  #
22552
+ # @option params [Types::LaunchTemplateSpecification] :launch_template
22553
+ # The launch template to use to launch the instances. Any parameters
22554
+ # that you specify in RunInstances override the same parameters in the
22555
+ # launch template.
22556
+ #
22557
+ # @option params [Types::InstanceMarketOptionsRequest] :instance_market_options
22558
+ # The market (purchasing) option for the instances.
22559
+ #
20834
22560
  # @return [Types::Reservation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
20835
22561
  #
20836
22562
  # * {Types::Reservation#groups #groups} => Array&lt;Types::GroupIdentifier&gt;
@@ -20850,6 +22576,7 @@ module Aws::EC2
20850
22576
  # encrypted: false,
20851
22577
  # delete_on_termination: false,
20852
22578
  # iops: 1,
22579
+ # kms_key_id: "String",
20853
22580
  # snapshot_id: "String",
20854
22581
  # volume_size: 1,
20855
22582
  # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
@@ -20857,7 +22584,7 @@ module Aws::EC2
20857
22584
  # no_device: "String",
20858
22585
  # },
20859
22586
  # ],
20860
- # image_id: "String", # required
22587
+ # image_id: "String",
20861
22588
  # 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, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.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, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge
20862
22589
  # ipv_6_address_count: 1,
20863
22590
  # ipv_6_addresses: [
@@ -20937,6 +22664,21 @@ module Aws::EC2
20937
22664
  # ],
20938
22665
  # },
20939
22666
  # ],
22667
+ # launch_template: {
22668
+ # launch_template_id: "String",
22669
+ # launch_template_name: "String",
22670
+ # version: "String",
22671
+ # },
22672
+ # instance_market_options: {
22673
+ # market_type: "spot", # accepts spot
22674
+ # spot_options: {
22675
+ # max_price: "String",
22676
+ # spot_instance_type: "one-time", # accepts one-time, persistent
22677
+ # block_duration_minutes: 1,
22678
+ # valid_until: Time.now,
22679
+ # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
22680
+ # },
22681
+ # },
20940
22682
  # })
20941
22683
  #
20942
22684
  # @example Response structure
@@ -21793,7 +23535,7 @@ module Aws::EC2
21793
23535
  params: params,
21794
23536
  config: config)
21795
23537
  context[:gem_name] = 'aws-sdk-ec2'
21796
- context[:gem_version] = '1.18.0'
23538
+ context[:gem_version] = '1.19.0'
21797
23539
  Seahorse::Client::Request.new(handlers, context)
21798
23540
  end
21799
23541