Service is the Schema for the Services API
Type
CRD
Group
ecs.aws.crossplane.io
Version
v1alpha1
apiVersion: ecs.aws.crossplane.io/v1alpha1
kind: Service
ServiceSpec defines the desired state of Service
ServiceParameters defines the desired state of Service
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.
A Reference to a named object.
Policies for referencing.
A Selector selects an object.
Policies for selection.
Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type that are not behind a Classic Load Balancer. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If enabled, a service deployment will transition to a failed state and stop launching new tasks. You can also enable 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.
The deployment controller to use for the service. If no deployment controller is specified, the default value of ECS is used.
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 is using 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 make use of 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 is using 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 associates one target group with it, and then 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 allows you perform validation tests with Lambda functions before routing production traffic to it. After you create a service using the ECS deployment controller, the load balancer name or target group ARN, container name, and container port specified in the service definition are immutable. If you are using 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 (as it appears in a container definition), and the container port to access from the load balancer. 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 specified here. For Classic Load Balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. 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 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 are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.
A Reference to a named object.
Policies for referencing.
A Selector selects an object.
Policies for selection.
A Reference to a named object.
Policies for referencing.
A Selector selects an object.
Policies for selection.
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 is not 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.
An object representing the networking details for a task or service.
No description provided.
Policies for referencing.
A Selector selects an object.
Policies for selection.
No description provided.
No description provided.
Policies for referencing.
A Selector selects an object.
Policies for selection.
No description provided.
An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at runtime).
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 per service isn't supported.
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:
A Reference to a named object.
Policies for referencing.
A Selector selects an object.
Policies for selection.
ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured.
Policies for referencing.
ProviderReference specifies the provider that will be used to create, observe, update, and delete this managed resource. Deprecated: Please use ProviderConfigReference, i.e. providerConfigRef
Policies for referencing.
PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource.
WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other.
ServiceStatus defines the observed state of Service.
ServiceObservation defines the observed state of Service
The current state of deployments for the service.
No description provided.
An object representing the network configuration for a task or service.
An object representing the networking details for a task or service.
No description provided.
No description provided.
A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer.
The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.
An object representing the networking details for a task or service.
No description provided.
No description provided.
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.
No description provided.
No description provided.
An object representing the network configuration for a task or service.
An object representing the networking details for a task or service.
No description provided.
No description provided.
No description provided.
Conditions of the resource.
example
apiVersion: ecs.aws.crossplane.io/v1alpha1
kind: Service
metadata:
name: example
spec:
forProvider:
clusterRef:
name: example
deploymentConfiguration:
deploymentCircuitBreaker:
enable: false
rollback: false
maximumPercent: 100
minimumHealthyPercent: 0
desiredCount: 1
enableECSManagedTags: true
enableExecuteCommand: false
healthCheckGracePeriodSeconds: 300
launchType: FARGATE
loadBalancers:
- containerName: wordpress
containerPort: 8080
targetGroupARNRef:
name: test-targetgroup-with-ip-target
networkConfiguration:
awsvpcConfiguration:
assignPublicIP: DISABLED
securityGroupRefs:
- name: sample-cluster-sg
subnetRefs:
- name: sample-subnet1
- name: sample-subnet2
region: us-east-1
schedulingStrategy: REPLICA
taskDefinitionRef:
name: example
providerConfigRef:
name: example