aws-sdk-ecs 1.136.0 → 1.137.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,7 +23,8 @@ module Aws::ECS
23
23
  # @return [String]
24
24
  #
25
25
  # @!attribute [rw] type
26
- # The type of the attachment, such as `ElasticNetworkInterface`.
26
+ # The type of the attachment, such as `ElasticNetworkInterface`,
27
+ # `Service Connect`, and `AmazonElasticBlockStorage`.
27
28
  # @return [String]
28
29
  #
29
30
  # @!attribute [rw] status
@@ -33,9 +34,17 @@ module Aws::ECS
33
34
  # @return [String]
34
35
  #
35
36
  # @!attribute [rw] details
36
- # Details of the attachment. For elastic network interfaces, this
37
- # includes the network interface ID, the MAC address, the subnet ID,
38
- # and the private IPv4 address.
37
+ # Details of the attachment.
38
+ #
39
+ # For elastic network interfaces, this includes the network interface
40
+ # ID, the MAC address, the subnet ID, and the private IPv4 address.
41
+ #
42
+ # For Service Connect services, this includes `portName`,
43
+ # `clientAliases`, `discoveryName`, and `ingressPortOverride`.
44
+ #
45
+ # For elastic block storage, this includes `roleArn`, `encrypted`,
46
+ # `filesystemType`, `iops`, `kmsKeyId`, `sizeInGiB`, `snapshotId`,
47
+ # `tagSpecifications`, `throughput`, and `volumeType`.
39
48
  # @return [Array<Types::KeyValuePair>]
40
49
  #
41
50
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Attachment AWS API Documentation
@@ -165,8 +174,6 @@ module Aws::ECS
165
174
  # provider. When you enable this, Amazon ECS manages and gracefully
166
175
  # drains the EC2 container instances that are in the Auto Scaling
167
176
  # group capacity provider.
168
- #
169
- # The default is `ENABLED`.
170
177
  # @return [String]
171
178
  #
172
179
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AutoScalingGroupProvider AWS API Documentation
@@ -216,8 +223,6 @@ module Aws::ECS
216
223
  # provider. When you enable this, Amazon ECS manages and gracefully
217
224
  # drains the EC2 container instances that are in the Auto Scaling
218
225
  # group capacity provider.
219
- #
220
- # The default is `ENABLED`.
221
226
  # @return [String]
222
227
  #
223
228
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AutoScalingGroupProviderUpdate AWS API Documentation
@@ -2993,6 +2998,12 @@ module Aws::ECS
2993
2998
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
2994
2999
  # @return [Types::ServiceConnectConfiguration]
2995
3000
  #
3001
+ # @!attribute [rw] volume_configurations
3002
+ # The configuration for a volume specified in the task definition as a
3003
+ # volume that is configured at launch time. Currently, the only
3004
+ # supported volume type is an Amazon EBS volume.
3005
+ # @return [Array<Types::ServiceVolumeConfiguration>]
3006
+ #
2996
3007
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
2997
3008
  #
2998
3009
  class CreateServiceRequest < Struct.new(
@@ -3018,7 +3029,8 @@ module Aws::ECS
3018
3029
  :enable_ecs_managed_tags,
3019
3030
  :propagate_tags,
3020
3031
  :enable_execute_command,
3021
- :service_connect_configuration)
3032
+ :service_connect_configuration,
3033
+ :volume_configurations)
3022
3034
  SENSITIVE = []
3023
3035
  include Aws::Structure
3024
3036
  end
@@ -3614,6 +3626,17 @@ module Aws::ECS
3614
3626
  # service name.
3615
3627
  # @return [Array<Types::ServiceConnectServiceResource>]
3616
3628
  #
3629
+ # @!attribute [rw] volume_configurations
3630
+ # The details of the volume that was `configuredAtLaunch`. You can
3631
+ # configure different settings like the size, throughput, volumeType,
3632
+ # and ecryption in [ServiceManagedEBSVolumeConfiguration][1]. The
3633
+ # `name` of the volume must match the `name` from the task definition.
3634
+ #
3635
+ #
3636
+ #
3637
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceManagedEBSVolumeConfiguration.html
3638
+ # @return [Array<Types::ServiceVolumeConfiguration>]
3639
+ #
3617
3640
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Deployment AWS API Documentation
3618
3641
  #
3619
3642
  class Deployment < Struct.new(
@@ -3634,7 +3657,8 @@ module Aws::ECS
3634
3657
  :rollout_state,
3635
3658
  :rollout_state_reason,
3636
3659
  :service_connect_configuration,
3637
- :service_connect_resources)
3660
+ :service_connect_resources,
3661
+ :volume_configurations)
3638
3662
  SENSITIVE = []
3639
3663
  include Aws::Structure
3640
3664
  end
@@ -4512,6 +4536,34 @@ module Aws::ECS
4512
4536
  include Aws::Structure
4513
4537
  end
4514
4538
 
4539
+ # The tag specifications of an Amazon EBS volume.
4540
+ #
4541
+ # @!attribute [rw] resource_type
4542
+ # The type of volume resource.
4543
+ # @return [String]
4544
+ #
4545
+ # @!attribute [rw] tags
4546
+ # The tags applied to this Amazon EBS volume. `AmazonECSCreated` and
4547
+ # `AmazonECSManaged` are reserved tags that can't be used.
4548
+ # @return [Array<Types::Tag>]
4549
+ #
4550
+ # @!attribute [rw] propagate_tags
4551
+ # Determines whether to propagate the tags from the task definition to
4552
+ # 
the Amazon EBS volume. Tags can only propagate to a `SERVICE`
4553
+ # specified in 
`ServiceVolumeConfiguration`. If no value is
4554
+ # specified, the tags aren't 
propagated.
4555
+ # @return [String]
4556
+ #
4557
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/EBSTagSpecification AWS API Documentation
4558
+ #
4559
+ class EBSTagSpecification < Struct.new(
4560
+ :resource_type,
4561
+ :tags,
4562
+ :propagate_tags)
4563
+ SENSITIVE = []
4564
+ include Aws::Structure
4565
+ end
4566
+
4515
4567
  # The authorization configuration details for the Amazon EFS file
4516
4568
  # system.
4517
4569
  #
@@ -8481,6 +8533,17 @@ module Aws::ECS
8481
8533
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/ECS_Idempotency.html
8482
8534
  # @return [String]
8483
8535
  #
8536
+ # @!attribute [rw] volume_configurations
8537
+ # The details of the volume that was `configuredAtLaunch`. You can
8538
+ # configure the size, volumeType, IOPS, throughput, snapshot and
8539
+ # encryption in in [TaskManagedEBSVolumeConfiguration][1]. The `name`
8540
+ # of the volume must match the `name` from the task definition.
8541
+ #
8542
+ #
8543
+ #
8544
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskManagedEBSVolumeConfiguration.html
8545
+ # @return [Array<Types::TaskVolumeConfiguration>]
8546
+ #
8484
8547
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTaskRequest AWS API Documentation
8485
8548
  #
8486
8549
  class RunTaskRequest < Struct.new(
@@ -8501,7 +8564,8 @@ module Aws::ECS
8501
8564
  :started_by,
8502
8565
  :tags,
8503
8566
  :task_definition,
8504
- :client_token)
8567
+ :client_token,
8568
+ :volume_configurations)
8505
8569
  SENSITIVE = []
8506
8570
  include Aws::Structure
8507
8571
  end
@@ -9234,6 +9298,198 @@ module Aws::ECS
9234
9298
  include Aws::Structure
9235
9299
  end
9236
9300
 
9301
+ # The configuration for the Amazon EBS volume that Amazon ECS creates
9302
+ # and manages on your behalf. These settings are used to create each
9303
+ # Amazon EBS volume, with one volume created for each task in the
9304
+ # service.
9305
+ #
9306
+ # Many of these parameters map 1:1 with the Amazon EBS `CreateVolume`
9307
+ # API request parameters.
9308
+ #
9309
+ # @!attribute [rw] encrypted
9310
+ # Indicates whether the volume should be encrypted. If no value is
9311
+ # specified, encryption is turned on by default. This parameter maps
9312
+ # 1:1 with the `Encrypted` parameter of the [CreateVolume API][1] in
9313
+ # the *Amazon EC2 API Reference*.
9314
+ #
9315
+ #
9316
+ #
9317
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
9318
+ # @return [Boolean]
9319
+ #
9320
+ # @!attribute [rw] kms_key_id
9321
+ # The Amazon Resource Name (ARN) identifier of the Amazon Web Services
9322
+ # Key Management Service key to use for Amazon EBS encryption. When
9323
+ # encryption is turned on and no Amazon Web Services Key Management
9324
+ # Service key is specified, the default Amazon Web Services managed
9325
+ # key for Amazon EBS volumes is used. This parameter maps 1:1 with the
9326
+ # `KmsKeyId` parameter of the [CreateVolume API][1] in the *Amazon EC2
9327
+ # API Reference*.
9328
+ #
9329
+ # Amazon Web Services authenticates the Amazon Web Services Key
9330
+ # Management Service key asynchronously. Therefore, if you specify an
9331
+ # ID, alias, or ARN that is invalid, the action can appear to
9332
+ # complete, but eventually fails.
9333
+ #
9334
+ #
9335
+ #
9336
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
9337
+ # @return [String]
9338
+ #
9339
+ # @!attribute [rw] volume_type
9340
+ # The volume type. This parameter maps 1:1 with the `VolumeType`
9341
+ # parameter of the [CreateVolume API][1] in the *Amazon EC2 API
9342
+ # Reference*. For more information, see [Amazon EBS volume types][2]
9343
+ # in the *Amazon EC2 User Guide*.
9344
+ #
9345
+ # The following are the supported volume types.
9346
+ #
9347
+ # * General Purpose SSD: `gp2`\|`gp3`
9348
+ #
9349
+ # * Provisioned IOPS SSD: `io1`\|`io2`
9350
+ #
9351
+ # * Throughput Optimized HDD: `st1`
9352
+ #
9353
+ # * Cold HDD: `sc1`
9354
+ #
9355
+ # * Magnetic: `standard`
9356
+ #
9357
+ # <note markdown="1"> The magnetic volume type is not supported on Fargate.
9358
+ #
9359
+ # </note>
9360
+ #
9361
+ #
9362
+ #
9363
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
9364
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html
9365
+ # @return [String]
9366
+ #
9367
+ # @!attribute [rw] size_in_gi_b
9368
+ # The size of the volume in GiB. You must specify either a volume size
9369
+ # or a snapshot ID. If you specify a snapshot ID, the snapshot size is
9370
+ # used for the volume size by default. You can optionally specify a
9371
+ # volume size greater than or equal to the snapshot size. This
9372
+ # parameter maps 1:1 with the `Size` parameter of the [CreateVolume
9373
+ # API][1] in the *Amazon EC2 API Reference*.
9374
+ #
9375
+ # The following are the supported volume size values for each volume
9376
+ # type.
9377
+ #
9378
+ # * `gp2` and `gp3`: 1-16,384
9379
+ #
9380
+ # * `io1` and `io2`: 4-16,384
9381
+ #
9382
+ # * `st1` and `sc1`: 125-16,384
9383
+ #
9384
+ # * `standard`: 1-1,024
9385
+ #
9386
+ #
9387
+ #
9388
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
9389
+ # @return [Integer]
9390
+ #
9391
+ # @!attribute [rw] snapshot_id
9392
+ # The snapshot that Amazon ECS uses to create the volume. You must
9393
+ # specify either a snapshot ID or a volume size. This parameter maps
9394
+ # 1:1 with the `SnapshotId` parameter of the [CreateVolume API][1] in
9395
+ # the *Amazon EC2 API Reference*.
9396
+ #
9397
+ #
9398
+ #
9399
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
9400
+ # @return [String]
9401
+ #
9402
+ # @!attribute [rw] iops
9403
+ # The number of I/O operations per second (IOPS). For `gp3`, `io1`,
9404
+ # and `io2` volumes, this represents the number of IOPS that are
9405
+ # provisioned for the volume. For `gp2` volumes, this represents the
9406
+ # baseline performance of the volume and the rate at which the volume
9407
+ # accumulates I/O credits for bursting.
9408
+ #
9409
+ # The following are the supported values for each volume type.
9410
+ #
9411
+ # * `gp3`: 3,000 - 16,000 IOPS
9412
+ #
9413
+ # * `io1`: 100 - 64,000 IOPS
9414
+ #
9415
+ # * `io2`: 100 - 256,000 IOPS
9416
+ #
9417
+ # This parameter is required for `io1` and `io2` volume types. The
9418
+ # default for `gp3` volumes is `3,000 IOPS`. This parameter is not
9419
+ # supported for `st1`, `sc1`, or `standard` volume types.
9420
+ #
9421
+ # This parameter maps 1:1 with the `Iops` parameter of the
9422
+ # [CreateVolume API][1] in the *Amazon EC2 API Reference*.
9423
+ #
9424
+ #
9425
+ #
9426
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
9427
+ # @return [Integer]
9428
+ #
9429
+ # @!attribute [rw] throughput
9430
+ # The throughput to provision for a volume, in MiB/s, with a maximum
9431
+ # of 1,000 MiB/s. This parameter maps 1:1 with the `Throughput`
9432
+ # parameter of the [CreateVolume API][1] in the *Amazon EC2 API
9433
+ # Reference*.
9434
+ #
9435
+ # This parameter is only supported for the `gp3` volume type.
9436
+ #
9437
+ #
9438
+ #
9439
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
9440
+ # @return [Integer]
9441
+ #
9442
+ # @!attribute [rw] tag_specifications
9443
+ # The tags to apply to the volume. Amazon ECS applies service-managed
9444
+ # tags by default. This parameter maps 1:1 with the
9445
+ # `TagSpecifications.N` parameter of the [CreateVolume API][1] in the
9446
+ # *Amazon EC2 API Reference*.
9447
+ #
9448
+ #
9449
+ #
9450
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
9451
+ # @return [Array<Types::EBSTagSpecification>]
9452
+ #
9453
+ # @!attribute [rw] role_arn
9454
+ # The ARN of the IAM role to associate with this volume. This is the
9455
+ # Amazon ECS infrastructure IAM role that is used to manage your
9456
+ # Amazon Web Services infrastructure. We recommend using the Amazon
9457
+ # ECS-managed `AmazonECSInfrastructureRolePolicyForVolumes` IAM policy
9458
+ # with this role. For more information, see [Amazon ECS infrastructure
9459
+ # IAM role][1] in the *Amazon ECS Developer Guide*.
9460
+ #
9461
+ #
9462
+ #
9463
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html
9464
+ # @return [String]
9465
+ #
9466
+ # @!attribute [rw] filesystem_type
9467
+ # The Linux filesystem type for the volume. For volumes created from a
9468
+ # snapshot, you must specify the same filesystem type that the volume
9469
+ # was using when the snapshot was created. If there is a filesystem
9470
+ # type mismatch, the task will fail to start.
9471
+ #
9472
+ # The available filesystem types are
 `ext3`, `ext4`, and `xfs`. If no
9473
+ # value is specified, the `xfs` filesystem type is used by default.
9474
+ # @return [String]
9475
+ #
9476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceManagedEBSVolumeConfiguration AWS API Documentation
9477
+ #
9478
+ class ServiceManagedEBSVolumeConfiguration < Struct.new(
9479
+ :encrypted,
9480
+ :kms_key_id,
9481
+ :volume_type,
9482
+ :size_in_gi_b,
9483
+ :snapshot_id,
9484
+ :iops,
9485
+ :throughput,
9486
+ :tag_specifications,
9487
+ :role_arn,
9488
+ :filesystem_type)
9489
+ SENSITIVE = []
9490
+ include Aws::Structure
9491
+ end
9492
+
9237
9493
  # The specified service isn't active. You can't update a service
9238
9494
  # that's inactive. If you have previously deleted a service, you can
9239
9495
  # re-create it with CreateService.
@@ -9310,6 +9566,32 @@ module Aws::ECS
9310
9566
  include Aws::Structure
9311
9567
  end
9312
9568
 
9569
+ # The configuration for a volume specified in the task definition as a
9570
+ # volume that is configured at launch time. Currently, the only
9571
+ # supported volume type is an Amazon EBS volume.
9572
+ #
9573
+ # @!attribute [rw] name
9574
+ # The name of the volume. This value must match the volume name from
9575
+ # the `Volume` object in the task definition.
9576
+ # @return [String]
9577
+ #
9578
+ # @!attribute [rw] managed_ebs_volume
9579
+ # The configuration for the Amazon EBS volume that Amazon ECS creates
9580
+ # and manages on your behalf. These settings are used to create each
9581
+ # Amazon EBS volume, with one volume created for each task in the
9582
+ # service. The Amazon EBS volumes are visible in your account in the
9583
+ # Amazon EC2 console once they are created.
9584
+ # @return [Types::ServiceManagedEBSVolumeConfiguration]
9585
+ #
9586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceVolumeConfiguration AWS API Documentation
9587
+ #
9588
+ class ServiceVolumeConfiguration < Struct.new(
9589
+ :name,
9590
+ :managed_ebs_volume)
9591
+ SENSITIVE = []
9592
+ include Aws::Structure
9593
+ end
9594
+
9313
9595
  # The details for the execute command session.
9314
9596
  #
9315
9597
  # @!attribute [rw] session_id
@@ -9490,6 +9772,17 @@ module Aws::ECS
9490
9772
  # latest `ACTIVE` revision is used.
9491
9773
  # @return [String]
9492
9774
  #
9775
+ # @!attribute [rw] volume_configurations
9776
+ # The details of the volume that was `configuredAtLaunch`. You can
9777
+ # configure the size, volumeType, IOPS, throughput, snapshot and
9778
+ # encryption in [TaskManagedEBSVolumeConfiguration][1]. The `name` of
9779
+ # the volume must match the `name` from the task definition.
9780
+ #
9781
+ #
9782
+ #
9783
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskManagedEBSVolumeConfiguration.html
9784
+ # @return [Array<Types::TaskVolumeConfiguration>]
9785
+ #
9493
9786
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTaskRequest AWS API Documentation
9494
9787
  #
9495
9788
  class StartTaskRequest < Struct.new(
@@ -9504,7 +9797,8 @@ module Aws::ECS
9504
9797
  :reference_id,
9505
9798
  :started_by,
9506
9799
  :tags,
9507
- :task_definition)
9800
+ :task_definition,
9801
+ :volume_configurations)
9508
9802
  SENSITIVE = []
9509
9803
  include Aws::Structure
9510
9804
  end
@@ -10754,6 +11048,225 @@ module Aws::ECS
10754
11048
  include Aws::Structure
10755
11049
  end
10756
11050
 
11051
+ # The configuration for the Amazon EBS volume that Amazon ECS creates
11052
+ # and manages on your behalf. These settings are used to create each
11053
+ # Amazon EBS volume, with one volume created for each task.
11054
+ #
11055
+ # @!attribute [rw] encrypted
11056
+ # Indicates whether the volume should be encrypted. If no value is
11057
+ # specified, encryption is turned on by default. This parameter maps
11058
+ # 1:1 with the `Encrypted` parameter of the [CreateVolume API][1] in
11059
+ # the *Amazon EC2 API Reference*.
11060
+ #
11061
+ #
11062
+ #
11063
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
11064
+ # @return [Boolean]
11065
+ #
11066
+ # @!attribute [rw] kms_key_id
11067
+ # The Amazon Resource Name (ARN) identifier of the Amazon Web Services
11068
+ # Key Management Service key to use for Amazon EBS encryption. When
11069
+ # encryption is turned on and no Amazon Web Services Key Management
11070
+ # Service key is specified, the default Amazon Web Services managed
11071
+ # key for Amazon EBS volumes is used. This parameter maps 1:1 with the
11072
+ # `KmsKeyId` parameter of the [CreateVolume API][1] in the *Amazon EC2
11073
+ # API Reference*.
11074
+ #
11075
+ # Amazon Web Services authenticates the Amazon Web Services Key
11076
+ # Management Service key asynchronously. Therefore, if you specify an
11077
+ # ID, alias, or ARN that is invalid, the action can appear to
11078
+ # complete, but eventually fails.
11079
+ #
11080
+ #
11081
+ #
11082
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
11083
+ # @return [String]
11084
+ #
11085
+ # @!attribute [rw] volume_type
11086
+ # The volume type. This parameter maps 1:1 with the `VolumeType`
11087
+ # parameter of the [CreateVolume API][1] in the *Amazon EC2 API
11088
+ # Reference*. For more information, see [Amazon EBS volume types][2]
11089
+ # in the *Amazon EC2 User Guide*.
11090
+ #
11091
+ # The following are the supported volume types.
11092
+ #
11093
+ # * General Purpose SSD: `gp2`\|`gp3`
11094
+ #
11095
+ # * Provisioned IOPS SSD: `io1`\|`io2`
11096
+ #
11097
+ # * Throughput Optimized HDD: `st1`
11098
+ #
11099
+ # * Cold HDD: `sc1`
11100
+ #
11101
+ # * Magnetic: `standard`
11102
+ #
11103
+ # <note markdown="1"> The magnetic volume type is not supported on Fargate.
11104
+ #
11105
+ # </note>
11106
+ #
11107
+ #
11108
+ #
11109
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
11110
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html
11111
+ # @return [String]
11112
+ #
11113
+ # @!attribute [rw] size_in_gi_b
11114
+ # The size of the volume in GiB. You must specify either a volume size
11115
+ # or a snapshot ID. If you specify a snapshot ID, the snapshot size is
11116
+ # used for the volume size by default. You can optionally specify a
11117
+ # volume size greater than or equal to the snapshot size. This
11118
+ # parameter maps 1:1 with the `Size` parameter of the [CreateVolume
11119
+ # API][1] in the *Amazon EC2 API Reference*.
11120
+ #
11121
+ # The following are the supported volume size values for each volume
11122
+ # type.
11123
+ #
11124
+ # * `gp2` and `gp3`: 1-16,384
11125
+ #
11126
+ # * `io1` and `io2`: 4-16,384
11127
+ #
11128
+ # * `st1` and `sc1`: 125-16,384
11129
+ #
11130
+ # * `standard`: 1-1,024
11131
+ #
11132
+ #
11133
+ #
11134
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
11135
+ # @return [Integer]
11136
+ #
11137
+ # @!attribute [rw] snapshot_id
11138
+ # The snapshot that Amazon ECS uses to create the volume. You must
11139
+ # specify either a snapshot ID or a volume size. This parameter maps
11140
+ # 1:1 with the `SnapshotId` parameter of the [CreateVolume API][1] in
11141
+ # the *Amazon EC2 API Reference*.
11142
+ #
11143
+ #
11144
+ #
11145
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
11146
+ # @return [String]
11147
+ #
11148
+ # @!attribute [rw] iops
11149
+ # The number of I/O operations per second (IOPS). For `gp3`, `io1`,
11150
+ # and `io2` volumes, this represents the number of IOPS that are
11151
+ # provisioned for the volume. For `gp2` volumes, this represents the
11152
+ # baseline performance of the volume and the rate at which the volume
11153
+ # accumulates I/O credits for bursting.
11154
+ #
11155
+ # The following are the supported values for each volume type.
11156
+ #
11157
+ # * `gp3`: 3,000 - 16,000 IOPS
11158
+ #
11159
+ # * `io1`: 100 - 64,000 IOPS
11160
+ #
11161
+ # * `io2`: 100 - 256,000 IOPS
11162
+ #
11163
+ # This parameter is required for `io1` and `io2` volume types. The
11164
+ # default for `gp3` volumes is `3,000 IOPS`. This parameter is not
11165
+ # supported for `st1`, `sc1`, or `standard` volume types.
11166
+ #
11167
+ # This parameter maps 1:1 with the `Iops` parameter of the
11168
+ # [CreateVolume API][1] in the *Amazon EC2 API Reference*.
11169
+ #
11170
+ #
11171
+ #
11172
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
11173
+ # @return [Integer]
11174
+ #
11175
+ # @!attribute [rw] throughput
11176
+ # The throughput to provision for a volume, in MiB/s, with a maximum
11177
+ # of 1,000 MiB/s. This parameter maps 1:1 with the `Throughput`
11178
+ # parameter of the [CreateVolume API][1] in the *Amazon EC2 API
11179
+ # Reference*.
11180
+ #
11181
+ # This parameter is only supported for the `gp3` volume type.
11182
+ #
11183
+ #
11184
+ #
11185
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
11186
+ # @return [Integer]
11187
+ #
11188
+ # @!attribute [rw] tag_specifications
11189
+ # The tags to apply to the volume. Amazon ECS applies service-managed
11190
+ # tags by default. This parameter maps 1:1 with the
11191
+ # `TagSpecifications.N` parameter of the [CreateVolume API][1] in the
11192
+ # *Amazon EC2 API Reference*.
11193
+ #
11194
+ #
11195
+ #
11196
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html
11197
+ # @return [Array<Types::EBSTagSpecification>]
11198
+ #
11199
+ # @!attribute [rw] role_arn
11200
+ # The ARN of the IAM role to associate with this volume. This is the
11201
+ # Amazon ECS infrastructure IAM role that is used to manage your
11202
+ # Amazon Web Services infrastructure. We recommend using the Amazon
11203
+ # ECS-managed `AmazonECSInfrastructureRolePolicyForVolumes` IAM policy
11204
+ # with this role. For more information, see [Amazon ECS infrastructure
11205
+ # IAM role][1] in the *Amazon ECS Developer Guide*.
11206
+ #
11207
+ #
11208
+ #
11209
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html
11210
+ # @return [String]
11211
+ #
11212
+ # @!attribute [rw] termination_policy
11213
+ # The termination policy for the volume when the task exits. This
11214
+ # provides a way to control whether Amazon ECS terminates the Amazon
11215
+ # EBS volume when the task stops.
11216
+ # @return [Types::TaskManagedEBSVolumeTerminationPolicy]
11217
+ #
11218
+ # @!attribute [rw] filesystem_type
11219
+ # The Linux filesystem type for the volume. For volumes created from a
11220
+ # snapshot, you must specify the same filesystem type that the volume
11221
+ # was using when the snapshot was created. If there is a filesystem
11222
+ # type mismatch, the task will fail to start.
11223
+ #
11224
+ # The available filesystem types are
 `ext3`, `ext4`, and `xfs`. If no
11225
+ # value is specified, the `xfs` filesystem type is used by default.
11226
+ # @return [String]
11227
+ #
11228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskManagedEBSVolumeConfiguration AWS API Documentation
11229
+ #
11230
+ class TaskManagedEBSVolumeConfiguration < Struct.new(
11231
+ :encrypted,
11232
+ :kms_key_id,
11233
+ :volume_type,
11234
+ :size_in_gi_b,
11235
+ :snapshot_id,
11236
+ :iops,
11237
+ :throughput,
11238
+ :tag_specifications,
11239
+ :role_arn,
11240
+ :termination_policy,
11241
+ :filesystem_type)
11242
+ SENSITIVE = []
11243
+ include Aws::Structure
11244
+ end
11245
+
11246
+ # The termination policy for the Amazon EBS volume when the task exits.
11247
+ # For more information, see [Amazon ECS volume termination policy][1].
11248
+ #
11249
+ #
11250
+ #
11251
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volume-types
11252
+ #
11253
+ # @!attribute [rw] delete_on_termination
11254
+ # Indicates whether the volume should be deleted on when the task
11255
+ # stops. If a value of `true` is specified, 
Amazon ECS deletes the
11256
+ # Amazon EBS volume on your behalf when the task goes into the
11257
+ # `STOPPED` state. If no value is specified, the 
default value is
11258
+ # `true` is used. When set to `false`, Amazon ECS leaves the volume in
11259
+ # your 
account.
11260
+ # @return [Boolean]
11261
+ #
11262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskManagedEBSVolumeTerminationPolicy AWS API Documentation
11263
+ #
11264
+ class TaskManagedEBSVolumeTerminationPolicy < Struct.new(
11265
+ :delete_on_termination)
11266
+ SENSITIVE = []
11267
+ include Aws::Structure
11268
+ end
11269
+
10757
11270
  # The overrides that are associated with a task.
10758
11271
  #
10759
11272
  # @!attribute [rw] container_overrides
@@ -11065,6 +11578,31 @@ module Aws::ECS
11065
11578
  #
11066
11579
  class TaskSetNotFoundException < Aws::EmptyStructure; end
11067
11580
 
11581
+ # Configuration settings for the task volume that was
11582
+ # `configuredAtLaunch` that weren't set during `RegisterTaskDef`.
11583
+ #
11584
+ # @!attribute [rw] name
11585
+ # The name of the volume. This value must match the volume name from
11586
+ # the `Volume` object in the task definition.
11587
+ # @return [String]
11588
+ #
11589
+ # @!attribute [rw] managed_ebs_volume
11590
+ # The configuration for the Amazon EBS volume that Amazon ECS creates
11591
+ # and manages on your behalf. These settings are used to create each
11592
+ # Amazon EBS volume, with one volume created for each task. The Amazon
11593
+ # EBS volumes are visible in your account in the Amazon EC2 console
11594
+ # once they are created.
11595
+ # @return [Types::TaskManagedEBSVolumeConfiguration]
11596
+ #
11597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskVolumeConfiguration AWS API Documentation
11598
+ #
11599
+ class TaskVolumeConfiguration < Struct.new(
11600
+ :name,
11601
+ :managed_ebs_volume)
11602
+ SENSITIVE = []
11603
+ include Aws::Structure
11604
+ end
11605
+
11068
11606
  # The container path, mount options, and size of the tmpfs mount.
11069
11607
  #
11070
11608
  # @!attribute [rw] container_path
@@ -11651,6 +12189,20 @@ module Aws::ECS
11651
12189
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
11652
12190
  # @return [Types::ServiceConnectConfiguration]
11653
12191
  #
12192
+ # @!attribute [rw] volume_configurations
12193
+ # The details of the volume that was `configuredAtLaunch`. You can
12194
+ # configure the size, volumeType, IOPS, throughput, snapshot and
12195
+ # encryption in [ServiceManagedEBSVolumeConfiguration][1]. The `name`
12196
+ # of the volume must match the `name` from the task definition. If set
12197
+ # to null, no new deployment is triggered. Otherwise, if this
12198
+ # configuration differs from the existing one, it triggers a new
12199
+ # deployment.
12200
+ #
12201
+ #
12202
+ #
12203
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceManagedEBSVolumeConfiguration.html
12204
+ # @return [Array<Types::ServiceVolumeConfiguration>]
12205
+ #
11654
12206
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
11655
12207
  #
11656
12208
  class UpdateServiceRequest < Struct.new(
@@ -11671,7 +12223,8 @@ module Aws::ECS
11671
12223
  :load_balancers,
11672
12224
  :propagate_tags,
11673
12225
  :service_registries,
11674
- :service_connect_configuration)
12226
+ :service_connect_configuration,
12227
+ :volume_configurations)
11675
12228
  SENSITIVE = []
11676
12229
  include Aws::Structure
11677
12230
  end
@@ -11824,14 +12377,16 @@ module Aws::ECS
11824
12377
  include Aws::Structure
11825
12378
  end
11826
12379
 
11827
- # A data volume that's used in a task definition. For tasks that use
11828
- # the Amazon Elastic File System (Amazon EFS), specify an
11829
- # `efsVolumeConfiguration`. For Windows tasks that use Amazon FSx for
11830
- # Windows File Server file system, specify a
11831
- # `fsxWindowsFileServerVolumeConfiguration`. For tasks that use a Docker
11832
- # volume, specify a `DockerVolumeConfiguration`. For tasks that use a
11833
- # bind mount host volume, specify a `host` and optional `sourcePath`.
11834
- # For more information, see [Using Data Volumes in Tasks][1].
12380
+ # The data volume configuration for tasks launched using this task
12381
+ # definition. Specifying a volume configuration in a task definition is
12382
+ # optional. The volume configuration may contain multiple volumes but
12383
+ # only one volume configured at launch is supported. Each volume defined
12384
+ # in the volume configuration may only specify a `name` and one of
12385
+ # either `configuredAtLaunch`, `dockerVolumeConfiguration`,
12386
+ # `efsVolumeConfiguration`, `fsxWindowsFileServerVolumeConfiguration`,
12387
+ # or `host`. If an empty volume configuration is specified, by default
12388
+ # Amazon ECS uses a host volume. For more information, see [Using data
12389
+ # volumes in tasks][1].
11835
12390
  #
11836
12391
  #
11837
12392
  #
@@ -11839,11 +12394,19 @@ module Aws::ECS
11839
12394
  #
11840
12395
  # @!attribute [rw] name
11841
12396
  # The name of the volume. Up to 255 letters (uppercase and lowercase),
11842
- # numbers, underscores, and hyphens are allowed. This name is
11843
- # referenced in the `sourceVolume` parameter of container definition
11844
- # `mountPoints`.
12397
+ # numbers, underscores, and hyphens are allowed.
12398
+ #
12399
+ # When using a volume configured at launch, the `name` is required and
12400
+ # must also be specified as the volume name in the
12401
+ # `ServiceVolumeConfiguration` or `TaskVolumeConfiguration` parameter
12402
+ # when creating your service or standalone task.
11845
12403
  #
11846
- # This is required wwhen you use an Amazon EFS volume.
12404
+ # For all other types of volumes, this name is referenced in the
12405
+ # `sourceVolume` parameter of the `mountPoints` object in the
12406
+ # container definition.
12407
+ #
12408
+ # When a volume is using the `efsVolumeConfiguration`, the name is
12409
+ # required.
11847
12410
  # @return [String]
11848
12411
  #
11849
12412
  # @!attribute [rw] host
@@ -11883,6 +12446,18 @@ module Aws::ECS
11883
12446
  # Server file system for task storage.
11884
12447
  # @return [Types::FSxWindowsFileServerVolumeConfiguration]
11885
12448
  #
12449
+ # @!attribute [rw] configured_at_launch
12450
+ # Indicates whether the volume should be configured at launch time.
12451
+ # This is used to create Amazon EBS volumes for standalone tasks or
12452
+ # tasks created as part of a service. Each task definition revision
12453
+ # may only have one volume configured at launch in the volume
12454
+ # configuration.
12455
+ #
12456
+ # To configure a volume at launch time, use this task definition
12457
+ # revision and specify a `volumeConfigurations` object when calling
12458
+ # the `CreateService`, `UpdateService`, `RunTask` or `StartTask` APIs.
12459
+ # @return [Boolean]
12460
+ #
11886
12461
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Volume AWS API Documentation
11887
12462
  #
11888
12463
  class Volume < Struct.new(
@@ -11890,7 +12465,8 @@ module Aws::ECS
11890
12465
  :host,
11891
12466
  :docker_volume_configuration,
11892
12467
  :efs_volume_configuration,
11893
- :fsx_windows_file_server_volume_configuration)
12468
+ :fsx_windows_file_server_volume_configuration,
12469
+ :configured_at_launch)
11894
12470
  SENSITIVE = []
11895
12471
  include Aws::Structure
11896
12472
  end