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

software.amazon.awscdk.services.elasticbeanstalk.CfnEnvironmentProps Maven / Gradle / Ivy

package software.amazon.awscdk.services.elasticbeanstalk;

/**
 * Properties for defining a `CfnEnvironment`.
 * 

* Example: *

*

 * // The code below shows an example of how to instantiate this type.
 * // The values are placeholders you should change.
 * import software.amazon.awscdk.services.elasticbeanstalk.*;
 * CfnEnvironmentProps cfnEnvironmentProps = CfnEnvironmentProps.builder()
 *         .applicationName("applicationName")
 *         // the properties below are optional
 *         .cnamePrefix("cnamePrefix")
 *         .description("description")
 *         .environmentName("environmentName")
 *         .operationsRole("operationsRole")
 *         .optionSettings(List.of(OptionSettingProperty.builder()
 *                 .namespace("namespace")
 *                 .optionName("optionName")
 *                 // the properties below are optional
 *                 .resourceName("resourceName")
 *                 .value("value")
 *                 .build()))
 *         .platformArn("platformArn")
 *         .solutionStackName("solutionStackName")
 *         .tags(List.of(CfnTag.builder()
 *                 .key("key")
 *                 .value("value")
 *                 .build()))
 *         .templateName("templateName")
 *         .tier(TierProperty.builder()
 *                 .name("name")
 *                 .type("type")
 *                 .version("version")
 *                 .build())
 *         .versionLabel("versionLabel")
 *         .build();
 * 
*/ @javax.annotation.Generated(value = "jsii-pacmak/1.74.0 (build 6d08790)", date = "2023-03-22T19:35:36.008Z") @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.elasticbeanstalk.$Module.class, fqn = "@aws-cdk/aws-elasticbeanstalk.CfnEnvironmentProps") @software.amazon.jsii.Jsii.Proxy(CfnEnvironmentProps.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public interface CfnEnvironmentProps extends software.amazon.jsii.JsiiSerializable { /** * The name of the application that is associated with this environment. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @org.jetbrains.annotations.NotNull java.lang.String getApplicationName(); /** * If specified, the environment attempts to use this value as the prefix for the CNAME in your Elastic Beanstalk environment URL. *

* If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getCnamePrefix() { return null; } /** * Your description for this environment. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getDescription() { return null; } /** * A unique name for the environment. *

* Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique within a region in your account. *

* If you don't specify the CNAMEPrefix parameter, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application. *

* If you don't specify an environment name, AWS CloudFormation generates a unique physical ID and uses that ID for the environment name. For more information, see Name Type . *

*

*

* If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. *

*

*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getEnvironmentName() { return null; } /** * > The operations role feature of AWS Elastic Beanstalk is in beta release and is subject to change. *

* The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's operations role. If specified, Elastic Beanstalk uses the operations role for permissions to downstream services during this call and during subsequent calls acting on this environment. To specify an operations role, you must have the iam:PassRole permission for the role. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getOperationsRole() { return null; } /** * Key-value pairs defining configuration options for this environment, such as the instance type. *

* These options override the values that are defined in the solution stack or the configuration template . If you remove any options during a stack update, the removed options retain their current values. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getOptionSettings() { return null; } /** * The Amazon Resource Name (ARN) of the custom platform to use with the environment. *

* For more information, see Custom Platforms in the AWS Elastic Beanstalk Developer Guide . *

*

*

* If you specify PlatformArn , don't specify SolutionStackName . *

*

*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getPlatformArn() { return null; } /** * The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. *

* If specified, Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk Platforms guide. *

*

*

* If you specify SolutionStackName , don't specify PlatformArn or TemplateName . *

*

*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getSolutionStackName() { return null; } /** * Specifies the tags applied to resources in the environment. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.util.List getTags() { return null; } /** * The name of the Elastic Beanstalk configuration template to use with the environment. *

*

*

* If you specify TemplateName , then don't specify SolutionStackName . *

*

*/ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getTemplateName() { return null; } /** * Specifies the tier to use in creating this environment. *

* The environment tier that you choose determines whether Elastic Beanstalk provisions resources to support a web application that handles HTTP(S) requests or a web application that handles background-processing tasks. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.Object getTier() { return null; } /** * The name of the application version to deploy. *

* Default: If not specified, Elastic Beanstalk attempts to deploy the sample application. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.Nullable java.lang.String getVersionLabel() { return null; } /** * @return a {@link Builder} of {@link CfnEnvironmentProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) static Builder builder() { return new Builder(); } /** * A builder for {@link CfnEnvironmentProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String applicationName; java.lang.String cnamePrefix; java.lang.String description; java.lang.String environmentName; java.lang.String operationsRole; java.lang.Object optionSettings; java.lang.String platformArn; java.lang.String solutionStackName; java.util.List tags; java.lang.String templateName; java.lang.Object tier; java.lang.String versionLabel; /** * Sets the value of {@link CfnEnvironmentProps#getApplicationName} * @param applicationName The name of the application that is associated with this environment. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder applicationName(java.lang.String applicationName) { this.applicationName = applicationName; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getCnamePrefix} * @param cnamePrefix If specified, the environment attempts to use this value as the prefix for the CNAME in your Elastic Beanstalk environment URL. * If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cnamePrefix(java.lang.String cnamePrefix) { this.cnamePrefix = cnamePrefix; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getDescription} * @param description Your description for this environment. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder description(java.lang.String description) { this.description = description; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getEnvironmentName} * @param environmentName A unique name for the environment. * Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique within a region in your account. *

* If you don't specify the CNAMEPrefix parameter, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application. *

* If you don't specify an environment name, AWS CloudFormation generates a unique physical ID and uses that ID for the environment name. For more information, see Name Type . *

*

*

* If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. *

*

* @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder environmentName(java.lang.String environmentName) { this.environmentName = environmentName; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getOperationsRole} * @param operationsRole > The operations role feature of AWS Elastic Beanstalk is in beta release and is subject to change. * The Amazon Resource Name (ARN) of an existing IAM role to be used as the environment's operations role. If specified, Elastic Beanstalk uses the operations role for permissions to downstream services during this call and during subsequent calls acting on this environment. To specify an operations role, you must have the iam:PassRole permission for the role. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder operationsRole(java.lang.String operationsRole) { this.operationsRole = operationsRole; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getOptionSettings} * @param optionSettings Key-value pairs defining configuration options for this environment, such as the instance type. * These options override the values that are defined in the solution stack or the configuration template . If you remove any options during a stack update, the removed options retain their current values. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder optionSettings(software.amazon.awscdk.core.IResolvable optionSettings) { this.optionSettings = optionSettings; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getOptionSettings} * @param optionSettings Key-value pairs defining configuration options for this environment, such as the instance type. * These options override the values that are defined in the solution stack or the configuration template . If you remove any options during a stack update, the removed options retain their current values. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder optionSettings(java.util.List optionSettings) { this.optionSettings = optionSettings; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getPlatformArn} * @param platformArn The Amazon Resource Name (ARN) of the custom platform to use with the environment. * For more information, see Custom Platforms in the AWS Elastic Beanstalk Developer Guide . *

*

*

* If you specify PlatformArn , don't specify SolutionStackName . *

*

* @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder platformArn(java.lang.String platformArn) { this.platformArn = platformArn; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getSolutionStackName} * @param solutionStackName The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. * If specified, Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk Platforms guide. *

*

*

* If you specify SolutionStackName , don't specify PlatformArn or TemplateName . *

*

* @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder solutionStackName(java.lang.String solutionStackName) { this.solutionStackName = solutionStackName; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getTags} * @param tags Specifies the tags applied to resources in the environment. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder tags(java.util.List tags) { this.tags = (java.util.List)tags; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getTemplateName} * @param templateName The name of the Elastic Beanstalk configuration template to use with the environment. *
*

* If you specify TemplateName , then don't specify SolutionStackName . *

*

* @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder templateName(java.lang.String templateName) { this.templateName = templateName; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getTier} * @param tier Specifies the tier to use in creating this environment. * The environment tier that you choose determines whether Elastic Beanstalk provisions resources to support a web application that handles HTTP(S) requests or a web application that handles background-processing tasks. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder tier(software.amazon.awscdk.core.IResolvable tier) { this.tier = tier; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getTier} * @param tier Specifies the tier to use in creating this environment. * The environment tier that you choose determines whether Elastic Beanstalk provisions resources to support a web application that handles HTTP(S) requests or a web application that handles background-processing tasks. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder tier(software.amazon.awscdk.services.elasticbeanstalk.CfnEnvironment.TierProperty tier) { this.tier = tier; return this; } /** * Sets the value of {@link CfnEnvironmentProps#getVersionLabel} * @param versionLabel The name of the application version to deploy. * Default: If not specified, Elastic Beanstalk attempts to deploy the sample application. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder versionLabel(java.lang.String versionLabel) { this.versionLabel = versionLabel; return this; } /** * Builds the configured instance. * @return a new instance of {@link CfnEnvironmentProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public CfnEnvironmentProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CfnEnvironmentProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnEnvironmentProps { private final java.lang.String applicationName; private final java.lang.String cnamePrefix; private final java.lang.String description; private final java.lang.String environmentName; private final java.lang.String operationsRole; private final java.lang.Object optionSettings; private final java.lang.String platformArn; private final java.lang.String solutionStackName; private final java.util.List tags; private final java.lang.String templateName; private final java.lang.Object tier; private final java.lang.String versionLabel; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.applicationName = software.amazon.jsii.Kernel.get(this, "applicationName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.cnamePrefix = software.amazon.jsii.Kernel.get(this, "cnamePrefix", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.environmentName = software.amazon.jsii.Kernel.get(this, "environmentName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.operationsRole = software.amazon.jsii.Kernel.get(this, "operationsRole", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.optionSettings = software.amazon.jsii.Kernel.get(this, "optionSettings", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.platformArn = software.amazon.jsii.Kernel.get(this, "platformArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.solutionStackName = software.amazon.jsii.Kernel.get(this, "solutionStackName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.tags = software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.CfnTag.class))); this.templateName = software.amazon.jsii.Kernel.get(this, "templateName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.tier = software.amazon.jsii.Kernel.get(this, "tier", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.versionLabel = software.amazon.jsii.Kernel.get(this, "versionLabel", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.applicationName = java.util.Objects.requireNonNull(builder.applicationName, "applicationName is required"); this.cnamePrefix = builder.cnamePrefix; this.description = builder.description; this.environmentName = builder.environmentName; this.operationsRole = builder.operationsRole; this.optionSettings = builder.optionSettings; this.platformArn = builder.platformArn; this.solutionStackName = builder.solutionStackName; this.tags = (java.util.List)builder.tags; this.templateName = builder.templateName; this.tier = builder.tier; this.versionLabel = builder.versionLabel; } @Override public final java.lang.String getApplicationName() { return this.applicationName; } @Override public final java.lang.String getCnamePrefix() { return this.cnamePrefix; } @Override public final java.lang.String getDescription() { return this.description; } @Override public final java.lang.String getEnvironmentName() { return this.environmentName; } @Override public final java.lang.String getOperationsRole() { return this.operationsRole; } @Override public final java.lang.Object getOptionSettings() { return this.optionSettings; } @Override public final java.lang.String getPlatformArn() { return this.platformArn; } @Override public final java.lang.String getSolutionStackName() { return this.solutionStackName; } @Override public final java.util.List getTags() { return this.tags; } @Override public final java.lang.String getTemplateName() { return this.templateName; } @Override public final java.lang.Object getTier() { return this.tier; } @Override public final java.lang.String getVersionLabel() { return this.versionLabel; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("applicationName", om.valueToTree(this.getApplicationName())); if (this.getCnamePrefix() != null) { data.set("cnamePrefix", om.valueToTree(this.getCnamePrefix())); } if (this.getDescription() != null) { data.set("description", om.valueToTree(this.getDescription())); } if (this.getEnvironmentName() != null) { data.set("environmentName", om.valueToTree(this.getEnvironmentName())); } if (this.getOperationsRole() != null) { data.set("operationsRole", om.valueToTree(this.getOperationsRole())); } if (this.getOptionSettings() != null) { data.set("optionSettings", om.valueToTree(this.getOptionSettings())); } if (this.getPlatformArn() != null) { data.set("platformArn", om.valueToTree(this.getPlatformArn())); } if (this.getSolutionStackName() != null) { data.set("solutionStackName", om.valueToTree(this.getSolutionStackName())); } if (this.getTags() != null) { data.set("tags", om.valueToTree(this.getTags())); } if (this.getTemplateName() != null) { data.set("templateName", om.valueToTree(this.getTemplateName())); } if (this.getTier() != null) { data.set("tier", om.valueToTree(this.getTier())); } if (this.getVersionLabel() != null) { data.set("versionLabel", om.valueToTree(this.getVersionLabel())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-elasticbeanstalk.CfnEnvironmentProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CfnEnvironmentProps.Jsii$Proxy that = (CfnEnvironmentProps.Jsii$Proxy) o; if (!applicationName.equals(that.applicationName)) return false; if (this.cnamePrefix != null ? !this.cnamePrefix.equals(that.cnamePrefix) : that.cnamePrefix != null) return false; if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false; if (this.environmentName != null ? !this.environmentName.equals(that.environmentName) : that.environmentName != null) return false; if (this.operationsRole != null ? !this.operationsRole.equals(that.operationsRole) : that.operationsRole != null) return false; if (this.optionSettings != null ? !this.optionSettings.equals(that.optionSettings) : that.optionSettings != null) return false; if (this.platformArn != null ? !this.platformArn.equals(that.platformArn) : that.platformArn != null) return false; if (this.solutionStackName != null ? !this.solutionStackName.equals(that.solutionStackName) : that.solutionStackName != null) return false; if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false; if (this.templateName != null ? !this.templateName.equals(that.templateName) : that.templateName != null) return false; if (this.tier != null ? !this.tier.equals(that.tier) : that.tier != null) return false; return this.versionLabel != null ? this.versionLabel.equals(that.versionLabel) : that.versionLabel == null; } @Override public final int hashCode() { int result = this.applicationName.hashCode(); result = 31 * result + (this.cnamePrefix != null ? this.cnamePrefix.hashCode() : 0); result = 31 * result + (this.description != null ? this.description.hashCode() : 0); result = 31 * result + (this.environmentName != null ? this.environmentName.hashCode() : 0); result = 31 * result + (this.operationsRole != null ? this.operationsRole.hashCode() : 0); result = 31 * result + (this.optionSettings != null ? this.optionSettings.hashCode() : 0); result = 31 * result + (this.platformArn != null ? this.platformArn.hashCode() : 0); result = 31 * result + (this.solutionStackName != null ? this.solutionStackName.hashCode() : 0); result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0); result = 31 * result + (this.templateName != null ? this.templateName.hashCode() : 0); result = 31 * result + (this.tier != null ? this.tier.hashCode() : 0); result = 31 * result + (this.versionLabel != null ? this.versionLabel.hashCode() : 0); return result; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy