/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.lightsail.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Describes an Amazon Lightsail container service. *

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

* The name of the container service. *

*/ private String containerServiceName; /** *

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

*/ private String arn; /** *

* The timestamp when the container service was created. *

*/ private java.util.Date createdAt; /** *

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

*/ private ResourceLocation location; /** *

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

*/ private String resourceType; /** *

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

*/ private java.util.List tags; /** *

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

*/ private String power; /** *

* The ID of the power of the container service. *

*/ private String powerId; /** *

* The current state of the container service. *

*

* The following container service states are possible: *

* */ private String state; /** *

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

*
*/ private ContainerServiceStateDetail stateDetail; /** *

* The scale specification of the container service. *

*

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

*/ private Integer scale; /** *

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

*/ private ContainerServiceDeployment currentDeployment; /** *

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

*

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

*/ private ContainerServiceDeployment nextDeployment; /** *

* A Boolean value indicating whether the container service is disabled. *

*/ private Boolean isDisabled; /** *

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

*/ private String principalArn; /** *

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

*/ private String privateDomainName; /** *

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

*/ private java.util.Map> publicDomainNames; /** *

* The publicly accessible URL of the container service. *

*

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

*/ private String url; /** *

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

*/ private PrivateRegistryAccess privateRegistryAccess; /** *

* The name of the container service. *

* * @param containerServiceName * The name of the container service. */ public void setContainerServiceName(String containerServiceName) { this.containerServiceName = containerServiceName; } /** *

* The name of the container service. *

* * @return The name of the container service. */ public String getContainerServiceName() { return this.containerServiceName; } /** *

* The name of the container service. *

* * @param containerServiceName * The name of the container service. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withContainerServiceName(String containerServiceName) { setContainerServiceName(containerServiceName); return this; } /** *

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

* * @param arn * The Amazon Resource Name (ARN) of the container service. */ public void setArn(String arn) { this.arn = arn; } /** *

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

* * @return The Amazon Resource Name (ARN) of the container service. */ public String getArn() { return this.arn; } /** *

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

* * @param arn * The Amazon Resource Name (ARN) of the container service. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withArn(String arn) { setArn(arn); return this; } /** *

* The timestamp when the container service was created. *

* * @param createdAt * The timestamp when the container service was created. */ public void setCreatedAt(java.util.Date createdAt) { this.createdAt = createdAt; } /** *

* The timestamp when the container service was created. *

* * @return The timestamp when the container service was created. */ public java.util.Date getCreatedAt() { return this.createdAt; } /** *

* The timestamp when the container service was created. *

* * @param createdAt * The timestamp when the container service was created. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withCreatedAt(java.util.Date createdAt) { setCreatedAt(createdAt); return this; } /** *

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

* * @param location * An object that describes the location of the container service, such as the Amazon Web Services Region and * Availability Zone. */ public void setLocation(ResourceLocation location) { this.location = location; } /** *

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

* * @return An object that describes the location of the container service, such as the Amazon Web Services Region * and Availability Zone. */ public ResourceLocation getLocation() { return this.location; } /** *

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

* * @param location * An object that describes the location of the container service, such as the Amazon Web Services Region and * Availability Zone. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withLocation(ResourceLocation location) { setLocation(location); return this; } /** *

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

* * @param resourceType * The Lightsail resource type of the container service (i.e., ContainerService). * @see ResourceType */ public void setResourceType(String resourceType) { this.resourceType = resourceType; } /** *

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

* * @return The Lightsail resource type of the container service (i.e., ContainerService). * @see ResourceType */ public String getResourceType() { return this.resourceType; } /** *

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

* * @param resourceType * The Lightsail resource type of the container service (i.e., ContainerService). * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceType */ public ContainerService withResourceType(String resourceType) { setResourceType(resourceType); return this; } /** *

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

* * @param resourceType * The Lightsail resource type of the container service (i.e., ContainerService). * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceType */ public ContainerService withResourceType(ResourceType resourceType) { this.resourceType = resourceType.toString(); return this; } /** *

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

* * @return The tag keys and optional values for the resource. For more information about tags in Lightsail, see the * Amazon Lightsail * Developer Guide. */ public java.util.List getTags() { return tags; } /** *

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

* * @param tags * The tag keys and optional values for the resource. For more information about tags in Lightsail, see the * Amazon Lightsail * Developer Guide. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new java.util.ArrayList(tags); } /** *

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

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

* * @param tags * The tag keys and optional values for the resource. For more information about tags in Lightsail, see the * Amazon Lightsail * Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

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

* * @param tags * The tag keys and optional values for the resource. For more information about tags in Lightsail, see the * Amazon Lightsail * Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withTags(java.util.Collection tags) { setTags(tags); 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. *

* * @param 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. * @see ContainerServicePowerName */ public void setPower(String power) { this.power = 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. *

* * @return 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. * @see ContainerServicePowerName */ public String getPower() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ContainerServicePowerName */ public ContainerService withPower(String power) { setPower(power); 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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ContainerServicePowerName */ public ContainerService withPower(ContainerServicePowerName power) { this.power = power.toString(); return this; } /** *

* The ID of the power of the container service. *

* * @param powerId * The ID of the power of the container service. */ public void setPowerId(String powerId) { this.powerId = powerId; } /** *

* The ID of the power of the container service. *

* * @return The ID of the power of the container service. */ public String getPowerId() { return this.powerId; } /** *

* The ID of the power of the container service. *

* * @param powerId * The ID of the power of the container service. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withPowerId(String powerId) { setPowerId(powerId); 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. *

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

    *
  • * @see ContainerServiceState */ public void setState(String state) { this.state = 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. *

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

      *
    • * @see ContainerServiceState */ public String getState() { return this.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. *

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

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see ContainerServiceState */ public ContainerService withState(String state) { setState(state); 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. *

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

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see ContainerServiceState */ public ContainerService withState(ContainerServiceState state) { this.state = state.toString(); 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. *

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

          */ public void setStateDetail(ContainerServiceStateDetail stateDetail) { this.stateDetail = 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. *

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

          */ public ContainerServiceStateDetail getStateDetail() { return this.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. *

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

          * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withStateDetail(ContainerServiceStateDetail stateDetail) { setStateDetail(stateDetail); return this; } /** *

          * The scale specification of the container service. *

          *

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

          * * @param scale * The scale specification of the container service.

          *

          * The scale specifies the allocated compute nodes of the container service. */ public void setScale(Integer scale) { this.scale = scale; } /** *

          * The scale specification of the container service. *

          *

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

          * * @return The scale specification of the container service.

          *

          * The scale specifies the allocated compute nodes of the container service. */ public Integer getScale() { return this.scale; } /** *

          * The scale specification of the container service. *

          *

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

          * * @param scale * The scale specification of the container service.

          *

          * The scale specifies the allocated compute nodes of the container service. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withScale(Integer scale) { setScale(scale); return this; } /** *

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

          * * @param currentDeployment * An object that describes the current container deployment of the container service. */ public void setCurrentDeployment(ContainerServiceDeployment currentDeployment) { this.currentDeployment = currentDeployment; } /** *

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

          * * @return An object that describes the current container deployment of the container service. */ public ContainerServiceDeployment getCurrentDeployment() { return this.currentDeployment; } /** *

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

          * * @param currentDeployment * An object that describes the current container deployment of the container service. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withCurrentDeployment(ContainerServiceDeployment currentDeployment) { setCurrentDeployment(currentDeployment); 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. *

          * * @param 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. */ public void setNextDeployment(ContainerServiceDeployment nextDeployment) { this.nextDeployment = 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. *

          * * @return An object that describes the next deployment of the container service.

          *

          * This value is null when there is no deployment in a pending state. */ public ContainerServiceDeployment getNextDeployment() { return this.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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withNextDeployment(ContainerServiceDeployment nextDeployment) { setNextDeployment(nextDeployment); return this; } /** *

          * A Boolean value indicating whether the container service is disabled. *

          * * @param isDisabled * A Boolean value indicating whether the container service is disabled. */ public void setIsDisabled(Boolean isDisabled) { this.isDisabled = isDisabled; } /** *

          * A Boolean value indicating whether the container service is disabled. *

          * * @return A Boolean value indicating whether the container service is disabled. */ public Boolean getIsDisabled() { return this.isDisabled; } /** *

          * A Boolean value indicating whether the container service is disabled. *

          * * @param isDisabled * A Boolean value indicating whether the container service is disabled. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withIsDisabled(Boolean isDisabled) { setIsDisabled(isDisabled); return this; } /** *

          * A Boolean value indicating whether the container service is disabled. *

          * * @return A Boolean value indicating whether the container service is disabled. */ public Boolean isDisabled() { return this.isDisabled; } /** *

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

          * * @param 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. */ public void setPrincipalArn(String principalArn) { this.principalArn = 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. *

          * * @return 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. */ public String getPrincipalArn() { return this.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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withPrincipalArn(String principalArn) { setPrincipalArn(principalArn); 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. *

          * * @param 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. */ public void setPrivateDomainName(String privateDomainName) { this.privateDomainName = 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. *

          * * @return 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. */ public String getPrivateDomainName() { return this.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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withPrivateDomainName(String privateDomainName) { setPrivateDomainName(privateDomainName); 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. *

          * * @return 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. */ public java.util.Map> getPublicDomainNames() { return 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. *

          * * @param 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. */ public void setPublicDomainNames(java.util.Map> publicDomainNames) { this.publicDomainNames = 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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withPublicDomainNames(java.util.Map> publicDomainNames) { setPublicDomainNames(publicDomainNames); return this; } /** * Add a single PublicDomainNames entry * * @see ContainerService#withPublicDomainNames * @returns a reference to this object so that method calls can be chained together. */ public ContainerService addPublicDomainNamesEntry(String key, java.util.List value) { if (null == this.publicDomainNames) { this.publicDomainNames = new java.util.HashMap>(); } if (this.publicDomainNames.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.publicDomainNames.put(key, value); return this; } /** * Removes all the entries added into PublicDomainNames. * * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService clearPublicDomainNamesEntries() { this.publicDomainNames = null; 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. *

          * * @param url * The publicly accessible URL of the container service.

          *

          * If no public endpoint is specified in the currentDeployment, this URL returns a 404 response. */ public void setUrl(String url) { this.url = url; } /** *

          * The publicly accessible URL of the container service. *

          *

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

          * * @return The publicly accessible URL of the container service.

          *

          * If no public endpoint is specified in the currentDeployment, this URL returns a 404 * response. */ public String getUrl() { return this.url; } /** *

          * The publicly accessible URL of the container service. *

          *

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

          * * @param url * The publicly accessible URL of the container service.

          *

          * If no public endpoint is specified in the currentDeployment, this URL returns a 404 response. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withUrl(String url) { setUrl(url); 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. *

          * * @param 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. */ public void setPrivateRegistryAccess(PrivateRegistryAccess privateRegistryAccess) { this.privateRegistryAccess = 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. *

          * * @return 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. */ public PrivateRegistryAccess getPrivateRegistryAccess() { return this.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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerService withPrivateRegistryAccess(PrivateRegistryAccess privateRegistryAccess) { setPrivateRegistryAccess(privateRegistryAccess); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getContainerServiceName() != null) sb.append("ContainerServiceName: ").append(getContainerServiceName()).append(","); if (getArn() != null) sb.append("Arn: ").append(getArn()).append(","); if (getCreatedAt() != null) sb.append("CreatedAt: ").append(getCreatedAt()).append(","); if (getLocation() != null) sb.append("Location: ").append(getLocation()).append(","); if (getResourceType() != null) sb.append("ResourceType: ").append(getResourceType()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getPower() != null) sb.append("Power: ").append(getPower()).append(","); if (getPowerId() != null) sb.append("PowerId: ").append(getPowerId()).append(","); if (getState() != null) sb.append("State: ").append(getState()).append(","); if (getStateDetail() != null) sb.append("StateDetail: ").append(getStateDetail()).append(","); if (getScale() != null) sb.append("Scale: ").append(getScale()).append(","); if (getCurrentDeployment() != null) sb.append("CurrentDeployment: ").append(getCurrentDeployment()).append(","); if (getNextDeployment() != null) sb.append("NextDeployment: ").append(getNextDeployment()).append(","); if (getIsDisabled() != null) sb.append("IsDisabled: ").append(getIsDisabled()).append(","); if (getPrincipalArn() != null) sb.append("PrincipalArn: ").append(getPrincipalArn()).append(","); if (getPrivateDomainName() != null) sb.append("PrivateDomainName: ").append(getPrivateDomainName()).append(","); if (getPublicDomainNames() != null) sb.append("PublicDomainNames: ").append(getPublicDomainNames()).append(","); if (getUrl() != null) sb.append("Url: ").append(getUrl()).append(","); if (getPrivateRegistryAccess() != null) sb.append("PrivateRegistryAccess: ").append(getPrivateRegistryAccess()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ContainerService == false) return false; ContainerService other = (ContainerService) obj; if (other.getContainerServiceName() == null ^ this.getContainerServiceName() == null) return false; if (other.getContainerServiceName() != null && other.getContainerServiceName().equals(this.getContainerServiceName()) == false) return false; if (other.getArn() == null ^ this.getArn() == null) return false; if (other.getArn() != null && other.getArn().equals(this.getArn()) == false) return false; if (other.getCreatedAt() == null ^ this.getCreatedAt() == null) return false; if (other.getCreatedAt() != null && other.getCreatedAt().equals(this.getCreatedAt()) == false) return false; if (other.getLocation() == null ^ this.getLocation() == null) return false; if (other.getLocation() != null && other.getLocation().equals(this.getLocation()) == false) return false; if (other.getResourceType() == null ^ this.getResourceType() == null) return false; if (other.getResourceType() != null && other.getResourceType().equals(this.getResourceType()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getPower() == null ^ this.getPower() == null) return false; if (other.getPower() != null && other.getPower().equals(this.getPower()) == false) return false; if (other.getPowerId() == null ^ this.getPowerId() == null) return false; if (other.getPowerId() != null && other.getPowerId().equals(this.getPowerId()) == false) return false; if (other.getState() == null ^ this.getState() == null) return false; if (other.getState() != null && other.getState().equals(this.getState()) == false) return false; if (other.getStateDetail() == null ^ this.getStateDetail() == null) return false; if (other.getStateDetail() != null && other.getStateDetail().equals(this.getStateDetail()) == false) return false; if (other.getScale() == null ^ this.getScale() == null) return false; if (other.getScale() != null && other.getScale().equals(this.getScale()) == false) return false; if (other.getCurrentDeployment() == null ^ this.getCurrentDeployment() == null) return false; if (other.getCurrentDeployment() != null && other.getCurrentDeployment().equals(this.getCurrentDeployment()) == false) return false; if (other.getNextDeployment() == null ^ this.getNextDeployment() == null) return false; if (other.getNextDeployment() != null && other.getNextDeployment().equals(this.getNextDeployment()) == false) return false; if (other.getIsDisabled() == null ^ this.getIsDisabled() == null) return false; if (other.getIsDisabled() != null && other.getIsDisabled().equals(this.getIsDisabled()) == false) return false; if (other.getPrincipalArn() == null ^ this.getPrincipalArn() == null) return false; if (other.getPrincipalArn() != null && other.getPrincipalArn().equals(this.getPrincipalArn()) == false) return false; if (other.getPrivateDomainName() == null ^ this.getPrivateDomainName() == null) return false; if (other.getPrivateDomainName() != null && other.getPrivateDomainName().equals(this.getPrivateDomainName()) == false) return false; if (other.getPublicDomainNames() == null ^ this.getPublicDomainNames() == null) return false; if (other.getPublicDomainNames() != null && other.getPublicDomainNames().equals(this.getPublicDomainNames()) == false) return false; if (other.getUrl() == null ^ this.getUrl() == null) return false; if (other.getUrl() != null && other.getUrl().equals(this.getUrl()) == false) return false; if (other.getPrivateRegistryAccess() == null ^ this.getPrivateRegistryAccess() == null) return false; if (other.getPrivateRegistryAccess() != null && other.getPrivateRegistryAccess().equals(this.getPrivateRegistryAccess()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getContainerServiceName() == null) ? 0 : getContainerServiceName().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode()); hashCode = prime * hashCode + ((getLocation() == null) ? 0 : getLocation().hashCode()); hashCode = prime * hashCode + ((getResourceType() == null) ? 0 : getResourceType().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getPower() == null) ? 0 : getPower().hashCode()); hashCode = prime * hashCode + ((getPowerId() == null) ? 0 : getPowerId().hashCode()); hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode()); hashCode = prime * hashCode + ((getStateDetail() == null) ? 0 : getStateDetail().hashCode()); hashCode = prime * hashCode + ((getScale() == null) ? 0 : getScale().hashCode()); hashCode = prime * hashCode + ((getCurrentDeployment() == null) ? 0 : getCurrentDeployment().hashCode()); hashCode = prime * hashCode + ((getNextDeployment() == null) ? 0 : getNextDeployment().hashCode()); hashCode = prime * hashCode + ((getIsDisabled() == null) ? 0 : getIsDisabled().hashCode()); hashCode = prime * hashCode + ((getPrincipalArn() == null) ? 0 : getPrincipalArn().hashCode()); hashCode = prime * hashCode + ((getPrivateDomainName() == null) ? 0 : getPrivateDomainName().hashCode()); hashCode = prime * hashCode + ((getPublicDomainNames() == null) ? 0 : getPublicDomainNames().hashCode()); hashCode = prime * hashCode + ((getUrl() == null) ? 0 : getUrl().hashCode()); hashCode = prime * hashCode + ((getPrivateRegistryAccess() == null) ? 0 : getPrivateRegistryAccess().hashCode()); return hashCode; } @Override public ContainerService clone() { try { return (ContainerService) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.lightsail.model.transform.ContainerServiceMarshaller.getInstance().marshall(this, protocolMarshaller); } }