Service
ecs.services.k8s.aws/v1alpha1
Type | Link |
---|---|
GoDoc | ecs-controller/apis/v1alpha1#Service |
Metadata
Property | Value |
---|---|
Scope | Namespaced |
Kind | Service |
ListKind | ServiceList |
Plural | services |
Singular | service |
Details on a service within a cluster.
Spec
capacityProviderStrategy:
- base: integer
capacityProvider: string
weight: integer
cluster: string
clusterRef:
from:
name: string
namespace: string
deploymentConfiguration:
alarms:
alarmNames:
- string
enable: boolean
rollback: boolean
deploymentCircuitBreaker:
enable: boolean
rollback: boolean
maximumPercent: integer
minimumHealthyPercent: integer
deploymentController:
type: string
desiredCount: integer
enableECSManagedTags: boolean
enableExecuteCommand: boolean
healthCheckGracePeriodSeconds: integer
launchType: string
loadBalancers:
- containerName: string
containerPort: integer
loadBalancerName: string
loadBalancerRef:
from:
name: string
namespace: string
targetGroupARN: string
targetGroupRef:
from:
name: string
namespace: string
name: string
networkConfiguration:
awsVPCConfiguration:
assignPublicIP: string
securityGroupRefs:
from:
name: string
namespace: string
securityGroups:
- string
subnetRefs:
from:
name: string
namespace: string
subnets:
- string
placementConstraints:
- expression: string
type: string
placementStrategy:
- field: string
type: string
platformVersion: string
propagateTags: string
role: string
roleRef:
from:
name: string
namespace: string
schedulingStrategy: string
serviceConnectConfiguration:
enabled: boolean
logConfiguration:
logDriver: string
options: {}
secretOptions:
- name: string
valueFrom: string
namespace: string
services:
clientAliases:
- dnsName: string
port: integer
discoveryName: string
ingressPortOverride: integer
portName: string
timeout:
idleTimeoutSeconds: integer
perRequestTimeoutSeconds: integer
tls:
issuerCertificateAuthority:
awsPCAAuthorityARN: string
kmsKey: string
roleARN: string
serviceRegistries:
- containerName: string
containerPort: integer
port: integer
registryARN: string
tags:
- key: string
value: string
taskDefinition: string
taskDefinitionRef:
from:
name: string
namespace: string
volumeConfigurations:
managedEBSVolume:
encrypted: boolean
filesystemType: string
iops: integer
kmsKeyID: string
roleARN: string
sizeInGiB: integer
snapshotID: string
tagSpecifications:
- propagateTags: string
resourceType: string
tags:
- key: string
value: string
throughput: integer
volumeType: string
name: string
Field | Description |
---|---|
capacityProviderStrategy Optional | array The capacity provider strategy to use for the service. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. A capacity provider strategy may contain a maximum of 6 capacity providers. |
capacityProviderStrategy.[] Required | object The details of a capacity provider strategy. A capacity provider strategy |
can be set when using the RunTask or CreateCluster APIs or as the default | |
capacity provider strategy for a cluster with the CreateCluster API. |
Only capacity providers that are already associated with a cluster and have an ACTIVE or UPDATING status can be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster.
If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.
To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.
A capacity provider strategy may contain a maximum of 6 capacity providers. || capacityProviderStrategy.[].base
Optional | integer
|
| capacityProviderStrategy.[].capacityProvider
Optional | string
|
| capacityProviderStrategy.[].weight
Optional | integer
|
| cluster
Optional | string
The short name or full Amazon Resource Name (ARN) of the cluster that you
run your service on. If you do not specify a cluster, the default cluster
is assumed. |
| clusterRef
Optional | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api |
| clusterRef.from
Optional | object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name) |
| clusterRef.from.name
Optional | string
|
| clusterRef.from.namespace
Optional | string
|
| deploymentConfiguration
Optional | object
Optional deployment parameters that control how many tasks run during the
deployment and the ordering of stopping and starting tasks. |
| deploymentConfiguration.alarms
Optional | object
One of the methods which provide a way for you to quickly identify when a
deployment has failed, and then to optionally roll back the failure to the
last working deployment.
When the alarms are generated, Amazon ECS sets the service deployment to
failed. Set the rollback parameter to have Amazon ECS to roll back your service
to the last completed deployment after a failure.
You can only use the DeploymentAlarms method to detect failures when the
DeploymentController is set to ECS (rolling update).
For more information, see Rolling update (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html)
in the Amazon Elastic Container Service Developer Guide . |
| deploymentConfiguration.alarms.alarmNames
Optional | array
|
| deploymentConfiguration.alarms.alarmNames.[]
Required | string
|| deploymentConfiguration.alarms.enable
Optional | boolean
|
| deploymentConfiguration.alarms.rollback
Optional | boolean
|
| deploymentConfiguration.deploymentCircuitBreaker
Optional | object
The deployment circuit breaker can only be used for services using the rolling
update (ECS) deployment type.
The deployment circuit breaker determines whether a service deployment will
fail if the service can’t reach a steady state. If it is turned on, a service
deployment will transition to a failed state and stop launching new tasks.
You can also configure Amazon ECS to roll back your service to the last completed
deployment after a failure. For more information, see Rolling update (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html)
in the Amazon Elastic Container Service Developer Guide.
For more information about API failure reasons, see API failure reasons (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html)
in the Amazon Elastic Container Service Developer Guide. |
| deploymentConfiguration.deploymentCircuitBreaker.enable
Optional | boolean
|
| deploymentConfiguration.deploymentCircuitBreaker.rollback
Optional | boolean
|
| deploymentConfiguration.maximumPercent
Optional | integer
|
| deploymentConfiguration.minimumHealthyPercent
Optional | integer
|
| deploymentController
Optional | object
The deployment controller to use for the service. If no deployment controller
is specified, the default value of ECS is used. |
| deploymentController.type
Optional | string
|
| desiredCount
Optional | integer
The number of instantiations of the specified task definition to place and
keep running in your service.
This is required if schedulingStrategy is REPLICA or isn’t specified. If
schedulingStrategy is DAEMON then this isn’t required. |
| enableECSManagedTags
Optional | boolean
Specifies whether to turn on Amazon ECS managed tags for the tasks within
the service. For more information, see Tagging your Amazon ECS resources
(https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)
in the Amazon Elastic Container Service Developer Guide.
When you use Amazon ECS managed tags, you need to set the propagateTags request
parameter. |
| enableExecuteCommand
Optional | boolean
Determines whether the execute command functionality is turned on for the
service. If true, this enables execute command functionality on all containers
in the service tasks. |
| healthCheckGracePeriodSeconds
Optional | integer
The period of time, in seconds, that the Amazon ECS service scheduler ignores
unhealthy Elastic Load Balancing target health checks after a task has first
started. This is only used when your service is configured to use a load
balancer. If your service has a load balancer defined and you don’t specify
a health check grace period value, the default value of 0 is used.
If you do not use an Elastic Load Balancing, we recommend that you use the
startPeriod in the task definition health check parameters. For more information,
see Health check (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html).
If your service’s tasks take a while to start and respond to Elastic Load
Balancing health checks, you can specify a health check grace period of up
to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS
service scheduler ignores health check status. This grace period can prevent
the service scheduler from marking tasks as unhealthy and stopping them before
they have time to come up. |
| launchType
Optional | string
The infrastructure that you run your service on. For more information, see
Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html)
in the Amazon Elastic Container Service Developer Guide.
The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure.
Fargate Spot infrastructure is available for use but a capacity provider
strategy must be used. For more information, see Fargate capacity providers
(https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html)
in the Amazon ECS User Guide for Fargate.
The EC2 launch type runs your tasks on Amazon EC2 instances registered to
your cluster.
The EXTERNAL launch type runs your tasks on your on-premises server or virtual
machine (VM) capacity registered to your cluster.
A service can use either a launch type or a capacity provider strategy. If
a launchType is specified, the capacityProviderStrategy parameter must be
omitted. |
| loadBalancers
Optional | array
A load balancer object representing the load balancers to use with your service.
For more information, see Service load balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html)
in the Amazon Elastic Container Service Developer Guide.
If the service uses the rolling update (ECS) deployment controller and using
either an Application Load Balancer or Network Load Balancer, you must specify
one or more target group ARNs to attach to the service. The service-linked
role is required for services that use multiple target groups. For more information,
see Using service-linked roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html)
in the Amazon Elastic Container Service Developer Guide.
If the service uses the CODE_DEPLOY deployment controller, the service is
required to use either an Application Load Balancer or Network Load Balancer.
When creating an CodeDeploy deployment group, you specify two target groups
(referred to as a targetGroupPair). During a deployment, CodeDeploy determines
which task set in your service has the status PRIMARY, and it associates
one target group with it. Then, it also associates the other target group
with the replacement task set. The load balancer can also have up to two
listeners: a required listener for production traffic and an optional listener
that you can use to perform validation tests with Lambda functions before
routing production traffic to it.
If you use the CODE_DEPLOY deployment controller, these values can be changed
when updating the service.
For Application Load Balancers and Network Load Balancers, this object must
contain the load balancer target group ARN, the container name, and the container
port to access from the load balancer. The container name must be as it appears
in a container definition. The load balancer name parameter must be omitted.
When a task from this service is placed on a container instance, the container
instance and port combination is registered as a target in the target group
that’s specified here.
For Classic Load Balancers, this object must contain the load balancer name,
the container name , and the container port to access from the load balancer.
The container name must be as it appears in a container definition. The target
group ARN parameter must be omitted. When a task from this service is placed
on a container instance, the container instance is registered with the load
balancer that’s specified here.
Services with tasks that use the awsvpc network mode (for example, those
with the Fargate launch type) only support Application Load Balancers and
Network Load Balancers. Classic Load Balancers aren’t supported. Also, when
you create any target groups for these services, you must choose ip as the
target type, not instance. This is because tasks that use the awsvpc network
mode are associated with an elastic network interface, not an Amazon EC2
instance. |
| loadBalancers.[]
Required | object
The load balancer configuration to use with a service or task set.
When you add, update, or remove a load balancer configuration, Amazon ECS starts a new deployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and deregister from load balancers.
We recommend that you verify this on a test environment before you update the Elastic Load Balancing configuration.
A service-linked role is required for services that use multiple target groups.
For more information, see Using service-linked roles (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html)
in the Amazon Elastic Container Service Developer Guide. || loadBalancers.[].containerName
Optional | string
|
| loadBalancers.[].containerPort
Optional | integer
|
| loadBalancers.[].loadBalancerName
Optional | string
|
| loadBalancers.[].loadBalancerRef
Optional | object
Reference field for LoadBalancerName |
| loadBalancers.[].loadBalancerRef.from
Optional | object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name) |
| loadBalancers.[].loadBalancerRef.from.name
Optional | string
|
| loadBalancers.[].loadBalancerRef.from.namespace
Optional | string
|
| loadBalancers.[].targetGroupARN
Optional | string
|
| loadBalancers.[].targetGroupRef
Optional | object
Reference field for TargetGroupARN |
| loadBalancers.[].targetGroupRef.from
Optional | object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name) |
| loadBalancers.[].targetGroupRef.from.name
Optional | string
|
| loadBalancers.[].targetGroupRef.from.namespace
Optional | string
|
| name
Required | string
The name of your service. Up to 255 letters (uppercase and lowercase), numbers,
underscores, and hyphens are allowed. Service names must be unique within
a cluster, but you can have similarly named services in multiple clusters
within a Region or across multiple Regions. |
| networkConfiguration
Optional | object
The network configuration for the service. This parameter is required for
task definitions that use the awsvpc network mode to receive their own elastic
network interface, and it isn’t supported for other network modes. For more
information, see Task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
in the Amazon Elastic Container Service Developer Guide. |
| networkConfiguration.awsVPCConfiguration
Optional | object
An object representing the networking details for a task or service. For
example awsvpcConfiguration={subnets=[“subnet-12344321”],securityGroups=[“sg-12344321”]} |
| networkConfiguration.awsVPCConfiguration.assignPublicIP
Optional | string
|
| networkConfiguration.awsVPCConfiguration.securityGroupRefs
Optional | array
Reference field for SecurityGroups |
| networkConfiguration.awsVPCConfiguration.securityGroupRefs.[]
Required | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api || **networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from**<br/>Optional | **object**<br/>AWSResourceReference provides all the values necessary to reference another<br/>k8s resource for finding the identifier(Id/ARN/Name) |
| networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from.name
Optional | string
|
| networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from.namespace
Optional | string
|
| networkConfiguration.awsVPCConfiguration.securityGroups
Optional | array
|
| networkConfiguration.awsVPCConfiguration.securityGroups.[]
Required | string
|| networkConfiguration.awsVPCConfiguration.subnetRefs
Optional | array
Reference field for Subnets |
| networkConfiguration.awsVPCConfiguration.subnetRefs.[]
Required | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api || **networkConfiguration.awsVPCConfiguration.subnetRefs.[].from**<br/>Optional | **object**<br/>AWSResourceReference provides all the values necessary to reference another<br/>k8s resource for finding the identifier(Id/ARN/Name) |
| networkConfiguration.awsVPCConfiguration.subnetRefs.[].from.name
Optional | string
|
| networkConfiguration.awsVPCConfiguration.subnetRefs.[].from.namespace
Optional | string
|
| networkConfiguration.awsVPCConfiguration.subnets
Optional | array
|
| networkConfiguration.awsVPCConfiguration.subnets.[]
Required | string
|| placementConstraints
Optional | array
An array of placement constraint objects to use for tasks in your service.
You can specify a maximum of 10 constraints for each task. This limit includes
constraints in the task definition and those specified at runtime. |
| placementConstraints.[]
Required | object
An object representing a constraint on task placement. For more information,
see Task placement constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html)
in the Amazon Elastic Container Service Developer Guide.
If you’re using the Fargate launch type, task placement constraints aren’t
supported. || placementConstraints.[].expression
Optional | string
|
| placementConstraints.[].type
Optional | string
|
| placementStrategy
Optional | array
The placement strategy objects to use for tasks in your service. You can
specify a maximum of 5 strategy rules for each service. |
| placementStrategy.[]
Required | object
The task placement strategy for a task or service. For more information,
see Task placement strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html)
in the Amazon Elastic Container Service Developer Guide. || placementStrategy.[].field
Optional | string
|
| placementStrategy.[].type
Optional | string
|
| platformVersion
Optional | string
The platform version that your tasks in the service are running on. A platform
version is specified only for tasks using the Fargate launch type. If one
isn’t specified, the LATEST platform version is used. For more information,
see Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
in the Amazon Elastic Container Service Developer Guide. |
| propagateTags
Optional | string
Specifies whether to propagate the tags from the task definition to the task.
If no value is specified, the tags aren’t propagated. Tags can only be propagated
to the task during task creation. To add tags to a task after task creation,
use the TagResource (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html)
API action.
The default is NONE. |
| role
Optional | string
The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon
ECS to make calls to your load balancer on your behalf. This parameter is
only permitted if you are using a load balancer with your service and your
task definition doesn’t use the awsvpc network mode. If you specify the role
parameter, you must also specify a load balancer object with the loadBalancers
parameter.
If your account has already created the Amazon ECS service-linked role, that
role is used for your service unless you specify a role here. The service-linked
role is required if your task definition uses the awsvpc network mode or
if the service is configured to use service discovery, an external deployment
controller, multiple target groups, or Elastic Inference accelerators in
which case you don’t specify a role here. For more information, see Using
service-linked roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html)
in the Amazon Elastic Container Service Developer Guide.
If your specified role has a path other than /, then you must either specify
the full role ARN (this is recommended) or prefix the role name with the
path. For example, if a role with the name bar has a path of /foo/ then you
would specify /foo/bar as the role name. For more information, see Friendly
names and paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names)
in the IAM User Guide. |
| roleRef
Optional | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api |
| roleRef.from
Optional | object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name) |
| roleRef.from.name
Optional | string
|
| roleRef.from.namespace
Optional | string
|
| schedulingStrategy
Optional | string
The scheduling strategy to use for the service. For more information, see
Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).
There are two service scheduler strategies available:
* REPLICA-The replica scheduling strategy places and maintains the desired
number of tasks across your cluster. By default, the service scheduler
spreads tasks across Availability Zones. You can use task placement strategies
and constraints to customize task placement decisions. This scheduler
strategy is required if the service uses the CODE_DEPLOY or EXTERNAL deployment
controller types.
* DAEMON-The daemon scheduling strategy deploys exactly one task on each
active container instance that meets all of the task placement constraints
that you specify in your cluster. The service scheduler also evaluates
the task placement constraints for running tasks and will stop tasks that
don’t meet the placement constraints. When you’re using this strategy,
you don’t need to specify a desired number of tasks, a task placement
strategy, or use Service Auto Scaling policies. Tasks using the Fargate
launch type or the CODE_DEPLOY or EXTERNAL deployment controller types
don’t support the DAEMON scheduling strategy. |
| serviceConnectConfiguration
Optional | object
The configuration for this service to discover and connect to services, and
be discovered by, and connected from, other services within a namespace.
Tasks that run in a namespace can use short names to connect to services
in the namespace. Tasks can connect to services across all of the clusters
in the namespace. Tasks connect through a managed proxy container that collects
logs and metrics for increased visibility. Only the tasks that Amazon ECS
services create are supported with Service Connect. For more information,
see Service Connect (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html)
in the Amazon Elastic Container Service Developer Guide. |
| serviceConnectConfiguration.enabled
Optional | boolean
|
| serviceConnectConfiguration.logConfiguration
Optional | object
The log configuration for the container. This parameter maps to LogConfig
in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
and the –log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/).
By default, containers use the same logging driver that the Docker daemon
uses. However, the container might use a different logging driver than the
Docker daemon by specifying a log driver configuration in the container definition.
For more information about the options for different supported log drivers,
see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/)
in the Docker documentation.
Understand the following when specifying a log configuration for your containers.
* Amazon ECS currently supports a subset of the logging drivers available
to the Docker daemon. Additional log drivers may be available in future
releases of the Amazon ECS container agent. For tasks on Fargate, the
supported log drivers are awslogs, splunk, and awsfirelens. For tasks
hosted on Amazon EC2 instances, the supported log drivers are awslogs,
fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens.
* This parameter requires version 1.18 of the Docker Remote API or greater
on your container instance.
* For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container
agent must register the available logging drivers with the ECS_AVAILABLE_LOGGING_DRIVERS
environment variable before containers placed on that instance can use
these log configuration options. For more information, see Amazon ECS
container agent configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)
in the Amazon Elastic Container Service Developer Guide.
* For tasks that are on Fargate, because you don’t have access to the
underlying infrastructure your tasks are hosted on, any additional software
needed must be installed outside of the task. For example, the Fluentd
output aggregators or a remote host running Logstash to send Gelf logs
to. |
| serviceConnectConfiguration.logConfiguration.logDriver
Optional | string
|
| serviceConnectConfiguration.logConfiguration.options
Optional | object
|
| serviceConnectConfiguration.logConfiguration.secretOptions
Optional | array
|
| serviceConnectConfiguration.logConfiguration.secretOptions.[]
Required | object
An object representing the secret to expose to your container. Secrets can
be exposed to a container in the following ways:
To inject sensitive data into your containers as environment variables, use the secrets container definition parameter.
To reference sensitive information in the log configuration of a container, use the secretOptions container definition parameter.
For more information, see Specifying sensitive data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html)
in the Amazon Elastic Container Service Developer Guide. || serviceConnectConfiguration.logConfiguration.secretOptions.[].name
Optional | string
|
| serviceConnectConfiguration.logConfiguration.secretOptions.[].valueFrom
Optional | string
|
| serviceConnectConfiguration.namespace
Optional | string
|
| serviceConnectConfiguration.services
Optional | array
|
| serviceConnectConfiguration.services.[]
Required | object
The Service Connect service object configuration. For more information, see
Service Connect (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html)
in the Amazon Elastic Container Service Developer Guide. || serviceConnectConfiguration.services.[].clientAliases
Optional | array
|
| serviceConnectConfiguration.services.[].clientAliases.[]
Required | object
Each alias (“endpoint”) is a fully-qualified name and port number that other
tasks (“clients”) can use to connect to this service.
Each name and port mapping must be unique within the namespace.
Tasks that run in a namespace can use short names to connect to services
in the namespace. Tasks can connect to services across all of the clusters
in the namespace. Tasks connect through a managed proxy container that collects
logs and metrics for increased visibility. Only the tasks that Amazon ECS
services create are supported with Service Connect. For more information,
see Service Connect (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html)
in the Amazon Elastic Container Service Developer Guide. || serviceConnectConfiguration.services.[].clientAliases.[].dnsName
Optional | string
|
| serviceConnectConfiguration.services.[].clientAliases.[].port
Optional | integer
|
| serviceConnectConfiguration.services.[].discoveryName
Optional | string
|
| serviceConnectConfiguration.services.[].ingressPortOverride
Optional | integer
|
| serviceConnectConfiguration.services.[].portName
Optional | string
|
| serviceConnectConfiguration.services.[].timeout
Optional | object
An object that represents the timeout configurations for Service Connect.
If idleTimeout is set to a time that is less than perRequestTimeout, the
connection will close when the idleTimeout is reached and not the perRequestTimeout. |
| serviceConnectConfiguration.services.[].timeout.idleTimeoutSeconds
Optional | integer
|
| serviceConnectConfiguration.services.[].timeout.perRequestTimeoutSeconds
Optional | integer
|
| serviceConnectConfiguration.services.[].tls
Optional | object
An object that represents the configuration for Service Connect TLS. |
| serviceConnectConfiguration.services.[].tls.issuerCertificateAuthority
Optional | object
An object that represents the Amazon Web Services Private Certificate Authority
certificate. |
| serviceConnectConfiguration.services.[].tls.issuerCertificateAuthority.awsPCAAuthorityARN
Optional | string
|
| serviceConnectConfiguration.services.[].tls.kmsKey
Optional | string
|
| serviceConnectConfiguration.services.[].tls.roleARN
Optional | string
|
| serviceRegistries
Optional | array
The details of the service discovery registry to associate with this service.
For more information, see Service discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html).
Each service may be associated with one service registry. Multiple service
registries for each service isn’t supported. |
| serviceRegistries.[]
Required | object
The details for the service registry.
Each service may be associated with one service registry. Multiple service registries for each service are not supported.
When you add, update, or remove the service registries configuration, Amazon
ECS starts a new deployment. New tasks are registered and deregistered to
the updated service registry configuration. || serviceRegistries.[].containerName
Optional | string
|
| serviceRegistries.[].containerPort
Optional | integer
|
| serviceRegistries.[].port
Optional | integer
|
| serviceRegistries.[].registryARN
Optional | string
|
| tags
Optional | array
The metadata that you apply to the service to help you categorize and organize
them. Each tag consists of a key and an optional value, both of which you
define. When a service is deleted, the tags are deleted as well.
The following basic restrictions apply to tags:
* Maximum number of tags per resource - 50
* For each resource, each tag key must be unique, and each tag key can
have only one value.
* Maximum key length - 128 Unicode characters in UTF-8
* Maximum value length - 256 Unicode characters in UTF-8
* If your tagging schema is used across multiple services and resources,
remember that other services may have restrictions on allowed characters.
Generally allowed characters are: letters, numbers, and spaces representable
in UTF-8, and the following characters: + - = . _ : / @.
* Tag keys and values are case-sensitive.
* Do not use aws:, AWS:, or any upper or lowercase combination of such
as a prefix for either keys or values as it is reserved for Amazon Web
Services use. You cannot edit or delete tag keys or values with this prefix.
Tags with this prefix do not count against your tags per resource limit. |
| tags.[]
Required | object
The metadata that you apply to a resource to help you categorize and organize
them. Each tag consists of a key and an optional value. You define them.
The following basic restrictions apply to tags:
Maximum number of tags per resource - 50
For each resource, each tag key must be unique, and each tag key can have only one value.
Maximum key length - 128 Unicode characters in UTF-8
Maximum value length - 256 Unicode characters in UTF-8
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. || tags.[].key
Optional | string
| | tags.[].value
Optional | string
| | taskDefinition
Optional | string
The family and revision (family:revision) or full ARN of the task definition
to run in your service. If a revision isn’t specified, the latest ACTIVE
revision is used.
A task definition must be specified if the service uses either the ECS or
CODE_DEPLOY deployment controllers.
For more information about deployment types, see Amazon ECS deployment types
(https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html). | | taskDefinitionRef
Optional | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api | | taskDefinitionRef.from
Optional | object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name) | | taskDefinitionRef.from.name
Optional | string
| | taskDefinitionRef.from.namespace
Optional | string
| | volumeConfigurations
Optional | array
The configuration for a volume specified in the task definition as a volume
that is configured at launch time. Currently, the only supported volume type
is an Amazon EBS volume. | | volumeConfigurations.[]
Required | object
The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. || volumeConfigurations.[].managedEBSVolume
Optional | object
The configuration for the Amazon EBS volume that Amazon ECS creates and manages
on your behalf. These settings are used to create each Amazon EBS volume,
with one volume created for each task in the service.
Many of these parameters map 1:1 with the Amazon EBS CreateVolume API request
parameters. | | volumeConfigurations.[].managedEBSVolume.encrypted
Optional | boolean
| | volumeConfigurations.[].managedEBSVolume.filesystemType
Optional | string
| | volumeConfigurations.[].managedEBSVolume.iops
Optional | integer
| | volumeConfigurations.[].managedEBSVolume.kmsKeyID
Optional | string
| | volumeConfigurations.[].managedEBSVolume.roleARN
Optional | string
| | volumeConfigurations.[].managedEBSVolume.sizeInGiB
Optional | integer
| | volumeConfigurations.[].managedEBSVolume.snapshotID
Optional | string
| | volumeConfigurations.[].managedEBSVolume.tagSpecifications
Optional | array
| | volumeConfigurations.[].managedEBSVolume.tagSpecifications.[]
Required | object
The tag specifications of an Amazon EBS volume. || volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].propagateTags
Optional | string
| | volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].resourceType
Optional | string
| | volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].tags
Optional | array
| | volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].tags.[]
Required | object
The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.
The following basic restrictions apply to tags:
Maximum number of tags per resource - 50
For each resource, each tag key must be unique, and each tag key can have only one value.
Maximum key length - 128 Unicode characters in UTF-8
Maximum value length - 256 Unicode characters in UTF-8
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. || volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].tags.[].key
Optional | string
| | volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].tags.[].value
Optional | string
| | volumeConfigurations.[].managedEBSVolume.throughput
Optional | integer
| | volumeConfigurations.[].managedEBSVolume.volumeType
Optional | string
| | volumeConfigurations.[].name
Optional | string
|
Status
ackResourceMetadata:
arn: string
ownerAccountID: string
region: string
clusterARN: string
conditions:
- lastTransitionTime: string
message: string
reason: string
status: string
type: string
createdAt: string
createdBy: string
deployments:
capacityProviderStrategy:
- base: integer
capacityProvider: string
weight: integer
createdAt: string
desiredCount: integer
failedTasks: integer
id: string
launchType: string
networkConfiguration:
awsVPCConfiguration:
assignPublicIP: string
securityGroupRefs:
from:
name: string
namespace: string
securityGroups:
- string
subnetRefs:
from:
name: string
namespace: string
subnets:
- string
pendingCount: integer
platformFamily: string
platformVersion: string
rolloutState: string
rolloutStateReason: string
runningCount: integer
serviceConnectConfiguration:
enabled: boolean
logConfiguration:
logDriver: string
options: {}
secretOptions:
- name: string
valueFrom: string
namespace: string
services:
clientAliases:
- dnsName: string
port: integer
discoveryName: string
ingressPortOverride: integer
portName: string
timeout:
idleTimeoutSeconds: integer
perRequestTimeoutSeconds: integer
tls:
issuerCertificateAuthority:
awsPCAAuthorityARN: string
kmsKey: string
roleARN: string
serviceConnectResources:
- discoveryARN: string
discoveryName: string
status: string
taskDefinition: string
updatedAt: string
volumeConfigurations:
managedEBSVolume:
encrypted: boolean
filesystemType: string
iops: integer
kmsKeyID: string
roleARN: string
sizeInGiB: integer
snapshotID: string
tagSpecifications:
- propagateTags: string
resourceType: string
tags:
- key: string
value: string
throughput: integer
volumeType: string
name: string
events:
- createdAt: string
id: string
message: string
pendingCount: integer
platformFamily: string
roleARN: string
runningCount: integer
status: string
taskSets:
capacityProviderStrategy:
- base: integer
capacityProvider: string
weight: integer
clusterARN: string
computedDesiredCount: integer
createdAt: string
externalID: string
id: string
launchType: string
loadBalancers:
- containerName: string
containerPort: integer
loadBalancerName: string
loadBalancerRef:
from:
name: string
namespace: string
targetGroupARN: string
targetGroupRef:
from:
name: string
namespace: string
networkConfiguration:
awsVPCConfiguration:
assignPublicIP: string
securityGroupRefs:
from:
name: string
namespace: string
securityGroups:
- string
subnetRefs:
from:
name: string
namespace: string
subnets:
- string
pendingCount: integer
platformFamily: string
platformVersion: string
runningCount: integer
scale:
unit: string
value: number
serviceARN: string
serviceRegistries:
- containerName: string
containerPort: integer
port: integer
registryARN: string
stabilityStatus: string
stabilityStatusAt: string
startedBy: string
status: string
tags:
- key: string
value: string
taskDefinition: string
taskSetARN: string
updatedAt: string
Field | Description |
---|---|
ackResourceMetadata Optional | object All CRs managed by ACK have a common Status.ACKResourceMetadata memberthat is used to contain resource sync state, account ownership, constructed ARN for the resource |
ackResourceMetadata.arn Optional | string ARN is the Amazon Resource Name for the resource. This is a globally-unique identifier and is set only by the ACK service controller once the controller has orchestrated the creation of the resource OR when it has verified that an “adopted” resource (a resource where the ARN annotation was set by the Kubernetes user on the CR) exists and matches the supplied CR’s Spec field values. https://github.com/aws/aws-controllers-k8s/issues/270 |
ackResourceMetadata.ownerAccountID Required | string OwnerAccountID is the AWS Account ID of the account that owns the backend AWS service API resource. |
ackResourceMetadata.region Required | string Region is the AWS region in which the resource exists or will exist. |
clusterARN Optional | string The Amazon Resource Name (ARN) of the cluster that hosts the service. |
conditions Optional | array All CRS managed by ACK have a common Status.Conditions member thatcontains a collection of ackv1alpha1.Condition objects that describethe various terminal states of the CR and its backend AWS service API resource |
conditions.[] Required | object Condition is the common struct used by all CRDs managed by ACK service |
controllers to indicate terminal states of the CR and its backend AWS | |
service API resource | |
conditions.[].message Optional | string A human readable message indicating details about the transition. |
conditions.[].reason Optional | string The reason for the condition’s last transition. |
conditions.[].status Optional | string Status of the condition, one of True, False, Unknown. |
conditions.[].type Optional | string Type is the type of the Condition |
createdAt Optional | string The Unix timestamp for the time when the service was created. |
createdBy Optional | string The principal that created the service. |
deployments Optional | array The current state of deployments for the service. |
deployments.[] Required | object The details of an Amazon ECS service deployment. This is used only when a |
service uses the ECS deployment controller type. | |
deployments.[].capacityProviderStrategy.[] Required | object The details of a capacity provider strategy. A capacity provider strategy |
can be set when using the RunTask or CreateCluster APIs or as the default | |
capacity provider strategy for a cluster with the CreateCluster API. |
Only capacity providers that are already associated with a cluster and have an ACTIVE or UPDATING status can be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster.
If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.
To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.
A capacity provider strategy may contain a maximum of 6 capacity providers. || deployments.[].capacityProviderStrategy.[].base
Optional | integer
|
| deployments.[].capacityProviderStrategy.[].capacityProvider
Optional | string
|
| deployments.[].capacityProviderStrategy.[].weight
Optional | integer
|
| deployments.[].createdAt
Optional | string
|
| deployments.[].desiredCount
Optional | integer
|
| deployments.[].failedTasks
Optional | integer
|
| deployments.[].id
Optional | string
|
| deployments.[].launchType
Optional | string
|
| deployments.[].networkConfiguration
Optional | object
The network configuration for a task or service. |
| deployments.[].networkConfiguration.awsVPCConfiguration
Optional | object
An object representing the networking details for a task or service. For
example awsvpcConfiguration={subnets=[“subnet-12344321”],securityGroups=[“sg-12344321”]} |
| deployments.[].networkConfiguration.awsVPCConfiguration.assignPublicIP
Optional | string
|
| deployments.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs
Optional | array
Reference field for SecurityGroups |
| deployments.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs.[]
Required | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api || **deployments.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from**<br/>Optional | **object**<br/>AWSResourceReference provides all the values necessary to reference another<br/>k8s resource for finding the identifier(Id/ARN/Name) |
| deployments.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from.name
Optional | string
|
| deployments.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from.namespace
Optional | string
|
| deployments.[].networkConfiguration.awsVPCConfiguration.securityGroups
Optional | array
|
| deployments.[].networkConfiguration.awsVPCConfiguration.securityGroups.[]
Required | string
|| deployments.[].networkConfiguration.awsVPCConfiguration.subnetRefs
Optional | array
Reference field for Subnets |
| deployments.[].networkConfiguration.awsVPCConfiguration.subnetRefs.[]
Required | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api || **deployments.[].networkConfiguration.awsVPCConfiguration.subnetRefs.[].from**<br/>Optional | **object**<br/>AWSResourceReference provides all the values necessary to reference another<br/>k8s resource for finding the identifier(Id/ARN/Name) |
| deployments.[].networkConfiguration.awsVPCConfiguration.subnetRefs.[].from.name
Optional | string
|
| deployments.[].networkConfiguration.awsVPCConfiguration.subnetRefs.[].from.namespace
Optional | string
|
| deployments.[].networkConfiguration.awsVPCConfiguration.subnets
Optional | array
|
| deployments.[].networkConfiguration.awsVPCConfiguration.subnets.[]
Required | string
|| deployments.[].pendingCount
Optional | integer
|
| deployments.[].platformFamily
Optional | string
|
| deployments.[].platformVersion
Optional | string
|
| deployments.[].rolloutState
Optional | string
|
| deployments.[].rolloutStateReason
Optional | string
|
| deployments.[].runningCount
Optional | integer
|
| deployments.[].serviceConnectConfiguration
Optional | object
The Service Connect configuration of your Amazon ECS service. The configuration
for this service to discover and connect to services, and be discovered by,
and connected from, other services within a namespace.
Tasks that run in a namespace can use short names to connect to services
in the namespace. Tasks can connect to services across all of the clusters
in the namespace. Tasks connect through a managed proxy container that collects
logs and metrics for increased visibility. Only the tasks that Amazon ECS
services create are supported with Service Connect. For more information,
see Service Connect (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html)
in the Amazon Elastic Container Service Developer Guide. |
| deployments.[].serviceConnectConfiguration.enabled
Optional | boolean
|
| deployments.[].serviceConnectConfiguration.logConfiguration
Optional | object
The log configuration for the container. This parameter maps to LogConfig
in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate)
section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/)
and the –log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/).
By default, containers use the same logging driver that the Docker daemon
uses. However, the container might use a different logging driver than the
Docker daemon by specifying a log driver configuration in the container definition.
For more information about the options for different supported log drivers,
see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/)
in the Docker documentation.
Understand the following when specifying a log configuration for your containers.
* Amazon ECS currently supports a subset of the logging drivers available
to the Docker daemon. Additional log drivers may be available in future
releases of the Amazon ECS container agent. For tasks on Fargate, the
supported log drivers are awslogs, splunk, and awsfirelens. For tasks
hosted on Amazon EC2 instances, the supported log drivers are awslogs,
fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens.
* This parameter requires version 1.18 of the Docker Remote API or greater
on your container instance.
* For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container
agent must register the available logging drivers with the ECS_AVAILABLE_LOGGING_DRIVERS
environment variable before containers placed on that instance can use
these log configuration options. For more information, see Amazon ECS
container agent configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)
in the Amazon Elastic Container Service Developer Guide.
* For tasks that are on Fargate, because you don’t have access to the
underlying infrastructure your tasks are hosted on, any additional software
needed must be installed outside of the task. For example, the Fluentd
output aggregators or a remote host running Logstash to send Gelf logs
to. |
| deployments.[].serviceConnectConfiguration.logConfiguration.logDriver
Optional | string
|
| deployments.[].serviceConnectConfiguration.logConfiguration.options
Optional | object
|
| deployments.[].serviceConnectConfiguration.logConfiguration.secretOptions
Optional | array
|
| deployments.[].serviceConnectConfiguration.logConfiguration.secretOptions.[]
Required | object
An object representing the secret to expose to your container. Secrets can
be exposed to a container in the following ways:
To inject sensitive data into your containers as environment variables, use the secrets container definition parameter.
To reference sensitive information in the log configuration of a container, use the secretOptions container definition parameter.
For more information, see Specifying sensitive data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html)
in the Amazon Elastic Container Service Developer Guide. || deployments.[].serviceConnectConfiguration.logConfiguration.secretOptions.[].name
Optional | string
|
| deployments.[].serviceConnectConfiguration.logConfiguration.secretOptions.[].valueFrom
Optional | string
|
| deployments.[].serviceConnectConfiguration.namespace
Optional | string
|
| deployments.[].serviceConnectConfiguration.services
Optional | array
|
| deployments.[].serviceConnectConfiguration.services.[]
Required | object
The Service Connect service object configuration. For more information, see
Service Connect (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html)
in the Amazon Elastic Container Service Developer Guide. || deployments.[].serviceConnectConfiguration.services.[].clientAliases
Optional | array
|
| deployments.[].serviceConnectConfiguration.services.[].clientAliases.[]
Required | object
Each alias (“endpoint”) is a fully-qualified name and port number that other
tasks (“clients”) can use to connect to this service.
Each name and port mapping must be unique within the namespace.
Tasks that run in a namespace can use short names to connect to services
in the namespace. Tasks can connect to services across all of the clusters
in the namespace. Tasks connect through a managed proxy container that collects
logs and metrics for increased visibility. Only the tasks that Amazon ECS
services create are supported with Service Connect. For more information,
see Service Connect (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html)
in the Amazon Elastic Container Service Developer Guide. || deployments.[].serviceConnectConfiguration.services.[].clientAliases.[].dnsName
Optional | string
|
| deployments.[].serviceConnectConfiguration.services.[].clientAliases.[].port
Optional | integer
|
| deployments.[].serviceConnectConfiguration.services.[].discoveryName
Optional | string
|
| deployments.[].serviceConnectConfiguration.services.[].ingressPortOverride
Optional | integer
|
| deployments.[].serviceConnectConfiguration.services.[].portName
Optional | string
|
| deployments.[].serviceConnectConfiguration.services.[].timeout
Optional | object
An object that represents the timeout configurations for Service Connect.
If idleTimeout is set to a time that is less than perRequestTimeout, the
connection will close when the idleTimeout is reached and not the perRequestTimeout. |
| deployments.[].serviceConnectConfiguration.services.[].timeout.idleTimeoutSeconds
Optional | integer
|
| deployments.[].serviceConnectConfiguration.services.[].timeout.perRequestTimeoutSeconds
Optional | integer
|
| deployments.[].serviceConnectConfiguration.services.[].tls
Optional | object
An object that represents the configuration for Service Connect TLS. |
| deployments.[].serviceConnectConfiguration.services.[].tls.issuerCertificateAuthority
Optional | object
An object that represents the Amazon Web Services Private Certificate Authority
certificate. |
| deployments.[].serviceConnectConfiguration.services.[].tls.issuerCertificateAuthority.awsPCAAuthorityARN
Optional | string
|
| deployments.[].serviceConnectConfiguration.services.[].tls.kmsKey
Optional | string
|
| deployments.[].serviceConnectConfiguration.services.[].tls.roleARN
Optional | string
|
| deployments.[].serviceConnectResources
Optional | array
|
| deployments.[].serviceConnectResources.[]
Required | object
The Service Connect resource. Each configuration maps a discovery name to
a Cloud Map service name. The data is stored in Cloud Map as part of the
Service Connect configuration for each discovery name of this Amazon ECS
service.
A task can resolve the dnsName for each of the clientAliases of a service.
However a task can’t resolve the discovery names. If you want to connect
to a service, refer to the ServiceConnectConfiguration of that service for
the list of clientAliases that you can use. || deployments.[].serviceConnectResources.[].discoveryARN
Optional | string
|
| deployments.[].serviceConnectResources.[].discoveryName
Optional | string
|
| deployments.[].status
Optional | string
|
| deployments.[].taskDefinition
Optional | string
|
| deployments.[].updatedAt
Optional | string
|
| deployments.[].volumeConfigurations
Optional | array
|
| deployments.[].volumeConfigurations.[]
Required | object
The configuration for a volume specified in the task definition as a volume
that is configured at launch time. Currently, the only supported volume type
is an Amazon EBS volume. || deployments.[].volumeConfigurations.[].managedEBSVolume
Optional | object
The configuration for the Amazon EBS volume that Amazon ECS creates and manages
on your behalf. These settings are used to create each Amazon EBS volume,
with one volume created for each task in the service.
Many of these parameters map 1:1 with the Amazon EBS CreateVolume API request
parameters. |
| deployments.[].volumeConfigurations.[].managedEBSVolume.encrypted
Optional | boolean
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.filesystemType
Optional | string
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.iops
Optional | integer
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.kmsKeyID
Optional | string
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.roleARN
Optional | string
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.sizeInGiB
Optional | integer
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.snapshotID
Optional | string
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.tagSpecifications
Optional | array
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.tagSpecifications.[]
Required | object
The tag specifications of an Amazon EBS volume. || deployments.[].volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].propagateTags
Optional | string
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].resourceType
Optional | string
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].tags
Optional | array
|
| deployments.[].volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].tags.[]
Required | object
The metadata that you apply to a resource to help you categorize and organize
them. Each tag consists of a key and an optional value. You define them.
The following basic restrictions apply to tags:
Maximum number of tags per resource - 50
For each resource, each tag key must be unique, and each tag key can have only one value.
Maximum key length - 128 Unicode characters in UTF-8
Maximum value length - 256 Unicode characters in UTF-8
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. || deployments.[].volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].tags.[].key
Optional | string
| | deployments.[].volumeConfigurations.[].managedEBSVolume.tagSpecifications.[].tags.[].value
Optional | string
| | deployments.[].volumeConfigurations.[].managedEBSVolume.throughput
Optional | integer
| | deployments.[].volumeConfigurations.[].managedEBSVolume.volumeType
Optional | string
| | deployments.[].volumeConfigurations.[].name
Optional | string
| | events
Optional | array
The event stream for your service. A maximum of 100 of the latest events
are displayed. | | events.[]
Required | object
The details for an event that’s associated with a service. || events.[].createdAt
Optional | string
| | events.[].id
Optional | string
| | events.[].message
Optional | string
| | pendingCount
Optional | integer
The number of tasks in the cluster that are in the PENDING state. | | platformFamily
Optional | string
The operating system that your tasks in the service run on. A platform family
is specified only for tasks using the Fargate launch type.
All tasks that run as part of this service must use the same platformFamily
value as the service (for example, LINUX). | | roleARN
Optional | string
The ARN of the IAM role that’s associated with the service. It allows the
Amazon ECS container agent to register container instances with an Elastic
Load Balancing load balancer. | | runningCount
Optional | integer
The number of tasks in the cluster that are in the RUNNING state. | | status
Optional | string
The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. | | taskSets
Optional | array
Information about a set of Amazon ECS tasks in either an CodeDeploy or an
EXTERNAL deployment. An Amazon ECS task set includes details such as the
desired number of tasks, how many tasks are running, and whether the task
set serves production traffic. | | taskSets.[]
Required | object
Information about a set of Amazon ECS tasks in either an CodeDeploy or an EXTERNAL deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic. || taskSets.[].capacityProviderStrategy
Optional | array
| | taskSets.[].capacityProviderStrategy.[]
Required | object
The details of a capacity provider strategy. A capacity provider strategy can be set when using the RunTask or CreateCluster APIs or as the default capacity provider strategy for a cluster with the CreateCluster API.
Only capacity providers that are already associated with a cluster and have an ACTIVE or UPDATING status can be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster.
If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the CreateCapacityProvider API operation.
To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.
A capacity provider strategy may contain a maximum of 6 capacity providers. || taskSets.[].capacityProviderStrategy.[].base
Optional | integer
|
| taskSets.[].capacityProviderStrategy.[].capacityProvider
Optional | string
|
| taskSets.[].capacityProviderStrategy.[].weight
Optional | integer
|
| taskSets.[].clusterARN
Optional | string
|
| taskSets.[].computedDesiredCount
Optional | integer
|
| taskSets.[].createdAt
Optional | string
|
| taskSets.[].externalID
Optional | string
|
| taskSets.[].id
Optional | string
|
| taskSets.[].launchType
Optional | string
|
| taskSets.[].loadBalancers
Optional | array
|
| taskSets.[].loadBalancers.[]
Required | object
The load balancer configuration to use with a service or task set.
When you add, update, or remove a load balancer configuration, Amazon ECS starts a new deployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and deregister from load balancers.
We recommend that you verify this on a test environment before you update the Elastic Load Balancing configuration.
A service-linked role is required for services that use multiple target groups.
For more information, see Using service-linked roles (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html)
in the Amazon Elastic Container Service Developer Guide. || taskSets.[].loadBalancers.[].containerName
Optional | string
|
| taskSets.[].loadBalancers.[].containerPort
Optional | integer
|
| taskSets.[].loadBalancers.[].loadBalancerName
Optional | string
|
| taskSets.[].loadBalancers.[].loadBalancerRef
Optional | object
Reference field for LoadBalancerName |
| taskSets.[].loadBalancers.[].loadBalancerRef.from
Optional | object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name) |
| taskSets.[].loadBalancers.[].loadBalancerRef.from.name
Optional | string
|
| taskSets.[].loadBalancers.[].loadBalancerRef.from.namespace
Optional | string
|
| taskSets.[].loadBalancers.[].targetGroupARN
Optional | string
|
| taskSets.[].loadBalancers.[].targetGroupRef
Optional | object
Reference field for TargetGroupARN |
| taskSets.[].loadBalancers.[].targetGroupRef.from
Optional | object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name) |
| taskSets.[].loadBalancers.[].targetGroupRef.from.name
Optional | string
|
| taskSets.[].loadBalancers.[].targetGroupRef.from.namespace
Optional | string
|
| taskSets.[].networkConfiguration
Optional | object
The network configuration for a task or service. |
| taskSets.[].networkConfiguration.awsVPCConfiguration
Optional | object
An object representing the networking details for a task or service. For
example awsvpcConfiguration={subnets=[“subnet-12344321”],securityGroups=[“sg-12344321”]} |
| taskSets.[].networkConfiguration.awsVPCConfiguration.assignPublicIP
Optional | string
|
| taskSets.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs
Optional | array
Reference field for SecurityGroups |
| taskSets.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs.[]
Required | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api || **taskSets.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from**<br/>Optional | **object**<br/>AWSResourceReference provides all the values necessary to reference another<br/>k8s resource for finding the identifier(Id/ARN/Name) |
| taskSets.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from.name
Optional | string
|
| taskSets.[].networkConfiguration.awsVPCConfiguration.securityGroupRefs.[].from.namespace
Optional | string
|
| taskSets.[].networkConfiguration.awsVPCConfiguration.securityGroups
Optional | array
|
| taskSets.[].networkConfiguration.awsVPCConfiguration.securityGroups.[]
Required | string
|| taskSets.[].networkConfiguration.awsVPCConfiguration.subnetRefs
Optional | array
Reference field for Subnets |
| taskSets.[].networkConfiguration.awsVPCConfiguration.subnetRefs.[]
Required | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
name: my-api || **taskSets.[].networkConfiguration.awsVPCConfiguration.subnetRefs.[].from**<br/>Optional | **object**<br/>AWSResourceReference provides all the values necessary to reference another<br/>k8s resource for finding the identifier(Id/ARN/Name) |
| taskSets.[].networkConfiguration.awsVPCConfiguration.subnetRefs.[].from.name
Optional | string
|
| taskSets.[].networkConfiguration.awsVPCConfiguration.subnetRefs.[].from.namespace
Optional | string
|
| taskSets.[].networkConfiguration.awsVPCConfiguration.subnets
Optional | array
|
| taskSets.[].networkConfiguration.awsVPCConfiguration.subnets.[]
Required | string
|| taskSets.[].pendingCount
Optional | integer
|
| taskSets.[].platformFamily
Optional | string
|
| taskSets.[].platformVersion
Optional | string
|
| taskSets.[].runningCount
Optional | integer
|
| taskSets.[].scale
Optional | object
A floating-point percentage of the desired number of tasks to place and keep
running in the task set. |
| taskSets.[].scale.unit
Optional | string
|
| taskSets.[].scale.value
Optional | number
|
| taskSets.[].serviceARN
Optional | string
|
| taskSets.[].serviceRegistries
Optional | array
|
| taskSets.[].serviceRegistries.[]
Required | object
The details for the service registry.
Each service may be associated with one service registry. Multiple service registries for each service are not supported.
When you add, update, or remove the service registries configuration, Amazon
ECS starts a new deployment. New tasks are registered and deregistered to
the updated service registry configuration. || taskSets.[].serviceRegistries.[].containerName
Optional | string
|
| taskSets.[].serviceRegistries.[].containerPort
Optional | integer
|
| taskSets.[].serviceRegistries.[].port
Optional | integer
|
| taskSets.[].serviceRegistries.[].registryARN
Optional | string
|
| taskSets.[].stabilityStatus
Optional | string
|
| taskSets.[].stabilityStatusAt
Optional | string
|
| taskSets.[].startedBy
Optional | string
|
| taskSets.[].status
Optional | string
|
| taskSets.[].tags
Optional | array
|
| taskSets.[].tags.[]
Required | object
The metadata that you apply to a resource to help you categorize and organize
them. Each tag consists of a key and an optional value. You define them.
The following basic restrictions apply to tags:
Maximum number of tags per resource - 50
For each resource, each tag key must be unique, and each tag key can have only one value.
Maximum key length - 128 Unicode characters in UTF-8
Maximum value length - 256 Unicode characters in UTF-8
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
Tag keys and values are case-sensitive.
Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit. || taskSets.[].tags.[].key
Optional | string
| | taskSets.[].tags.[].value
Optional | string
| | taskSets.[].taskDefinition
Optional | string
| | taskSets.[].taskSetARN
Optional | string
| | taskSets.[].updatedAt
Optional | string
|