All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ecs.model.CreateClusterRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for the Amazon EC2 Container Service holds the client classes that are used for communicating with the Amazon EC2 Container Service

There is a newer version: 1.12.780
Show newest version
/*
 * 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.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateClusterRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of your cluster. If you don't specify a name for your cluster, you create a cluster that's named * default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. *

*/ private String clusterName; /** *

* 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. *

    *
  • *
*/ private com.amazonaws.internal.SdkInternalList tags; /** *

* The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a * cluster. If this value is specified, it overrides the containerInsights value set with * PutAccountSetting or PutAccountSettingDefault. *

*/ private com.amazonaws.internal.SdkInternalList settings; /** *

* The execute command configuration for the cluster. *

*/ private ClusterConfiguration configuration; /** *

* The short name of one or more capacity providers to associate with the cluster. A capacity provider must be * associated with a cluster before it can be included as part of the default capacity provider strategy of the * cluster or used in a capacity provider strategy when calling the CreateService or RunTask actions. *

*

* If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not * associated with another cluster. 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. *

*

* The * PutCapacityProvider API operation is used to update the list of available capacity providers for a cluster * after the cluster is created. *

*/ private com.amazonaws.internal.SdkInternalList capacityProviders; /** *

* The capacity provider strategy to set as the default for the cluster. After a default capacity provider strategy * is set for a cluster, when you call the CreateService or RunTask APIs with no * capacity provider strategy or launch type specified, the default capacity provider strategy for the cluster is * used. *

*

* If a default capacity provider strategy isn't defined for a cluster when it was created, it can be defined later * with the PutClusterCapacityProviders API operation. *

*/ private com.amazonaws.internal.SdkInternalList defaultCapacityProviderStrategy; /** *

* 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 ClusterServiceConnectDefaultsRequest serviceConnectDefaults; /** *

* The name of your cluster. If you don't specify a name for your cluster, you create a cluster that's named * default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. *

* * @param clusterName * The name of your cluster. If you don't specify a name for your cluster, you create a cluster that's named * default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are * allowed. */ public void setClusterName(String clusterName) { this.clusterName = clusterName; } /** *

* The name of your cluster. If you don't specify a name for your cluster, you create a cluster that's named * default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. *

* * @return The name of your cluster. If you don't specify a name for your cluster, you create a cluster that's named * default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are * allowed. */ public String getClusterName() { return this.clusterName; } /** *

* The name of your cluster. If you don't specify a name for your cluster, you create a cluster that's named * default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. *

* * @param clusterName * The name of your cluster. If you don't specify a name for your cluster, you create a cluster that's named * default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are * allowed. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withClusterName(String clusterName) { setClusterName(clusterName); return this; } /** *

* 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. *

    *
  • *
* * @return 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. *

    *
  • */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return 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. *

      *
    • *
    * * @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. *

      *
    • */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(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. *

        *
      • *
      *

      * 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. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

        * 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. *

          *
        • *
        * * @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. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

          * The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a * cluster. If this value is specified, it overrides the containerInsights value set with * PutAccountSetting or PutAccountSettingDefault. *

          * * @return The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container * Insights for a cluster. If this value is specified, it overrides the containerInsights value * set with PutAccountSetting or PutAccountSettingDefault. */ public java.util.List getSettings() { if (settings == null) { settings = new com.amazonaws.internal.SdkInternalList(); } return settings; } /** *

          * The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a * cluster. If this value is specified, it overrides the containerInsights value set with * PutAccountSetting or PutAccountSettingDefault. *

          * * @param settings * The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container * Insights for a cluster. If this value is specified, it overrides the containerInsights value * set with PutAccountSetting or PutAccountSettingDefault. */ public void setSettings(java.util.Collection settings) { if (settings == null) { this.settings = null; return; } this.settings = new com.amazonaws.internal.SdkInternalList(settings); } /** *

          * The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a * cluster. If this value is specified, it overrides the containerInsights value set with * PutAccountSetting or PutAccountSettingDefault. *

          *

          * 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 setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container * Insights for a cluster. If this value is specified, it overrides the containerInsights value * set with PutAccountSetting or PutAccountSettingDefault. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withSettings(ClusterSetting... settings) { if (this.settings == null) { setSettings(new com.amazonaws.internal.SdkInternalList(settings.length)); } for (ClusterSetting ele : settings) { this.settings.add(ele); } return this; } /** *

          * The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a * cluster. If this value is specified, it overrides the containerInsights value set with * PutAccountSetting or PutAccountSettingDefault. *

          * * @param settings * The setting to use when creating a cluster. This parameter is used to turn on CloudWatch Container * Insights for a cluster. If this value is specified, it overrides the containerInsights value * set with PutAccountSetting or PutAccountSettingDefault. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withSettings(java.util.Collection settings) { setSettings(settings); 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 CreateClusterRequest withConfiguration(ClusterConfiguration configuration) { setConfiguration(configuration); return this; } /** *

          * The short name of one or more capacity providers to associate with the cluster. A capacity provider must be * associated with a cluster before it can be included as part of the default capacity provider strategy of the * cluster or used in a capacity provider strategy when calling the CreateService or RunTask actions. *

          *

          * If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not * associated with another cluster. 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. *

          *

          * The * PutCapacityProvider API operation is used to update the list of available capacity providers for a cluster * after the cluster is created. *

          * * @return The short name of one or more capacity providers to associate with the cluster. A capacity provider must * be associated with a cluster before it can be included as part of the default capacity provider strategy * of the cluster or used in a capacity provider strategy when calling the CreateService * or RunTask * actions.

          *

          * If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created * but not associated with another cluster. 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. *

          *

          * The * PutCapacityProvider API operation is used to update the list of available capacity providers for a * cluster after the cluster is created. */ public java.util.List getCapacityProviders() { if (capacityProviders == null) { capacityProviders = new com.amazonaws.internal.SdkInternalList(); } return capacityProviders; } /** *

          * The short name of one or more capacity providers to associate with the cluster. A capacity provider must be * associated with a cluster before it can be included as part of the default capacity provider strategy of the * cluster or used in a capacity provider strategy when calling the CreateService or RunTask actions. *

          *

          * If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not * associated with another cluster. 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. *

          *

          * The * PutCapacityProvider API operation is used to update the list of available capacity providers for a cluster * after the cluster is created. *

          * * @param capacityProviders * The short name of one or more capacity providers to associate with the cluster. A capacity provider must * be associated with a cluster before it can be included as part of the default capacity provider strategy * of the cluster or used in a capacity provider strategy when calling the CreateService * or RunTask * actions.

          *

          * If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created * but not associated with another cluster. 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. *

          *

          * The * PutCapacityProvider API operation is used to update the list of available capacity providers for a * cluster after the cluster is created. */ public void setCapacityProviders(java.util.Collection capacityProviders) { if (capacityProviders == null) { this.capacityProviders = null; return; } this.capacityProviders = new com.amazonaws.internal.SdkInternalList(capacityProviders); } /** *

          * The short name of one or more capacity providers to associate with the cluster. A capacity provider must be * associated with a cluster before it can be included as part of the default capacity provider strategy of the * cluster or used in a capacity provider strategy when calling the CreateService or RunTask actions. *

          *

          * If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not * associated with another cluster. 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. *

          *

          * The * PutCapacityProvider API operation is used to update the list of available capacity providers for a cluster * after the cluster is created. *

          *

          * 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 short name of one or more capacity providers to associate with the cluster. A capacity provider must * be associated with a cluster before it can be included as part of the default capacity provider strategy * of the cluster or used in a capacity provider strategy when calling the CreateService * or RunTask * actions.

          *

          * If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created * but not associated with another cluster. 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. *

          *

          * The * PutCapacityProvider API operation is used to update the list of available capacity providers for a * cluster after the cluster is created. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withCapacityProviders(String... capacityProviders) { if (this.capacityProviders == null) { setCapacityProviders(new com.amazonaws.internal.SdkInternalList(capacityProviders.length)); } for (String ele : capacityProviders) { this.capacityProviders.add(ele); } return this; } /** *

          * The short name of one or more capacity providers to associate with the cluster. A capacity provider must be * associated with a cluster before it can be included as part of the default capacity provider strategy of the * cluster or used in a capacity provider strategy when calling the CreateService or RunTask actions. *

          *

          * If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created but not * associated with another cluster. 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. *

          *

          * The * PutCapacityProvider API operation is used to update the list of available capacity providers for a cluster * after the cluster is created. *

          * * @param capacityProviders * The short name of one or more capacity providers to associate with the cluster. A capacity provider must * be associated with a cluster before it can be included as part of the default capacity provider strategy * of the cluster or used in a capacity provider strategy when calling the CreateService * or RunTask * actions.

          *

          * If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must be created * but not associated with another cluster. 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. *

          *

          * The * PutCapacityProvider API operation is used to update the list of available capacity providers for a * cluster after the cluster is created. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withCapacityProviders(java.util.Collection capacityProviders) { setCapacityProviders(capacityProviders); return this; } /** *

          * The capacity provider strategy to set as the default for the cluster. After a default capacity provider strategy * is set for a cluster, when you call the CreateService or RunTask APIs with no * capacity provider strategy or launch type specified, the default capacity provider strategy for the cluster is * used. *

          *

          * If a default capacity provider strategy isn't defined for a cluster when it was created, it can be defined later * with the PutClusterCapacityProviders API operation. *

          * * @return The capacity provider strategy to set as the default for the cluster. After a default capacity provider * strategy is set for a cluster, when you call the CreateService * or RunTask APIs * with no capacity provider strategy or launch type specified, the default capacity provider strategy for * the cluster is used.

          *

          * If a default capacity provider strategy isn't defined for a cluster when it was created, it can be * defined later with the PutClusterCapacityProviders API operation. */ public java.util.List getDefaultCapacityProviderStrategy() { if (defaultCapacityProviderStrategy == null) { defaultCapacityProviderStrategy = new com.amazonaws.internal.SdkInternalList(); } return defaultCapacityProviderStrategy; } /** *

          * The capacity provider strategy to set as the default for the cluster. After a default capacity provider strategy * is set for a cluster, when you call the CreateService or RunTask APIs with no * capacity provider strategy or launch type specified, the default capacity provider strategy for the cluster is * used. *

          *

          * If a default capacity provider strategy isn't defined for a cluster when it was created, it can be defined later * with the PutClusterCapacityProviders API operation. *

          * * @param defaultCapacityProviderStrategy * The capacity provider strategy to set as the default for the cluster. After a default capacity provider * strategy is set for a cluster, when you call the CreateService * or RunTask APIs * with no capacity provider strategy or launch type specified, the default capacity provider strategy for * the cluster is used.

          *

          * If a default capacity provider strategy isn't defined for a cluster when it was created, it can be defined * later with the PutClusterCapacityProviders API operation. */ public void setDefaultCapacityProviderStrategy(java.util.Collection defaultCapacityProviderStrategy) { if (defaultCapacityProviderStrategy == null) { this.defaultCapacityProviderStrategy = null; return; } this.defaultCapacityProviderStrategy = new com.amazonaws.internal.SdkInternalList(defaultCapacityProviderStrategy); } /** *

          * The capacity provider strategy to set as the default for the cluster. After a default capacity provider strategy * is set for a cluster, when you call the CreateService or RunTask APIs with no * capacity provider strategy or launch type specified, the default capacity provider strategy for the cluster is * used. *

          *

          * If a default capacity provider strategy isn't defined for a cluster when it was created, it can be defined later * with the PutClusterCapacityProviders API operation. *

          *

          * 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 capacity provider strategy to set as the default for the cluster. After a default capacity provider * strategy is set for a cluster, when you call the CreateService * or RunTask APIs * with no capacity provider strategy or launch type specified, the default capacity provider strategy for * the cluster is used.

          *

          * If a default capacity provider strategy isn't defined for a cluster when it was created, it can be defined * later with the PutClusterCapacityProviders API operation. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withDefaultCapacityProviderStrategy(CapacityProviderStrategyItem... defaultCapacityProviderStrategy) { if (this.defaultCapacityProviderStrategy == null) { setDefaultCapacityProviderStrategy(new com.amazonaws.internal.SdkInternalList(defaultCapacityProviderStrategy.length)); } for (CapacityProviderStrategyItem ele : defaultCapacityProviderStrategy) { this.defaultCapacityProviderStrategy.add(ele); } return this; } /** *

          * The capacity provider strategy to set as the default for the cluster. After a default capacity provider strategy * is set for a cluster, when you call the CreateService or RunTask APIs with no * capacity provider strategy or launch type specified, the default capacity provider strategy for the cluster is * used. *

          *

          * If a default capacity provider strategy isn't defined for a cluster when it was created, it can be defined later * with the PutClusterCapacityProviders API operation. *

          * * @param defaultCapacityProviderStrategy * The capacity provider strategy to set as the default for the cluster. After a default capacity provider * strategy is set for a cluster, when you call the CreateService * or RunTask APIs * with no capacity provider strategy or launch type specified, the default capacity provider strategy for * the cluster is used.

          *

          * If a default capacity provider strategy isn't defined for a cluster when it was created, it can be defined * later with the PutClusterCapacityProviders API operation. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withDefaultCapacityProviderStrategy(java.util.Collection defaultCapacityProviderStrategy) { setDefaultCapacityProviderStrategy(defaultCapacityProviderStrategy); return this; } /** *

          * 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(ClusterServiceConnectDefaultsRequest 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 ClusterServiceConnectDefaultsRequest 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 CreateClusterRequest withServiceConnectDefaults(ClusterServiceConnectDefaultsRequest 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 (getClusterName() != null) sb.append("ClusterName: ").append(getClusterName()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getSettings() != null) sb.append("Settings: ").append(getSettings()).append(","); if (getConfiguration() != null) sb.append("Configuration: ").append(getConfiguration()).append(","); if (getCapacityProviders() != null) sb.append("CapacityProviders: ").append(getCapacityProviders()).append(","); if (getDefaultCapacityProviderStrategy() != null) sb.append("DefaultCapacityProviderStrategy: ").append(getDefaultCapacityProviderStrategy()).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 CreateClusterRequest == false) return false; CreateClusterRequest other = (CreateClusterRequest) obj; if (other.getClusterName() == null ^ this.getClusterName() == null) return false; if (other.getClusterName() != null && other.getClusterName().equals(this.getClusterName()) == 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.getConfiguration() == null ^ this.getConfiguration() == null) return false; if (other.getConfiguration() != null && other.getConfiguration().equals(this.getConfiguration()) == 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.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 + ((getClusterName() == null) ? 0 : getClusterName().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getSettings() == null) ? 0 : getSettings().hashCode()); hashCode = prime * hashCode + ((getConfiguration() == null) ? 0 : getConfiguration().hashCode()); hashCode = prime * hashCode + ((getCapacityProviders() == null) ? 0 : getCapacityProviders().hashCode()); hashCode = prime * hashCode + ((getDefaultCapacityProviderStrategy() == null) ? 0 : getDefaultCapacityProviderStrategy().hashCode()); hashCode = prime * hashCode + ((getServiceConnectDefaults() == null) ? 0 : getServiceConnectDefaults().hashCode()); return hashCode; } @Override public CreateClusterRequest clone() { return (CreateClusterRequest) super.clone(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy