Class: AWSCDK::EVS::CfnEnvironmentProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::EVS::CfnEnvironmentProps
- Defined in:
- evs/cfn_environment_props.rb
Overview
Properties for defining a CfnEnvironment.
Instance Attribute Summary collapse
-
#connectivity_info ⇒ AWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::ConnectivityInfoProperty
readonly
The connectivity configuration for the environment.
-
#environment_name ⇒ String?
readonly
The name of the environment.
-
#hosts ⇒ AWSCDK::IResolvable, ...
readonly
Required for environment resource creation.
-
#initial_vlans ⇒ AWSCDK::IResolvable, ...
readonly
Amazon EVS is in public preview release and is subject to change.
-
#kms_key_id ⇒ String?
readonly
The AWS KMS key ID that AWS Secrets Manager uses to encrypt secrets that are associated with the environment.
-
#license_info ⇒ AWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::LicenseInfoProperty
readonly
The license information that Amazon EVS requires to create an environment.
-
#service_access_security_groups ⇒ AWSCDK::IResolvable, ...
readonly
The security groups that allow traffic between the Amazon EVS control plane and your VPC for service access.
-
#service_access_subnet_id ⇒ String
readonly
The subnet that is used to establish connectivity between the Amazon EVS control plane and VPC.
-
#site_id ⇒ String
readonly
The Broadcom Site ID that is associated with your Amazon EVS environment.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
Metadata that assists with categorization and organization.
-
#terms_accepted ⇒ Boolean, AWSCDK::IResolvable
readonly
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.
-
#vcf_hostnames ⇒ AWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::VcfHostnamesProperty
readonly
The DNS hostnames to be used by the VCF management appliances in your environment.
-
#vcf_version ⇒ String
readonly
The VCF version of the environment.
-
#vpc_id ⇒ String
readonly
The VPC associated with the environment.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(connectivity_info:, license_info:, service_access_subnet_id:, site_id:, terms_accepted:, vcf_hostnames:, vcf_version:, vpc_id:, environment_name: nil, hosts: nil, initial_vlans: nil, kms_key_id: nil, service_access_security_groups: nil, tags: nil) ⇒ CfnEnvironmentProps
constructor
A new instance of CfnEnvironmentProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(connectivity_info:, license_info:, service_access_subnet_id:, site_id:, terms_accepted:, vcf_hostnames:, vcf_version:, vpc_id:, environment_name: nil, hosts: nil, initial_vlans: nil, kms_key_id: nil, service_access_security_groups: nil, tags: nil) ⇒ CfnEnvironmentProps
Returns a new instance of CfnEnvironmentProps.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'evs/cfn_environment_props.rb', line 23 def initialize(connectivity_info:, license_info:, service_access_subnet_id:, site_id:, terms_accepted:, vcf_hostnames:, vcf_version:, vpc_id:, environment_name: nil, hosts: nil, initial_vlans: nil, kms_key_id: nil, service_access_security_groups: nil, tags: nil) @connectivity_info = connectivity_info.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::ConnectivityInfoProperty.new(**connectivity_info.transform_keys(&:to_sym)) : connectivity_info Jsii::Type.check_type(@connectivity_info, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuQ29ubmVjdGl2aXR5SW5mb1Byb3BlcnR5In1dfX0=")), "connectivityInfo") @license_info = license_info.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::LicenseInfoProperty.new(**license_info.transform_keys(&:to_sym)) : license_info Jsii::Type.check_type(@license_info, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuTGljZW5zZUluZm9Qcm9wZXJ0eSJ9XX19")), "licenseInfo") @service_access_subnet_id = service_access_subnet_id Jsii::Type.check_type(@service_access_subnet_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceAccessSubnetId") @site_id = site_id Jsii::Type.check_type(@site_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "siteId") @terms_accepted = terms_accepted Jsii::Type.check_type(@terms_accepted, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "termsAccepted") @vcf_hostnames = vcf_hostnames.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::VcfHostnamesProperty.new(**vcf_hostnames.transform_keys(&:to_sym)) : vcf_hostnames Jsii::Type.check_type(@vcf_hostnames, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuVmNmSG9zdG5hbWVzUHJvcGVydHkifV19fQ==")), "vcfHostnames") @vcf_version = vcf_version Jsii::Type.check_type(@vcf_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vcfVersion") @vpc_id = vpc_id Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcId") @environment_name = environment_name Jsii::Type.check_type(@environment_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "environmentName") unless @environment_name.nil? @hosts = hosts Jsii::Type.check_type(@hosts, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZzLkNmbkVudmlyb25tZW50Lkhvc3RJbmZvRm9yQ3JlYXRlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "hosts") unless @hosts.nil? @initial_vlans = initial_vlans.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::InitialVlansProperty.new(**initial_vlans.transform_keys(&:to_sym)) : initial_vlans Jsii::Type.check_type(@initial_vlans, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuSW5pdGlhbFZsYW5zUHJvcGVydHkifV19fQ==")), "initialVlans") unless @initial_vlans.nil? @kms_key_id = kms_key_id Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil? @service_access_security_groups = service_access_security_groups.is_a?(Hash) ? ::AWSCDK::EVS::CfnEnvironment::ServiceAccessSecurityGroupsProperty.new(**service_access_security_groups.transform_keys(&:to_sym)) : service_access_security_groups Jsii::Type.check_type(@service_access_security_groups, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ldnMuQ2ZuRW52aXJvbm1lbnQuU2VydmljZUFjY2Vzc1NlY3VyaXR5R3JvdXBzUHJvcGVydHkifV19fQ==")), "serviceAccessSecurityGroups") unless @service_access_security_groups.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#connectivity_info ⇒ AWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::ConnectivityInfoProperty (readonly)
The connectivity configuration for the environment.
Amazon EVS requires that you specify two route server peer IDs. During environment creation, the route server endpoints peer with the NSX uplink VLAN for connectivity to the NSX overlay network.
60 61 62 |
# File 'evs/cfn_environment_props.rb', line 60 def connectivity_info @connectivity_info end |
#environment_name ⇒ String? (readonly)
The name of the environment.
110 111 112 |
# File 'evs/cfn_environment_props.rb', line 110 def environment_name @environment_name end |
#hosts ⇒ AWSCDK::IResolvable, ... (readonly)
Required for environment resource creation.
115 116 117 |
# File 'evs/cfn_environment_props.rb', line 115 def hosts @hosts end |
#initial_vlans ⇒ AWSCDK::IResolvable, ... (readonly)
Amazon EVS is in public preview release and is subject to change.
The initial VLAN subnets for the environment. Amazon EVS VLAN subnets have a minimum CIDR block size of /28 and a maximum size of /24. Amazon EVS VLAN subnet CIDR blocks must not overlap with other subnets in the VPC.
Required for environment resource creation.
124 125 126 |
# File 'evs/cfn_environment_props.rb', line 124 def initial_vlans @initial_vlans end |
#kms_key_id ⇒ String? (readonly)
The AWS KMS key ID that AWS Secrets Manager uses to encrypt secrets that are associated with the environment.
These secrets contain the VCF credentials that are needed to install vCenter Server, NSX, and SDDC Manager.
By default, Amazon EVS use the AWS Secrets Manager managed key aws/secretsmanager . You can also specify a customer managed key.
133 134 135 |
# File 'evs/cfn_environment_props.rb', line 133 def kms_key_id @kms_key_id end |
#license_info ⇒ AWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::LicenseInfoProperty (readonly)
The license information that Amazon EVS requires to create an environment.
Amazon EVS requires two license keys: a VCF solution key and a vSAN license key. The VCF solution key must cover a minimum of 256 cores. The vSAN license key must provide at least 110 TiB of vSAN capacity.
67 68 69 |
# File 'evs/cfn_environment_props.rb', line 67 def license_info @license_info end |
#service_access_security_groups ⇒ AWSCDK::IResolvable, ... (readonly)
The security groups that allow traffic between the Amazon EVS control plane and your VPC for service access.
If a security group is not specified, Amazon EVS uses the default security group in your account for service access.
140 141 142 |
# File 'evs/cfn_environment_props.rb', line 140 def service_access_security_groups @service_access_security_groups end |
#service_access_subnet_id ⇒ String (readonly)
The subnet that is used to establish connectivity between the Amazon EVS control plane and VPC.
Amazon EVS uses this subnet to perform validations and create the environment.
74 75 76 |
# File 'evs/cfn_environment_props.rb', line 74 def service_access_subnet_id @service_access_subnet_id end |
#site_id ⇒ String (readonly)
The Broadcom Site ID that is associated with your Amazon EVS environment.
Amazon EVS uses the Broadcom Site ID that you provide to meet Broadcom VCF license usage reporting requirements for Amazon EVS.
81 82 83 |
# File 'evs/cfn_environment_props.rb', line 81 def site_id @site_id end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
Metadata that assists with categorization and organization.
Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or AWS resources.
147 148 149 |
# File 'evs/cfn_environment_props.rb', line 147 def @tags end |
#terms_accepted ⇒ Boolean, AWSCDK::IResolvable (readonly)
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.
Information about your VCF software in Amazon EVS will be shared with Broadcom to verify license compliance. Amazon EVS does not validate license keys. To validate license keys, visit the Broadcom support portal.
88 89 90 |
# File 'evs/cfn_environment_props.rb', line 88 def terms_accepted @terms_accepted end |
#vcf_hostnames ⇒ AWSCDK::IResolvable, AWSCDK::EVS::CfnEnvironment::VcfHostnamesProperty (readonly)
The DNS hostnames to be used by the VCF management appliances in your environment.
For environment creation to be successful, each hostname entry must resolve to a domain name that you've registered in your DNS service of choice and configured in the DHCP option set of your VPC. DNS hostnames cannot be changed after environment creation has started.
95 96 97 |
# File 'evs/cfn_environment_props.rb', line 95 def vcf_hostnames @vcf_hostnames end |
#vcf_version ⇒ String (readonly)
The VCF version of the environment.
100 101 102 |
# File 'evs/cfn_environment_props.rb', line 100 def vcf_version @vcf_version end |
#vpc_id ⇒ String (readonly)
The VPC associated with the environment.
105 106 107 |
# File 'evs/cfn_environment_props.rb', line 105 def vpc_id @vpc_id end |
Class Method Details
.jsii_properties ⇒ Object
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'evs/cfn_environment_props.rb', line 149 def self.jsii_properties { :connectivity_info => "connectivityInfo", :license_info => "licenseInfo", :service_access_subnet_id => "serviceAccessSubnetId", :site_id => "siteId", :terms_accepted => "termsAccepted", :vcf_hostnames => "vcfHostnames", :vcf_version => "vcfVersion", :vpc_id => "vpcId", :environment_name => "environmentName", :hosts => "hosts", :initial_vlans => "initialVlans", :kms_key_id => "kmsKeyId", :service_access_security_groups => "serviceAccessSecurityGroups", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
# File 'evs/cfn_environment_props.rb', line 168 def to_jsii result = {} result.merge!({ "connectivityInfo" => @connectivity_info, "licenseInfo" => @license_info, "serviceAccessSubnetId" => @service_access_subnet_id, "siteId" => @site_id, "termsAccepted" => @terms_accepted, "vcfHostnames" => @vcf_hostnames, "vcfVersion" => @vcf_version, "vpcId" => @vpc_id, "environmentName" => @environment_name, "hosts" => @hosts, "initialVlans" => @initial_vlans, "kmsKeyId" => @kms_key_id, "serviceAccessSecurityGroups" => @service_access_security_groups, "tags" => @tags, }) result.compact end |