/** * 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 #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lightsail { namespace Model { /** *

Describes an Amazon Lightsail container service.

See Also:

* AWS * API Reference

*/ class ContainerService { public: AWS_LIGHTSAIL_API ContainerService(); AWS_LIGHTSAIL_API ContainerService(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API ContainerService& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the container service.

*/ inline const Aws::String& GetContainerServiceName() const{ return m_containerServiceName; } /** *

The name of the container service.

*/ inline bool ContainerServiceNameHasBeenSet() const { return m_containerServiceNameHasBeenSet; } /** *

The name of the container service.

*/ inline void SetContainerServiceName(const Aws::String& value) { m_containerServiceNameHasBeenSet = true; m_containerServiceName = value; } /** *

The name of the container service.

*/ inline void SetContainerServiceName(Aws::String&& value) { m_containerServiceNameHasBeenSet = true; m_containerServiceName = std::move(value); } /** *

The name of the container service.

*/ inline void SetContainerServiceName(const char* value) { m_containerServiceNameHasBeenSet = true; m_containerServiceName.assign(value); } /** *

The name of the container service.

*/ inline ContainerService& WithContainerServiceName(const Aws::String& value) { SetContainerServiceName(value); return *this;} /** *

The name of the container service.

*/ inline ContainerService& WithContainerServiceName(Aws::String&& value) { SetContainerServiceName(std::move(value)); return *this;} /** *

The name of the container service.

*/ inline ContainerService& WithContainerServiceName(const char* value) { SetContainerServiceName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the container service.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the container service.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the container service.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the container service.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the container service.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the container service.

*/ inline ContainerService& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the container service.

*/ inline ContainerService& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the container service.

*/ inline ContainerService& WithArn(const char* value) { SetArn(value); return *this;} /** *

The timestamp when the container service was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The timestamp when the container service was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The timestamp when the container service was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The timestamp when the container service was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The timestamp when the container service was created.

*/ inline ContainerService& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The timestamp when the container service was created.

*/ inline ContainerService& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

An object that describes the location of the container service, such as the * Amazon Web Services Region and Availability Zone.

*/ inline const ResourceLocation& GetLocation() const{ return m_location; } /** *

An object that describes the location of the container service, such as the * Amazon Web Services Region and Availability Zone.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

An object that describes the location of the container service, such as the * Amazon Web Services Region and Availability Zone.

*/ inline void SetLocation(const ResourceLocation& value) { m_locationHasBeenSet = true; m_location = value; } /** *

An object that describes the location of the container service, such as the * Amazon Web Services Region and Availability Zone.

*/ inline void SetLocation(ResourceLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

An object that describes the location of the container service, such as the * Amazon Web Services Region and Availability Zone.

*/ inline ContainerService& WithLocation(const ResourceLocation& value) { SetLocation(value); return *this;} /** *

An object that describes the location of the container service, such as the * Amazon Web Services Region and Availability Zone.

*/ inline ContainerService& WithLocation(ResourceLocation&& value) { SetLocation(std::move(value)); return *this;} /** *

The Lightsail resource type of the container service (i.e., * ContainerService).

*/ inline const ResourceType& GetResourceType() const{ return m_resourceType; } /** *

The Lightsail resource type of the container service (i.e., * ContainerService).

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The Lightsail resource type of the container service (i.e., * ContainerService).

*/ inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The Lightsail resource type of the container service (i.e., * ContainerService).

*/ inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The Lightsail resource type of the container service (i.e., * ContainerService).

*/ inline ContainerService& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *

The Lightsail resource type of the container service (i.e., * ContainerService).

*/ inline ContainerService& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

The tag keys and optional values for the resource. 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 for the resource. 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 for the resource. 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 for the resource. 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 for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

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

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

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

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

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

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline ContainerService& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The power specification of the container service.

The power specifies * the amount of RAM, the number of vCPUs, and the base price of the container * service.

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

The power specification of the container service.

The power specifies * the amount of RAM, the number of vCPUs, and the base price of the container * service.

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

The power specification of the container service.

The power specifies * the amount of RAM, the number of vCPUs, and the base price of the container * service.

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

The power specification of the container service.

The power specifies * the amount of RAM, the number of vCPUs, and the base price of the container * service.

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

The power specification of the container service.

The power specifies * the amount of RAM, the number of vCPUs, and the base price of the container * service.

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

The power specification of the container service.

The power specifies * the amount of RAM, the number of vCPUs, and the base price of the container * service.

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

The ID of the power of the container service.

*/ inline const Aws::String& GetPowerId() const{ return m_powerId; } /** *

The ID of the power of the container service.

*/ inline bool PowerIdHasBeenSet() const { return m_powerIdHasBeenSet; } /** *

The ID of the power of the container service.

*/ inline void SetPowerId(const Aws::String& value) { m_powerIdHasBeenSet = true; m_powerId = value; } /** *

The ID of the power of the container service.

*/ inline void SetPowerId(Aws::String&& value) { m_powerIdHasBeenSet = true; m_powerId = std::move(value); } /** *

The ID of the power of the container service.

*/ inline void SetPowerId(const char* value) { m_powerIdHasBeenSet = true; m_powerId.assign(value); } /** *

The ID of the power of the container service.

*/ inline ContainerService& WithPowerId(const Aws::String& value) { SetPowerId(value); return *this;} /** *

The ID of the power of the container service.

*/ inline ContainerService& WithPowerId(Aws::String&& value) { SetPowerId(std::move(value)); return *this;} /** *

The ID of the power of the container service.

*/ inline ContainerService& WithPowerId(const char* value) { SetPowerId(value); return *this;} /** *

The current state of the container service.

The following container * service states are possible:

  • PENDING - The * container service is being created.

  • READY - The * container service is running but it does not have an active container * deployment.

  • DEPLOYING - The container service is * launching a container deployment.

  • RUNNING - The * container service is running and it has an active container deployment.

    *
  • UPDATING - The container service capacity or its * custom domains are being updated.

  • DELETING - The * container service is being deleted.

  • DISABLED - * The container service is disabled, and its active deployment and containers, if * any, are shut down.

*/ inline const ContainerServiceState& GetState() const{ return m_state; } /** *

The current state of the container service.

The following container * service states are possible:

  • PENDING - The * container service is being created.

  • READY - The * container service is running but it does not have an active container * deployment.

  • DEPLOYING - The container service is * launching a container deployment.

  • RUNNING - The * container service is running and it has an active container deployment.

    *
  • UPDATING - The container service capacity or its * custom domains are being updated.

  • DELETING - The * container service is being deleted.

  • DISABLED - * The container service is disabled, and its active deployment and containers, if * any, are shut down.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the container service.

The following container * service states are possible:

  • PENDING - The * container service is being created.

  • READY - The * container service is running but it does not have an active container * deployment.

  • DEPLOYING - The container service is * launching a container deployment.

  • RUNNING - The * container service is running and it has an active container deployment.

    *
  • UPDATING - The container service capacity or its * custom domains are being updated.

  • DELETING - The * container service is being deleted.

  • DISABLED - * The container service is disabled, and its active deployment and containers, if * any, are shut down.

*/ inline void SetState(const ContainerServiceState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the container service.

The following container * service states are possible:

  • PENDING - The * container service is being created.

  • READY - The * container service is running but it does not have an active container * deployment.

  • DEPLOYING - The container service is * launching a container deployment.

  • RUNNING - The * container service is running and it has an active container deployment.

    *
  • UPDATING - The container service capacity or its * custom domains are being updated.

  • DELETING - The * container service is being deleted.

  • DISABLED - * The container service is disabled, and its active deployment and containers, if * any, are shut down.

*/ inline void SetState(ContainerServiceState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the container service.

The following container * service states are possible:

  • PENDING - The * container service is being created.

  • READY - The * container service is running but it does not have an active container * deployment.

  • DEPLOYING - The container service is * launching a container deployment.

  • RUNNING - The * container service is running and it has an active container deployment.

    *
  • UPDATING - The container service capacity or its * custom domains are being updated.

  • DELETING - The * container service is being deleted.

  • DISABLED - * The container service is disabled, and its active deployment and containers, if * any, are shut down.

*/ inline ContainerService& WithState(const ContainerServiceState& value) { SetState(value); return *this;} /** *

The current state of the container service.

The following container * service states are possible:

  • PENDING - The * container service is being created.

  • READY - The * container service is running but it does not have an active container * deployment.

  • DEPLOYING - The container service is * launching a container deployment.

  • RUNNING - The * container service is running and it has an active container deployment.

    *
  • UPDATING - The container service capacity or its * custom domains are being updated.

  • DELETING - The * container service is being deleted.

  • DISABLED - * The container service is disabled, and its active deployment and containers, if * any, are shut down.

*/ inline ContainerService& WithState(ContainerServiceState&& value) { SetState(std::move(value)); return *this;} /** *

An object that describes the current state of the container service.

*

The state detail is populated only when a container service is in a * PENDING, DEPLOYING, or UPDATING * state.

*/ inline const ContainerServiceStateDetail& GetStateDetail() const{ return m_stateDetail; } /** *

An object that describes the current state of the container service.

*

The state detail is populated only when a container service is in a * PENDING, DEPLOYING, or UPDATING * state.

*/ inline bool StateDetailHasBeenSet() const { return m_stateDetailHasBeenSet; } /** *

An object that describes the current state of the container service.

*

The state detail is populated only when a container service is in a * PENDING, DEPLOYING, or UPDATING * state.

*/ inline void SetStateDetail(const ContainerServiceStateDetail& value) { m_stateDetailHasBeenSet = true; m_stateDetail = value; } /** *

An object that describes the current state of the container service.

*

The state detail is populated only when a container service is in a * PENDING, DEPLOYING, or UPDATING * state.

*/ inline void SetStateDetail(ContainerServiceStateDetail&& value) { m_stateDetailHasBeenSet = true; m_stateDetail = std::move(value); } /** *

An object that describes the current state of the container service.

*

The state detail is populated only when a container service is in a * PENDING, DEPLOYING, or UPDATING * state.

*/ inline ContainerService& WithStateDetail(const ContainerServiceStateDetail& value) { SetStateDetail(value); return *this;} /** *

An object that describes the current state of the container service.

*

The state detail is populated only when a container service is in a * PENDING, DEPLOYING, or UPDATING * state.

*/ inline ContainerService& WithStateDetail(ContainerServiceStateDetail&& value) { SetStateDetail(std::move(value)); return *this;} /** *

The scale specification of the container service.

The scale specifies * the allocated compute nodes of the container service.

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

The scale specification of the container service.

The scale specifies * the allocated compute nodes of the container service.

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

The scale specification of the container service.

The scale specifies * the allocated compute nodes of the container service.

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

The scale specification of the container service.

The scale specifies * the allocated compute nodes of the container service.

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

An object that describes the current container deployment of the container * service.

*/ inline const ContainerServiceDeployment& GetCurrentDeployment() const{ return m_currentDeployment; } /** *

An object that describes the current container deployment of the container * service.

*/ inline bool CurrentDeploymentHasBeenSet() const { return m_currentDeploymentHasBeenSet; } /** *

An object that describes the current container deployment of the container * service.

*/ inline void SetCurrentDeployment(const ContainerServiceDeployment& value) { m_currentDeploymentHasBeenSet = true; m_currentDeployment = value; } /** *

An object that describes the current container deployment of the container * service.

*/ inline void SetCurrentDeployment(ContainerServiceDeployment&& value) { m_currentDeploymentHasBeenSet = true; m_currentDeployment = std::move(value); } /** *

An object that describes the current container deployment of the container * service.

*/ inline ContainerService& WithCurrentDeployment(const ContainerServiceDeployment& value) { SetCurrentDeployment(value); return *this;} /** *

An object that describes the current container deployment of the container * service.

*/ inline ContainerService& WithCurrentDeployment(ContainerServiceDeployment&& value) { SetCurrentDeployment(std::move(value)); return *this;} /** *

An object that describes the next deployment of the container service.

*

This value is null when there is no deployment in a * pending state.

*/ inline const ContainerServiceDeployment& GetNextDeployment() const{ return m_nextDeployment; } /** *

An object that describes the next deployment of the container service.

*

This value is null when there is no deployment in a * pending state.

*/ inline bool NextDeploymentHasBeenSet() const { return m_nextDeploymentHasBeenSet; } /** *

An object that describes the next deployment of the container service.

*

This value is null when there is no deployment in a * pending state.

*/ inline void SetNextDeployment(const ContainerServiceDeployment& value) { m_nextDeploymentHasBeenSet = true; m_nextDeployment = value; } /** *

An object that describes the next deployment of the container service.

*

This value is null when there is no deployment in a * pending state.

*/ inline void SetNextDeployment(ContainerServiceDeployment&& value) { m_nextDeploymentHasBeenSet = true; m_nextDeployment = std::move(value); } /** *

An object that describes the next deployment of the container service.

*

This value is null when there is no deployment in a * pending state.

*/ inline ContainerService& WithNextDeployment(const ContainerServiceDeployment& value) { SetNextDeployment(value); return *this;} /** *

An object that describes the next deployment of the container service.

*

This value is null when there is no deployment in a * pending state.

*/ inline ContainerService& WithNextDeployment(ContainerServiceDeployment&& value) { SetNextDeployment(std::move(value)); return *this;} /** *

A Boolean value indicating whether the container service is disabled.

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

A Boolean value indicating whether the container service is disabled.

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

A Boolean value indicating whether the container service is disabled.

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

A Boolean value indicating whether the container service is disabled.

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

The principal ARN of the container service.

The principal ARN can be * used to create a trust relationship between your standard Amazon Web Services * account and your Lightsail container service. This allows you to give your * service permission to access resources in your standard Amazon Web Services * account.

*/ inline const Aws::String& GetPrincipalArn() const{ return m_principalArn; } /** *

The principal ARN of the container service.

The principal ARN can be * used to create a trust relationship between your standard Amazon Web Services * account and your Lightsail container service. This allows you to give your * service permission to access resources in your standard Amazon Web Services * account.

*/ inline bool PrincipalArnHasBeenSet() const { return m_principalArnHasBeenSet; } /** *

The principal ARN of the container service.

The principal ARN can be * used to create a trust relationship between your standard Amazon Web Services * account and your Lightsail container service. This allows you to give your * service permission to access resources in your standard Amazon Web Services * account.

*/ inline void SetPrincipalArn(const Aws::String& value) { m_principalArnHasBeenSet = true; m_principalArn = value; } /** *

The principal ARN of the container service.

The principal ARN can be * used to create a trust relationship between your standard Amazon Web Services * account and your Lightsail container service. This allows you to give your * service permission to access resources in your standard Amazon Web Services * account.

*/ inline void SetPrincipalArn(Aws::String&& value) { m_principalArnHasBeenSet = true; m_principalArn = std::move(value); } /** *

The principal ARN of the container service.

The principal ARN can be * used to create a trust relationship between your standard Amazon Web Services * account and your Lightsail container service. This allows you to give your * service permission to access resources in your standard Amazon Web Services * account.

*/ inline void SetPrincipalArn(const char* value) { m_principalArnHasBeenSet = true; m_principalArn.assign(value); } /** *

The principal ARN of the container service.

The principal ARN can be * used to create a trust relationship between your standard Amazon Web Services * account and your Lightsail container service. This allows you to give your * service permission to access resources in your standard Amazon Web Services * account.

*/ inline ContainerService& WithPrincipalArn(const Aws::String& value) { SetPrincipalArn(value); return *this;} /** *

The principal ARN of the container service.

The principal ARN can be * used to create a trust relationship between your standard Amazon Web Services * account and your Lightsail container service. This allows you to give your * service permission to access resources in your standard Amazon Web Services * account.

*/ inline ContainerService& WithPrincipalArn(Aws::String&& value) { SetPrincipalArn(std::move(value)); return *this;} /** *

The principal ARN of the container service.

The principal ARN can be * used to create a trust relationship between your standard Amazon Web Services * account and your Lightsail container service. This allows you to give your * service permission to access resources in your standard Amazon Web Services * account.

*/ inline ContainerService& WithPrincipalArn(const char* value) { SetPrincipalArn(value); return *this;} /** *

The private domain name of the container service.

The private domain * name is accessible only by other resources within the default virtual private * cloud (VPC) of your Lightsail account.

*/ inline const Aws::String& GetPrivateDomainName() const{ return m_privateDomainName; } /** *

The private domain name of the container service.

The private domain * name is accessible only by other resources within the default virtual private * cloud (VPC) of your Lightsail account.

*/ inline bool PrivateDomainNameHasBeenSet() const { return m_privateDomainNameHasBeenSet; } /** *

The private domain name of the container service.

The private domain * name is accessible only by other resources within the default virtual private * cloud (VPC) of your Lightsail account.

*/ inline void SetPrivateDomainName(const Aws::String& value) { m_privateDomainNameHasBeenSet = true; m_privateDomainName = value; } /** *

The private domain name of the container service.

The private domain * name is accessible only by other resources within the default virtual private * cloud (VPC) of your Lightsail account.

*/ inline void SetPrivateDomainName(Aws::String&& value) { m_privateDomainNameHasBeenSet = true; m_privateDomainName = std::move(value); } /** *

The private domain name of the container service.

The private domain * name is accessible only by other resources within the default virtual private * cloud (VPC) of your Lightsail account.

*/ inline void SetPrivateDomainName(const char* value) { m_privateDomainNameHasBeenSet = true; m_privateDomainName.assign(value); } /** *

The private domain name of the container service.

The private domain * name is accessible only by other resources within the default virtual private * cloud (VPC) of your Lightsail account.

*/ inline ContainerService& WithPrivateDomainName(const Aws::String& value) { SetPrivateDomainName(value); return *this;} /** *

The private domain name of the container service.

The private domain * name is accessible only by other resources within the default virtual private * cloud (VPC) of your Lightsail account.

*/ inline ContainerService& WithPrivateDomainName(Aws::String&& value) { SetPrivateDomainName(std::move(value)); return *this;} /** *

The private domain name of the container service.

The private domain * name is accessible only by other resources within the default virtual private * cloud (VPC) of your Lightsail account.

*/ inline ContainerService& WithPrivateDomainName(const char* value) { SetPrivateDomainName(value); return *this;} /** *

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The public domain name of 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.

*

See CreateContainerService or * UpdateContainerService for information about how to specify public * domain names for your Lightsail container service.

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

The publicly accessible URL of the container service.

If no public * endpoint is specified in the currentDeployment, this URL returns a * 404 response.

*/ inline const Aws::String& GetUrl() const{ return m_url; } /** *

The publicly accessible URL of the container service.

If no public * endpoint is specified in the currentDeployment, this URL returns a * 404 response.

*/ inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } /** *

The publicly accessible URL of the container service.

If no public * endpoint is specified in the currentDeployment, this URL returns a * 404 response.

*/ inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } /** *

The publicly accessible URL of the container service.

If no public * endpoint is specified in the currentDeployment, this URL returns a * 404 response.

*/ inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } /** *

The publicly accessible URL of the container service.

If no public * endpoint is specified in the currentDeployment, this URL returns a * 404 response.

*/ inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } /** *

The publicly accessible URL of the container service.

If no public * endpoint is specified in the currentDeployment, this URL returns a * 404 response.

*/ inline ContainerService& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *

The publicly accessible URL of the container service.

If no public * endpoint is specified in the currentDeployment, this URL returns a * 404 response.

*/ inline ContainerService& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} /** *

The publicly accessible URL of the container service.

If no public * endpoint is specified in the currentDeployment, this URL returns a * 404 response.

*/ inline ContainerService& WithUrl(const char* value) { SetUrl(value); return *this;} /** *

An object that describes 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 PrivateRegistryAccess& GetPrivateRegistryAccess() const{ return m_privateRegistryAccess; } /** *

An object that describes 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 that describes 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 PrivateRegistryAccess& value) { m_privateRegistryAccessHasBeenSet = true; m_privateRegistryAccess = value; } /** *

An object that describes 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(PrivateRegistryAccess&& value) { m_privateRegistryAccessHasBeenSet = true; m_privateRegistryAccess = std::move(value); } /** *

An object that describes 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 ContainerService& WithPrivateRegistryAccess(const PrivateRegistryAccess& value) { SetPrivateRegistryAccess(value); return *this;} /** *

An object that describes 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 ContainerService& WithPrivateRegistryAccess(PrivateRegistryAccess&& value) { SetPrivateRegistryAccess(std::move(value)); return *this;} private: Aws::String m_containerServiceName; bool m_containerServiceNameHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; ResourceLocation m_location; bool m_locationHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; ContainerServicePowerName m_power; bool m_powerHasBeenSet = false; Aws::String m_powerId; bool m_powerIdHasBeenSet = false; ContainerServiceState m_state; bool m_stateHasBeenSet = false; ContainerServiceStateDetail m_stateDetail; bool m_stateDetailHasBeenSet = false; int m_scale; bool m_scaleHasBeenSet = false; ContainerServiceDeployment m_currentDeployment; bool m_currentDeploymentHasBeenSet = false; ContainerServiceDeployment m_nextDeployment; bool m_nextDeploymentHasBeenSet = false; bool m_isDisabled; bool m_isDisabledHasBeenSet = false; Aws::String m_principalArn; bool m_principalArnHasBeenSet = false; Aws::String m_privateDomainName; bool m_privateDomainNameHasBeenSet = false; Aws::Map> m_publicDomainNames; bool m_publicDomainNamesHasBeenSet = false; Aws::String m_url; bool m_urlHasBeenSet = false; PrivateRegistryAccess m_privateRegistryAccess; bool m_privateRegistryAccessHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws