All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.servicecatalog.model.ProvisioningArtifactProperties Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Service Catalog module holds the client classes that are used for communicating with AWS Service Catalog

The newest version!
/*
 * Copyright 2019-2024 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.servicecatalog.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Information about a provisioning artifact (also known as a version) for a product. *

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

* The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed. *

*/ private String name; /** *

* The description of the provisioning artifact, including how it differs from the previous provisioning artifact. *

*/ private String description; /** *

* Specify the template source with one of the following options, but not both. Keys accepted: [ * LoadTemplateFromURL, ImportFromPhysicalId ] *

*

* The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON format as * follows: *

*

* "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..." *

*

* ImportFromPhysicalId: The physical id of the resource that contains the template. Currently only * supports CloudFormation stack arn. Specify the physical id in JSON format as follows: * ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId] *

*/ private java.util.Map info; /** *

* The type of provisioning artifact. *

*
    *
  • *

    * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

    *
  • *
  • *

    * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

    *
  • *
  • *

    * TERRAFORM_CLOUD - Terraform Cloud configuration file *

    *
  • *
  • *

    * EXTERNAL - External configuration file *

    *
  • *
*/ private String type; /** *

* If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid. *

*

* Service Catalog does not support template validation for the TERRAFORM_OS product type. *

*/ private Boolean disableTemplateValidation; /** *

* The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed. *

* * @param name * The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed. */ public void setName(String name) { this.name = name; } /** *

* The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed. *

* * @return The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed. */ public String getName() { return this.name; } /** *

* The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed. *

* * @param name * The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed. * @return Returns a reference to this object so that method calls can be chained together. */ public ProvisioningArtifactProperties withName(String name) { setName(name); return this; } /** *

* The description of the provisioning artifact, including how it differs from the previous provisioning artifact. *

* * @param description * The description of the provisioning artifact, including how it differs from the previous provisioning * artifact. */ public void setDescription(String description) { this.description = description; } /** *

* The description of the provisioning artifact, including how it differs from the previous provisioning artifact. *

* * @return The description of the provisioning artifact, including how it differs from the previous provisioning * artifact. */ public String getDescription() { return this.description; } /** *

* The description of the provisioning artifact, including how it differs from the previous provisioning artifact. *

* * @param description * The description of the provisioning artifact, including how it differs from the previous provisioning * artifact. * @return Returns a reference to this object so that method calls can be chained together. */ public ProvisioningArtifactProperties withDescription(String description) { setDescription(description); return this; } /** *

* Specify the template source with one of the following options, but not both. Keys accepted: [ * LoadTemplateFromURL, ImportFromPhysicalId ] *

*

* The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON format as * follows: *

*

* "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..." *

*

* ImportFromPhysicalId: The physical id of the resource that contains the template. Currently only * supports CloudFormation stack arn. Specify the physical id in JSON format as follows: * ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId] *

* * @return Specify the template source with one of the following options, but not both. Keys accepted: [ * LoadTemplateFromURL, ImportFromPhysicalId ]

*

* The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON * format as follows: *

*

* "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..." *

*

* ImportFromPhysicalId: The physical id of the resource that contains the template. Currently * only supports CloudFormation stack arn. Specify the physical id in JSON format as follows: * ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId] */ public java.util.Map getInfo() { return info; } /** *

* Specify the template source with one of the following options, but not both. Keys accepted: [ * LoadTemplateFromURL, ImportFromPhysicalId ] *

*

* The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON format as * follows: *

*

* "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..." *

*

* ImportFromPhysicalId: The physical id of the resource that contains the template. Currently only * supports CloudFormation stack arn. Specify the physical id in JSON format as follows: * ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId] *

* * @param info * Specify the template source with one of the following options, but not both. Keys accepted: [ * LoadTemplateFromURL, ImportFromPhysicalId ]

*

* The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON * format as follows: *

*

* "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..." *

*

* ImportFromPhysicalId: The physical id of the resource that contains the template. Currently * only supports CloudFormation stack arn. Specify the physical id in JSON format as follows: * ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId] */ public void setInfo(java.util.Map info) { this.info = info; } /** *

* Specify the template source with one of the following options, but not both. Keys accepted: [ * LoadTemplateFromURL, ImportFromPhysicalId ] *

*

* The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON format as * follows: *

*

* "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..." *

*

* ImportFromPhysicalId: The physical id of the resource that contains the template. Currently only * supports CloudFormation stack arn. Specify the physical id in JSON format as follows: * ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId] *

* * @param info * Specify the template source with one of the following options, but not both. Keys accepted: [ * LoadTemplateFromURL, ImportFromPhysicalId ]

*

* The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON * format as follows: *

*

* "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..." *

*

* ImportFromPhysicalId: The physical id of the resource that contains the template. Currently * only supports CloudFormation stack arn. Specify the physical id in JSON format as follows: * ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId] * @return Returns a reference to this object so that method calls can be chained together. */ public ProvisioningArtifactProperties withInfo(java.util.Map info) { setInfo(info); return this; } /** * Add a single Info entry * * @see ProvisioningArtifactProperties#withInfo * @returns a reference to this object so that method calls can be chained together. */ public ProvisioningArtifactProperties addInfoEntry(String key, String value) { if (null == this.info) { this.info = new java.util.HashMap(); } if (this.info.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.info.put(key, value); return this; } /** * Removes all the entries added into Info. * * @return Returns a reference to this object so that method calls can be chained together. */ public ProvisioningArtifactProperties clearInfoEntries() { this.info = null; return this; } /** *

* The type of provisioning artifact. *

*
    *
  • *

    * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

    *
  • *
  • *

    * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

    *
  • *
  • *

    * TERRAFORM_CLOUD - Terraform Cloud configuration file *

    *
  • *
  • *

    * EXTERNAL - External configuration file *

    *
  • *
* * @param type * The type of provisioning artifact.

*
    *
  • *

    * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

    *
  • *
  • *

    * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

    *
  • *
  • *

    * TERRAFORM_CLOUD - Terraform Cloud configuration file *

    *
  • *
  • *

    * EXTERNAL - External configuration file *

    *
  • * @see ProvisioningArtifactType */ public void setType(String type) { this.type = type; } /** *

    * The type of provisioning artifact. *

    *
      *
    • *

      * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

      *
    • *
    • *

      * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

      *
    • *
    • *

      * TERRAFORM_CLOUD - Terraform Cloud configuration file *

      *
    • *
    • *

      * EXTERNAL - External configuration file *

      *
    • *
    * * @return The type of provisioning artifact.

    *
      *
    • *

      * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

      *
    • *
    • *

      * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

      *
    • *
    • *

      * TERRAFORM_CLOUD - Terraform Cloud configuration file *

      *
    • *
    • *

      * EXTERNAL - External configuration file *

      *
    • * @see ProvisioningArtifactType */ public String getType() { return this.type; } /** *

      * The type of provisioning artifact. *

      *
        *
      • *

        * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

        *
      • *
      • *

        * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

        *
      • *
      • *

        * TERRAFORM_CLOUD - Terraform Cloud configuration file *

        *
      • *
      • *

        * EXTERNAL - External configuration file *

        *
      • *
      * * @param type * The type of provisioning artifact.

      *
        *
      • *

        * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

        *
      • *
      • *

        * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

        *
      • *
      • *

        * TERRAFORM_CLOUD - Terraform Cloud configuration file *

        *
      • *
      • *

        * EXTERNAL - External configuration file *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see ProvisioningArtifactType */ public ProvisioningArtifactProperties withType(String type) { setType(type); return this; } /** *

        * The type of provisioning artifact. *

        *
          *
        • *

          * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

          *
        • *
        • *

          * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

          *
        • *
        • *

          * TERRAFORM_CLOUD - Terraform Cloud configuration file *

          *
        • *
        • *

          * EXTERNAL - External configuration file *

          *
        • *
        * * @param type * The type of provisioning artifact.

        *
          *
        • *

          * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

          *
        • *
        • *

          * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

          *
        • *
        • *

          * TERRAFORM_CLOUD - Terraform Cloud configuration file *

          *
        • *
        • *

          * EXTERNAL - External configuration file *

          *
        • * @see ProvisioningArtifactType */ public void setType(ProvisioningArtifactType type) { withType(type); } /** *

          * The type of provisioning artifact. *

          *
            *
          • *

            * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

            *
          • *
          • *

            * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

            *
          • *
          • *

            * TERRAFORM_CLOUD - Terraform Cloud configuration file *

            *
          • *
          • *

            * EXTERNAL - External configuration file *

            *
          • *
          * * @param type * The type of provisioning artifact.

          *
            *
          • *

            * CLOUD_FORMATION_TEMPLATE - CloudFormation template *

            *
          • *
          • *

            * TERRAFORM_OPEN_SOURCE - Terraform Open Source configuration file *

            *
          • *
          • *

            * TERRAFORM_CLOUD - Terraform Cloud configuration file *

            *
          • *
          • *

            * EXTERNAL - External configuration file *

            *
          • * @return Returns a reference to this object so that method calls can be chained together. * @see ProvisioningArtifactType */ public ProvisioningArtifactProperties withType(ProvisioningArtifactType type) { this.type = type.toString(); return this; } /** *

            * If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid. *

            *

            * Service Catalog does not support template validation for the TERRAFORM_OS product type. *

            * * @param disableTemplateValidation * If set to true, Service Catalog stops validating the specified provisioning artifact even if it is * invalid.

            *

            * Service Catalog does not support template validation for the TERRAFORM_OS product type. */ public void setDisableTemplateValidation(Boolean disableTemplateValidation) { this.disableTemplateValidation = disableTemplateValidation; } /** *

            * If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid. *

            *

            * Service Catalog does not support template validation for the TERRAFORM_OS product type. *

            * * @return If set to true, Service Catalog stops validating the specified provisioning artifact even if it is * invalid.

            *

            * Service Catalog does not support template validation for the TERRAFORM_OS product type. */ public Boolean getDisableTemplateValidation() { return this.disableTemplateValidation; } /** *

            * If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid. *

            *

            * Service Catalog does not support template validation for the TERRAFORM_OS product type. *

            * * @param disableTemplateValidation * If set to true, Service Catalog stops validating the specified provisioning artifact even if it is * invalid.

            *

            * Service Catalog does not support template validation for the TERRAFORM_OS product type. * @return Returns a reference to this object so that method calls can be chained together. */ public ProvisioningArtifactProperties withDisableTemplateValidation(Boolean disableTemplateValidation) { setDisableTemplateValidation(disableTemplateValidation); return this; } /** *

            * If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid. *

            *

            * Service Catalog does not support template validation for the TERRAFORM_OS product type. *

            * * @return If set to true, Service Catalog stops validating the specified provisioning artifact even if it is * invalid.

            *

            * Service Catalog does not support template validation for the TERRAFORM_OS product type. */ public Boolean isDisableTemplateValidation() { return this.disableTemplateValidation; } /** * 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 (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getInfo() != null) sb.append("Info: ").append(getInfo()).append(","); if (getType() != null) sb.append("Type: ").append(getType()).append(","); if (getDisableTemplateValidation() != null) sb.append("DisableTemplateValidation: ").append(getDisableTemplateValidation()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ProvisioningArtifactProperties == false) return false; ProvisioningArtifactProperties other = (ProvisioningArtifactProperties) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getInfo() == null ^ this.getInfo() == null) return false; if (other.getInfo() != null && other.getInfo().equals(this.getInfo()) == false) return false; if (other.getType() == null ^ this.getType() == null) return false; if (other.getType() != null && other.getType().equals(this.getType()) == false) return false; if (other.getDisableTemplateValidation() == null ^ this.getDisableTemplateValidation() == null) return false; if (other.getDisableTemplateValidation() != null && other.getDisableTemplateValidation().equals(this.getDisableTemplateValidation()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getInfo() == null) ? 0 : getInfo().hashCode()); hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode()); hashCode = prime * hashCode + ((getDisableTemplateValidation() == null) ? 0 : getDisableTemplateValidation().hashCode()); return hashCode; } @Override public ProvisioningArtifactProperties clone() { try { return (ProvisioningArtifactProperties) 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.servicecatalog.model.transform.ProvisioningArtifactPropertiesMarshaller.getInstance().marshall(this, protocolMarshaller); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy