aws-sdk-ecs 1.212.0 → 1.213.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.
@@ -2835,6 +2835,161 @@ module Aws::ECS
2835
2835
  include Aws::Structure
2836
2836
  end
2837
2837
 
2838
+ # @!attribute [rw] execution_role_arn
2839
+ # The Amazon Resource Name (ARN) of the task execution role that
2840
+ # grants the Amazon ECS container agent permission to make Amazon Web
2841
+ # Services API calls on your behalf. This role is required for Amazon
2842
+ # ECS to pull container images from Amazon ECR, send container logs to
2843
+ # Amazon CloudWatch Logs, and retrieve sensitive data from Amazon Web
2844
+ # Services Systems Manager Parameter Store or Amazon Web Services
2845
+ # Secrets Manager.
2846
+ #
2847
+ # The execution role must include the
2848
+ # `AmazonECSTaskExecutionRolePolicy` managed policy or equivalent
2849
+ # permissions. For Express services, this role is used during task
2850
+ # startup and runtime for container management operations.
2851
+ # @return [String]
2852
+ #
2853
+ # @!attribute [rw] infrastructure_role_arn
2854
+ # The Amazon Resource Name (ARN) of the infrastructure role that
2855
+ # grants Amazon ECS permission to create and manage Amazon Web
2856
+ # Services resources on your behalf for the Express service. This role
2857
+ # is used to provision and manage Application Load Balancers, target
2858
+ # groups, security groups, auto-scaling policies, and other Amazon Web
2859
+ # Services infrastructure components.
2860
+ #
2861
+ # The infrastructure role must include permissions for Elastic Load
2862
+ # Balancing, Application Auto Scaling, Amazon EC2 (for security
2863
+ # groups), and other services required for managed infrastructure.
2864
+ # This role is only used during Express service creation, updates, and
2865
+ # deletion operations.
2866
+ # @return [String]
2867
+ #
2868
+ # @!attribute [rw] service_name
2869
+ # The name of the Express service. This name must be unique within the
2870
+ # specified cluster and can contain up to 255 letters (uppercase and
2871
+ # lowercase), numbers, underscores, and hyphens. The name is used to
2872
+ # identify the service in the Amazon ECS console and API operations.
2873
+ #
2874
+ # If you don't specify a service name, Amazon ECS generates a unique
2875
+ # name for the service. The service name becomes part of the service
2876
+ # ARN and cannot be changed after the service is created.
2877
+ # @return [String]
2878
+ #
2879
+ # @!attribute [rw] cluster
2880
+ # The short name or full Amazon Resource Name (ARN) of the cluster on
2881
+ # which to create the Express service. If you do not specify a
2882
+ # cluster, the `default` cluster is assumed.
2883
+ # @return [String]
2884
+ #
2885
+ # @!attribute [rw] health_check_path
2886
+ # The path on the container that the Application Load Balancer uses
2887
+ # for health checks. This should be a valid HTTP endpoint that returns
2888
+ # a successful response (HTTP 200) when the application is healthy.
2889
+ #
2890
+ # If not specified, the default health check path is `/ping`. The
2891
+ # health check path must start with a forward slash and can include
2892
+ # query parameters. Examples: `/health`, `/api/status`,
2893
+ # `/ping?format=json`.
2894
+ # @return [String]
2895
+ #
2896
+ # @!attribute [rw] primary_container
2897
+ # The primary container configuration for the Express service. This
2898
+ # defines the main application container that will receive traffic
2899
+ # from the Application Load Balancer.
2900
+ #
2901
+ # The primary container must specify at minimum a container image. You
2902
+ # can also configure the container port (defaults to 80), logging
2903
+ # configuration, environment variables, secrets, and startup commands.
2904
+ # The container image can be from Amazon ECR, Docker Hub, or any other
2905
+ # container registry accessible to your execution role.
2906
+ # @return [Types::ExpressGatewayContainer]
2907
+ #
2908
+ # @!attribute [rw] task_role_arn
2909
+ # The Amazon Resource Name (ARN) of the IAM role that containers in
2910
+ # this task can assume. This role allows your application code to
2911
+ # access other Amazon Web Services services securely.
2912
+ #
2913
+ # The task role is different from the execution role. While the
2914
+ # execution role is used by the Amazon ECS agent to set up the task,
2915
+ # the task role is used by your application code running inside the
2916
+ # container to make Amazon Web Services API calls. If your application
2917
+ # doesn't need to access Amazon Web Services services, you can omit
2918
+ # this parameter.
2919
+ # @return [String]
2920
+ #
2921
+ # @!attribute [rw] network_configuration
2922
+ # The network configuration for the Express service tasks. This
2923
+ # specifies the VPC subnets and security groups for the tasks.
2924
+ #
2925
+ # For Express services, you can specify custom security groups and
2926
+ # subnets. If not provided, Amazon ECS will use the default VPC
2927
+ # configuration and create appropriate security groups automatically.
2928
+ # The network configuration determines how your service integrates
2929
+ # with your VPC and what network access it has.
2930
+ # @return [Types::ExpressGatewayServiceNetworkConfiguration]
2931
+ #
2932
+ # @!attribute [rw] cpu
2933
+ # The number of CPU units used by the task. This parameter determines
2934
+ # the CPU allocation for each task in the Express service. The default
2935
+ # value for an Express service is 256 (.25 vCPU).
2936
+ # @return [String]
2937
+ #
2938
+ # @!attribute [rw] memory
2939
+ # The amount of memory (in MiB) used by the task. This parameter
2940
+ # determines the memory allocation for each task in the Express
2941
+ # service. The default value for an express service is 512 MiB.
2942
+ # @return [String]
2943
+ #
2944
+ # @!attribute [rw] scaling_target
2945
+ # The auto-scaling configuration for the Express service. This defines
2946
+ # how the service automatically adjusts the number of running tasks
2947
+ # based on demand.
2948
+ #
2949
+ # You can specify the minimum and maximum number of tasks, the scaling
2950
+ # metric (CPU utilization, memory utilization, or request count per
2951
+ # target), and the target value for the metric. If not specified, the
2952
+ # default target value for an Express service is 60.
2953
+ # @return [Types::ExpressGatewayScalingTarget]
2954
+ #
2955
+ # @!attribute [rw] tags
2956
+ # The metadata that you apply to the Express service to help
2957
+ # categorize and organize it. Each tag consists of a key and an
2958
+ # optional value. You can apply up to 50 tags to a service.
2959
+ # @return [Array<Types::Tag>]
2960
+ #
2961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateExpressGatewayServiceRequest AWS API Documentation
2962
+ #
2963
+ class CreateExpressGatewayServiceRequest < Struct.new(
2964
+ :execution_role_arn,
2965
+ :infrastructure_role_arn,
2966
+ :service_name,
2967
+ :cluster,
2968
+ :health_check_path,
2969
+ :primary_container,
2970
+ :task_role_arn,
2971
+ :network_configuration,
2972
+ :cpu,
2973
+ :memory,
2974
+ :scaling_target,
2975
+ :tags)
2976
+ SENSITIVE = []
2977
+ include Aws::Structure
2978
+ end
2979
+
2980
+ # @!attribute [rw] service
2981
+ # The full description of your Express service following the create
2982
+ # operation.
2983
+ # @return [Types::ECSExpressGatewayService]
2984
+ #
2985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateExpressGatewayServiceResponse AWS API Documentation
2986
+ #
2987
+ class CreateExpressGatewayServiceResponse < Struct.new(
2988
+ :service)
2989
+ SENSITIVE = []
2990
+ include Aws::Structure
2991
+ end
2992
+
2838
2993
  # The configuration for creating a Amazon ECS Managed Instances
2839
2994
  # provider. This specifies how Amazon ECS should manage Amazon EC2
2840
2995
  # instances, including the infrastructure role, instance launch
@@ -3713,6 +3868,32 @@ module Aws::ECS
3713
3868
  include Aws::Structure
3714
3869
  end
3715
3870
 
3871
+ # @!attribute [rw] service_arn
3872
+ # The Amazon Resource Name (ARN) of the Express service to delete. The
3873
+ # ARN uniquely identifies the service within your Amazon Web Services
3874
+ # account and region.
3875
+ # @return [String]
3876
+ #
3877
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteExpressGatewayServiceRequest AWS API Documentation
3878
+ #
3879
+ class DeleteExpressGatewayServiceRequest < Struct.new(
3880
+ :service_arn)
3881
+ SENSITIVE = []
3882
+ include Aws::Structure
3883
+ end
3884
+
3885
+ # @!attribute [rw] service
3886
+ # The full description of the deleted express service.
3887
+ # @return [Types::ECSExpressGatewayService]
3888
+ #
3889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteExpressGatewayServiceResponse AWS API Documentation
3890
+ #
3891
+ class DeleteExpressGatewayServiceResponse < Struct.new(
3892
+ :service)
3893
+ SENSITIVE = []
3894
+ include Aws::Structure
3895
+ end
3896
+
3716
3897
  # @!attribute [rw] cluster
3717
3898
  # The short name or full Amazon Resource Name (ARN) of the cluster
3718
3899
  # that hosts the service to delete. If you do not specify a cluster,
@@ -4849,6 +5030,39 @@ module Aws::ECS
4849
5030
  include Aws::Structure
4850
5031
  end
4851
5032
 
5033
+ # @!attribute [rw] service_arn
5034
+ # The Amazon Resource Name (ARN) of the Express service to describe.
5035
+ # The ARN uniquely identifies the service within your Amazon Web
5036
+ # Services account and region.
5037
+ # @return [String]
5038
+ #
5039
+ # @!attribute [rw] include
5040
+ # Specifies additional information to include in the response. Valid
5041
+ # values are `TAGS` to include resource tags associated with the
5042
+ # Express service.
5043
+ # @return [Array<String>]
5044
+ #
5045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeExpressGatewayServiceRequest AWS API Documentation
5046
+ #
5047
+ class DescribeExpressGatewayServiceRequest < Struct.new(
5048
+ :service_arn,
5049
+ :include)
5050
+ SENSITIVE = []
5051
+ include Aws::Structure
5052
+ end
5053
+
5054
+ # @!attribute [rw] service
5055
+ # The full description of the described express service.
5056
+ # @return [Types::ECSExpressGatewayService]
5057
+ #
5058
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeExpressGatewayServiceResponse AWS API Documentation
5059
+ #
5060
+ class DescribeExpressGatewayServiceResponse < Struct.new(
5061
+ :service)
5062
+ SENSITIVE = []
5063
+ include Aws::Structure
5064
+ end
5065
+
4852
5066
  # @!attribute [rw] service_deployment_arns
4853
5067
  # The ARN of the service deployment.
4854
5068
  #
@@ -5288,6 +5502,113 @@ module Aws::ECS
5288
5502
  include Aws::Structure
5289
5503
  end
5290
5504
 
5505
+ # Represents an Express service, which provides a simplified way to
5506
+ # deploy containerized web applications on Amazon ECS with managed
5507
+ # Amazon Web Services infrastructure. An Express service automatically
5508
+ # provisions and manages Application Load Balancers, target groups,
5509
+ # security groups, and auto-scaling policies.
5510
+ #
5511
+ # Express services use a service revision architecture where each
5512
+ # service can have multiple active configurations, enabling blue-green
5513
+ # deployments and gradual rollouts. The service maintains a list of
5514
+ # active configurations and manages the lifecycle of the underlying
5515
+ # Amazon Web Services resources.
5516
+ #
5517
+ # @!attribute [rw] cluster
5518
+ # The short name or full ARN of the cluster that hosts the Express
5519
+ # service.
5520
+ # @return [String]
5521
+ #
5522
+ # @!attribute [rw] service_name
5523
+ # The name of the Express service.
5524
+ # @return [String]
5525
+ #
5526
+ # @!attribute [rw] service_arn
5527
+ # The ARN that identifies the Express service.
5528
+ # @return [String]
5529
+ #
5530
+ # @!attribute [rw] infrastructure_role_arn
5531
+ # The ARN of the infrastructure role that manages Amazon Web Services
5532
+ # resources for the Express service.
5533
+ # @return [String]
5534
+ #
5535
+ # @!attribute [rw] status
5536
+ # The current status of the Express service.
5537
+ # @return [Types::ExpressGatewayServiceStatus]
5538
+ #
5539
+ # @!attribute [rw] current_deployment
5540
+ # The current deployment configuration for the Express service.
5541
+ # @return [String]
5542
+ #
5543
+ # @!attribute [rw] active_configurations
5544
+ # The list of active service configurations for the Express service.
5545
+ # @return [Array<Types::ExpressGatewayServiceConfiguration>]
5546
+ #
5547
+ # @!attribute [rw] tags
5548
+ # The metadata applied to the Express service.
5549
+ # @return [Array<Types::Tag>]
5550
+ #
5551
+ # @!attribute [rw] created_at
5552
+ # The Unix timestamp for when the Express service was created.
5553
+ # @return [Time]
5554
+ #
5555
+ # @!attribute [rw] updated_at
5556
+ # The Unix timestamp for when the Express service was last updated.
5557
+ # @return [Time]
5558
+ #
5559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ECSExpressGatewayService AWS API Documentation
5560
+ #
5561
+ class ECSExpressGatewayService < Struct.new(
5562
+ :cluster,
5563
+ :service_name,
5564
+ :service_arn,
5565
+ :infrastructure_role_arn,
5566
+ :status,
5567
+ :current_deployment,
5568
+ :active_configurations,
5569
+ :tags,
5570
+ :created_at,
5571
+ :updated_at)
5572
+ SENSITIVE = []
5573
+ include Aws::Structure
5574
+ end
5575
+
5576
+ # Represents the Amazon Web Services resources managed by Amazon ECS for
5577
+ # an Express service, including ingress paths, auto-scaling policies,
5578
+ # metric alarms, and security groups.
5579
+ #
5580
+ # @!attribute [rw] ingress_paths
5581
+ # The ingress paths and endpoints for the Express service.
5582
+ # @return [Array<Types::ManagedIngressPath>]
5583
+ #
5584
+ # @!attribute [rw] auto_scaling
5585
+ # The auto-scaling configuration and policies for the Express service.
5586
+ # @return [Types::ManagedAutoScaling]
5587
+ #
5588
+ # @!attribute [rw] metric_alarms
5589
+ # The CloudWatch metric alarms associated with the Express service.
5590
+ # @return [Array<Types::ManagedMetricAlarm>]
5591
+ #
5592
+ # @!attribute [rw] service_security_groups
5593
+ # The security groups managed by the Express service.
5594
+ # @return [Array<Types::ManagedSecurityGroup>]
5595
+ #
5596
+ # @!attribute [rw] log_groups
5597
+ # The log groups managed by the Express service.
5598
+ # @return [Array<Types::ManagedLogGroup>]
5599
+ #
5600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ECSManagedResources AWS API Documentation
5601
+ #
5602
+ class ECSManagedResources < Struct.new(
5603
+ :ingress_paths,
5604
+ :auto_scaling,
5605
+ :metric_alarms,
5606
+ :service_security_groups,
5607
+ :log_groups)
5608
+ SENSITIVE = []
5609
+ include Aws::Structure
5610
+ end
5611
+
5291
5612
  # The authorization configuration details for the Amazon EFS file
5292
5613
  # system.
5293
5614
  #
@@ -5645,117 +5966,360 @@ module Aws::ECS
5645
5966
  include Aws::Structure
5646
5967
  end
5647
5968
 
5648
- # The authorization configuration details for Amazon FSx for Windows
5649
- # File Server file system. See
5650
- # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon ECS API
5651
- # Reference*.
5969
+ # Defines the configuration for the primary container in an Express
5970
+ # service. This container receives traffic from the Application Load
5971
+ # Balancer and runs your application code.
5652
5972
  #
5653
- # For more information and the input format, see [Amazon FSx for Windows
5654
- # File Server Volumes][2] in the *Amazon Elastic Container Service
5655
- # Developer Guide*.
5973
+ # The container configuration includes the container image, port
5974
+ # mapping, logging settings, environment variables, and secrets. The
5975
+ # container image is the only required parameter, with sensible defaults
5976
+ # provided for other settings.
5656
5977
  #
5978
+ # @!attribute [rw] image
5979
+ # The image used to start a container. This string is passed directly
5980
+ # to the Docker daemon. Images in the Docker Hub registry are
5981
+ # available by default. Other repositories are specified with either
5982
+ # `repository-url/image:tag` or `repository-url/image@digest`.
5657
5983
  #
5984
+ # For Express services, the image typically contains a web application
5985
+ # that listens on the specified container port. The image can be
5986
+ # stored in Amazon ECR, Docker Hub, or any other container registry
5987
+ # accessible to your execution role.
5988
+ # @return [String]
5658
5989
  #
5659
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html
5660
- # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html
5990
+ # @!attribute [rw] container_port
5991
+ # The port number on the container that receives traffic from the load
5992
+ # balancer. Default is 80.
5993
+ # @return [Integer]
5661
5994
  #
5662
- # @!attribute [rw] credentials_parameter
5663
- # The authorization credential option to use. The authorization
5664
- # credential options can be provided using either the Amazon Resource
5665
- # Name (ARN) of an Secrets Manager secret or SSM Parameter Store
5666
- # parameter. The ARN refers to the stored credentials.
5667
- # @return [String]
5995
+ # @!attribute [rw] aws_logs_configuration
5996
+ # The log configuration for the container.
5997
+ # @return [Types::ExpressGatewayServiceAwsLogsConfiguration]
5668
5998
  #
5669
- # @!attribute [rw] domain
5670
- # A fully qualified domain name hosted by an [Directory Service][1]
5671
- # Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon
5672
- # EC2.
5999
+ # @!attribute [rw] repository_credentials
6000
+ # The configuration for repository credentials for private registry
6001
+ # authentication.
6002
+ # @return [Types::ExpressGatewayRepositoryCredentials]
5673
6003
  #
6004
+ # @!attribute [rw] command
6005
+ # The command that is passed to the container.
6006
+ # @return [Array<String>]
5674
6007
  #
6008
+ # @!attribute [rw] environment
6009
+ # The environment variables to pass to the container.
6010
+ # @return [Array<Types::KeyValuePair>]
5675
6011
  #
5676
- # [1]: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html
5677
- # @return [String]
6012
+ # @!attribute [rw] secrets
6013
+ # The secrets to pass to the container.
6014
+ # @return [Array<Types::Secret>]
5678
6015
  #
5679
- # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/FSxWindowsFileServerAuthorizationConfig AWS API Documentation
6016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExpressGatewayContainer AWS API Documentation
5680
6017
  #
5681
- class FSxWindowsFileServerAuthorizationConfig < Struct.new(
5682
- :credentials_parameter,
5683
- :domain)
6018
+ class ExpressGatewayContainer < Struct.new(
6019
+ :image,
6020
+ :container_port,
6021
+ :aws_logs_configuration,
6022
+ :repository_credentials,
6023
+ :command,
6024
+ :environment,
6025
+ :secrets)
5684
6026
  SENSITIVE = []
5685
6027
  include Aws::Structure
5686
6028
  end
5687
6029
 
5688
- # This parameter is specified when you're using [Amazon FSx for Windows
5689
- # File Server][1] file system for task storage.
6030
+ # The repository credentials for private registry authentication to pass
6031
+ # to the container.
5690
6032
  #
5691
- # For more information and the input format, see [Amazon FSx for Windows
5692
- # File Server volumes][2] in the *Amazon Elastic Container Service
5693
- # Developer Guide*.
6033
+ # @!attribute [rw] credentials_parameter
6034
+ # The Amazon Resource Name (ARN) of the secret containing the private
6035
+ # repository credentials.
6036
+ # @return [String]
6037
+ #
6038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExpressGatewayRepositoryCredentials AWS API Documentation
5694
6039
  #
6040
+ class ExpressGatewayRepositoryCredentials < Struct.new(
6041
+ :credentials_parameter)
6042
+ SENSITIVE = []
6043
+ include Aws::Structure
6044
+ end
6045
+
6046
+ # Defines the auto-scaling configuration for an Express service. This
6047
+ # determines how the service automatically adjusts the number of running
6048
+ # tasks based on demand metrics such as CPU utilization, memory
6049
+ # utilization, or request count per target.
5695
6050
  #
6051
+ # Auto-scaling helps ensure your application can handle varying levels
6052
+ # of traffic while optimizing costs by scaling down during low-demand
6053
+ # periods. You can specify the minimum and maximum number of tasks, the
6054
+ # scaling metric, and the target value for that metric.
5696
6055
  #
5697
- # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html
5698
- # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html
6056
+ # @!attribute [rw] min_task_count
6057
+ # The minimum number of tasks to run in the Express service.
6058
+ # @return [Integer]
5699
6059
  #
5700
- # @!attribute [rw] file_system_id
5701
- # The Amazon FSx for Windows File Server file system ID to use.
5702
- # @return [String]
6060
+ # @!attribute [rw] max_task_count
6061
+ # The maximum number of tasks to run in the Express service.
6062
+ # @return [Integer]
5703
6063
  #
5704
- # @!attribute [rw] root_directory
5705
- # The directory within the Amazon FSx for Windows File Server file
5706
- # system to mount as the root directory inside the host.
6064
+ # @!attribute [rw] auto_scaling_metric
6065
+ # The metric used for auto-scaling decisions. The default metric used
6066
+ # for an Express service is `CPUUtilization`.
5707
6067
  # @return [String]
5708
6068
  #
5709
- # @!attribute [rw] authorization_config
5710
- # The authorization configuration details for the Amazon FSx for
5711
- # Windows File Server file system.
5712
- # @return [Types::FSxWindowsFileServerAuthorizationConfig]
6069
+ # @!attribute [rw] auto_scaling_target_value
6070
+ # The target value for the auto-scaling metric. The default value for
6071
+ # an Express service is 60.
6072
+ # @return [Integer]
5713
6073
  #
5714
- # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/FSxWindowsFileServerVolumeConfiguration AWS API Documentation
6074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExpressGatewayScalingTarget AWS API Documentation
5715
6075
  #
5716
- class FSxWindowsFileServerVolumeConfiguration < Struct.new(
5717
- :file_system_id,
5718
- :root_directory,
5719
- :authorization_config)
6076
+ class ExpressGatewayScalingTarget < Struct.new(
6077
+ :min_task_count,
6078
+ :max_task_count,
6079
+ :auto_scaling_metric,
6080
+ :auto_scaling_target_value)
5720
6081
  SENSITIVE = []
5721
6082
  include Aws::Structure
5722
6083
  end
5723
6084
 
5724
- # A failed resource. For a list of common causes, see [API failure
5725
- # reasons][1] in the *Amazon Elastic Container Service Developer Guide*.
5726
- #
5727
- #
5728
- #
5729
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html
5730
- #
5731
- # @!attribute [rw] arn
5732
- # The Amazon Resource Name (ARN) of the failed resource.
5733
- # @return [String]
6085
+ # Specifies the Amazon CloudWatch Logs configuration for the Express
6086
+ # service container.
5734
6087
  #
5735
- # @!attribute [rw] reason
5736
- # The reason for the failure.
6088
+ # @!attribute [rw] log_group
6089
+ # The name of the CloudWatch Logs log group to send container logs to.
5737
6090
  # @return [String]
5738
6091
  #
5739
- # @!attribute [rw] detail
5740
- # The details of the failure.
6092
+ # @!attribute [rw] log_stream_prefix
6093
+ # The prefix for the CloudWatch Logs log stream names. The default for
6094
+ # an Express service is `ecs`.
5741
6095
  # @return [String]
5742
6096
  #
5743
- # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Failure AWS API Documentation
6097
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExpressGatewayServiceAwsLogsConfiguration AWS API Documentation
5744
6098
  #
5745
- class Failure < Struct.new(
5746
- :arn,
5747
- :reason,
5748
- :detail)
6099
+ class ExpressGatewayServiceAwsLogsConfiguration < Struct.new(
6100
+ :log_group,
6101
+ :log_stream_prefix)
5749
6102
  SENSITIVE = []
5750
6103
  include Aws::Structure
5751
6104
  end
5752
6105
 
5753
- # The FireLens configuration for the container. This is used to specify
5754
- # and configure a log router for container logs. For more information,
5755
- # see [Custom log routing][1] in the *Amazon Elastic Container Service
5756
- # Developer Guide*.
5757
- #
5758
- #
6106
+ # Represents a specific configuration revision of an Express service,
6107
+ # containing all the settings and parameters for that revision.
6108
+ #
6109
+ # @!attribute [rw] service_revision_arn
6110
+ # The ARN of the service revision.
6111
+ # @return [String]
6112
+ #
6113
+ # @!attribute [rw] execution_role_arn
6114
+ # The ARN of the task execution role for the service revision.
6115
+ # @return [String]
6116
+ #
6117
+ # @!attribute [rw] task_role_arn
6118
+ # The ARN of the task role for the service revision.
6119
+ # @return [String]
6120
+ #
6121
+ # @!attribute [rw] cpu
6122
+ # The CPU allocation for tasks in this service revision.
6123
+ # @return [String]
6124
+ #
6125
+ # @!attribute [rw] memory
6126
+ # The memory allocation for tasks in this service revision.
6127
+ # @return [String]
6128
+ #
6129
+ # @!attribute [rw] network_configuration
6130
+ # The network configuration for tasks in this service revision.
6131
+ # @return [Types::ExpressGatewayServiceNetworkConfiguration]
6132
+ #
6133
+ # @!attribute [rw] health_check_path
6134
+ # The health check path for this service revision.
6135
+ # @return [String]
6136
+ #
6137
+ # @!attribute [rw] primary_container
6138
+ # The primary container configuration for this service revision.
6139
+ # @return [Types::ExpressGatewayContainer]
6140
+ #
6141
+ # @!attribute [rw] scaling_target
6142
+ # The auto-scaling configuration for this service revision.
6143
+ # @return [Types::ExpressGatewayScalingTarget]
6144
+ #
6145
+ # @!attribute [rw] ingress_paths
6146
+ # The entry point into this service revision.
6147
+ # @return [Array<Types::IngressPathSummary>]
6148
+ #
6149
+ # @!attribute [rw] created_at
6150
+ # The Unix timestamp for when this service revision was created.
6151
+ # @return [Time]
6152
+ #
6153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExpressGatewayServiceConfiguration AWS API Documentation
6154
+ #
6155
+ class ExpressGatewayServiceConfiguration < Struct.new(
6156
+ :service_revision_arn,
6157
+ :execution_role_arn,
6158
+ :task_role_arn,
6159
+ :cpu,
6160
+ :memory,
6161
+ :network_configuration,
6162
+ :health_check_path,
6163
+ :primary_container,
6164
+ :scaling_target,
6165
+ :ingress_paths,
6166
+ :created_at)
6167
+ SENSITIVE = []
6168
+ include Aws::Structure
6169
+ end
6170
+
6171
+ # The network configuration for an Express service. By default, an
6172
+ # Express service utilizes subnets and security groups associated with
6173
+ # the default VPC.
6174
+ #
6175
+ # @!attribute [rw] security_groups
6176
+ # The IDs of the security groups associated with the Express service.
6177
+ # @return [Array<String>]
6178
+ #
6179
+ # @!attribute [rw] subnets
6180
+ # The IDs of the subnets associated with the Express service.
6181
+ # @return [Array<String>]
6182
+ #
6183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExpressGatewayServiceNetworkConfiguration AWS API Documentation
6184
+ #
6185
+ class ExpressGatewayServiceNetworkConfiguration < Struct.new(
6186
+ :security_groups,
6187
+ :subnets)
6188
+ SENSITIVE = []
6189
+ include Aws::Structure
6190
+ end
6191
+
6192
+ # An object that defines the status of Express service creation and
6193
+ # information about the status of the service.
6194
+ #
6195
+ # @!attribute [rw] status_code
6196
+ # The status of the Express service.
6197
+ # @return [String]
6198
+ #
6199
+ # @!attribute [rw] status_reason
6200
+ # Information about why the Express service is in the current status.
6201
+ # @return [String]
6202
+ #
6203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExpressGatewayServiceStatus AWS API Documentation
6204
+ #
6205
+ class ExpressGatewayServiceStatus < Struct.new(
6206
+ :status_code,
6207
+ :status_reason)
6208
+ SENSITIVE = []
6209
+ include Aws::Structure
6210
+ end
6211
+
6212
+ # The authorization configuration details for Amazon FSx for Windows
6213
+ # File Server file system. See
6214
+ # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon ECS API
6215
+ # Reference*.
6216
+ #
6217
+ # For more information and the input format, see [Amazon FSx for Windows
6218
+ # File Server Volumes][2] in the *Amazon Elastic Container Service
6219
+ # Developer Guide*.
6220
+ #
6221
+ #
6222
+ #
6223
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html
6224
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html
6225
+ #
6226
+ # @!attribute [rw] credentials_parameter
6227
+ # The authorization credential option to use. The authorization
6228
+ # credential options can be provided using either the Amazon Resource
6229
+ # Name (ARN) of an Secrets Manager secret or SSM Parameter Store
6230
+ # parameter. The ARN refers to the stored credentials.
6231
+ # @return [String]
6232
+ #
6233
+ # @!attribute [rw] domain
6234
+ # A fully qualified domain name hosted by an [Directory Service][1]
6235
+ # Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon
6236
+ # EC2.
6237
+ #
6238
+ #
6239
+ #
6240
+ # [1]: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html
6241
+ # @return [String]
6242
+ #
6243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/FSxWindowsFileServerAuthorizationConfig AWS API Documentation
6244
+ #
6245
+ class FSxWindowsFileServerAuthorizationConfig < Struct.new(
6246
+ :credentials_parameter,
6247
+ :domain)
6248
+ SENSITIVE = []
6249
+ include Aws::Structure
6250
+ end
6251
+
6252
+ # This parameter is specified when you're using [Amazon FSx for Windows
6253
+ # File Server][1] file system for task storage.
6254
+ #
6255
+ # For more information and the input format, see [Amazon FSx for Windows
6256
+ # File Server volumes][2] in the *Amazon Elastic Container Service
6257
+ # Developer Guide*.
6258
+ #
6259
+ #
6260
+ #
6261
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html
6262
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html
6263
+ #
6264
+ # @!attribute [rw] file_system_id
6265
+ # The Amazon FSx for Windows File Server file system ID to use.
6266
+ # @return [String]
6267
+ #
6268
+ # @!attribute [rw] root_directory
6269
+ # The directory within the Amazon FSx for Windows File Server file
6270
+ # system to mount as the root directory inside the host.
6271
+ # @return [String]
6272
+ #
6273
+ # @!attribute [rw] authorization_config
6274
+ # The authorization configuration details for the Amazon FSx for
6275
+ # Windows File Server file system.
6276
+ # @return [Types::FSxWindowsFileServerAuthorizationConfig]
6277
+ #
6278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/FSxWindowsFileServerVolumeConfiguration AWS API Documentation
6279
+ #
6280
+ class FSxWindowsFileServerVolumeConfiguration < Struct.new(
6281
+ :file_system_id,
6282
+ :root_directory,
6283
+ :authorization_config)
6284
+ SENSITIVE = []
6285
+ include Aws::Structure
6286
+ end
6287
+
6288
+ # A failed resource. For a list of common causes, see [API failure
6289
+ # reasons][1] in the *Amazon Elastic Container Service Developer Guide*.
6290
+ #
6291
+ #
6292
+ #
6293
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html
6294
+ #
6295
+ # @!attribute [rw] arn
6296
+ # The Amazon Resource Name (ARN) of the failed resource.
6297
+ # @return [String]
6298
+ #
6299
+ # @!attribute [rw] reason
6300
+ # The reason for the failure.
6301
+ # @return [String]
6302
+ #
6303
+ # @!attribute [rw] detail
6304
+ # The details of the failure.
6305
+ # @return [String]
6306
+ #
6307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Failure AWS API Documentation
6308
+ #
6309
+ class Failure < Struct.new(
6310
+ :arn,
6311
+ :reason,
6312
+ :detail)
6313
+ SENSITIVE = []
6314
+ include Aws::Structure
6315
+ end
6316
+
6317
+ # The FireLens configuration for the container. This is used to specify
6318
+ # and configure a log router for container logs. For more information,
6319
+ # see [Custom log routing][1] in the *Amazon Elastic Container Service
6320
+ # Developer Guide*.
6321
+ #
6322
+ #
5759
6323
  #
5760
6324
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html
5761
6325
  #
@@ -6209,6 +6773,25 @@ module Aws::ECS
6209
6773
  include Aws::Structure
6210
6774
  end
6211
6775
 
6776
+ # The entry point into an Express service.
6777
+ #
6778
+ # @!attribute [rw] access_type
6779
+ # The type of access to the endpoint for the Express service.
6780
+ # @return [String]
6781
+ #
6782
+ # @!attribute [rw] endpoint
6783
+ # The endpoint for access to the service.
6784
+ # @return [String]
6785
+ #
6786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/IngressPathSummary AWS API Documentation
6787
+ #
6788
+ class IngressPathSummary < Struct.new(
6789
+ :access_type,
6790
+ :endpoint)
6791
+ SENSITIVE = []
6792
+ include Aws::Structure
6793
+ end
6794
+
6212
6795
  # An object representing the result of a container instance health
6213
6796
  # status check.
6214
6797
  #
@@ -7352,6 +7935,11 @@ module Aws::ECS
7352
7935
  # results.
7353
7936
  # @return [String]
7354
7937
  #
7938
+ # @!attribute [rw] resource_management_type
7939
+ # The resourceManagementType type to use when filtering the
7940
+ # `ListServices` results.
7941
+ # @return [String]
7942
+ #
7355
7943
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesRequest AWS API Documentation
7356
7944
  #
7357
7945
  class ListServicesRequest < Struct.new(
@@ -7359,7 +7947,8 @@ module Aws::ECS
7359
7947
  :next_token,
7360
7948
  :max_results,
7361
7949
  :launch_type,
7362
- :scheduling_strategy)
7950
+ :scheduling_strategy,
7951
+ :resource_management_type)
7363
7952
  SENSITIVE = []
7364
7953
  include Aws::Structure
7365
7954
  end
@@ -8157,6 +8746,164 @@ module Aws::ECS
8157
8746
  include Aws::Structure
8158
8747
  end
8159
8748
 
8749
+ # The Application Auto Scaling policy created by Amazon ECS when you
8750
+ # create an Express service.
8751
+ #
8752
+ # @!attribute [rw] arn
8753
+ # The Amazon Resource Name (ARN) of the Application Auto Scaling
8754
+ # policy associated with the Express service.
8755
+ # @return [String]
8756
+ #
8757
+ # @!attribute [rw] status
8758
+ # The status of Application Auto Scaling policy creation.
8759
+ # @return [String]
8760
+ #
8761
+ # @!attribute [rw] status_reason
8762
+ # Information about why the Application Auto Scaling policy is in the
8763
+ # current status.
8764
+ # @return [String]
8765
+ #
8766
+ # @!attribute [rw] updated_at
8767
+ # The Unix timestamp for when the Application Auto Scaling policy was
8768
+ # last updated.
8769
+ # @return [Time]
8770
+ #
8771
+ # @!attribute [rw] policy_type
8772
+ # The type of Application Auto Scaling policy associated with the
8773
+ # Express service. Valid values are `TargetTrackingScaling`,
8774
+ # `StepScaling`, and `PredictiveScaling`.
8775
+ # @return [String]
8776
+ #
8777
+ # @!attribute [rw] target_value
8778
+ # The target value for the auto scaling metric.
8779
+ # @return [Float]
8780
+ #
8781
+ # @!attribute [rw] metric
8782
+ # The metric used for auto scaling decisions. The available metrics
8783
+ # are `ECSServiceAverageCPUUtilization`,
8784
+ # `ECSServiceAverageMemoryUtilization`, and
8785
+ # `ALBRequestCOuntPerTarget`.
8786
+ # @return [String]
8787
+ #
8788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedApplicationAutoScalingPolicy AWS API Documentation
8789
+ #
8790
+ class ManagedApplicationAutoScalingPolicy < Struct.new(
8791
+ :arn,
8792
+ :status,
8793
+ :status_reason,
8794
+ :updated_at,
8795
+ :policy_type,
8796
+ :target_value,
8797
+ :metric)
8798
+ SENSITIVE = []
8799
+ include Aws::Structure
8800
+ end
8801
+
8802
+ # The auto scaling configuration created by Amazon ECS for an Express
8803
+ # service.
8804
+ #
8805
+ # @!attribute [rw] scalable_target
8806
+ # Represents a scalable target.
8807
+ # @return [Types::ManagedScalableTarget]
8808
+ #
8809
+ # @!attribute [rw] application_auto_scaling_policies
8810
+ # The policy used for auto scaling.
8811
+ # @return [Array<Types::ManagedApplicationAutoScalingPolicy>]
8812
+ #
8813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAutoScaling AWS API Documentation
8814
+ #
8815
+ class ManagedAutoScaling < Struct.new(
8816
+ :scalable_target,
8817
+ :application_auto_scaling_policies)
8818
+ SENSITIVE = []
8819
+ include Aws::Structure
8820
+ end
8821
+
8822
+ # The ACM certificate associated with the HTTPS domain created for the
8823
+ # Express service.
8824
+ #
8825
+ # @!attribute [rw] arn
8826
+ # The Amazon Resource Name (ARN) of the ACM certificate.
8827
+ # @return [String]
8828
+ #
8829
+ # @!attribute [rw] status
8830
+ # The status of the ACM; certificate.
8831
+ # @return [String]
8832
+ #
8833
+ # @!attribute [rw] status_reason
8834
+ # Information about why the ACM certificate is in the current status.
8835
+ # @return [String]
8836
+ #
8837
+ # @!attribute [rw] updated_at
8838
+ # The Unix timestamp for when the ACM certificate was last updated
8839
+ # @return [Time]
8840
+ #
8841
+ # @!attribute [rw] domain_name
8842
+ # The fully qualified domain name (FQDN) that is secured with this ACM
8843
+ # certificate.
8844
+ # @return [String]
8845
+ #
8846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedCertificate AWS API Documentation
8847
+ #
8848
+ class ManagedCertificate < Struct.new(
8849
+ :arn,
8850
+ :status,
8851
+ :status_reason,
8852
+ :updated_at,
8853
+ :domain_name)
8854
+ SENSITIVE = []
8855
+ include Aws::Structure
8856
+ end
8857
+
8858
+ # The entry point into the Express service.
8859
+ #
8860
+ # @!attribute [rw] access_type
8861
+ # The type of access to the endpoint for the Express service.
8862
+ # @return [String]
8863
+ #
8864
+ # @!attribute [rw] endpoint
8865
+ # The endpoint for access to the Express service.
8866
+ # @return [String]
8867
+ #
8868
+ # @!attribute [rw] load_balancer
8869
+ # The Application Load Balancer associated with the Express service.
8870
+ # @return [Types::ManagedLoadBalancer]
8871
+ #
8872
+ # @!attribute [rw] load_balancer_security_groups
8873
+ # The security groups associated with the Application Load Balancer.
8874
+ # @return [Array<Types::ManagedSecurityGroup>]
8875
+ #
8876
+ # @!attribute [rw] certificate
8877
+ # The ACM certificate for the Express service's domain.
8878
+ # @return [Types::ManagedCertificate]
8879
+ #
8880
+ # @!attribute [rw] listener
8881
+ # The listeners associated with the Application Load Balancer.
8882
+ # @return [Types::ManagedListener]
8883
+ #
8884
+ # @!attribute [rw] rule
8885
+ # The listener rules for the Application Load Balancer.
8886
+ # @return [Types::ManagedListenerRule]
8887
+ #
8888
+ # @!attribute [rw] target_groups
8889
+ # The target groups associated with the Application Load Balancer.
8890
+ # @return [Array<Types::ManagedTargetGroup>]
8891
+ #
8892
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedIngressPath AWS API Documentation
8893
+ #
8894
+ class ManagedIngressPath < Struct.new(
8895
+ :access_type,
8896
+ :endpoint,
8897
+ :load_balancer,
8898
+ :load_balancer_security_groups,
8899
+ :certificate,
8900
+ :listener,
8901
+ :rule,
8902
+ :target_groups)
8903
+ SENSITIVE = []
8904
+ include Aws::Structure
8905
+ end
8906
+
8160
8907
  # The network configuration for Amazon ECS Managed Instances. This
8161
8908
  # specifies the VPC subnets and security groups that instances use for
8162
8909
  # network connectivity. Amazon ECS Managed Instances support multiple
@@ -8179,86 +8926,303 @@ module Aws::ECS
8179
8926
  #
8180
8927
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedInstancesNetworkConfiguration AWS API Documentation
8181
8928
  #
8182
- class ManagedInstancesNetworkConfiguration < Struct.new(
8183
- :subnets,
8184
- :security_groups)
8929
+ class ManagedInstancesNetworkConfiguration < Struct.new(
8930
+ :subnets,
8931
+ :security_groups)
8932
+ SENSITIVE = []
8933
+ include Aws::Structure
8934
+ end
8935
+
8936
+ # The configuration for a Amazon ECS Managed Instances provider. Amazon
8937
+ # ECS uses this configuration to automatically launch, manage, and
8938
+ # terminate Amazon EC2 instances on your behalf. Managed instances
8939
+ # provide access to the full range of Amazon EC2 instance types and
8940
+ # features while offloading infrastructure management to Amazon Web
8941
+ # Services.
8942
+ #
8943
+ # @!attribute [rw] infrastructure_role_arn
8944
+ # The Amazon Resource Name (ARN) of the infrastructure role that
8945
+ # Amazon ECS assumes to manage instances. This role must include
8946
+ # permissions for Amazon EC2 instance lifecycle management,
8947
+ # networking, and any additional Amazon Web Services services required
8948
+ # for your workloads.
8949
+ #
8950
+ # For more information, see [Amazon ECS infrastructure IAM role][1] in
8951
+ # the *Amazon ECS Developer Guide*.
8952
+ #
8953
+ #
8954
+ #
8955
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html
8956
+ # @return [String]
8957
+ #
8958
+ # @!attribute [rw] instance_launch_template
8959
+ # The launch template that defines how Amazon ECS launches Amazon ECS
8960
+ # Managed Instances. This includes the instance profile for your
8961
+ # tasks, network and storage configuration, and instance requirements
8962
+ # that determine which Amazon EC2 instance types can be used.
8963
+ #
8964
+ # For more information, see [Store instance launch parameters in
8965
+ # Amazon EC2 launch templates][1] in the *Amazon EC2 User Guide*.
8966
+ #
8967
+ #
8968
+ #
8969
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
8970
+ # @return [Types::InstanceLaunchTemplate]
8971
+ #
8972
+ # @!attribute [rw] propagate_tags
8973
+ # Determines whether tags from the capacity provider are automatically
8974
+ # applied to Amazon ECS Managed Instances. This helps with cost
8975
+ # allocation and resource management by ensuring consistent tagging
8976
+ # across your infrastructure.
8977
+ # @return [String]
8978
+ #
8979
+ # @!attribute [rw] infrastructure_optimization
8980
+ # Defines how Amazon ECS Managed Instances optimizes the
8981
+ # infrastastructure in your capacity provider. Configure it to turn on
8982
+ # or off the infrastructure optimization in your capacity provider,
8983
+ # and to control the idle or underutilized EC2 instances optimization
8984
+ # delay.
8985
+ # @return [Types::InfrastructureOptimization]
8986
+ #
8987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedInstancesProvider AWS API Documentation
8988
+ #
8989
+ class ManagedInstancesProvider < Struct.new(
8990
+ :infrastructure_role_arn,
8991
+ :instance_launch_template,
8992
+ :propagate_tags,
8993
+ :infrastructure_optimization)
8994
+ SENSITIVE = []
8995
+ include Aws::Structure
8996
+ end
8997
+
8998
+ # The storage configuration for Amazon ECS Managed Instances. This
8999
+ # defines the root volume configuration for the instances.
9000
+ #
9001
+ # @!attribute [rw] storage_size_gi_b
9002
+ # The size of the tasks volume.
9003
+ # @return [Integer]
9004
+ #
9005
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedInstancesStorageConfiguration AWS API Documentation
9006
+ #
9007
+ class ManagedInstancesStorageConfiguration < Struct.new(
9008
+ :storage_size_gi_b)
9009
+ SENSITIVE = []
9010
+ include Aws::Structure
9011
+ end
9012
+
9013
+ # The listeners associated with the Express service's Application Load
9014
+ # Balancer.
9015
+ #
9016
+ # @!attribute [rw] arn
9017
+ # The Amazon Resource Name (ARN) of the load balancer listener.
9018
+ # @return [String]
9019
+ #
9020
+ # @!attribute [rw] status
9021
+ # The status of the load balancer listener.
9022
+ # @return [String]
9023
+ #
9024
+ # @!attribute [rw] status_reason
9025
+ # Informaion about why the load balancer listener is in the current
9026
+ # status.
9027
+ # @return [String]
9028
+ #
9029
+ # @!attribute [rw] updated_at
9030
+ # The Unix timestamp for when this listener was most recently updated.
9031
+ # @return [Time]
9032
+ #
9033
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedListener AWS API Documentation
9034
+ #
9035
+ class ManagedListener < Struct.new(
9036
+ :arn,
9037
+ :status,
9038
+ :status_reason,
9039
+ :updated_at)
9040
+ SENSITIVE = []
9041
+ include Aws::Structure
9042
+ end
9043
+
9044
+ # The listener rule associated with the Express service's Application
9045
+ # Load Balancer.
9046
+ #
9047
+ # @!attribute [rw] arn
9048
+ # The Amazon Resource Name (ARN) of the load balancer listener rule.
9049
+ # @return [String]
9050
+ #
9051
+ # @!attribute [rw] status
9052
+ # The status of the load balancer listener rule.
9053
+ # @return [String]
9054
+ #
9055
+ # @!attribute [rw] status_reason
9056
+ # Information about why the load balancer listener rule is in the
9057
+ # current status.
9058
+ # @return [String]
9059
+ #
9060
+ # @!attribute [rw] updated_at
9061
+ # The Unix timestamp for when this listener rule was most recently
9062
+ # updated.
9063
+ # @return [Time]
9064
+ #
9065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedListenerRule AWS API Documentation
9066
+ #
9067
+ class ManagedListenerRule < Struct.new(
9068
+ :arn,
9069
+ :status,
9070
+ :status_reason,
9071
+ :updated_at)
9072
+ SENSITIVE = []
9073
+ include Aws::Structure
9074
+ end
9075
+
9076
+ # The Application Load Balancer associated with the Express service.
9077
+ #
9078
+ # @!attribute [rw] arn
9079
+ # The Amazon Resource Name (ARN) of the load balancer.
9080
+ # @return [String]
9081
+ #
9082
+ # @!attribute [rw] status
9083
+ # The status of the load balancer.
9084
+ # @return [String]
9085
+ #
9086
+ # @!attribute [rw] status_reason
9087
+ # Information about why the load balancer is in the current status.
9088
+ # @return [String]
9089
+ #
9090
+ # @!attribute [rw] updated_at
9091
+ # The Unix timestamp for when this load balancer was most recently
9092
+ # updated.
9093
+ # @return [Time]
9094
+ #
9095
+ # @!attribute [rw] scheme
9096
+ # The scheme of the load balancer. By default, the scheme of the load
9097
+ # balancer is `internet-facing`.
9098
+ # @return [String]
9099
+ #
9100
+ # @!attribute [rw] subnet_ids
9101
+ # The IDs of the subnets associated with the load balancer.
9102
+ # @return [Array<String>]
9103
+ #
9104
+ # @!attribute [rw] security_group_ids
9105
+ # The IDs of the security groups associated with the load balancer.
9106
+ # @return [Array<String>]
9107
+ #
9108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedLoadBalancer AWS API Documentation
9109
+ #
9110
+ class ManagedLoadBalancer < Struct.new(
9111
+ :arn,
9112
+ :status,
9113
+ :status_reason,
9114
+ :updated_at,
9115
+ :scheme,
9116
+ :subnet_ids,
9117
+ :security_group_ids)
8185
9118
  SENSITIVE = []
8186
9119
  include Aws::Structure
8187
9120
  end
8188
9121
 
8189
- # The configuration for a Amazon ECS Managed Instances provider. Amazon
8190
- # ECS uses this configuration to automatically launch, manage, and
8191
- # terminate Amazon EC2 instances on your behalf. Managed instances
8192
- # provide access to the full range of Amazon EC2 instance types and
8193
- # features while offloading infrastructure management to Amazon Web
8194
- # Services.
9122
+ # The Cloudwatch Log Group created by Amazon ECS for an Express service.
8195
9123
  #
8196
- # @!attribute [rw] infrastructure_role_arn
8197
- # The Amazon Resource Name (ARN) of the infrastructure role that
8198
- # Amazon ECS assumes to manage instances. This role must include
8199
- # permissions for Amazon EC2 instance lifecycle management,
8200
- # networking, and any additional Amazon Web Services services required
8201
- # for your workloads.
9124
+ # @!attribute [rw] arn
9125
+ # The Amazon Resource Name (ARN) of the Cloudwatch Log Group
9126
+ # associated with the Express service.
9127
+ # @return [String]
8202
9128
  #
8203
- # For more information, see [Amazon ECS infrastructure IAM role][1] in
8204
- # the *Amazon ECS Developer Guide*.
9129
+ # @!attribute [rw] status
9130
+ # The status of the Cloudwatch LogGroup.
9131
+ # @return [String]
8205
9132
  #
9133
+ # @!attribute [rw] status_reason
9134
+ # Information about why the Cloudwatch LogGroup is in the current
9135
+ # status.
9136
+ # @return [String]
8206
9137
  #
9138
+ # @!attribute [rw] updated_at
9139
+ # The Unix timestamp for when the Cloudwatch LogGroup was last updated
9140
+ # @return [Time]
8207
9141
  #
8208
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html
9142
+ # @!attribute [rw] log_group_name
9143
+ # The name of the Cloudwatch Log Group associated with the Express
9144
+ # service.
8209
9145
  # @return [String]
8210
9146
  #
8211
- # @!attribute [rw] instance_launch_template
8212
- # The launch template that defines how Amazon ECS launches Amazon ECS
8213
- # Managed Instances. This includes the instance profile for your
8214
- # tasks, network and storage configuration, and instance requirements
8215
- # that determine which Amazon EC2 instance types can be used.
8216
- #
8217
- # For more information, see [Store instance launch parameters in
8218
- # Amazon EC2 launch templates][1] in the *Amazon EC2 User Guide*.
9147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedLogGroup AWS API Documentation
8219
9148
  #
9149
+ class ManagedLogGroup < Struct.new(
9150
+ :arn,
9151
+ :status,
9152
+ :status_reason,
9153
+ :updated_at,
9154
+ :log_group_name)
9155
+ SENSITIVE = []
9156
+ include Aws::Structure
9157
+ end
9158
+
9159
+ # The CloudWatch metric alarm associated with the Express service's
9160
+ # scaling policy.
8220
9161
  #
9162
+ # @!attribute [rw] arn
9163
+ # The Amazon Resource Name (ARN) of the CloudWatch metric alarm.
9164
+ # @return [String]
8221
9165
  #
8222
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
8223
- # @return [Types::InstanceLaunchTemplate]
9166
+ # @!attribute [rw] status
9167
+ # The status of the CloudWatch metric alarm.
9168
+ # @return [String]
8224
9169
  #
8225
- # @!attribute [rw] propagate_tags
8226
- # Determines whether tags from the capacity provider are automatically
8227
- # applied to Amazon ECS Managed Instances. This helps with cost
8228
- # allocation and resource management by ensuring consistent tagging
8229
- # across your infrastructure.
9170
+ # @!attribute [rw] status_reason
9171
+ # Information about why the CloudWatch metric alarm is in the current
9172
+ # status.
8230
9173
  # @return [String]
8231
9174
  #
8232
- # @!attribute [rw] infrastructure_optimization
8233
- # Defines how Amazon ECS Managed Instances optimizes the
8234
- # infrastastructure in your capacity provider. Configure it to turn on
8235
- # or off the infrastructure optimization in your capacity provider,
8236
- # and to control the idle or underutilized EC2 instances optimization
8237
- # delay.
8238
- # @return [Types::InfrastructureOptimization]
9175
+ # @!attribute [rw] updated_at
9176
+ # The Unix timestamp for when the CloudWatch metric alarm was last
9177
+ # updated.
9178
+ # @return [Time]
8239
9179
  #
8240
- # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedInstancesProvider AWS API Documentation
9180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedMetricAlarm AWS API Documentation
8241
9181
  #
8242
- class ManagedInstancesProvider < Struct.new(
8243
- :infrastructure_role_arn,
8244
- :instance_launch_template,
8245
- :propagate_tags,
8246
- :infrastructure_optimization)
9182
+ class ManagedMetricAlarm < Struct.new(
9183
+ :arn,
9184
+ :status,
9185
+ :status_reason,
9186
+ :updated_at)
8247
9187
  SENSITIVE = []
8248
9188
  include Aws::Structure
8249
9189
  end
8250
9190
 
8251
- # The storage configuration for Amazon ECS Managed Instances. This
8252
- # defines the root volume configuration for the instances.
9191
+ # Represents a scalable target.
8253
9192
  #
8254
- # @!attribute [rw] storage_size_gi_b
8255
- # The size of the tasks volume.
9193
+ # @!attribute [rw] arn
9194
+ # The ARN of the scalable target.
9195
+ # @return [String]
9196
+ #
9197
+ # @!attribute [rw] status
9198
+ # The status of the scalable target.
9199
+ # @return [String]
9200
+ #
9201
+ # @!attribute [rw] status_reason
9202
+ # Information about why the scalable target is in the current status.
9203
+ # @return [String]
9204
+ #
9205
+ # @!attribute [rw] updated_at
9206
+ # The Unix timestamp for when the target was most recently updated.
9207
+ # @return [Time]
9208
+ #
9209
+ # @!attribute [rw] min_capacity
9210
+ # The minimum value to scale to in response to a scale-in activity.
8256
9211
  # @return [Integer]
8257
9212
  #
8258
- # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedInstancesStorageConfiguration AWS API Documentation
9213
+ # @!attribute [rw] max_capacity
9214
+ # The maximum value to scale to in response to a scale-out activity.
9215
+ # @return [Integer]
8259
9216
  #
8260
- class ManagedInstancesStorageConfiguration < Struct.new(
8261
- :storage_size_gi_b)
9217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedScalableTarget AWS API Documentation
9218
+ #
9219
+ class ManagedScalableTarget < Struct.new(
9220
+ :arn,
9221
+ :status,
9222
+ :status_reason,
9223
+ :updated_at,
9224
+ :min_capacity,
9225
+ :max_capacity)
8262
9226
  SENSITIVE = []
8263
9227
  include Aws::Structure
8264
9228
  end
@@ -8330,6 +9294,35 @@ module Aws::ECS
8330
9294
  include Aws::Structure
8331
9295
  end
8332
9296
 
9297
+ # A security group associated with the Express service.
9298
+ #
9299
+ # @!attribute [rw] arn
9300
+ # The ARN of the security group.
9301
+ # @return [String]
9302
+ #
9303
+ # @!attribute [rw] status
9304
+ # The status of the security group.
9305
+ # @return [String]
9306
+ #
9307
+ # @!attribute [rw] status_reason
9308
+ # Information about why the security group is in the current status.
9309
+ # @return [String]
9310
+ #
9311
+ # @!attribute [rw] updated_at
9312
+ # The Unix timestamp for when the security group was last updated.
9313
+ # @return [Time]
9314
+ #
9315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedSecurityGroup AWS API Documentation
9316
+ #
9317
+ class ManagedSecurityGroup < Struct.new(
9318
+ :arn,
9319
+ :status,
9320
+ :status_reason,
9321
+ :updated_at)
9322
+ SENSITIVE = []
9323
+ include Aws::Structure
9324
+ end
9325
+
8333
9326
  # The managed storage configuration for the cluster.
8334
9327
  #
8335
9328
  # @!attribute [rw] kms_key_id
@@ -8378,6 +9371,58 @@ module Aws::ECS
8378
9371
  include Aws::Structure
8379
9372
  end
8380
9373
 
9374
+ # The target group associated with the Express service's Application
9375
+ # Load Balancer. For more information about load balancer target groups,
9376
+ # see [CreateTargetGroup][1] in the *Elastic Load Balancing API
9377
+ # Reference*
9378
+ #
9379
+ #
9380
+ #
9381
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html
9382
+ #
9383
+ # @!attribute [rw] arn
9384
+ # The Amazon Resource Name (ARN) of the target group.
9385
+ # @return [String]
9386
+ #
9387
+ # @!attribute [rw] status
9388
+ # The status of the target group.
9389
+ # @return [String]
9390
+ #
9391
+ # @!attribute [rw] status_reason
9392
+ # Information about why the target group is in the current status.
9393
+ # @return [String]
9394
+ #
9395
+ # @!attribute [rw] updated_at
9396
+ # The Unix timestamp for when the target group was last updated.
9397
+ # @return [Time]
9398
+ #
9399
+ # @!attribute [rw] health_check_path
9400
+ # The destination for health checks on the targets.
9401
+ # @return [String]
9402
+ #
9403
+ # @!attribute [rw] health_check_port
9404
+ # The port the load balancer uses when performing health checks on
9405
+ # targets.
9406
+ # @return [Integer]
9407
+ #
9408
+ # @!attribute [rw] port
9409
+ # The port on which the targets receive traffic.
9410
+ # @return [Integer]
9411
+ #
9412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedTargetGroup AWS API Documentation
9413
+ #
9414
+ class ManagedTargetGroup < Struct.new(
9415
+ :arn,
9416
+ :status,
9417
+ :status_reason,
9418
+ :updated_at,
9419
+ :health_check_path,
9420
+ :health_check_port,
9421
+ :port)
9422
+ SENSITIVE = []
9423
+ include Aws::Structure
9424
+ end
9425
+
8381
9426
  # The minimum and maximum amount of memory per vCPU in gibibytes (GiB).
8382
9427
  # This helps ensure that instance types have the appropriate
8383
9428
  # memory-to-CPU ratio for your workloads.
@@ -10790,6 +11835,14 @@ module Aws::ECS
10790
11835
  # The Unix timestamp for the time when the service was created.
10791
11836
  # @return [Time]
10792
11837
  #
11838
+ # @!attribute [rw] current_service_deployment
11839
+ # The ARN of the current service deployment.
11840
+ # @return [String]
11841
+ #
11842
+ # @!attribute [rw] current_service_revisions
11843
+ # The list of the service revisions.
11844
+ # @return [Array<Types::ServiceCurrentRevisionSummary>]
11845
+ #
10793
11846
  # @!attribute [rw] placement_constraints
10794
11847
  # The placement constraints for the tasks in the service.
10795
11848
  # @return [Array<Types::PlacementConstraint>]
@@ -10930,6 +11983,12 @@ module Aws::ECS
10930
11983
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html
10931
11984
  # @return [String]
10932
11985
  #
11986
+ # @!attribute [rw] resource_management_type
11987
+ # Identifies whether an ECS Service is an Express Service managed by
11988
+ # ECS, or managed by the customer. The valid values are `ECS` and
11989
+ # `CUSTOMER`
11990
+ # @return [String]
11991
+ #
10933
11992
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Service AWS API Documentation
10934
11993
  #
10935
11994
  class Service < Struct.new(
@@ -10953,6 +12012,8 @@ module Aws::ECS
10953
12012
  :role_arn,
10954
12013
  :events,
10955
12014
  :created_at,
12015
+ :current_service_deployment,
12016
+ :current_service_revisions,
10956
12017
  :placement_constraints,
10957
12018
  :placement_strategy,
10958
12019
  :network_configuration,
@@ -10964,7 +12025,8 @@ module Aws::ECS
10964
12025
  :enable_ecs_managed_tags,
10965
12026
  :propagate_tags,
10966
12027
  :enable_execute_command,
10967
- :availability_zone_rebalancing)
12028
+ :availability_zone_rebalancing,
12029
+ :resource_management_type)
10968
12030
  SENSITIVE = []
10969
12031
  include Aws::Structure
10970
12032
  end
@@ -11442,6 +12504,35 @@ module Aws::ECS
11442
12504
  include Aws::Structure
11443
12505
  end
11444
12506
 
12507
+ # The summary of the current service revision configuration
12508
+ #
12509
+ # @!attribute [rw] arn
12510
+ # The ARN of the current service revision.
12511
+ # @return [String]
12512
+ #
12513
+ # @!attribute [rw] requested_task_count
12514
+ # The number of requested tasks in the current service revision
12515
+ # @return [Integer]
12516
+ #
12517
+ # @!attribute [rw] running_task_count
12518
+ # The number of running tasks of the current service revision
12519
+ # @return [Integer]
12520
+ #
12521
+ # @!attribute [rw] pending_task_count
12522
+ # The number of pending tasks in the current service revision
12523
+ # @return [Integer]
12524
+ #
12525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceCurrentRevisionSummary AWS API Documentation
12526
+ #
12527
+ class ServiceCurrentRevisionSummary < Struct.new(
12528
+ :arn,
12529
+ :requested_task_count,
12530
+ :running_task_count,
12531
+ :pending_task_count)
12532
+ SENSITIVE = []
12533
+ include Aws::Structure
12534
+ end
12535
+
11445
12536
  # Information about the service deployment.
11446
12537
  #
11447
12538
  # Service deployments provide a comprehensive view of your deployments.
@@ -12215,6 +13306,11 @@ module Aws::ECS
12215
13306
  # target groups serve traffic.
12216
13307
  # @return [Types::ResolvedConfiguration]
12217
13308
  #
13309
+ # @!attribute [rw] ecs_managed_resources
13310
+ # The resources created and managed by Amazon ECS when you create an
13311
+ # Express service for Amazon ECS.
13312
+ # @return [Types::ECSManagedResources]
13313
+ #
12218
13314
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceRevision AWS API Documentation
12219
13315
  #
12220
13316
  class ServiceRevision < Struct.new(
@@ -12236,7 +13332,8 @@ module Aws::ECS
12236
13332
  :fargate_ephemeral_storage,
12237
13333
  :created_at,
12238
13334
  :vpc_lattice_configurations,
12239
- :resolved_configuration)
13335
+ :resolved_configuration,
13336
+ :ecs_managed_resources)
12240
13337
  SENSITIVE = []
12241
13338
  include Aws::Structure
12242
13339
  end
@@ -14804,6 +15901,76 @@ module Aws::ECS
14804
15901
  include Aws::Structure
14805
15902
  end
14806
15903
 
15904
+ # @!attribute [rw] service_arn
15905
+ # The Amazon Resource Name (ARN) of the Express service to update.
15906
+ # @return [String]
15907
+ #
15908
+ # @!attribute [rw] execution_role_arn
15909
+ # The Amazon Resource Name (ARN) of the task execution role for the
15910
+ # Express service.
15911
+ # @return [String]
15912
+ #
15913
+ # @!attribute [rw] health_check_path
15914
+ # The path on the container for Application Load Balancer health
15915
+ # checks.
15916
+ # @return [String]
15917
+ #
15918
+ # @!attribute [rw] primary_container
15919
+ # The primary container configuration for the Express service.
15920
+ # @return [Types::ExpressGatewayContainer]
15921
+ #
15922
+ # @!attribute [rw] task_role_arn
15923
+ # The Amazon Resource Name (ARN) of the IAM role for containers in
15924
+ # this task.
15925
+ # @return [String]
15926
+ #
15927
+ # @!attribute [rw] network_configuration
15928
+ # The network configuration for the Express service tasks. By default,
15929
+ # the network configuration for an Express service uses the default
15930
+ # VPC.
15931
+ # @return [Types::ExpressGatewayServiceNetworkConfiguration]
15932
+ #
15933
+ # @!attribute [rw] cpu
15934
+ # The number of CPU units used by the task.
15935
+ # @return [String]
15936
+ #
15937
+ # @!attribute [rw] memory
15938
+ # The amount of memory (in MiB) used by the task.
15939
+ # @return [String]
15940
+ #
15941
+ # @!attribute [rw] scaling_target
15942
+ # The auto-scaling configuration for the Express service.
15943
+ # @return [Types::ExpressGatewayScalingTarget]
15944
+ #
15945
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateExpressGatewayServiceRequest AWS API Documentation
15946
+ #
15947
+ class UpdateExpressGatewayServiceRequest < Struct.new(
15948
+ :service_arn,
15949
+ :execution_role_arn,
15950
+ :health_check_path,
15951
+ :primary_container,
15952
+ :task_role_arn,
15953
+ :network_configuration,
15954
+ :cpu,
15955
+ :memory,
15956
+ :scaling_target)
15957
+ SENSITIVE = []
15958
+ include Aws::Structure
15959
+ end
15960
+
15961
+ # @!attribute [rw] service
15962
+ # The full description of your express gateway service following the
15963
+ # update call.
15964
+ # @return [Types::UpdatedExpressGatewayService]
15965
+ #
15966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateExpressGatewayServiceResponse AWS API Documentation
15967
+ #
15968
+ class UpdateExpressGatewayServiceResponse < Struct.new(
15969
+ :service)
15970
+ SENSITIVE = []
15971
+ include Aws::Structure
15972
+ end
15973
+
14807
15974
  # There's already a current Amazon ECS container agent update in
14808
15975
  # progress on the container instance that's specified. If the container
14809
15976
  # agent becomes disconnected while it's in a transitional stage, such
@@ -15394,6 +16561,54 @@ module Aws::ECS
15394
16561
  include Aws::Structure
15395
16562
  end
15396
16563
 
16564
+ # An object that describes an Express service to be updated.
16565
+ #
16566
+ # @!attribute [rw] service_arn
16567
+ # The ARN of the Express service that is being updated.
16568
+ # @return [String]
16569
+ #
16570
+ # @!attribute [rw] cluster
16571
+ # The cluster associated with the Express service that is being
16572
+ # updated.
16573
+ # @return [String]
16574
+ #
16575
+ # @!attribute [rw] service_name
16576
+ # The name of the Express service that is being updated.
16577
+ # @return [String]
16578
+ #
16579
+ # @!attribute [rw] status
16580
+ # The status of the Express service that is being updated.
16581
+ # @return [Types::ExpressGatewayServiceStatus]
16582
+ #
16583
+ # @!attribute [rw] target_configuration
16584
+ # The configuration to which the current Express service is being
16585
+ # updated to.
16586
+ # @return [Types::ExpressGatewayServiceConfiguration]
16587
+ #
16588
+ # @!attribute [rw] created_at
16589
+ # The Unix timestamp for when the Express service that is being
16590
+ # updated was created.
16591
+ # @return [Time]
16592
+ #
16593
+ # @!attribute [rw] updated_at
16594
+ # The Unix timestamp for when the Express service that is being
16595
+ # updated was most recently updated.
16596
+ # @return [Time]
16597
+ #
16598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdatedExpressGatewayService AWS API Documentation
16599
+ #
16600
+ class UpdatedExpressGatewayService < Struct.new(
16601
+ :service_arn,
16602
+ :cluster,
16603
+ :service_name,
16604
+ :status,
16605
+ :target_configuration,
16606
+ :created_at,
16607
+ :updated_at)
16608
+ SENSITIVE = []
16609
+ include Aws::Structure
16610
+ end
16611
+
15397
16612
  # The minimum and maximum number of vCPUs for instance type selection.
15398
16613
  # This allows you to specify a range of vCPU counts that meet your
15399
16614
  # workload requirements.