Class CfnEnvironment

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggableV2, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.112.0 (build de1bc80)", date="2025-07-24T11:33:14.806Z") @Stability(Stable) public class CfnEnvironment extends CfnResource implements IInspectable, ITaggableV2

Amazon EVS is in public preview release and is subject to change.

Creates an Amazon EVS environment that runs VCF software, such as SDDC Manager, NSX Manager, and vCenter Server.

During environment creation, Amazon EVS performs validations on DNS settings, provisions VLAN subnets and hosts, and deploys the supplied version of VCF.

It can take several hours to create an environment. After the deployment completes, you can configure VCF in the vSphere user interface according to your needs.

You cannot use the dedicatedHostId and placementGroupId parameters together in the same CreateEnvironment action. This results in a ValidationException response.

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.evs.*;
 CfnEnvironment cfnEnvironment = CfnEnvironment.Builder.create(this, "MyCfnEnvironment")
         .connectivityInfo(ConnectivityInfoProperty.builder()
                 .privateRouteServerPeerings(List.of("privateRouteServerPeerings"))
                 .build())
         .licenseInfo(LicenseInfoProperty.builder()
                 .solutionKey("solutionKey")
                 .vsanKey("vsanKey")
                 .build())
         .serviceAccessSubnetId("serviceAccessSubnetId")
         .siteId("siteId")
         .termsAccepted(false)
         .vcfHostnames(VcfHostnamesProperty.builder()
                 .cloudBuilder("cloudBuilder")
                 .nsx("nsx")
                 .nsxEdge1("nsxEdge1")
                 .nsxEdge2("nsxEdge2")
                 .nsxManager1("nsxManager1")
                 .nsxManager2("nsxManager2")
                 .nsxManager3("nsxManager3")
                 .sddcManager("sddcManager")
                 .vCenter("vCenter")
                 .build())
         .vcfVersion("vcfVersion")
         .vpcId("vpcId")
         // the properties below are optional
         .environmentName("environmentName")
         .hosts(List.of(HostInfoForCreateProperty.builder()
                 .hostName("hostName")
                 .instanceType("instanceType")
                 .keyName("keyName")
                 // the properties below are optional
                 .dedicatedHostId("dedicatedHostId")
                 .placementGroupId("placementGroupId")
                 .build()))
         .initialVlans(InitialVlansProperty.builder()
                 .edgeVTep(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .expansionVlan1(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .expansionVlan2(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .hcx(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .nsxUpLink(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .vmkManagement(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .vmManagement(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .vMotion(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .vSan(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .vTep(InitialVlanInfoProperty.builder()
                         .cidr("cidr")
                         .build())
                 .build())
         .kmsKeyId("kmsKeyId")
         .serviceAccessSecurityGroups(ServiceAccessSecurityGroupsProperty.builder()
                 .securityGroups(List.of("securityGroups"))
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnEnvironment

      protected CfnEnvironment(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnEnvironment

      protected CfnEnvironment(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnEnvironment

      @Stability(Stable) public CfnEnvironment(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnEnvironmentProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrChecks

      @Stability(Stable) @NotNull public IResolvable getAttrChecks()
      A check on the environment to identify instance health and VMware VCF licensing issues. For example:.

      { "checks": [ { "type": "KEY_REUSE", "result": "PASSED" }, { "type": "KEY_COVERAGE", "result": "PASSED" }, { "type": "REACHABILITY", "result": "PASSED" }, { "type": "HOST_COUNT", "result": "PASSED" } ] }

    • getAttrCreatedAt

      @Stability(Stable) @NotNull public String getAttrCreatedAt()
      The date and time that the environment was created.

      For example: 1749081600.000 .

    • getAttrCredentials

      @Stability(Stable) @NotNull public IResolvable getAttrCredentials()
      The VCF credentials that are stored as Amazon EVS managed secrets in AWS Secrets Manager.

      Amazon EVS stores credentials that are needed to install vCenter Server, NSX, and SDDC Manager. For example:

      { [ { "secretArn": "arn:aws:secretsmanager:us-east-1:000000000000:secret:evs!env-1234567890_vCenterAdmin-MnTMEi" }, { "secretArn": "arn:aws:secretsmanager:us-east-1:000000000000:secret:evs!env-1234567890_vCenterRoot-87VyCF" }, { "secretArn": "arn:aws:secretsmanager:us-east-1:000000000000:secret:evs!env-1234567890_NSXRoot-SR3k43" }, { "secretArn": "arn:aws:secretsmanager:us-east-1:000000000000:secret:evs!env-1234567890_NSXAdmin-L5LUiD" }, { "secretArn": "arn:aws:secretsmanager:us-east-1:000000000000:secret:evs!env-1234567890_NSXAudit-Q2oW46" }, { "secretArn": "arn:aws:secretsmanager:us-east-1:000000000000:secret:evs!env-1234567890_SDDCManagerRoot-bFulOq" }, { "secretArn": "arn:aws:secretsmanager:us-east-1:000000000000:secret:evs!env-1234567890_SDDCManagerVCF-Ec3gES" }, { "secretArn": "arn:aws:secretsmanager:us-east-1:000000000000:secret:evs!env-1234567890_SDDCManagerAdmin-JMTAAb" } ] }

    • getAttrEnvironmentArn

      @Stability(Stable) @NotNull public String getAttrEnvironmentArn()
      The Amazon Resource Name (ARN) that is associated with the environment.

      For example: arn:aws:evs:us-east-1:000000000000:environment/env-1234567890 .

    • getAttrEnvironmentId

      @Stability(Stable) @NotNull public String getAttrEnvironmentId()
      The unique ID for the environment.

      For example: env-1234567890 .

    • getAttrEnvironmentState

      @Stability(Stable) @NotNull public String getAttrEnvironmentState()
      The state of an environment.

      For example: CREATED .

    • getAttrModifiedAt

      @Stability(Stable) @NotNull public String getAttrModifiedAt()
      The date and time that the environment was modified.

      For example: 1749081600.000 .

    • getAttrStateDetails

      @Stability(Stable) @NotNull public String getAttrStateDetails()
      A detailed description of the environmentState of an environment.

      For example: Environment successfully created .

    • getCdkTagManager

      @Stability(Stable) @NotNull public TagManager getCdkTagManager()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getCdkTagManager in interface ITaggableV2
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getConnectivityInfo

      @Stability(Stable) @NotNull public Object getConnectivityInfo()
      The connectivity configuration for the environment.
    • setConnectivityInfo

      @Stability(Stable) public void setConnectivityInfo(@NotNull IResolvable value)
      The connectivity configuration for the environment.
    • setConnectivityInfo

      @Stability(Stable) public void setConnectivityInfo(@NotNull CfnEnvironment.ConnectivityInfoProperty value)
      The connectivity configuration for the environment.
    • getLicenseInfo

      @Stability(Stable) @NotNull public Object getLicenseInfo()
      The license information that Amazon EVS requires to create an environment.
    • setLicenseInfo

      @Stability(Stable) public void setLicenseInfo(@NotNull IResolvable value)
      The license information that Amazon EVS requires to create an environment.
    • setLicenseInfo

      @Stability(Stable) public void setLicenseInfo(@NotNull CfnEnvironment.LicenseInfoProperty value)
      The license information that Amazon EVS requires to create an environment.
    • getServiceAccessSubnetId

      @Stability(Stable) @NotNull public String getServiceAccessSubnetId()
      The subnet that is used to establish connectivity between the Amazon EVS control plane and VPC.
    • setServiceAccessSubnetId

      @Stability(Stable) public void setServiceAccessSubnetId(@NotNull String value)
      The subnet that is used to establish connectivity between the Amazon EVS control plane and VPC.
    • getSiteId

      @Stability(Stable) @NotNull public String getSiteId()
      The Broadcom Site ID that is associated with your Amazon EVS environment.
    • setSiteId

      @Stability(Stable) public void setSiteId(@NotNull String value)
      The Broadcom Site ID that is associated with your Amazon EVS environment.
    • getTermsAccepted

      @Stability(Stable) @NotNull public Object getTermsAccepted()
      Customer confirmation that the customer has purchased and will continue to maintain the required number of VCF software licenses to cover all physical processor cores in the Amazon EVS environment.
    • setTermsAccepted

      @Stability(Stable) public void setTermsAccepted(@NotNull Boolean value)
      Customer confirmation that the customer has purchased and will continue to maintain the required number of VCF software licenses to cover all physical processor cores in the Amazon EVS environment.
    • setTermsAccepted

      @Stability(Stable) public void setTermsAccepted(@NotNull IResolvable value)
      Customer confirmation that the customer has purchased and will continue to maintain the required number of VCF software licenses to cover all physical processor cores in the Amazon EVS environment.
    • getVcfHostnames

      @Stability(Stable) @NotNull public Object getVcfHostnames()
      The DNS hostnames to be used by the VCF management appliances in your environment.
    • setVcfHostnames

      @Stability(Stable) public void setVcfHostnames(@NotNull IResolvable value)
      The DNS hostnames to be used by the VCF management appliances in your environment.
    • setVcfHostnames

      @Stability(Stable) public void setVcfHostnames(@NotNull CfnEnvironment.VcfHostnamesProperty value)
      The DNS hostnames to be used by the VCF management appliances in your environment.
    • getVcfVersion

      @Stability(Stable) @NotNull public String getVcfVersion()
      The VCF version of the environment.
    • setVcfVersion

      @Stability(Stable) public void setVcfVersion(@NotNull String value)
      The VCF version of the environment.
    • getVpcId

      @Stability(Stable) @NotNull public String getVpcId()
      The VPC associated with the environment.
    • setVpcId

      @Stability(Stable) public void setVpcId(@NotNull String value)
      The VPC associated with the environment.
    • getEnvironmentName

      @Stability(Stable) @Nullable public String getEnvironmentName()
      The name of the environment.
    • setEnvironmentName

      @Stability(Stable) public void setEnvironmentName(@Nullable String value)
      The name of the environment.
    • getHosts

      @Stability(Stable) @Nullable public Object getHosts()
      Required for environment resource creation.
    • setHosts

      @Stability(Stable) public void setHosts(@Nullable IResolvable value)
      Required for environment resource creation.
    • setHosts

      @Stability(Stable) public void setHosts(@Nullable List<Object> value)
      Required for environment resource creation.
    • getInitialVlans

      @Stability(Stable) @Nullable public Object getInitialVlans()

      Amazon EVS is in public preview release and is subject to change.

    • setInitialVlans

      @Stability(Stable) public void setInitialVlans(@Nullable IResolvable value)

      Amazon EVS is in public preview release and is subject to change.

    • setInitialVlans

      @Stability(Stable) public void setInitialVlans(@Nullable CfnEnvironment.InitialVlansProperty value)

      Amazon EVS is in public preview release and is subject to change.

    • getKmsKeyId

      @Stability(Stable) @Nullable public String getKmsKeyId()
      The AWS KMS key ID that AWS Secrets Manager uses to encrypt secrets that are associated with the environment.
    • setKmsKeyId

      @Stability(Stable) public void setKmsKeyId(@Nullable String value)
      The AWS KMS key ID that AWS Secrets Manager uses to encrypt secrets that are associated with the environment.
    • getServiceAccessSecurityGroups

      @Stability(Stable) @Nullable public Object getServiceAccessSecurityGroups()
      The security groups that allow traffic between the Amazon EVS control plane and your VPC for service access.
    • setServiceAccessSecurityGroups

      @Stability(Stable) public void setServiceAccessSecurityGroups(@Nullable IResolvable value)
      The security groups that allow traffic between the Amazon EVS control plane and your VPC for service access.
    • setServiceAccessSecurityGroups

      @Stability(Stable) public void setServiceAccessSecurityGroups(@Nullable CfnEnvironment.ServiceAccessSecurityGroupsProperty value)
      The security groups that allow traffic between the Amazon EVS control plane and your VPC for service access.
    • getTags

      @Stability(Stable) @Nullable public List<CfnTag> getTags()
      Metadata that assists with categorization and organization.
    • setTags

      @Stability(Stable) public void setTags(@Nullable List<CfnTag> value)
      Metadata that assists with categorization and organization.