/* * 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.proton.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateEnvironmentRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using * CodeBuild-based provisioning on your behalf. *
*
* To use CodeBuild-based provisioning for the environment or for any service instance running in the environment,
* specify either the environmentAccountConnectionId
or codebuildRoleArn
parameter.
*
* The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined * components in this environment. It determines the scope of infrastructure that a component can provision. *
*
* You must specify componentRoleArn
to allow directly defined components to be associated with this
* environment.
*
* For more information about components, see Proton components in the * Proton User Guide. *
*/ private String componentRoleArn; /** ** A description of the environment that's being created and deployed. *
*/ private String description; /** ** The ID of the environment account connection that you provide if you're provisioning your environment * infrastructure resources to an environment account. For more information, see Environment account * connections in the Proton User guide. *
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*
* The name of the environment. *
*/ private String name; /** ** The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on * your behalf. *
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*
* The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. * A linked repository is a repository that has been registered with Proton. For more information, see * CreateRepository. *
*
* To use self-managed provisioning for the environment, specify this parameter and omit the
* environmentAccountConnectionId
and protonServiceRoleArn
parameters.
*
* A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more * information, see Environments in the Proton * User Guide. *
*/ private String spec; /** ** An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair. *
** For more information, see Proton * resources and tagging in the Proton User Guide. *
*/ private java.util.List* The major version of the environment template. *
*/ private String templateMajorVersion; /** ** The minor version of the environment template. *
*/ private String templateMinorVersion; /** ** The name of the environment template. For more information, see Environment Templates in the * Proton User Guide. *
*/ private String templateName; /** ** The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using * CodeBuild-based provisioning on your behalf. *
*
* To use CodeBuild-based provisioning for the environment or for any service instance running in the environment,
* specify either the environmentAccountConnectionId
or codebuildRoleArn
parameter.
*
* To use CodeBuild-based provisioning for the environment or for any service instance running in the
* environment, specify either the environmentAccountConnectionId
or
* codebuildRoleArn
parameter.
*/
public void setCodebuildRoleArn(String codebuildRoleArn) {
this.codebuildRoleArn = codebuildRoleArn;
}
/**
*
* The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using * CodeBuild-based provisioning on your behalf. *
*
* To use CodeBuild-based provisioning for the environment or for any service instance running in the environment,
* specify either the environmentAccountConnectionId
or codebuildRoleArn
parameter.
*
* To use CodeBuild-based provisioning for the environment or for any service instance running in the
* environment, specify either the environmentAccountConnectionId
or
* codebuildRoleArn
parameter.
*/
public String getCodebuildRoleArn() {
return this.codebuildRoleArn;
}
/**
*
* The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using * CodeBuild-based provisioning on your behalf. *
*
* To use CodeBuild-based provisioning for the environment or for any service instance running in the environment,
* specify either the environmentAccountConnectionId
or codebuildRoleArn
parameter.
*
* To use CodeBuild-based provisioning for the environment or for any service instance running in the
* environment, specify either the environmentAccountConnectionId
or
* codebuildRoleArn
parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEnvironmentRequest withCodebuildRoleArn(String codebuildRoleArn) {
setCodebuildRoleArn(codebuildRoleArn);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined * components in this environment. It determines the scope of infrastructure that a component can provision. *
*
* You must specify componentRoleArn
to allow directly defined components to be associated with this
* environment.
*
* For more information about components, see Proton components in the * Proton User Guide. *
* * @param componentRoleArn * The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined * components in this environment. It determines the scope of infrastructure that a component can * provision. *
* You must specify componentRoleArn
to allow directly defined components to be associated with
* this environment.
*
* For more information about components, see Proton components in the * Proton User Guide. */ public void setComponentRoleArn(String componentRoleArn) { this.componentRoleArn = componentRoleArn; } /** *
* The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined * components in this environment. It determines the scope of infrastructure that a component can provision. *
*
* You must specify componentRoleArn
to allow directly defined components to be associated with this
* environment.
*
* For more information about components, see Proton components in the * Proton User Guide. *
* * @return The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly * defined components in this environment. It determines the scope of infrastructure that a component can * provision. *
* You must specify componentRoleArn
to allow directly defined components to be associated with
* this environment.
*
* For more information about components, see Proton components in * the Proton User Guide. */ public String getComponentRoleArn() { return this.componentRoleArn; } /** *
* The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined * components in this environment. It determines the scope of infrastructure that a component can provision. *
*
* You must specify componentRoleArn
to allow directly defined components to be associated with this
* environment.
*
* For more information about components, see Proton components in the * Proton User Guide. *
* * @param componentRoleArn * The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined * components in this environment. It determines the scope of infrastructure that a component can * provision. *
* You must specify componentRoleArn
to allow directly defined components to be associated with
* this environment.
*
* For more information about components, see Proton components in the * Proton User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withComponentRoleArn(String componentRoleArn) { setComponentRoleArn(componentRoleArn); return this; } /** *
* A description of the environment that's being created and deployed. *
* * @param description * A description of the environment that's being created and deployed. */ public void setDescription(String description) { this.description = description; } /** ** A description of the environment that's being created and deployed. *
* * @return A description of the environment that's being created and deployed. */ public String getDescription() { return this.description; } /** ** A description of the environment that's being created and deployed. *
* * @param description * A description of the environment that's being created and deployed. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withDescription(String description) { setDescription(description); return this; } /** ** The ID of the environment account connection that you provide if you're provisioning your environment * infrastructure resources to an environment account. For more information, see Environment account * connections in the Proton User guide. *
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*/
public void setEnvironmentAccountConnectionId(String environmentAccountConnectionId) {
this.environmentAccountConnectionId = environmentAccountConnectionId;
}
/**
*
* The ID of the environment account connection that you provide if you're provisioning your environment * infrastructure resources to an environment account. For more information, see Environment account * connections in the Proton User guide. *
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*/
public String getEnvironmentAccountConnectionId() {
return this.environmentAccountConnectionId;
}
/**
*
* The ID of the environment account connection that you provide if you're provisioning your environment * infrastructure resources to an environment account. For more information, see Environment account * connections in the Proton User guide. *
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEnvironmentRequest withEnvironmentAccountConnectionId(String environmentAccountConnectionId) {
setEnvironmentAccountConnectionId(environmentAccountConnectionId);
return this;
}
/**
*
* The name of the environment. *
* * @param name * The name of the environment. */ public void setName(String name) { this.name = name; } /** ** The name of the environment. *
* * @return The name of the environment. */ public String getName() { return this.name; } /** ** The name of the environment. *
* * @param name * The name of the environment. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withName(String name) { setName(name); return this; } /** ** The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on * your behalf. *
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*/
public void setProtonServiceRoleArn(String protonServiceRoleArn) {
this.protonServiceRoleArn = protonServiceRoleArn;
}
/**
*
* The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on * your behalf. *
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*/
public String getProtonServiceRoleArn() {
return this.protonServiceRoleArn;
}
/**
*
* The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on * your behalf. *
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
*
* To use Amazon Web Services-managed provisioning for the environment, specify either the
* environmentAccountConnectionId
or protonServiceRoleArn
parameter and omit the
* provisioningRepository
parameter.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEnvironmentRequest withProtonServiceRoleArn(String protonServiceRoleArn) {
setProtonServiceRoleArn(protonServiceRoleArn);
return this;
}
/**
*
* The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. * A linked repository is a repository that has been registered with Proton. For more information, see * CreateRepository. *
*
* To use self-managed provisioning for the environment, specify this parameter and omit the
* environmentAccountConnectionId
and protonServiceRoleArn
parameters.
*
* To use self-managed provisioning for the environment, specify this parameter and omit the
* environmentAccountConnectionId
and protonServiceRoleArn
parameters.
*/
public void setProvisioningRepository(RepositoryBranchInput provisioningRepository) {
this.provisioningRepository = provisioningRepository;
}
/**
*
* The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. * A linked repository is a repository that has been registered with Proton. For more information, see * CreateRepository. *
*
* To use self-managed provisioning for the environment, specify this parameter and omit the
* environmentAccountConnectionId
and protonServiceRoleArn
parameters.
*
* To use self-managed provisioning for the environment, specify this parameter and omit the
* environmentAccountConnectionId
and protonServiceRoleArn
parameters.
*/
public RepositoryBranchInput getProvisioningRepository() {
return this.provisioningRepository;
}
/**
*
* The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. * A linked repository is a repository that has been registered with Proton. For more information, see * CreateRepository. *
*
* To use self-managed provisioning for the environment, specify this parameter and omit the
* environmentAccountConnectionId
and protonServiceRoleArn
parameters.
*
* To use self-managed provisioning for the environment, specify this parameter and omit the
* environmentAccountConnectionId
and protonServiceRoleArn
parameters.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEnvironmentRequest withProvisioningRepository(RepositoryBranchInput provisioningRepository) {
setProvisioningRepository(provisioningRepository);
return this;
}
/**
*
* A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more * information, see Environments in the Proton * User Guide. *
* * @param spec * A YAML formatted string that provides inputs as defined in the environment template bundle schema file. * For more information, see Environments in the * Proton User Guide. */ public void setSpec(String spec) { this.spec = spec; } /** ** A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more * information, see Environments in the Proton * User Guide. *
* * @return A YAML formatted string that provides inputs as defined in the environment template bundle schema file. * For more information, see Environments in the * Proton User Guide. */ public String getSpec() { return this.spec; } /** ** A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more * information, see Environments in the Proton * User Guide. *
* * @param spec * A YAML formatted string that provides inputs as defined in the environment template bundle schema file. * For more information, see Environments in the * Proton User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateEnvironmentRequest withSpec(String spec) { setSpec(spec); return this; } /** ** An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair. *
** For more information, see Proton * resources and tagging in the Proton User Guide. *
* * @return An optional list of metadata items that you can associate with the Proton environment. A tag is a * key-value pair. *
* For more information, see Proton resources and
* tagging in the Proton User Guide.
*/
public java.util.List
* An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair.
*
* For more information, see Proton
* resources and tagging in the Proton User Guide.
*
* For more information, see Proton resources and tagging
* in the Proton User Guide.
*/
public void setTags(java.util.Collection
* An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair.
*
* For more information, see Proton
* resources and tagging in the Proton User 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.
*
* For more information, see Proton resources and tagging
* in the Proton User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEnvironmentRequest withTags(Tag... tags) {
if (this.tags == null) {
setTags(new java.util.ArrayList
* An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair.
*
* For more information, see Proton
* resources and tagging in the Proton User Guide.
*
* For more information, see Proton resources and tagging
* in the Proton User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateEnvironmentRequest withTags(java.util.Collection
* The major version of the environment template.
*
* The major version of the environment template.
*
* The major version of the environment template.
*
* The minor version of the environment template.
*
* The minor version of the environment template.
*
* The minor version of the environment template.
*
* The name of the environment template. For more information, see Environment Templates in the
* Proton User Guide.
*
* The name of the environment template. For more information, see Environment Templates in the
* Proton User Guide.
*
* The name of the environment template. For more information, see Environment Templates in the
* Proton User Guide.
*