/** * 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 Lightsail { namespace Model { /** */ class UpdateContainerServiceRequest : public LightsailRequest { public: AWS_LIGHTSAIL_API UpdateContainerServiceRequest(); // 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 "UpdateContainerService"; } AWS_LIGHTSAIL_API Aws::String SerializePayload() const override; AWS_LIGHTSAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the container service to update.

*/ inline const Aws::String& GetServiceName() const{ return m_serviceName; } /** *

The name of the container service to update.

*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *

The name of the container service to update.

*/ inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *

The name of the container service to update.

*/ inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *

The name of the container service to update.

*/ inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); } /** *

The name of the container service to update.

*/ inline UpdateContainerServiceRequest& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;} /** *

The name of the container service to update.

*/ inline UpdateContainerServiceRequest& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;} /** *

The name of the container service to update.

*/ inline UpdateContainerServiceRequest& WithServiceName(const char* value) { SetServiceName(value); return *this;} /** *

The power for the container service.

The power specifies the amount of * memory, vCPUs, and base monthly cost of each node of the container service. The * power and scale of a container service makes up its * configured capacity. To determine the monthly price of your container service, * multiply the base price of the power with the scale * (the number of nodes) of the service.

Use the * GetContainerServicePowers action to view the specifications of each * power option.

*/ inline const ContainerServicePowerName& GetPower() const{ return m_power; } /** *

The power for the container service.

The power specifies the amount of * memory, vCPUs, and base monthly cost of each node of the container service. The * power and scale of a container service makes up its * configured capacity. To determine the monthly price of your container service, * multiply the base price of the power with the scale * (the number of nodes) of the service.

Use the * GetContainerServicePowers action to view the specifications of each * power option.

*/ inline bool PowerHasBeenSet() const { return m_powerHasBeenSet; } /** *

The power for the container service.

The power specifies the amount of * memory, vCPUs, and base monthly cost of each node of the container service. The * power and scale of a container service makes up its * configured capacity. To determine the monthly price of your container service, * multiply the base price of the power with the scale * (the number of nodes) of the service.

Use the * GetContainerServicePowers action to view the specifications of each * power option.

*/ inline void SetPower(const ContainerServicePowerName& value) { m_powerHasBeenSet = true; m_power = value; } /** *

The power for the container service.

The power specifies the amount of * memory, vCPUs, and base monthly cost of each node of the container service. The * power and scale of a container service makes up its * configured capacity. To determine the monthly price of your container service, * multiply the base price of the power with the scale * (the number of nodes) of the service.

Use the * GetContainerServicePowers action to view the specifications of each * power option.

*/ inline void SetPower(ContainerServicePowerName&& value) { m_powerHasBeenSet = true; m_power = std::move(value); } /** *

The power for the container service.

The power specifies the amount of * memory, vCPUs, and base monthly cost of each node of the container service. The * power and scale of a container service makes up its * configured capacity. To determine the monthly price of your container service, * multiply the base price of the power with the scale * (the number of nodes) of the service.

Use the * GetContainerServicePowers action to view the specifications of each * power option.

*/ inline UpdateContainerServiceRequest& WithPower(const ContainerServicePowerName& value) { SetPower(value); return *this;} /** *

The power for the container service.

The power specifies the amount of * memory, vCPUs, and base monthly cost of each node of the container service. The * power and scale of a container service makes up its * configured capacity. To determine the monthly price of your container service, * multiply the base price of the power with the scale * (the number of nodes) of the service.

Use the * GetContainerServicePowers action to view the specifications of each * power option.

*/ inline UpdateContainerServiceRequest& WithPower(ContainerServicePowerName&& value) { SetPower(std::move(value)); return *this;} /** *

The scale for the container service.

The scale specifies the allocated * compute nodes of the container service. The power and * scale of a container service makes up its configured capacity. To * determine the monthly price of your container service, multiply the base price * of the power with the scale (the number of nodes) of * the service.

*/ inline int GetScale() const{ return m_scale; } /** *

The scale for the container service.

The scale specifies the allocated * compute nodes of the container service. The power and * scale of a container service makes up its configured capacity. To * determine the monthly price of your container service, multiply the base price * of the power with the scale (the number of nodes) of * the service.

*/ inline bool ScaleHasBeenSet() const { return m_scaleHasBeenSet; } /** *

The scale for the container service.

The scale specifies the allocated * compute nodes of the container service. The power and * scale of a container service makes up its configured capacity. To * determine the monthly price of your container service, multiply the base price * of the power with the scale (the number of nodes) of * the service.

*/ inline void SetScale(int value) { m_scaleHasBeenSet = true; m_scale = value; } /** *

The scale for the container service.

The scale specifies the allocated * compute nodes of the container service. The power and * scale of a container service makes up its configured capacity. To * determine the monthly price of your container service, multiply the base price * of the power with the scale (the number of nodes) of * the service.

*/ inline UpdateContainerServiceRequest& WithScale(int value) { SetScale(value); return *this;} /** *

A Boolean value to indicate whether the container service is disabled.

*/ inline bool GetIsDisabled() const{ return m_isDisabled; } /** *

A Boolean value to indicate whether the container service is disabled.

*/ inline bool IsDisabledHasBeenSet() const { return m_isDisabledHasBeenSet; } /** *

A Boolean value to indicate whether the container service is disabled.

*/ inline void SetIsDisabled(bool value) { m_isDisabledHasBeenSet = true; m_isDisabled = value; } /** *

A Boolean value to indicate whether the container service is disabled.

*/ inline UpdateContainerServiceRequest& WithIsDisabled(bool value) { SetIsDisabled(value); return *this;} /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline const Aws::Map>& GetPublicDomainNames() const{ return m_publicDomainNames; } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline bool PublicDomainNamesHasBeenSet() const { return m_publicDomainNamesHasBeenSet; } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline void SetPublicDomainNames(const Aws::Map>& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames = value; } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline void SetPublicDomainNames(Aws::Map>&& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames = std::move(value); } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline UpdateContainerServiceRequest& WithPublicDomainNames(const Aws::Map>& value) { SetPublicDomainNames(value); return *this;} /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline UpdateContainerServiceRequest& WithPublicDomainNames(Aws::Map>&& value) { SetPublicDomainNames(std::move(value)); return *this;} /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline UpdateContainerServiceRequest& AddPublicDomainNames(const Aws::String& key, const Aws::Vector& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames.emplace(key, value); return *this; } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline UpdateContainerServiceRequest& AddPublicDomainNames(Aws::String&& key, const Aws::Vector& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames.emplace(std::move(key), value); return *this; } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline UpdateContainerServiceRequest& AddPublicDomainNames(const Aws::String& key, Aws::Vector&& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames.emplace(key, std::move(value)); return *this; } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline UpdateContainerServiceRequest& AddPublicDomainNames(Aws::String&& key, Aws::Vector&& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames.emplace(std::move(key), std::move(value)); return *this; } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline UpdateContainerServiceRequest& AddPublicDomainNames(const char* key, Aws::Vector&& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames.emplace(key, std::move(value)); return *this; } /** *

The public domain names to use with the container service, such as * example.com and www.example.com.

You can * specify up to four public domain names for a container service. The domain names * that you specify are used when you create a deployment with a container * configured as the public endpoint of your container service.

If you don't * specify public domain names, then you can use the default domain of the * container service.

You must create and validate an SSL/TLS * certificate before you can use public domain names with your container service. * Use the CreateCertificate action to create a certificate for the * public domain names you want to use with your container service.

*

You can specify public domain names using a string to array map * as shown in the example later on this page.

*/ inline UpdateContainerServiceRequest& AddPublicDomainNames(const char* key, const Aws::Vector& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames.emplace(key, value); return *this; } /** *

An object to describe the configuration for the container service to access * private container image repositories, such as Amazon Elastic Container Registry * (Amazon ECR) private repositories.

For more information, see Configuring * access to an Amazon ECR private repository for an Amazon Lightsail container * service in the Amazon Lightsail Developer Guide.

*/ inline const PrivateRegistryAccessRequest& GetPrivateRegistryAccess() const{ return m_privateRegistryAccess; } /** *

An object to describe the configuration for the container service to access * private container image repositories, such as Amazon Elastic Container Registry * (Amazon ECR) private repositories.

For more information, see Configuring * access to an Amazon ECR private repository for an Amazon Lightsail container * service in the Amazon Lightsail Developer Guide.

*/ inline bool PrivateRegistryAccessHasBeenSet() const { return m_privateRegistryAccessHasBeenSet; } /** *

An object to describe the configuration for the container service to access * private container image repositories, such as Amazon Elastic Container Registry * (Amazon ECR) private repositories.

For more information, see Configuring * access to an Amazon ECR private repository for an Amazon Lightsail container * service in the Amazon Lightsail Developer Guide.

*/ inline void SetPrivateRegistryAccess(const PrivateRegistryAccessRequest& value) { m_privateRegistryAccessHasBeenSet = true; m_privateRegistryAccess = value; } /** *

An object to describe the configuration for the container service to access * private container image repositories, such as Amazon Elastic Container Registry * (Amazon ECR) private repositories.

For more information, see Configuring * access to an Amazon ECR private repository for an Amazon Lightsail container * service in the Amazon Lightsail Developer Guide.

*/ inline void SetPrivateRegistryAccess(PrivateRegistryAccessRequest&& value) { m_privateRegistryAccessHasBeenSet = true; m_privateRegistryAccess = std::move(value); } /** *

An object to describe the configuration for the container service to access * private container image repositories, such as Amazon Elastic Container Registry * (Amazon ECR) private repositories.

For more information, see Configuring * access to an Amazon ECR private repository for an Amazon Lightsail container * service in the Amazon Lightsail Developer Guide.

*/ inline UpdateContainerServiceRequest& WithPrivateRegistryAccess(const PrivateRegistryAccessRequest& value) { SetPrivateRegistryAccess(value); return *this;} /** *

An object to describe the configuration for the container service to access * private container image repositories, such as Amazon Elastic Container Registry * (Amazon ECR) private repositories.

For more information, see Configuring * access to an Amazon ECR private repository for an Amazon Lightsail container * service in the Amazon Lightsail Developer Guide.

*/ inline UpdateContainerServiceRequest& WithPrivateRegistryAccess(PrivateRegistryAccessRequest&& value) { SetPrivateRegistryAccess(std::move(value)); return *this;} private: Aws::String m_serviceName; bool m_serviceNameHasBeenSet = false; ContainerServicePowerName m_power; bool m_powerHasBeenSet = false; int m_scale; bool m_scaleHasBeenSet = false; bool m_isDisabled; bool m_isDisabledHasBeenSet = false; Aws::Map> m_publicDomainNames; bool m_publicDomainNamesHasBeenSet = false; PrivateRegistryAccessRequest m_privateRegistryAccess; bool m_privateRegistryAccessHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws