/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace ECS { namespace Model { /** */ class UpdateClusterRequest : public ECSRequest { public: AWS_ECS_API UpdateClusterRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateCluster"; } AWS_ECS_API Aws::String SerializePayload() const override; AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the cluster to modify the settings for.

*/ inline const Aws::String& GetCluster() const{ return m_cluster; } /** *

The name of the cluster to modify the settings for.

*/ inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; } /** *

The name of the cluster to modify the settings for.

*/ inline void SetCluster(const Aws::String& value) { m_clusterHasBeenSet = true; m_cluster = value; } /** *

The name of the cluster to modify the settings for.

*/ inline void SetCluster(Aws::String&& value) { m_clusterHasBeenSet = true; m_cluster = std::move(value); } /** *

The name of the cluster to modify the settings for.

*/ inline void SetCluster(const char* value) { m_clusterHasBeenSet = true; m_cluster.assign(value); } /** *

The name of the cluster to modify the settings for.

*/ inline UpdateClusterRequest& WithCluster(const Aws::String& value) { SetCluster(value); return *this;} /** *

The name of the cluster to modify the settings for.

*/ inline UpdateClusterRequest& WithCluster(Aws::String&& value) { SetCluster(std::move(value)); return *this;} /** *

The name of the cluster to modify the settings for.

*/ inline UpdateClusterRequest& WithCluster(const char* value) { SetCluster(value); return *this;} /** *

The cluster settings for your cluster.

*/ inline const Aws::Vector& GetSettings() const{ return m_settings; } /** *

The cluster settings for your cluster.

*/ inline bool SettingsHasBeenSet() const { return m_settingsHasBeenSet; } /** *

The cluster settings for your cluster.

*/ inline void SetSettings(const Aws::Vector& value) { m_settingsHasBeenSet = true; m_settings = value; } /** *

The cluster settings for your cluster.

*/ inline void SetSettings(Aws::Vector&& value) { m_settingsHasBeenSet = true; m_settings = std::move(value); } /** *

The cluster settings for your cluster.

*/ inline UpdateClusterRequest& WithSettings(const Aws::Vector& value) { SetSettings(value); return *this;} /** *

The cluster settings for your cluster.

*/ inline UpdateClusterRequest& WithSettings(Aws::Vector&& value) { SetSettings(std::move(value)); return *this;} /** *

The cluster settings for your cluster.

*/ inline UpdateClusterRequest& AddSettings(const ClusterSetting& value) { m_settingsHasBeenSet = true; m_settings.push_back(value); return *this; } /** *

The cluster settings for your cluster.

*/ inline UpdateClusterRequest& AddSettings(ClusterSetting&& value) { m_settingsHasBeenSet = true; m_settings.push_back(std::move(value)); return *this; } /** *

The execute command configuration for the cluster.

*/ inline const ClusterConfiguration& GetConfiguration() const{ return m_configuration; } /** *

The execute command configuration for the cluster.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

The execute command configuration for the cluster.

*/ inline void SetConfiguration(const ClusterConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

The execute command configuration for the cluster.

*/ inline void SetConfiguration(ClusterConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

The execute command configuration for the cluster.

*/ inline UpdateClusterRequest& WithConfiguration(const ClusterConfiguration& value) { SetConfiguration(value); return *this;} /** *

The execute command configuration for the cluster.

*/ inline UpdateClusterRequest& WithConfiguration(ClusterConfiguration&& value) { SetConfiguration(std::move(value)); 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.

*/ inline const ClusterServiceConnectDefaultsRequest& GetServiceConnectDefaults() const{ return m_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.

*/ inline bool ServiceConnectDefaultsHasBeenSet() const { return m_serviceConnectDefaultsHasBeenSet; } /** *

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.

*/ inline void SetServiceConnectDefaults(const ClusterServiceConnectDefaultsRequest& value) { m_serviceConnectDefaultsHasBeenSet = true; m_serviceConnectDefaults = value; } /** *

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.

*/ inline void SetServiceConnectDefaults(ClusterServiceConnectDefaultsRequest&& value) { m_serviceConnectDefaultsHasBeenSet = true; m_serviceConnectDefaults = std::move(value); } /** *

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.

*/ inline UpdateClusterRequest& WithServiceConnectDefaults(const ClusterServiceConnectDefaultsRequest& value) { SetServiceConnectDefaults(value); 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.

*/ inline UpdateClusterRequest& WithServiceConnectDefaults(ClusterServiceConnectDefaultsRequest&& value) { SetServiceConnectDefaults(std::move(value)); return *this;} private: Aws::String m_cluster; bool m_clusterHasBeenSet = false; Aws::Vector m_settings; bool m_settingsHasBeenSet = false; ClusterConfiguration m_configuration; bool m_configurationHasBeenSet = false; ClusterServiceConnectDefaultsRequest m_serviceConnectDefaults; bool m_serviceConnectDefaultsHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws