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

The name for the container service.

The name that you specify for your * container service will make up part of its default domain. The default domain of * a container service is typically * https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. * If the name of your container service is container-service-1, and * it's located in the US East (Ohio) Amazon Web Services Region * (us-east-2), then the domain for your container service will be * like the following example: * https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com *

The following are the requirements for container service names:

    *
  • Must be unique within each Amazon Web Services Region in your Lightsail * account.

  • Must contain 1 to 63 characters.

  • *

    Must contain only alphanumeric characters and hyphens.

  • A * hyphen (-) can separate words but cannot be at the start or end of the name.

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

The name for the container service.

The name that you specify for your * container service will make up part of its default domain. The default domain of * a container service is typically * https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. * If the name of your container service is container-service-1, and * it's located in the US East (Ohio) Amazon Web Services Region * (us-east-2), then the domain for your container service will be * like the following example: * https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com *

The following are the requirements for container service names:

    *
  • Must be unique within each Amazon Web Services Region in your Lightsail * account.

  • Must contain 1 to 63 characters.

  • *

    Must contain only alphanumeric characters and hyphens.

  • A * hyphen (-) can separate words but cannot be at the start or end of the name.

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

The name for the container service.

The name that you specify for your * container service will make up part of its default domain. The default domain of * a container service is typically * https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. * If the name of your container service is container-service-1, and * it's located in the US East (Ohio) Amazon Web Services Region * (us-east-2), then the domain for your container service will be * like the following example: * https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com *

The following are the requirements for container service names:

    *
  • Must be unique within each Amazon Web Services Region in your Lightsail * account.

  • Must contain 1 to 63 characters.

  • *

    Must contain only alphanumeric characters and hyphens.

  • A * hyphen (-) can separate words but cannot be at the start or end of the name.

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

The name for the container service.

The name that you specify for your * container service will make up part of its default domain. The default domain of * a container service is typically * https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. * If the name of your container service is container-service-1, and * it's located in the US East (Ohio) Amazon Web Services Region * (us-east-2), then the domain for your container service will be * like the following example: * https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com *

The following are the requirements for container service names:

    *
  • Must be unique within each Amazon Web Services Region in your Lightsail * account.

  • Must contain 1 to 63 characters.

  • *

    Must contain only alphanumeric characters and hyphens.

  • A * hyphen (-) can separate words but cannot be at the start or end of the name.

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

The name for the container service.

The name that you specify for your * container service will make up part of its default domain. The default domain of * a container service is typically * https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. * If the name of your container service is container-service-1, and * it's located in the US East (Ohio) Amazon Web Services Region * (us-east-2), then the domain for your container service will be * like the following example: * https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com *

The following are the requirements for container service names:

    *
  • Must be unique within each Amazon Web Services Region in your Lightsail * account.

  • Must contain 1 to 63 characters.

  • *

    Must contain only alphanumeric characters and hyphens.

  • A * hyphen (-) can separate words but cannot be at the start or end of the name.

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

The name for the container service.

The name that you specify for your * container service will make up part of its default domain. The default domain of * a container service is typically * https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. * If the name of your container service is container-service-1, and * it's located in the US East (Ohio) Amazon Web Services Region * (us-east-2), then the domain for your container service will be * like the following example: * https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com *

The following are the requirements for container service names:

    *
  • Must be unique within each Amazon Web Services Region in your Lightsail * account.

  • Must contain 1 to 63 characters.

  • *

    Must contain only alphanumeric characters and hyphens.

  • A * hyphen (-) can separate words but cannot be at the start or end of the name.

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

The name for the container service.

The name that you specify for your * container service will make up part of its default domain. The default domain of * a container service is typically * https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. * If the name of your container service is container-service-1, and * it's located in the US East (Ohio) Amazon Web Services Region * (us-east-2), then the domain for your container service will be * like the following example: * https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com *

The following are the requirements for container service names:

    *
  • Must be unique within each Amazon Web Services Region in your Lightsail * account.

  • Must contain 1 to 63 characters.

  • *

    Must contain only alphanumeric characters and hyphens.

  • A * hyphen (-) can separate words but cannot be at the start or end of the name.

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

The name for the container service.

The name that you specify for your * container service will make up part of its default domain. The default domain of * a container service is typically * https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com. * If the name of your container service is container-service-1, and * it's located in the US East (Ohio) Amazon Web Services Region * (us-east-2), then the domain for your container service will be * like the following example: * https://container-service-1.ur4EXAMPLE2uq.us-east-2.cs.amazonlightsail.com *

The following are the requirements for container service names:

    *
  • Must be unique within each Amazon Web Services Region in your Lightsail * account.

  • Must contain 1 to 63 characters.

  • *

    Must contain only alphanumeric characters and hyphens.

  • A * hyphen (-) can separate words but cannot be at the start or end of the name.

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

The power specification 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 get a list of power options * that you can specify using this parameter, and their base monthly cost.

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

The power specification 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 get a list of power options * that you can specify using this parameter, and their base monthly cost.

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

The power specification 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 get a list of power options * that you can specify using this parameter, and their base monthly cost.

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

The power specification 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 get a list of power options * that you can specify using this parameter, and their base monthly cost.

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

The power specification 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 get a list of power options * that you can specify using this parameter, and their base monthly cost.

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

The power specification 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 get a list of power options * that you can specify using this parameter, and their base monthly cost.

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

The scale specification 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 specification 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 specification 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 specification 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 CreateContainerServiceRequest& WithScale(int value) { SetScale(value); return *this;} /** *

The tag keys and optional values to add to the container service during * create.

Use the TagResource action to tag a resource after * it's created.

For more information about tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tag keys and optional values to add to the container service during * create.

Use the TagResource action to tag a resource after * it's created.

For more information about tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tag keys and optional values to add to the container service during * create.

Use the TagResource action to tag a resource after * it's created.

For more information about tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tag keys and optional values to add to the container service during * create.

Use the TagResource action to tag a resource after * it's created.

For more information about tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tag keys and optional values to add to the container service during * create.

Use the TagResource action to tag a resource after * it's created.

For more information about tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline CreateContainerServiceRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tag keys and optional values to add to the container service during * create.

Use the TagResource action to tag a resource after * it's created.

For more information about tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline CreateContainerServiceRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tag keys and optional values to add to the container service during * create.

Use the TagResource action to tag a resource after * it's created.

For more information about tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline CreateContainerServiceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tag keys and optional values to add to the container service during * create.

Use the TagResource action to tag a resource after * it's created.

For more information about tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline CreateContainerServiceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(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 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 CreateContainerServiceRequest& 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 CreateContainerServiceRequest& 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 CreateContainerServiceRequest& 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 CreateContainerServiceRequest& 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 CreateContainerServiceRequest& 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 CreateContainerServiceRequest& 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 CreateContainerServiceRequest& 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 CreateContainerServiceRequest& AddPublicDomainNames(const char* key, const Aws::Vector& value) { m_publicDomainNamesHasBeenSet = true; m_publicDomainNames.emplace(key, value); return *this; } /** *

An object that describes a deployment for the container service.

A * deployment specifies the containers that will be launched on the container * service and their settings, such as the ports to open, the environment variables * to apply, and the launch command to run. It also specifies the container that * will serve as the public endpoint of the deployment and its settings, such as * the HTTP or HTTPS port to use, and the health check configuration.

*/ inline const ContainerServiceDeploymentRequest& GetDeployment() const{ return m_deployment; } /** *

An object that describes a deployment for the container service.

A * deployment specifies the containers that will be launched on the container * service and their settings, such as the ports to open, the environment variables * to apply, and the launch command to run. It also specifies the container that * will serve as the public endpoint of the deployment and its settings, such as * the HTTP or HTTPS port to use, and the health check configuration.

*/ inline bool DeploymentHasBeenSet() const { return m_deploymentHasBeenSet; } /** *

An object that describes a deployment for the container service.

A * deployment specifies the containers that will be launched on the container * service and their settings, such as the ports to open, the environment variables * to apply, and the launch command to run. It also specifies the container that * will serve as the public endpoint of the deployment and its settings, such as * the HTTP or HTTPS port to use, and the health check configuration.

*/ inline void SetDeployment(const ContainerServiceDeploymentRequest& value) { m_deploymentHasBeenSet = true; m_deployment = value; } /** *

An object that describes a deployment for the container service.

A * deployment specifies the containers that will be launched on the container * service and their settings, such as the ports to open, the environment variables * to apply, and the launch command to run. It also specifies the container that * will serve as the public endpoint of the deployment and its settings, such as * the HTTP or HTTPS port to use, and the health check configuration.

*/ inline void SetDeployment(ContainerServiceDeploymentRequest&& value) { m_deploymentHasBeenSet = true; m_deployment = std::move(value); } /** *

An object that describes a deployment for the container service.

A * deployment specifies the containers that will be launched on the container * service and their settings, such as the ports to open, the environment variables * to apply, and the launch command to run. It also specifies the container that * will serve as the public endpoint of the deployment and its settings, such as * the HTTP or HTTPS port to use, and the health check configuration.

*/ inline CreateContainerServiceRequest& WithDeployment(const ContainerServiceDeploymentRequest& value) { SetDeployment(value); return *this;} /** *

An object that describes a deployment for the container service.

A * deployment specifies the containers that will be launched on the container * service and their settings, such as the ports to open, the environment variables * to apply, and the launch command to run. It also specifies the container that * will serve as the public endpoint of the deployment and its settings, such as * the HTTP or HTTPS port to use, and the health check configuration.

*/ inline CreateContainerServiceRequest& WithDeployment(ContainerServiceDeploymentRequest&& value) { SetDeployment(std::move(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 CreateContainerServiceRequest& 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 CreateContainerServiceRequest& 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; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::Map> m_publicDomainNames; bool m_publicDomainNamesHasBeenSet = false; ContainerServiceDeploymentRequest m_deployment; bool m_deploymentHasBeenSet = false; PrivateRegistryAccessRequest m_privateRegistryAccess; bool m_privateRegistryAccessHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws