/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ecs.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* A regional grouping of one or more container instances where you can run task requests. Each account receives a * default cluster the first time you use the Amazon ECS service, but you may also create other clusters. Clusters may * contain more than one instance type simultaneously. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Cluster implements Serializable, Cloneable, StructuredPojo { /** ** The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide. *
*/ private String clusterArn; /** ** A user-generated string that you use to identify your cluster. *
*/ private String clusterName; /** ** The execute command configuration for the cluster. *
*/ private ClusterConfiguration configuration; /** ** The status of the cluster. The following are the possible states that are returned. *
** The cluster is ready to accept tasks and if applicable you can register container instances with the cluster. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * are being created. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * are being deleted. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * have failed to create. *
*
* The cluster has been deleted. Clusters with an INACTIVE
status may remain discoverable in your
* account for a period of time. However, this behavior is subject to change in the future. We don't recommend that
* you rely on INACTIVE
clusters persisting.
*
* The number of container instances registered into the cluster. This includes container instances in both
* ACTIVE
and DRAINING
status.
*
* The number of tasks in the cluster that are in the RUNNING
state.
*
* The number of tasks in the cluster that are in the PENDING
state.
*
* The number of services that are running on the cluster in an ACTIVE
state. You can view these
* services with ListServices.
*
* Additional information about your clusters that are separated by launch type. They include the following: *
** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key * and an optional value. You define both. *
** 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.
*
* The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off for a * cluster. *
*/ private com.amazonaws.internal.SdkInternalList* The capacity providers associated with the cluster. *
*/ private com.amazonaws.internal.SdkInternalList* The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no * launch type or capacity provider strategy specified, the default capacity provider strategy is used. *
*/ private com.amazonaws.internal.SdkInternalList* The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider and * associated resources are returned as cluster attachments. *
*/ private com.amazonaws.internal.SdkInternalList* The status of the capacity providers associated with the cluster. The following are the states that are returned. *
** The available capacity providers for the cluster are updating. *
** The capacity providers have successfully updated. *
** The capacity provider updates failed. *
*
* Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace,
* any new services with Service Connect turned on that are created in the cluster are added as client services in
* the namespace. This setting only applies to new services that set the enabled
parameter to
* true
in the ServiceConnectConfiguration
. You can set the namespace of each service
* individually in the ServiceConnectConfiguration
to override this default parameter.
*
* 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 in * the Amazon Elastic Container Service Developer Guide. *
*/ private ClusterServiceConnectDefaults serviceConnectDefaults; /** ** The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide. *
* * @param clusterArn * The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN format, see * Amazon Resource Name (ARN) in the Amazon ECS Developer Guide. */ public void setClusterArn(String clusterArn) { this.clusterArn = clusterArn; } /** ** The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide. *
* * @return The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN format, * see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide. */ public String getClusterArn() { return this.clusterArn; } /** ** The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide. *
* * @param clusterArn * The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN format, see * Amazon Resource Name (ARN) in the Amazon ECS Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterArn(String clusterArn) { setClusterArn(clusterArn); return this; } /** ** A user-generated string that you use to identify your cluster. *
* * @param clusterName * A user-generated string that you use to identify your cluster. */ public void setClusterName(String clusterName) { this.clusterName = clusterName; } /** ** A user-generated string that you use to identify your cluster. *
* * @return A user-generated string that you use to identify your cluster. */ public String getClusterName() { return this.clusterName; } /** ** A user-generated string that you use to identify your cluster. *
* * @param clusterName * A user-generated string that you use to identify your cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withClusterName(String clusterName) { setClusterName(clusterName); return this; } /** ** The execute command configuration for the cluster. *
* * @param configuration * The execute command configuration for the cluster. */ public void setConfiguration(ClusterConfiguration configuration) { this.configuration = configuration; } /** ** The execute command configuration for the cluster. *
* * @return The execute command configuration for the cluster. */ public ClusterConfiguration getConfiguration() { return this.configuration; } /** ** The execute command configuration for the cluster. *
* * @param configuration * The execute command configuration for the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withConfiguration(ClusterConfiguration configuration) { setConfiguration(configuration); return this; } /** ** The status of the cluster. The following are the possible states that are returned. *
** The cluster is ready to accept tasks and if applicable you can register container instances with the cluster. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * are being created. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * are being deleted. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * have failed to create. *
*
* The cluster has been deleted. Clusters with an INACTIVE
status may remain discoverable in your
* account for a period of time. However, this behavior is subject to change in the future. We don't recommend that
* you rely on INACTIVE
clusters persisting.
*
* The cluster is ready to accept tasks and if applicable you can register container instances with the * cluster. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider are being created. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider are being deleted. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider have failed to create. *
*
* The cluster has been deleted. Clusters with an INACTIVE
status may remain discoverable in
* your account for a period of time. However, this behavior is subject to change in the future. We don't
* recommend that you rely on INACTIVE
clusters persisting.
*
* The status of the cluster. The following are the possible states that are returned. *
** The cluster is ready to accept tasks and if applicable you can register container instances with the cluster. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * are being created. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * are being deleted. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * have failed to create. *
*
* The cluster has been deleted. Clusters with an INACTIVE
status may remain discoverable in your
* account for a period of time. However, this behavior is subject to change in the future. We don't recommend that
* you rely on INACTIVE
clusters persisting.
*
* The cluster is ready to accept tasks and if applicable you can register container instances with the * cluster. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider are being created. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider are being deleted. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider have failed to create. *
*
* The cluster has been deleted. Clusters with an INACTIVE
status may remain discoverable in
* your account for a period of time. However, this behavior is subject to change in the future. We don't
* recommend that you rely on INACTIVE
clusters persisting.
*
* The status of the cluster. The following are the possible states that are returned. *
** The cluster is ready to accept tasks and if applicable you can register container instances with the cluster. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * are being created. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * are being deleted. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity provider * have failed to create. *
*
* The cluster has been deleted. Clusters with an INACTIVE
status may remain discoverable in your
* account for a period of time. However, this behavior is subject to change in the future. We don't recommend that
* you rely on INACTIVE
clusters persisting.
*
* The cluster is ready to accept tasks and if applicable you can register container instances with the * cluster. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider are being created. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider are being deleted. *
** The cluster has capacity providers that are associated with it and the resources needed for the capacity * provider have failed to create. *
*
* The cluster has been deleted. Clusters with an INACTIVE
status may remain discoverable in
* your account for a period of time. However, this behavior is subject to change in the future. We don't
* recommend that you rely on INACTIVE
clusters persisting.
*
* The number of container instances registered into the cluster. This includes container instances in both
* ACTIVE
and DRAINING
status.
*
ACTIVE
and DRAINING
status.
*/
public void setRegisteredContainerInstancesCount(Integer registeredContainerInstancesCount) {
this.registeredContainerInstancesCount = registeredContainerInstancesCount;
}
/**
*
* The number of container instances registered into the cluster. This includes container instances in both
* ACTIVE
and DRAINING
status.
*
ACTIVE
and DRAINING
status.
*/
public Integer getRegisteredContainerInstancesCount() {
return this.registeredContainerInstancesCount;
}
/**
*
* The number of container instances registered into the cluster. This includes container instances in both
* ACTIVE
and DRAINING
status.
*
ACTIVE
and DRAINING
status.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withRegisteredContainerInstancesCount(Integer registeredContainerInstancesCount) {
setRegisteredContainerInstancesCount(registeredContainerInstancesCount);
return this;
}
/**
*
* The number of tasks in the cluster that are in the RUNNING
state.
*
RUNNING
state.
*/
public void setRunningTasksCount(Integer runningTasksCount) {
this.runningTasksCount = runningTasksCount;
}
/**
*
* The number of tasks in the cluster that are in the RUNNING
state.
*
RUNNING
state.
*/
public Integer getRunningTasksCount() {
return this.runningTasksCount;
}
/**
*
* The number of tasks in the cluster that are in the RUNNING
state.
*
RUNNING
state.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withRunningTasksCount(Integer runningTasksCount) {
setRunningTasksCount(runningTasksCount);
return this;
}
/**
*
* The number of tasks in the cluster that are in the PENDING
state.
*
PENDING
state.
*/
public void setPendingTasksCount(Integer pendingTasksCount) {
this.pendingTasksCount = pendingTasksCount;
}
/**
*
* The number of tasks in the cluster that are in the PENDING
state.
*
PENDING
state.
*/
public Integer getPendingTasksCount() {
return this.pendingTasksCount;
}
/**
*
* The number of tasks in the cluster that are in the PENDING
state.
*
PENDING
state.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withPendingTasksCount(Integer pendingTasksCount) {
setPendingTasksCount(pendingTasksCount);
return this;
}
/**
*
* The number of services that are running on the cluster in an ACTIVE
state. You can view these
* services with ListServices.
*
ACTIVE
state. You can view these
* services with ListServices.
*/
public void setActiveServicesCount(Integer activeServicesCount) {
this.activeServicesCount = activeServicesCount;
}
/**
*
* The number of services that are running on the cluster in an ACTIVE
state. You can view these
* services with ListServices.
*
ACTIVE
state. You can view
* these services with ListServices.
*/
public Integer getActiveServicesCount() {
return this.activeServicesCount;
}
/**
*
* The number of services that are running on the cluster in an ACTIVE
state. You can view these
* services with ListServices.
*
ACTIVE
state. You can view these
* services with ListServices.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Cluster withActiveServicesCount(Integer activeServicesCount) {
setActiveServicesCount(activeServicesCount);
return this;
}
/**
* * Additional information about your clusters that are separated by launch type. They include the following: *
** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** Additional information about your clusters that are separated by launch type. They include the following: *
** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** Additional information about your clusters that are separated by launch type. They include the following: *
** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setStatistics(java.util.Collection)} or {@link #withStatistics(java.util.Collection)} if you want to * override the existing values. *
* * @param statistics * Additional information about your clusters that are separated by launch type. They include the * following: ** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** Additional information about your clusters that are separated by launch type. They include the following: *
** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** runningEC2TasksCount *
** RunningFargateTasksCount *
** pendingEC2TasksCount *
** pendingFargateTasksCount *
** activeEC2ServiceCount *
** activeFargateServiceCount *
** drainingEC2ServiceCount *
** drainingFargateServiceCount *
** The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key * and an optional value. You define both. *
** 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.
*
* 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.
*
* The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key * and an optional value. You define both. *
** 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.
*
* 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.
*
* The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key * and an optional value. You define both. *
** 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.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of * a key and an optional value. You define both. ** 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.
*
* The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key * and an optional value. You define both. *
** 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.
*
* 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.
*
* The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off for a * cluster. *
* * @return The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off * for a cluster. */ public java.util.List* The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off for a * cluster. *
* * @param settings * The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off * for a cluster. */ public void setSettings(java.util.Collection* The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off for a * cluster. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSettings(java.util.Collection)} or {@link #withSettings(java.util.Collection)} if you want to override * the existing values. *
* * @param settings * The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off * for a cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withSettings(ClusterSetting... settings) { if (this.settings == null) { setSettings(new com.amazonaws.internal.SdkInternalList* The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off for a * cluster. *
* * @param settings * The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is on or off * for a cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withSettings(java.util.Collection* The capacity providers associated with the cluster. *
* * @return The capacity providers associated with the cluster. */ public java.util.List* The capacity providers associated with the cluster. *
* * @param capacityProviders * The capacity providers associated with the cluster. */ public void setCapacityProviders(java.util.Collection* The capacity providers associated with the cluster. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setCapacityProviders(java.util.Collection)} or {@link #withCapacityProviders(java.util.Collection)} if * you want to override the existing values. *
* * @param capacityProviders * The capacity providers associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withCapacityProviders(String... capacityProviders) { if (this.capacityProviders == null) { setCapacityProviders(new com.amazonaws.internal.SdkInternalList* The capacity providers associated with the cluster. *
* * @param capacityProviders * The capacity providers associated with the cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withCapacityProviders(java.util.Collection* The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no * launch type or capacity provider strategy specified, the default capacity provider strategy is used. *
* * @return The default capacity provider strategy for the cluster. When services or tasks are run in the cluster * with no launch type or capacity provider strategy specified, the default capacity provider strategy is * used. */ public java.util.List* The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no * launch type or capacity provider strategy specified, the default capacity provider strategy is used. *
* * @param defaultCapacityProviderStrategy * The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with * no launch type or capacity provider strategy specified, the default capacity provider strategy is used. */ public void setDefaultCapacityProviderStrategy(java.util.Collection* The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no * launch type or capacity provider strategy specified, the default capacity provider strategy is used. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setDefaultCapacityProviderStrategy(java.util.Collection)} or * {@link #withDefaultCapacityProviderStrategy(java.util.Collection)} if you want to override the existing values. *
* * @param defaultCapacityProviderStrategy * The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with * no launch type or capacity provider strategy specified, the default capacity provider strategy is used. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withDefaultCapacityProviderStrategy(CapacityProviderStrategyItem... defaultCapacityProviderStrategy) { if (this.defaultCapacityProviderStrategy == null) { setDefaultCapacityProviderStrategy(new com.amazonaws.internal.SdkInternalList* The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no * launch type or capacity provider strategy specified, the default capacity provider strategy is used. *
* * @param defaultCapacityProviderStrategy * The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with * no launch type or capacity provider strategy specified, the default capacity provider strategy is used. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withDefaultCapacityProviderStrategy(java.util.Collection* The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider and * associated resources are returned as cluster attachments. *
* * @return The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider * and associated resources are returned as cluster attachments. */ public java.util.List* The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider and * associated resources are returned as cluster attachments. *
* * @param attachments * The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider * and associated resources are returned as cluster attachments. */ public void setAttachments(java.util.Collection* The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider and * associated resources are returned as cluster attachments. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setAttachments(java.util.Collection)} or {@link #withAttachments(java.util.Collection)} if you want to * override the existing values. *
* * @param attachments * The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider * and associated resources are returned as cluster attachments. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withAttachments(Attachment... attachments) { if (this.attachments == null) { setAttachments(new com.amazonaws.internal.SdkInternalList* The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider and * associated resources are returned as cluster attachments. *
* * @param attachments * The resources attached to a cluster. When using a capacity provider with a cluster, the capacity provider * and associated resources are returned as cluster attachments. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withAttachments(java.util.Collection* The status of the capacity providers associated with the cluster. The following are the states that are returned. *
** The available capacity providers for the cluster are updating. *
** The capacity providers have successfully updated. *
** The capacity provider updates failed. *
** The available capacity providers for the cluster are updating. *
** The capacity providers have successfully updated. *
** The capacity provider updates failed. *
** The status of the capacity providers associated with the cluster. The following are the states that are returned. *
** The available capacity providers for the cluster are updating. *
** The capacity providers have successfully updated. *
** The capacity provider updates failed. *
** The available capacity providers for the cluster are updating. *
** The capacity providers have successfully updated. *
** The capacity provider updates failed. *
** The status of the capacity providers associated with the cluster. The following are the states that are returned. *
** The available capacity providers for the cluster are updating. *
** The capacity providers have successfully updated. *
** The capacity provider updates failed. *
** The available capacity providers for the cluster are updating. *
** The capacity providers have successfully updated. *
** The capacity provider updates failed. *
*
* Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace,
* any new services with Service Connect turned on that are created in the cluster are added as client services in
* the namespace. This setting only applies to new services that set the enabled
parameter to
* true
in the ServiceConnectConfiguration
. You can set the namespace of each service
* individually in the ServiceConnectConfiguration
to override this default parameter.
*
* 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 in * the Amazon Elastic Container Service Developer Guide. *
* * @param serviceConnectDefaults * Use this parameter to set a default Service Connect namespace. After you set a default Service Connect * namespace, any new services with Service Connect turned on that are created in the cluster are added as * client services in the namespace. This setting only applies to new services that set the *enabled
parameter to true
in the ServiceConnectConfiguration
. You
* can set the namespace of each service individually in the ServiceConnectConfiguration
to
* override this default parameter.
* * 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 in the Amazon Elastic Container Service Developer Guide. */ public void setServiceConnectDefaults(ClusterServiceConnectDefaults serviceConnectDefaults) { this.serviceConnectDefaults = serviceConnectDefaults; } /** *
* Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace,
* any new services with Service Connect turned on that are created in the cluster are added as client services in
* the namespace. This setting only applies to new services that set the enabled
parameter to
* true
in the ServiceConnectConfiguration
. You can set the namespace of each service
* individually in the ServiceConnectConfiguration
to override this default parameter.
*
* 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 in * the Amazon Elastic Container Service Developer Guide. *
* * @return Use this parameter to set a default Service Connect namespace. After you set a default Service Connect * namespace, any new services with Service Connect turned on that are created in the cluster are added as * client services in the namespace. This setting only applies to new services that set the *enabled
parameter to true
in the ServiceConnectConfiguration
. You
* can set the namespace of each service individually in the ServiceConnectConfiguration
to
* override this default parameter.
* * 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 in the Amazon Elastic Container Service Developer Guide. */ public ClusterServiceConnectDefaults getServiceConnectDefaults() { return this.serviceConnectDefaults; } /** *
* Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace,
* any new services with Service Connect turned on that are created in the cluster are added as client services in
* the namespace. This setting only applies to new services that set the enabled
parameter to
* true
in the ServiceConnectConfiguration
. You can set the namespace of each service
* individually in the ServiceConnectConfiguration
to override this default parameter.
*
* 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 in * the Amazon Elastic Container Service Developer Guide. *
* * @param serviceConnectDefaults * Use this parameter to set a default Service Connect namespace. After you set a default Service Connect * namespace, any new services with Service Connect turned on that are created in the cluster are added as * client services in the namespace. This setting only applies to new services that set the *enabled
parameter to true
in the ServiceConnectConfiguration
. You
* can set the namespace of each service individually in the ServiceConnectConfiguration
to
* override this default parameter.
* * 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 in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public Cluster withServiceConnectDefaults(ClusterServiceConnectDefaults serviceConnectDefaults) { setServiceConnectDefaults(serviceConnectDefaults); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getClusterArn() != null) sb.append("ClusterArn: ").append(getClusterArn()).append(","); if (getClusterName() != null) sb.append("ClusterName: ").append(getClusterName()).append(","); if (getConfiguration() != null) sb.append("Configuration: ").append(getConfiguration()).append(","); if (getStatus() != null) sb.append("Status: ").append(getStatus()).append(","); if (getRegisteredContainerInstancesCount() != null) sb.append("RegisteredContainerInstancesCount: ").append(getRegisteredContainerInstancesCount()).append(","); if (getRunningTasksCount() != null) sb.append("RunningTasksCount: ").append(getRunningTasksCount()).append(","); if (getPendingTasksCount() != null) sb.append("PendingTasksCount: ").append(getPendingTasksCount()).append(","); if (getActiveServicesCount() != null) sb.append("ActiveServicesCount: ").append(getActiveServicesCount()).append(","); if (getStatistics() != null) sb.append("Statistics: ").append(getStatistics()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getSettings() != null) sb.append("Settings: ").append(getSettings()).append(","); if (getCapacityProviders() != null) sb.append("CapacityProviders: ").append(getCapacityProviders()).append(","); if (getDefaultCapacityProviderStrategy() != null) sb.append("DefaultCapacityProviderStrategy: ").append(getDefaultCapacityProviderStrategy()).append(","); if (getAttachments() != null) sb.append("Attachments: ").append(getAttachments()).append(","); if (getAttachmentsStatus() != null) sb.append("AttachmentsStatus: ").append(getAttachmentsStatus()).append(","); if (getServiceConnectDefaults() != null) sb.append("ServiceConnectDefaults: ").append(getServiceConnectDefaults()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Cluster == false) return false; Cluster other = (Cluster) obj; if (other.getClusterArn() == null ^ this.getClusterArn() == null) return false; if (other.getClusterArn() != null && other.getClusterArn().equals(this.getClusterArn()) == false) return false; if (other.getClusterName() == null ^ this.getClusterName() == null) return false; if (other.getClusterName() != null && other.getClusterName().equals(this.getClusterName()) == false) return false; if (other.getConfiguration() == null ^ this.getConfiguration() == null) return false; if (other.getConfiguration() != null && other.getConfiguration().equals(this.getConfiguration()) == false) return false; if (other.getStatus() == null ^ this.getStatus() == null) return false; if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false) return false; if (other.getRegisteredContainerInstancesCount() == null ^ this.getRegisteredContainerInstancesCount() == null) return false; if (other.getRegisteredContainerInstancesCount() != null && other.getRegisteredContainerInstancesCount().equals(this.getRegisteredContainerInstancesCount()) == false) return false; if (other.getRunningTasksCount() == null ^ this.getRunningTasksCount() == null) return false; if (other.getRunningTasksCount() != null && other.getRunningTasksCount().equals(this.getRunningTasksCount()) == false) return false; if (other.getPendingTasksCount() == null ^ this.getPendingTasksCount() == null) return false; if (other.getPendingTasksCount() != null && other.getPendingTasksCount().equals(this.getPendingTasksCount()) == false) return false; if (other.getActiveServicesCount() == null ^ this.getActiveServicesCount() == null) return false; if (other.getActiveServicesCount() != null && other.getActiveServicesCount().equals(this.getActiveServicesCount()) == false) return false; if (other.getStatistics() == null ^ this.getStatistics() == null) return false; if (other.getStatistics() != null && other.getStatistics().equals(this.getStatistics()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getSettings() == null ^ this.getSettings() == null) return false; if (other.getSettings() != null && other.getSettings().equals(this.getSettings()) == false) return false; if (other.getCapacityProviders() == null ^ this.getCapacityProviders() == null) return false; if (other.getCapacityProviders() != null && other.getCapacityProviders().equals(this.getCapacityProviders()) == false) return false; if (other.getDefaultCapacityProviderStrategy() == null ^ this.getDefaultCapacityProviderStrategy() == null) return false; if (other.getDefaultCapacityProviderStrategy() != null && other.getDefaultCapacityProviderStrategy().equals(this.getDefaultCapacityProviderStrategy()) == false) return false; if (other.getAttachments() == null ^ this.getAttachments() == null) return false; if (other.getAttachments() != null && other.getAttachments().equals(this.getAttachments()) == false) return false; if (other.getAttachmentsStatus() == null ^ this.getAttachmentsStatus() == null) return false; if (other.getAttachmentsStatus() != null && other.getAttachmentsStatus().equals(this.getAttachmentsStatus()) == false) return false; if (other.getServiceConnectDefaults() == null ^ this.getServiceConnectDefaults() == null) return false; if (other.getServiceConnectDefaults() != null && other.getServiceConnectDefaults().equals(this.getServiceConnectDefaults()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getClusterArn() == null) ? 0 : getClusterArn().hashCode()); hashCode = prime * hashCode + ((getClusterName() == null) ? 0 : getClusterName().hashCode()); hashCode = prime * hashCode + ((getConfiguration() == null) ? 0 : getConfiguration().hashCode()); hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); hashCode = prime * hashCode + ((getRegisteredContainerInstancesCount() == null) ? 0 : getRegisteredContainerInstancesCount().hashCode()); hashCode = prime * hashCode + ((getRunningTasksCount() == null) ? 0 : getRunningTasksCount().hashCode()); hashCode = prime * hashCode + ((getPendingTasksCount() == null) ? 0 : getPendingTasksCount().hashCode()); hashCode = prime * hashCode + ((getActiveServicesCount() == null) ? 0 : getActiveServicesCount().hashCode()); hashCode = prime * hashCode + ((getStatistics() == null) ? 0 : getStatistics().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getSettings() == null) ? 0 : getSettings().hashCode()); hashCode = prime * hashCode + ((getCapacityProviders() == null) ? 0 : getCapacityProviders().hashCode()); hashCode = prime * hashCode + ((getDefaultCapacityProviderStrategy() == null) ? 0 : getDefaultCapacityProviderStrategy().hashCode()); hashCode = prime * hashCode + ((getAttachments() == null) ? 0 : getAttachments().hashCode()); hashCode = prime * hashCode + ((getAttachmentsStatus() == null) ? 0 : getAttachmentsStatus().hashCode()); hashCode = prime * hashCode + ((getServiceConnectDefaults() == null) ? 0 : getServiceConnectDefaults().hashCode()); return hashCode; } @Override public Cluster clone() { try { return (Cluster) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.ecs.model.transform.ClusterMarshaller.getInstance().marshall(this, protocolMarshaller); } }