aws-cdk-lib 2.200.1__py3-none-any.whl → 2.201.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (53) hide show
  1. aws_cdk/__init__.py +105 -13
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.1.jsii.tgz → aws-cdk-lib@2.201.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -3
  5. aws_cdk/aws_amplify/__init__.py +3 -3
  6. aws_cdk/aws_apigateway/__init__.py +21 -17
  7. aws_cdk/aws_apigatewayv2/__init__.py +87 -45
  8. aws_cdk/aws_appconfig/__init__.py +38 -1
  9. aws_cdk/aws_appsync/__init__.py +10 -10
  10. aws_cdk/aws_athena/__init__.py +226 -0
  11. aws_cdk/aws_autoscaling/__init__.py +38 -37
  12. aws_cdk/aws_bedrock/__init__.py +5108 -1571
  13. aws_cdk/aws_cloudfront/__init__.py +8 -0
  14. aws_cdk/aws_cloudtrail/__init__.py +178 -0
  15. aws_cdk/aws_cloudwatch/__init__.py +7 -3
  16. aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
  17. aws_cdk/aws_connect/__init__.py +5 -5
  18. aws_cdk/aws_customerprofiles/__init__.py +377 -8
  19. aws_cdk/aws_datasync/__init__.py +189 -160
  20. aws_cdk/aws_datazone/__init__.py +512 -170
  21. aws_cdk/aws_deadline/__init__.py +32 -4
  22. aws_cdk/aws_dsql/__init__.py +150 -10
  23. aws_cdk/aws_ec2/__init__.py +793 -56
  24. aws_cdk/aws_ecs/__init__.py +94 -11
  25. aws_cdk/aws_efs/__init__.py +92 -12
  26. aws_cdk/aws_eks/__init__.py +166 -19
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  28. aws_cdk/aws_emr/__init__.py +10 -4
  29. aws_cdk/aws_entityresolution/__init__.py +25 -10
  30. aws_cdk/aws_evs/__init__.py +2204 -0
  31. aws_cdk/aws_fsx/__init__.py +7 -7
  32. aws_cdk/aws_lambda/__init__.py +409 -32
  33. aws_cdk/aws_lightsail/__init__.py +17 -13
  34. aws_cdk/aws_logs/__init__.py +1 -0
  35. aws_cdk/aws_networkfirewall/__init__.py +562 -0
  36. aws_cdk/aws_opensearchservice/__init__.py +3 -3
  37. aws_cdk/aws_opsworkscm/__init__.py +9 -43
  38. aws_cdk/aws_rds/__init__.py +284 -87
  39. aws_cdk/aws_s3/__init__.py +23 -15
  40. aws_cdk/aws_sagemaker/__init__.py +223 -3
  41. aws_cdk/aws_securityhub/__init__.py +18 -34
  42. aws_cdk/aws_ssm/__init__.py +83 -1
  43. aws_cdk/aws_stepfunctions/__init__.py +235 -45
  44. aws_cdk/aws_synthetics/__init__.py +74 -0
  45. aws_cdk/aws_transfer/__init__.py +3 -3
  46. aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
  47. aws_cdk/aws_wafv2/__init__.py +39 -2
  48. {aws_cdk_lib-2.200.1.dist-info → aws_cdk_lib-2.201.0.dist-info}/METADATA +2 -2
  49. {aws_cdk_lib-2.200.1.dist-info → aws_cdk_lib-2.201.0.dist-info}/RECORD +53 -52
  50. {aws_cdk_lib-2.200.1.dist-info → aws_cdk_lib-2.201.0.dist-info}/LICENSE +0 -0
  51. {aws_cdk_lib-2.200.1.dist-info → aws_cdk_lib-2.201.0.dist-info}/NOTICE +0 -0
  52. {aws_cdk_lib-2.200.1.dist-info → aws_cdk_lib-2.201.0.dist-info}/WHEEL +0 -0
  53. {aws_cdk_lib-2.200.1.dist-info → aws_cdk_lib-2.201.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2204 @@
1
+ r'''
2
+ # AWS::EVS Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_evs as evs
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for EVS construct libraries](https://constructs.dev/search?q=evs)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::EVS resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EVS.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::EVS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EVS.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ from pkgutil import extend_path
39
+ __path__ = extend_path(__path__, __name__)
40
+
41
+ import abc
42
+ import builtins
43
+ import datetime
44
+ import enum
45
+ import typing
46
+
47
+ import jsii
48
+ import publication
49
+ import typing_extensions
50
+
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
67
+
68
+ from .._jsii import *
69
+
70
+ import constructs as _constructs_77d1e7e8
71
+ from .. import (
72
+ CfnResource as _CfnResource_9df397a6,
73
+ CfnTag as _CfnTag_f6864754,
74
+ IInspectable as _IInspectable_c2943556,
75
+ IResolvable as _IResolvable_da3f097b,
76
+ ITaggableV2 as _ITaggableV2_4e6798f8,
77
+ TagManager as _TagManager_0a598cb3,
78
+ TreeInspector as _TreeInspector_488e0dd5,
79
+ )
80
+
81
+
82
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
83
+ class CfnEnvironment(
84
+ _CfnResource_9df397a6,
85
+ metaclass=jsii.JSIIMeta,
86
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment",
87
+ ):
88
+ '''.. epigraph::
89
+
90
+ Amazon EVS is in public preview release and is subject to change.
91
+
92
+ Creates an Amazon EVS environment that runs VCF software, such as SDDC Manager, NSX Manager, and vCenter Server.
93
+
94
+ During environment creation, Amazon EVS performs validations on DNS settings, provisions VLAN subnets and hosts, and deploys the supplied version of VCF.
95
+
96
+ 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.
97
+ .. epigraph::
98
+
99
+ You cannot use the ``dedicatedHostId`` and ``placementGroupId`` parameters together in the same ``CreateEnvironment`` action. This results in a ``ValidationException`` response.
100
+
101
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html
102
+ :cloudformationResource: AWS::EVS::Environment
103
+ :exampleMetadata: fixture=_generated
104
+
105
+ Example::
106
+
107
+ # The code below shows an example of how to instantiate this type.
108
+ # The values are placeholders you should change.
109
+ from aws_cdk import aws_evs as evs
110
+
111
+ cfn_environment = evs.CfnEnvironment(self, "MyCfnEnvironment",
112
+ connectivity_info=evs.CfnEnvironment.ConnectivityInfoProperty(
113
+ private_route_server_peerings=["privateRouteServerPeerings"]
114
+ ),
115
+ license_info=evs.CfnEnvironment.LicenseInfoProperty(
116
+ solution_key="solutionKey",
117
+ vsan_key="vsanKey"
118
+ ),
119
+ service_access_subnet_id="serviceAccessSubnetId",
120
+ site_id="siteId",
121
+ terms_accepted=False,
122
+ vcf_hostnames=evs.CfnEnvironment.VcfHostnamesProperty(
123
+ cloud_builder="cloudBuilder",
124
+ nsx="nsx",
125
+ nsx_edge1="nsxEdge1",
126
+ nsx_edge2="nsxEdge2",
127
+ nsx_manager1="nsxManager1",
128
+ nsx_manager2="nsxManager2",
129
+ nsx_manager3="nsxManager3",
130
+ sddc_manager="sddcManager",
131
+ v_center="vCenter"
132
+ ),
133
+ vcf_version="vcfVersion",
134
+ vpc_id="vpcId",
135
+
136
+ # the properties below are optional
137
+ environment_name="environmentName",
138
+ hosts=[evs.CfnEnvironment.HostInfoForCreateProperty(
139
+ host_name="hostName",
140
+ instance_type="instanceType",
141
+ key_name="keyName",
142
+
143
+ # the properties below are optional
144
+ dedicated_host_id="dedicatedHostId",
145
+ placement_group_id="placementGroupId"
146
+ )],
147
+ initial_vlans=evs.CfnEnvironment.InitialVlansProperty(
148
+ edge_vTep=evs.CfnEnvironment.InitialVlanInfoProperty(
149
+ cidr="cidr"
150
+ ),
151
+ expansion_vlan1=evs.CfnEnvironment.InitialVlanInfoProperty(
152
+ cidr="cidr"
153
+ ),
154
+ expansion_vlan2=evs.CfnEnvironment.InitialVlanInfoProperty(
155
+ cidr="cidr"
156
+ ),
157
+ hcx=evs.CfnEnvironment.InitialVlanInfoProperty(
158
+ cidr="cidr"
159
+ ),
160
+ nsx_up_link=evs.CfnEnvironment.InitialVlanInfoProperty(
161
+ cidr="cidr"
162
+ ),
163
+ vmk_management=evs.CfnEnvironment.InitialVlanInfoProperty(
164
+ cidr="cidr"
165
+ ),
166
+ vm_management=evs.CfnEnvironment.InitialVlanInfoProperty(
167
+ cidr="cidr"
168
+ ),
169
+ v_motion=evs.CfnEnvironment.InitialVlanInfoProperty(
170
+ cidr="cidr"
171
+ ),
172
+ v_san=evs.CfnEnvironment.InitialVlanInfoProperty(
173
+ cidr="cidr"
174
+ ),
175
+ v_tep=evs.CfnEnvironment.InitialVlanInfoProperty(
176
+ cidr="cidr"
177
+ )
178
+ ),
179
+ kms_key_id="kmsKeyId",
180
+ service_access_security_groups=evs.CfnEnvironment.ServiceAccessSecurityGroupsProperty(
181
+ security_groups=["securityGroups"]
182
+ ),
183
+ tags=[CfnTag(
184
+ key="key",
185
+ value="value"
186
+ )]
187
+ )
188
+ '''
189
+
190
+ def __init__(
191
+ self,
192
+ scope: _constructs_77d1e7e8.Construct,
193
+ id: builtins.str,
194
+ *,
195
+ connectivity_info: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.ConnectivityInfoProperty", typing.Dict[builtins.str, typing.Any]]],
196
+ license_info: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.LicenseInfoProperty", typing.Dict[builtins.str, typing.Any]]],
197
+ service_access_subnet_id: builtins.str,
198
+ site_id: builtins.str,
199
+ terms_accepted: typing.Union[builtins.bool, _IResolvable_da3f097b],
200
+ vcf_hostnames: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.VcfHostnamesProperty", typing.Dict[builtins.str, typing.Any]]],
201
+ vcf_version: builtins.str,
202
+ vpc_id: builtins.str,
203
+ environment_name: typing.Optional[builtins.str] = None,
204
+ hosts: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.HostInfoForCreateProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
205
+ initial_vlans: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlansProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
206
+ kms_key_id: typing.Optional[builtins.str] = None,
207
+ service_access_security_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.ServiceAccessSecurityGroupsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
208
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
209
+ ) -> None:
210
+ '''
211
+ :param scope: Scope in which this resource is defined.
212
+ :param id: Construct identifier for this resource (unique in its scope).
213
+ :param connectivity_info: 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.
214
+ :param license_info: 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.
215
+ :param service_access_subnet_id: 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.
216
+ :param site_id: 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.
217
+ :param terms_accepted: 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.
218
+ :param vcf_hostnames: 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.
219
+ :param vcf_version: The VCF version of the environment.
220
+ :param vpc_id: The VPC associated with the environment.
221
+ :param environment_name: The name of the environment.
222
+ :param hosts: Required for environment resource creation.
223
+ :param initial_vlans: .. epigraph:: 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.
224
+ :param kms_key_id: 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.
225
+ :param service_access_security_groups: 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.
226
+ :param tags: 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.
227
+ '''
228
+ if __debug__:
229
+ type_hints = typing.get_type_hints(_typecheckingstub__0fd5abd7fe71e306d7b1cc2c3ef834eb9af874a0b9fed902c6923bbc07b00b63)
230
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
231
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
232
+ props = CfnEnvironmentProps(
233
+ connectivity_info=connectivity_info,
234
+ license_info=license_info,
235
+ service_access_subnet_id=service_access_subnet_id,
236
+ site_id=site_id,
237
+ terms_accepted=terms_accepted,
238
+ vcf_hostnames=vcf_hostnames,
239
+ vcf_version=vcf_version,
240
+ vpc_id=vpc_id,
241
+ environment_name=environment_name,
242
+ hosts=hosts,
243
+ initial_vlans=initial_vlans,
244
+ kms_key_id=kms_key_id,
245
+ service_access_security_groups=service_access_security_groups,
246
+ tags=tags,
247
+ )
248
+
249
+ jsii.create(self.__class__, self, [scope, id, props])
250
+
251
+ @jsii.member(jsii_name="inspect")
252
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
253
+ '''Examines the CloudFormation resource and discloses attributes.
254
+
255
+ :param inspector: tree inspector to collect and process attributes.
256
+ '''
257
+ if __debug__:
258
+ type_hints = typing.get_type_hints(_typecheckingstub__97c8e6ce05b681569d057e41cd3b8f77e1403e7a3da8aebf629d5b36513ac407)
259
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
260
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
261
+
262
+ @jsii.member(jsii_name="renderProperties")
263
+ def _render_properties(
264
+ self,
265
+ props: typing.Mapping[builtins.str, typing.Any],
266
+ ) -> typing.Mapping[builtins.str, typing.Any]:
267
+ '''
268
+ :param props: -
269
+ '''
270
+ if __debug__:
271
+ type_hints = typing.get_type_hints(_typecheckingstub__5933d5785ec1ac628e3fd45b05b1c5bc9e333cb80c6d102fb738934f3f5c15da)
272
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
273
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
274
+
275
+ @jsii.python.classproperty
276
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
277
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
278
+ '''The CloudFormation resource type name for this resource class.'''
279
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
280
+
281
+ @builtins.property
282
+ @jsii.member(jsii_name="attrChecks")
283
+ def attr_checks(self) -> _IResolvable_da3f097b:
284
+ '''A check on the environment to identify instance health and VMware VCF licensing issues. For example:.
285
+
286
+ ``{ "checks": [ { "type": "KEY_REUSE", "result": "PASSED" }, { "type": "KEY_COVERAGE", "result": "PASSED" }, { "type": "REACHABILITY", "result": "PASSED" }, { "type": "HOST_COUNT", "result": "PASSED" } ] }``
287
+
288
+ :cloudformationAttribute: Checks
289
+ '''
290
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrChecks"))
291
+
292
+ @builtins.property
293
+ @jsii.member(jsii_name="attrCreatedAt")
294
+ def attr_created_at(self) -> builtins.str:
295
+ '''The date and time that the environment was created.
296
+
297
+ For example: ``1749081600.000`` .
298
+
299
+ :cloudformationAttribute: CreatedAt
300
+ '''
301
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
302
+
303
+ @builtins.property
304
+ @jsii.member(jsii_name="attrCredentials")
305
+ def attr_credentials(self) -> _IResolvable_da3f097b:
306
+ '''The VCF credentials that are stored as Amazon EVS managed secrets in AWS Secrets Manager.
307
+
308
+ Amazon EVS stores credentials that are needed to install vCenter Server, NSX, and SDDC Manager. For example:
309
+
310
+ ``{ [ { "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" } ] }``
311
+
312
+ :cloudformationAttribute: Credentials
313
+ '''
314
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrCredentials"))
315
+
316
+ @builtins.property
317
+ @jsii.member(jsii_name="attrEnvironmentArn")
318
+ def attr_environment_arn(self) -> builtins.str:
319
+ '''The Amazon Resource Name (ARN) that is associated with the environment.
320
+
321
+ For example: ``arn:aws:evs:us-east-1:000000000000:environment/env-1234567890`` .
322
+
323
+ :cloudformationAttribute: EnvironmentArn
324
+ '''
325
+ return typing.cast(builtins.str, jsii.get(self, "attrEnvironmentArn"))
326
+
327
+ @builtins.property
328
+ @jsii.member(jsii_name="attrEnvironmentId")
329
+ def attr_environment_id(self) -> builtins.str:
330
+ '''The unique ID for the environment.
331
+
332
+ For example: ``env-1234567890`` .
333
+
334
+ :cloudformationAttribute: EnvironmentId
335
+ '''
336
+ return typing.cast(builtins.str, jsii.get(self, "attrEnvironmentId"))
337
+
338
+ @builtins.property
339
+ @jsii.member(jsii_name="attrEnvironmentState")
340
+ def attr_environment_state(self) -> builtins.str:
341
+ '''The state of an environment.
342
+
343
+ For example: ``CREATED`` .
344
+
345
+ :cloudformationAttribute: EnvironmentState
346
+ '''
347
+ return typing.cast(builtins.str, jsii.get(self, "attrEnvironmentState"))
348
+
349
+ @builtins.property
350
+ @jsii.member(jsii_name="attrModifiedAt")
351
+ def attr_modified_at(self) -> builtins.str:
352
+ '''The date and time that the environment was modified.
353
+
354
+ For example: ``1749081600.000`` .
355
+
356
+ :cloudformationAttribute: ModifiedAt
357
+ '''
358
+ return typing.cast(builtins.str, jsii.get(self, "attrModifiedAt"))
359
+
360
+ @builtins.property
361
+ @jsii.member(jsii_name="attrStateDetails")
362
+ def attr_state_details(self) -> builtins.str:
363
+ '''A detailed description of the ``environmentState`` of an environment.
364
+
365
+ For example: ``Environment successfully created`` .
366
+
367
+ :cloudformationAttribute: StateDetails
368
+ '''
369
+ return typing.cast(builtins.str, jsii.get(self, "attrStateDetails"))
370
+
371
+ @builtins.property
372
+ @jsii.member(jsii_name="cdkTagManager")
373
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
374
+ '''Tag Manager which manages the tags for this resource.'''
375
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
376
+
377
+ @builtins.property
378
+ @jsii.member(jsii_name="cfnProperties")
379
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
380
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
381
+
382
+ @builtins.property
383
+ @jsii.member(jsii_name="connectivityInfo")
384
+ def connectivity_info(
385
+ self,
386
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.ConnectivityInfoProperty"]:
387
+ '''The connectivity configuration for the environment.'''
388
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.ConnectivityInfoProperty"], jsii.get(self, "connectivityInfo"))
389
+
390
+ @connectivity_info.setter
391
+ def connectivity_info(
392
+ self,
393
+ value: typing.Union[_IResolvable_da3f097b, "CfnEnvironment.ConnectivityInfoProperty"],
394
+ ) -> None:
395
+ if __debug__:
396
+ type_hints = typing.get_type_hints(_typecheckingstub__bf81c76587f8aaaaa50fc18d1384cc1e8ff44f1cd0d764c0355340e0f0839c21)
397
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
398
+ jsii.set(self, "connectivityInfo", value) # pyright: ignore[reportArgumentType]
399
+
400
+ @builtins.property
401
+ @jsii.member(jsii_name="licenseInfo")
402
+ def license_info(
403
+ self,
404
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.LicenseInfoProperty"]:
405
+ '''The license information that Amazon EVS requires to create an environment.'''
406
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.LicenseInfoProperty"], jsii.get(self, "licenseInfo"))
407
+
408
+ @license_info.setter
409
+ def license_info(
410
+ self,
411
+ value: typing.Union[_IResolvable_da3f097b, "CfnEnvironment.LicenseInfoProperty"],
412
+ ) -> None:
413
+ if __debug__:
414
+ type_hints = typing.get_type_hints(_typecheckingstub__fb6e498dbb5d87feb34dfe26b3466fa6383016c37a4ea21caecc26f60b5ce901)
415
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
416
+ jsii.set(self, "licenseInfo", value) # pyright: ignore[reportArgumentType]
417
+
418
+ @builtins.property
419
+ @jsii.member(jsii_name="serviceAccessSubnetId")
420
+ def service_access_subnet_id(self) -> builtins.str:
421
+ '''The subnet that is used to establish connectivity between the Amazon EVS control plane and VPC.'''
422
+ return typing.cast(builtins.str, jsii.get(self, "serviceAccessSubnetId"))
423
+
424
+ @service_access_subnet_id.setter
425
+ def service_access_subnet_id(self, value: builtins.str) -> None:
426
+ if __debug__:
427
+ type_hints = typing.get_type_hints(_typecheckingstub__f01a5018beaa28fab7b0d068a7a6fe45dbeee0ab15ecdf25462887288ace66cb)
428
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
429
+ jsii.set(self, "serviceAccessSubnetId", value) # pyright: ignore[reportArgumentType]
430
+
431
+ @builtins.property
432
+ @jsii.member(jsii_name="siteId")
433
+ def site_id(self) -> builtins.str:
434
+ '''The Broadcom Site ID that is associated with your Amazon EVS environment.'''
435
+ return typing.cast(builtins.str, jsii.get(self, "siteId"))
436
+
437
+ @site_id.setter
438
+ def site_id(self, value: builtins.str) -> None:
439
+ if __debug__:
440
+ type_hints = typing.get_type_hints(_typecheckingstub__0dc69ff9904f782ce993fe0884901782c11a2214109cfd4cf83020946119b99f)
441
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
442
+ jsii.set(self, "siteId", value) # pyright: ignore[reportArgumentType]
443
+
444
+ @builtins.property
445
+ @jsii.member(jsii_name="termsAccepted")
446
+ def terms_accepted(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
447
+ '''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.'''
448
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], jsii.get(self, "termsAccepted"))
449
+
450
+ @terms_accepted.setter
451
+ def terms_accepted(
452
+ self,
453
+ value: typing.Union[builtins.bool, _IResolvable_da3f097b],
454
+ ) -> None:
455
+ if __debug__:
456
+ type_hints = typing.get_type_hints(_typecheckingstub__93808d5eb28c6837a5047d6d1811bd832bd6250809b9c84a0b609bb88989d45e)
457
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
458
+ jsii.set(self, "termsAccepted", value) # pyright: ignore[reportArgumentType]
459
+
460
+ @builtins.property
461
+ @jsii.member(jsii_name="vcfHostnames")
462
+ def vcf_hostnames(
463
+ self,
464
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.VcfHostnamesProperty"]:
465
+ '''The DNS hostnames to be used by the VCF management appliances in your environment.'''
466
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.VcfHostnamesProperty"], jsii.get(self, "vcfHostnames"))
467
+
468
+ @vcf_hostnames.setter
469
+ def vcf_hostnames(
470
+ self,
471
+ value: typing.Union[_IResolvable_da3f097b, "CfnEnvironment.VcfHostnamesProperty"],
472
+ ) -> None:
473
+ if __debug__:
474
+ type_hints = typing.get_type_hints(_typecheckingstub__98651cf572ae807d1eccd57a45d3ecc81f79063879b068927b5130df235e0b0c)
475
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
476
+ jsii.set(self, "vcfHostnames", value) # pyright: ignore[reportArgumentType]
477
+
478
+ @builtins.property
479
+ @jsii.member(jsii_name="vcfVersion")
480
+ def vcf_version(self) -> builtins.str:
481
+ '''The VCF version of the environment.'''
482
+ return typing.cast(builtins.str, jsii.get(self, "vcfVersion"))
483
+
484
+ @vcf_version.setter
485
+ def vcf_version(self, value: builtins.str) -> None:
486
+ if __debug__:
487
+ type_hints = typing.get_type_hints(_typecheckingstub__77294c8299a96e3407af4323a38741fc1be8bdc06d14be597ecf158dcf011c14)
488
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
489
+ jsii.set(self, "vcfVersion", value) # pyright: ignore[reportArgumentType]
490
+
491
+ @builtins.property
492
+ @jsii.member(jsii_name="vpcId")
493
+ def vpc_id(self) -> builtins.str:
494
+ '''The VPC associated with the environment.'''
495
+ return typing.cast(builtins.str, jsii.get(self, "vpcId"))
496
+
497
+ @vpc_id.setter
498
+ def vpc_id(self, value: builtins.str) -> None:
499
+ if __debug__:
500
+ type_hints = typing.get_type_hints(_typecheckingstub__60ce2bd3161be4b835be56a05bdccfd9639c58eea7d09baeab4884c9a906852e)
501
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
502
+ jsii.set(self, "vpcId", value) # pyright: ignore[reportArgumentType]
503
+
504
+ @builtins.property
505
+ @jsii.member(jsii_name="environmentName")
506
+ def environment_name(self) -> typing.Optional[builtins.str]:
507
+ '''The name of the environment.'''
508
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "environmentName"))
509
+
510
+ @environment_name.setter
511
+ def environment_name(self, value: typing.Optional[builtins.str]) -> None:
512
+ if __debug__:
513
+ type_hints = typing.get_type_hints(_typecheckingstub__16c81b6578fa573cefa89abf7b2fbcfcf6b8db97f8f8b8e2a8c44d8009af03ed)
514
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
515
+ jsii.set(self, "environmentName", value) # pyright: ignore[reportArgumentType]
516
+
517
+ @builtins.property
518
+ @jsii.member(jsii_name="hosts")
519
+ def hosts(
520
+ self,
521
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.HostInfoForCreateProperty"]]]]:
522
+ '''Required for environment resource creation.'''
523
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.HostInfoForCreateProperty"]]]], jsii.get(self, "hosts"))
524
+
525
+ @hosts.setter
526
+ def hosts(
527
+ self,
528
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.HostInfoForCreateProperty"]]]],
529
+ ) -> None:
530
+ if __debug__:
531
+ type_hints = typing.get_type_hints(_typecheckingstub__18c17b2a1d9ccb9d1cd534e31c376d097f1d59794abd3093f8587758af40bc2e)
532
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
533
+ jsii.set(self, "hosts", value) # pyright: ignore[reportArgumentType]
534
+
535
+ @builtins.property
536
+ @jsii.member(jsii_name="initialVlans")
537
+ def initial_vlans(
538
+ self,
539
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlansProperty"]]:
540
+ '''.. epigraph::
541
+
542
+ Amazon EVS is in public preview release and is subject to change.'''
543
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlansProperty"]], jsii.get(self, "initialVlans"))
544
+
545
+ @initial_vlans.setter
546
+ def initial_vlans(
547
+ self,
548
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlansProperty"]],
549
+ ) -> None:
550
+ if __debug__:
551
+ type_hints = typing.get_type_hints(_typecheckingstub__15ccc5cc405553a6a5463668babc67ef1dc4049150ba7dddfc07bee61251bcfe)
552
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
553
+ jsii.set(self, "initialVlans", value) # pyright: ignore[reportArgumentType]
554
+
555
+ @builtins.property
556
+ @jsii.member(jsii_name="kmsKeyId")
557
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
558
+ '''The AWS KMS key ID that AWS Secrets Manager uses to encrypt secrets that are associated with the environment.'''
559
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyId"))
560
+
561
+ @kms_key_id.setter
562
+ def kms_key_id(self, value: typing.Optional[builtins.str]) -> None:
563
+ if __debug__:
564
+ type_hints = typing.get_type_hints(_typecheckingstub__d5b585f35cde6963f33953b58455872fcf621844d2b3fa8f7f85b96542463156)
565
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
566
+ jsii.set(self, "kmsKeyId", value) # pyright: ignore[reportArgumentType]
567
+
568
+ @builtins.property
569
+ @jsii.member(jsii_name="serviceAccessSecurityGroups")
570
+ def service_access_security_groups(
571
+ self,
572
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.ServiceAccessSecurityGroupsProperty"]]:
573
+ '''The security groups that allow traffic between the Amazon EVS control plane and your VPC for service access.'''
574
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.ServiceAccessSecurityGroupsProperty"]], jsii.get(self, "serviceAccessSecurityGroups"))
575
+
576
+ @service_access_security_groups.setter
577
+ def service_access_security_groups(
578
+ self,
579
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnEnvironment.ServiceAccessSecurityGroupsProperty"]],
580
+ ) -> None:
581
+ if __debug__:
582
+ type_hints = typing.get_type_hints(_typecheckingstub__df95c894cd990c7a318fa3e3397c915f2a30df40bd79003673d83a2d1016e1b9)
583
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
584
+ jsii.set(self, "serviceAccessSecurityGroups", value) # pyright: ignore[reportArgumentType]
585
+
586
+ @builtins.property
587
+ @jsii.member(jsii_name="tags")
588
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
589
+ '''Metadata that assists with categorization and organization.'''
590
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
591
+
592
+ @tags.setter
593
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
594
+ if __debug__:
595
+ type_hints = typing.get_type_hints(_typecheckingstub__c420c54db733392f5b59d4f5a9ded1bfdc781dbe1df45ec2312e16a4c3655efd)
596
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
597
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
598
+
599
+ @jsii.data_type(
600
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.CheckProperty",
601
+ jsii_struct_bases=[],
602
+ name_mapping={
603
+ "result": "result",
604
+ "type": "type",
605
+ "impaired_since": "impairedSince",
606
+ },
607
+ )
608
+ class CheckProperty:
609
+ def __init__(
610
+ self,
611
+ *,
612
+ result: builtins.str,
613
+ type: builtins.str,
614
+ impaired_since: typing.Optional[builtins.str] = None,
615
+ ) -> None:
616
+ '''.. epigraph::
617
+
618
+ Amazon EVS is in public preview release and is subject to change.
619
+
620
+ A check on the environment to identify environment health and validate VMware VCF licensing compliance.
621
+
622
+ :param result: The check result.
623
+ :param type: The check type. Amazon EVS performs the following checks. - ``KEY_REUSE`` : checks that the VCF license key is not used by another Amazon EVS environment. This check fails if a used license is added to the environment. - ``KEY_COVERAGE`` : checks that your VCF license key allocates sufficient vCPU cores for all deployed hosts. The check fails when any assigned hosts in the EVS environment are not covered by license keys, or when any unassigned hosts cannot be covered by available vCPU cores in keys. - ``REACHABILITY`` : checks that the Amazon EVS control plane has a persistent connection to SDDC Manager. If Amazon EVS cannot reach the environment, this check fails. - ``HOST_COUNT`` : Checks that your environment has a minimum of 4 hosts, which is a requirement for VCF 5.2.1. If this check fails, you will need to add hosts so that your environment meets this minimum requirement. Amazon EVS only supports environments with 4-16 hosts.
624
+ :param impaired_since: The time when environment health began to be impaired.
625
+
626
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-check.html
627
+ :exampleMetadata: fixture=_generated
628
+
629
+ Example::
630
+
631
+ # The code below shows an example of how to instantiate this type.
632
+ # The values are placeholders you should change.
633
+ from aws_cdk import aws_evs as evs
634
+
635
+ check_property = evs.CfnEnvironment.CheckProperty(
636
+ result="result",
637
+ type="type",
638
+
639
+ # the properties below are optional
640
+ impaired_since="impairedSince"
641
+ )
642
+ '''
643
+ if __debug__:
644
+ type_hints = typing.get_type_hints(_typecheckingstub__fab870dfa28349d9079dfaa9f8d7d27975ec4da1aec540075bef6f41926da444)
645
+ check_type(argname="argument result", value=result, expected_type=type_hints["result"])
646
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
647
+ check_type(argname="argument impaired_since", value=impaired_since, expected_type=type_hints["impaired_since"])
648
+ self._values: typing.Dict[builtins.str, typing.Any] = {
649
+ "result": result,
650
+ "type": type,
651
+ }
652
+ if impaired_since is not None:
653
+ self._values["impaired_since"] = impaired_since
654
+
655
+ @builtins.property
656
+ def result(self) -> builtins.str:
657
+ '''The check result.
658
+
659
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-check.html#cfn-evs-environment-check-result
660
+ '''
661
+ result = self._values.get("result")
662
+ assert result is not None, "Required property 'result' is missing"
663
+ return typing.cast(builtins.str, result)
664
+
665
+ @builtins.property
666
+ def type(self) -> builtins.str:
667
+ '''The check type. Amazon EVS performs the following checks.
668
+
669
+ - ``KEY_REUSE`` : checks that the VCF license key is not used by another Amazon EVS environment. This check fails if a used license is added to the environment.
670
+ - ``KEY_COVERAGE`` : checks that your VCF license key allocates sufficient vCPU cores for all deployed hosts. The check fails when any assigned hosts in the EVS environment are not covered by license keys, or when any unassigned hosts cannot be covered by available vCPU cores in keys.
671
+ - ``REACHABILITY`` : checks that the Amazon EVS control plane has a persistent connection to SDDC Manager. If Amazon EVS cannot reach the environment, this check fails.
672
+ - ``HOST_COUNT`` : Checks that your environment has a minimum of 4 hosts, which is a requirement for VCF 5.2.1.
673
+
674
+ If this check fails, you will need to add hosts so that your environment meets this minimum requirement. Amazon EVS only supports environments with 4-16 hosts.
675
+
676
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-check.html#cfn-evs-environment-check-type
677
+ '''
678
+ result = self._values.get("type")
679
+ assert result is not None, "Required property 'type' is missing"
680
+ return typing.cast(builtins.str, result)
681
+
682
+ @builtins.property
683
+ def impaired_since(self) -> typing.Optional[builtins.str]:
684
+ '''The time when environment health began to be impaired.
685
+
686
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-check.html#cfn-evs-environment-check-impairedsince
687
+ '''
688
+ result = self._values.get("impaired_since")
689
+ return typing.cast(typing.Optional[builtins.str], result)
690
+
691
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
692
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
693
+
694
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
695
+ return not (rhs == self)
696
+
697
+ def __repr__(self) -> str:
698
+ return "CheckProperty(%s)" % ", ".join(
699
+ k + "=" + repr(v) for k, v in self._values.items()
700
+ )
701
+
702
+ @jsii.data_type(
703
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.ConnectivityInfoProperty",
704
+ jsii_struct_bases=[],
705
+ name_mapping={"private_route_server_peerings": "privateRouteServerPeerings"},
706
+ )
707
+ class ConnectivityInfoProperty:
708
+ def __init__(
709
+ self,
710
+ *,
711
+ private_route_server_peerings: typing.Sequence[builtins.str],
712
+ ) -> None:
713
+ '''.. epigraph::
714
+
715
+ Amazon EVS is in public preview release and is subject to change.
716
+
717
+ 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.
718
+
719
+ :param private_route_server_peerings: The unique IDs for private route server peers.
720
+
721
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-connectivityinfo.html
722
+ :exampleMetadata: fixture=_generated
723
+
724
+ Example::
725
+
726
+ # The code below shows an example of how to instantiate this type.
727
+ # The values are placeholders you should change.
728
+ from aws_cdk import aws_evs as evs
729
+
730
+ connectivity_info_property = evs.CfnEnvironment.ConnectivityInfoProperty(
731
+ private_route_server_peerings=["privateRouteServerPeerings"]
732
+ )
733
+ '''
734
+ if __debug__:
735
+ type_hints = typing.get_type_hints(_typecheckingstub__2cb3d22ab966fb57bf85a281b91db18f25f2e9b843fa76b2414f9c1ca1285629)
736
+ check_type(argname="argument private_route_server_peerings", value=private_route_server_peerings, expected_type=type_hints["private_route_server_peerings"])
737
+ self._values: typing.Dict[builtins.str, typing.Any] = {
738
+ "private_route_server_peerings": private_route_server_peerings,
739
+ }
740
+
741
+ @builtins.property
742
+ def private_route_server_peerings(self) -> typing.List[builtins.str]:
743
+ '''The unique IDs for private route server peers.
744
+
745
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-connectivityinfo.html#cfn-evs-environment-connectivityinfo-privaterouteserverpeerings
746
+ '''
747
+ result = self._values.get("private_route_server_peerings")
748
+ assert result is not None, "Required property 'private_route_server_peerings' is missing"
749
+ return typing.cast(typing.List[builtins.str], result)
750
+
751
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
752
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
753
+
754
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
755
+ return not (rhs == self)
756
+
757
+ def __repr__(self) -> str:
758
+ return "ConnectivityInfoProperty(%s)" % ", ".join(
759
+ k + "=" + repr(v) for k, v in self._values.items()
760
+ )
761
+
762
+ @jsii.data_type(
763
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.HostInfoForCreateProperty",
764
+ jsii_struct_bases=[],
765
+ name_mapping={
766
+ "host_name": "hostName",
767
+ "instance_type": "instanceType",
768
+ "key_name": "keyName",
769
+ "dedicated_host_id": "dedicatedHostId",
770
+ "placement_group_id": "placementGroupId",
771
+ },
772
+ )
773
+ class HostInfoForCreateProperty:
774
+ def __init__(
775
+ self,
776
+ *,
777
+ host_name: builtins.str,
778
+ instance_type: builtins.str,
779
+ key_name: builtins.str,
780
+ dedicated_host_id: typing.Optional[builtins.str] = None,
781
+ placement_group_id: typing.Optional[builtins.str] = None,
782
+ ) -> None:
783
+ '''.. epigraph::
784
+
785
+ Amazon EVS is in public preview release and is subject to change.
786
+
787
+ An object that represents a host.
788
+ .. epigraph::
789
+
790
+ You cannot use ``dedicatedHostId`` and ``placementGroupId`` together in the same ``HostInfoForCreate`` object. This results in a ``ValidationException`` response.
791
+
792
+ :param host_name: The DNS hostname of the host. DNS hostnames for hosts must be unique across Amazon EVS environments and within VCF.
793
+ :param instance_type: The EC2 instance type that represents the host.
794
+ :param key_name: The name of the SSH key that is used to access the host.
795
+ :param dedicated_host_id: The unique ID of the Amazon EC2 Dedicated Host.
796
+ :param placement_group_id: The unique ID of the placement group where the host is placed.
797
+
798
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-hostinfoforcreate.html
799
+ :exampleMetadata: fixture=_generated
800
+
801
+ Example::
802
+
803
+ # The code below shows an example of how to instantiate this type.
804
+ # The values are placeholders you should change.
805
+ from aws_cdk import aws_evs as evs
806
+
807
+ host_info_for_create_property = evs.CfnEnvironment.HostInfoForCreateProperty(
808
+ host_name="hostName",
809
+ instance_type="instanceType",
810
+ key_name="keyName",
811
+
812
+ # the properties below are optional
813
+ dedicated_host_id="dedicatedHostId",
814
+ placement_group_id="placementGroupId"
815
+ )
816
+ '''
817
+ if __debug__:
818
+ type_hints = typing.get_type_hints(_typecheckingstub__3b92e04ba9146f120cc657bac8562ffe8ba1683c2cda51e8edf7837916efbff4)
819
+ check_type(argname="argument host_name", value=host_name, expected_type=type_hints["host_name"])
820
+ check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
821
+ check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
822
+ check_type(argname="argument dedicated_host_id", value=dedicated_host_id, expected_type=type_hints["dedicated_host_id"])
823
+ check_type(argname="argument placement_group_id", value=placement_group_id, expected_type=type_hints["placement_group_id"])
824
+ self._values: typing.Dict[builtins.str, typing.Any] = {
825
+ "host_name": host_name,
826
+ "instance_type": instance_type,
827
+ "key_name": key_name,
828
+ }
829
+ if dedicated_host_id is not None:
830
+ self._values["dedicated_host_id"] = dedicated_host_id
831
+ if placement_group_id is not None:
832
+ self._values["placement_group_id"] = placement_group_id
833
+
834
+ @builtins.property
835
+ def host_name(self) -> builtins.str:
836
+ '''The DNS hostname of the host.
837
+
838
+ DNS hostnames for hosts must be unique across Amazon EVS environments and within VCF.
839
+
840
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-hostinfoforcreate.html#cfn-evs-environment-hostinfoforcreate-hostname
841
+ '''
842
+ result = self._values.get("host_name")
843
+ assert result is not None, "Required property 'host_name' is missing"
844
+ return typing.cast(builtins.str, result)
845
+
846
+ @builtins.property
847
+ def instance_type(self) -> builtins.str:
848
+ '''The EC2 instance type that represents the host.
849
+
850
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-hostinfoforcreate.html#cfn-evs-environment-hostinfoforcreate-instancetype
851
+ '''
852
+ result = self._values.get("instance_type")
853
+ assert result is not None, "Required property 'instance_type' is missing"
854
+ return typing.cast(builtins.str, result)
855
+
856
+ @builtins.property
857
+ def key_name(self) -> builtins.str:
858
+ '''The name of the SSH key that is used to access the host.
859
+
860
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-hostinfoforcreate.html#cfn-evs-environment-hostinfoforcreate-keyname
861
+ '''
862
+ result = self._values.get("key_name")
863
+ assert result is not None, "Required property 'key_name' is missing"
864
+ return typing.cast(builtins.str, result)
865
+
866
+ @builtins.property
867
+ def dedicated_host_id(self) -> typing.Optional[builtins.str]:
868
+ '''The unique ID of the Amazon EC2 Dedicated Host.
869
+
870
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-hostinfoforcreate.html#cfn-evs-environment-hostinfoforcreate-dedicatedhostid
871
+ '''
872
+ result = self._values.get("dedicated_host_id")
873
+ return typing.cast(typing.Optional[builtins.str], result)
874
+
875
+ @builtins.property
876
+ def placement_group_id(self) -> typing.Optional[builtins.str]:
877
+ '''The unique ID of the placement group where the host is placed.
878
+
879
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-hostinfoforcreate.html#cfn-evs-environment-hostinfoforcreate-placementgroupid
880
+ '''
881
+ result = self._values.get("placement_group_id")
882
+ return typing.cast(typing.Optional[builtins.str], result)
883
+
884
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
885
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
886
+
887
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
888
+ return not (rhs == self)
889
+
890
+ def __repr__(self) -> str:
891
+ return "HostInfoForCreateProperty(%s)" % ", ".join(
892
+ k + "=" + repr(v) for k, v in self._values.items()
893
+ )
894
+
895
+ @jsii.data_type(
896
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.InitialVlanInfoProperty",
897
+ jsii_struct_bases=[],
898
+ name_mapping={"cidr": "cidr"},
899
+ )
900
+ class InitialVlanInfoProperty:
901
+ def __init__(self, *, cidr: builtins.str) -> None:
902
+ '''.. epigraph::
903
+
904
+ Amazon EVS is in public preview release and is subject to change.
905
+
906
+ An object that represents an initial VLAN subnet for the Amazon EVS environment. Amazon EVS creates initial VLAN subnets when you first create the environment. Amazon EVS creates the following 10 VLAN subnets: host management VLAN, vMotion VLAN, vSAN VLAN, VTEP VLAN, Edge VTEP VLAN, Management VM VLAN, HCX uplink VLAN, NSX uplink VLAN, expansion VLAN 1, expansion VLAN 2.
907
+ .. epigraph::
908
+
909
+ For each Amazon EVS VLAN subnet, you must specify a non-overlapping CIDR block. Amazon EVS VLAN subnets have a minimum CIDR block size of /28 and a maximum size of /24.
910
+
911
+ :param cidr: The CIDR block that you provide to create an Amazon EVS VLAN subnet. 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.
912
+
913
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlaninfo.html
914
+ :exampleMetadata: fixture=_generated
915
+
916
+ Example::
917
+
918
+ # The code below shows an example of how to instantiate this type.
919
+ # The values are placeholders you should change.
920
+ from aws_cdk import aws_evs as evs
921
+
922
+ initial_vlan_info_property = evs.CfnEnvironment.InitialVlanInfoProperty(
923
+ cidr="cidr"
924
+ )
925
+ '''
926
+ if __debug__:
927
+ type_hints = typing.get_type_hints(_typecheckingstub__620167df6fd78af7ecffe1762889e66c6a24ac02786c4e7ca2d324fab050513a)
928
+ check_type(argname="argument cidr", value=cidr, expected_type=type_hints["cidr"])
929
+ self._values: typing.Dict[builtins.str, typing.Any] = {
930
+ "cidr": cidr,
931
+ }
932
+
933
+ @builtins.property
934
+ def cidr(self) -> builtins.str:
935
+ '''The CIDR block that you provide to create an Amazon EVS VLAN subnet.
936
+
937
+ 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.
938
+
939
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlaninfo.html#cfn-evs-environment-initialvlaninfo-cidr
940
+ '''
941
+ result = self._values.get("cidr")
942
+ assert result is not None, "Required property 'cidr' is missing"
943
+ return typing.cast(builtins.str, result)
944
+
945
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
946
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
947
+
948
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
949
+ return not (rhs == self)
950
+
951
+ def __repr__(self) -> str:
952
+ return "InitialVlanInfoProperty(%s)" % ", ".join(
953
+ k + "=" + repr(v) for k, v in self._values.items()
954
+ )
955
+
956
+ @jsii.data_type(
957
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.InitialVlansProperty",
958
+ jsii_struct_bases=[],
959
+ name_mapping={
960
+ "edge_v_tep": "edgeVTep",
961
+ "expansion_vlan1": "expansionVlan1",
962
+ "expansion_vlan2": "expansionVlan2",
963
+ "hcx": "hcx",
964
+ "nsx_up_link": "nsxUpLink",
965
+ "vmk_management": "vmkManagement",
966
+ "vm_management": "vmManagement",
967
+ "v_motion": "vMotion",
968
+ "v_san": "vSan",
969
+ "v_tep": "vTep",
970
+ },
971
+ )
972
+ class InitialVlansProperty:
973
+ def __init__(
974
+ self,
975
+ *,
976
+ edge_v_tep: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
977
+ expansion_vlan1: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
978
+ expansion_vlan2: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
979
+ hcx: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
980
+ nsx_up_link: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
981
+ vmk_management: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
982
+ vm_management: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
983
+ v_motion: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
984
+ v_san: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
985
+ v_tep: typing.Union[_IResolvable_da3f097b, typing.Union["CfnEnvironment.InitialVlanInfoProperty", typing.Dict[builtins.str, typing.Any]]],
986
+ ) -> None:
987
+ '''.. epigraph::
988
+
989
+ Amazon EVS is in public preview release and is subject to change.
990
+
991
+ 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.
992
+
993
+ :param edge_v_tep: The edge VTEP VLAN subnet. This VLAN subnet manages traffic flowing between the internal network and external networks, including internet access and other site connections.
994
+ :param expansion_vlan1: An additional VLAN subnet that can be used to extend VCF capabilities once configured. For example, you can configure an expansion VLAN subnet to use NSX Federation for centralized management and synchronization of multiple NSX deployments across different locations.
995
+ :param expansion_vlan2: An additional VLAN subnet that can be used to extend VCF capabilities once configured. For example, you can configure an expansion VLAN subnet to use NSX Federation for centralized management and synchronization of multiple NSX deployments across different locations.
996
+ :param hcx: The HCX VLAN subnet. This VLAN subnet allows the HCX Interconnnect (IX) and HCX Network Extension (NE) to reach their peers and enable HCX Service Mesh creation.
997
+ :param nsx_up_link: The NSX uplink VLAN subnet. This VLAN subnet allows connectivity to the NSX overlay network.
998
+ :param vmk_management: The host VMkernel management VLAN subnet. This VLAN subnet carries traffic for managing ESXi hosts and communicating with VMware vCenter Server.
999
+ :param vm_management: The VM management VLAN subnet. This VLAN subnet carries traffic for vSphere virtual machines.
1000
+ :param v_motion: The vMotion VLAN subnet. This VLAN subnet carries traffic for vSphere vMotion.
1001
+ :param v_san: The vSAN VLAN subnet. This VLAN subnet carries the communication between ESXi hosts to implement a vSAN shared storage pool.
1002
+ :param v_tep: The VTEP VLAN subnet. This VLAN subnet handles internal network traffic between virtual machines within a VCF instance.
1003
+
1004
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html
1005
+ :exampleMetadata: fixture=_generated
1006
+
1007
+ Example::
1008
+
1009
+ # The code below shows an example of how to instantiate this type.
1010
+ # The values are placeholders you should change.
1011
+ from aws_cdk import aws_evs as evs
1012
+
1013
+ initial_vlans_property = evs.CfnEnvironment.InitialVlansProperty(
1014
+ edge_vTep=evs.CfnEnvironment.InitialVlanInfoProperty(
1015
+ cidr="cidr"
1016
+ ),
1017
+ expansion_vlan1=evs.CfnEnvironment.InitialVlanInfoProperty(
1018
+ cidr="cidr"
1019
+ ),
1020
+ expansion_vlan2=evs.CfnEnvironment.InitialVlanInfoProperty(
1021
+ cidr="cidr"
1022
+ ),
1023
+ hcx=evs.CfnEnvironment.InitialVlanInfoProperty(
1024
+ cidr="cidr"
1025
+ ),
1026
+ nsx_up_link=evs.CfnEnvironment.InitialVlanInfoProperty(
1027
+ cidr="cidr"
1028
+ ),
1029
+ vmk_management=evs.CfnEnvironment.InitialVlanInfoProperty(
1030
+ cidr="cidr"
1031
+ ),
1032
+ vm_management=evs.CfnEnvironment.InitialVlanInfoProperty(
1033
+ cidr="cidr"
1034
+ ),
1035
+ v_motion=evs.CfnEnvironment.InitialVlanInfoProperty(
1036
+ cidr="cidr"
1037
+ ),
1038
+ v_san=evs.CfnEnvironment.InitialVlanInfoProperty(
1039
+ cidr="cidr"
1040
+ ),
1041
+ v_tep=evs.CfnEnvironment.InitialVlanInfoProperty(
1042
+ cidr="cidr"
1043
+ )
1044
+ )
1045
+ '''
1046
+ if __debug__:
1047
+ type_hints = typing.get_type_hints(_typecheckingstub__a70b9547ba64740f8b44168dbcdcd80e75a75a1dc2ed733c834ad336fe27001d)
1048
+ check_type(argname="argument edge_v_tep", value=edge_v_tep, expected_type=type_hints["edge_v_tep"])
1049
+ check_type(argname="argument expansion_vlan1", value=expansion_vlan1, expected_type=type_hints["expansion_vlan1"])
1050
+ check_type(argname="argument expansion_vlan2", value=expansion_vlan2, expected_type=type_hints["expansion_vlan2"])
1051
+ check_type(argname="argument hcx", value=hcx, expected_type=type_hints["hcx"])
1052
+ check_type(argname="argument nsx_up_link", value=nsx_up_link, expected_type=type_hints["nsx_up_link"])
1053
+ check_type(argname="argument vmk_management", value=vmk_management, expected_type=type_hints["vmk_management"])
1054
+ check_type(argname="argument vm_management", value=vm_management, expected_type=type_hints["vm_management"])
1055
+ check_type(argname="argument v_motion", value=v_motion, expected_type=type_hints["v_motion"])
1056
+ check_type(argname="argument v_san", value=v_san, expected_type=type_hints["v_san"])
1057
+ check_type(argname="argument v_tep", value=v_tep, expected_type=type_hints["v_tep"])
1058
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1059
+ "edge_v_tep": edge_v_tep,
1060
+ "expansion_vlan1": expansion_vlan1,
1061
+ "expansion_vlan2": expansion_vlan2,
1062
+ "hcx": hcx,
1063
+ "nsx_up_link": nsx_up_link,
1064
+ "vmk_management": vmk_management,
1065
+ "vm_management": vm_management,
1066
+ "v_motion": v_motion,
1067
+ "v_san": v_san,
1068
+ "v_tep": v_tep,
1069
+ }
1070
+
1071
+ @builtins.property
1072
+ def edge_v_tep(
1073
+ self,
1074
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1075
+ '''The edge VTEP VLAN subnet.
1076
+
1077
+ This VLAN subnet manages traffic flowing between the internal network and external networks, including internet access and other site connections.
1078
+
1079
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-edgevtep
1080
+ '''
1081
+ result = self._values.get("edge_v_tep")
1082
+ assert result is not None, "Required property 'edge_v_tep' is missing"
1083
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1084
+
1085
+ @builtins.property
1086
+ def expansion_vlan1(
1087
+ self,
1088
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1089
+ '''An additional VLAN subnet that can be used to extend VCF capabilities once configured.
1090
+
1091
+ For example, you can configure an expansion VLAN subnet to use NSX Federation for centralized management and synchronization of multiple NSX deployments across different locations.
1092
+
1093
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-expansionvlan1
1094
+ '''
1095
+ result = self._values.get("expansion_vlan1")
1096
+ assert result is not None, "Required property 'expansion_vlan1' is missing"
1097
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1098
+
1099
+ @builtins.property
1100
+ def expansion_vlan2(
1101
+ self,
1102
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1103
+ '''An additional VLAN subnet that can be used to extend VCF capabilities once configured.
1104
+
1105
+ For example, you can configure an expansion VLAN subnet to use NSX Federation for centralized management and synchronization of multiple NSX deployments across different locations.
1106
+
1107
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-expansionvlan2
1108
+ '''
1109
+ result = self._values.get("expansion_vlan2")
1110
+ assert result is not None, "Required property 'expansion_vlan2' is missing"
1111
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1112
+
1113
+ @builtins.property
1114
+ def hcx(
1115
+ self,
1116
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1117
+ '''The HCX VLAN subnet.
1118
+
1119
+ This VLAN subnet allows the HCX Interconnnect (IX) and HCX Network Extension (NE) to reach their peers and enable HCX Service Mesh creation.
1120
+
1121
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-hcx
1122
+ '''
1123
+ result = self._values.get("hcx")
1124
+ assert result is not None, "Required property 'hcx' is missing"
1125
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1126
+
1127
+ @builtins.property
1128
+ def nsx_up_link(
1129
+ self,
1130
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1131
+ '''The NSX uplink VLAN subnet.
1132
+
1133
+ This VLAN subnet allows connectivity to the NSX overlay network.
1134
+
1135
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-nsxuplink
1136
+ '''
1137
+ result = self._values.get("nsx_up_link")
1138
+ assert result is not None, "Required property 'nsx_up_link' is missing"
1139
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1140
+
1141
+ @builtins.property
1142
+ def vmk_management(
1143
+ self,
1144
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1145
+ '''The host VMkernel management VLAN subnet.
1146
+
1147
+ This VLAN subnet carries traffic for managing ESXi hosts and communicating with VMware vCenter Server.
1148
+
1149
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-vmkmanagement
1150
+ '''
1151
+ result = self._values.get("vmk_management")
1152
+ assert result is not None, "Required property 'vmk_management' is missing"
1153
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1154
+
1155
+ @builtins.property
1156
+ def vm_management(
1157
+ self,
1158
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1159
+ '''The VM management VLAN subnet.
1160
+
1161
+ This VLAN subnet carries traffic for vSphere virtual machines.
1162
+
1163
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-vmmanagement
1164
+ '''
1165
+ result = self._values.get("vm_management")
1166
+ assert result is not None, "Required property 'vm_management' is missing"
1167
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1168
+
1169
+ @builtins.property
1170
+ def v_motion(
1171
+ self,
1172
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1173
+ '''The vMotion VLAN subnet.
1174
+
1175
+ This VLAN subnet carries traffic for vSphere vMotion.
1176
+
1177
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-vmotion
1178
+ '''
1179
+ result = self._values.get("v_motion")
1180
+ assert result is not None, "Required property 'v_motion' is missing"
1181
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1182
+
1183
+ @builtins.property
1184
+ def v_san(
1185
+ self,
1186
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1187
+ '''The vSAN VLAN subnet.
1188
+
1189
+ This VLAN subnet carries the communication between ESXi hosts to implement a vSAN shared storage pool.
1190
+
1191
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-vsan
1192
+ '''
1193
+ result = self._values.get("v_san")
1194
+ assert result is not None, "Required property 'v_san' is missing"
1195
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1196
+
1197
+ @builtins.property
1198
+ def v_tep(
1199
+ self,
1200
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"]:
1201
+ '''The VTEP VLAN subnet.
1202
+
1203
+ This VLAN subnet handles internal network traffic between virtual machines within a VCF instance.
1204
+
1205
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-initialvlans.html#cfn-evs-environment-initialvlans-vtep
1206
+ '''
1207
+ result = self._values.get("v_tep")
1208
+ assert result is not None, "Required property 'v_tep' is missing"
1209
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnEnvironment.InitialVlanInfoProperty"], result)
1210
+
1211
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1212
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1213
+
1214
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1215
+ return not (rhs == self)
1216
+
1217
+ def __repr__(self) -> str:
1218
+ return "InitialVlansProperty(%s)" % ", ".join(
1219
+ k + "=" + repr(v) for k, v in self._values.items()
1220
+ )
1221
+
1222
+ @jsii.data_type(
1223
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.LicenseInfoProperty",
1224
+ jsii_struct_bases=[],
1225
+ name_mapping={"solution_key": "solutionKey", "vsan_key": "vsanKey"},
1226
+ )
1227
+ class LicenseInfoProperty:
1228
+ def __init__(
1229
+ self,
1230
+ *,
1231
+ solution_key: builtins.str,
1232
+ vsan_key: builtins.str,
1233
+ ) -> None:
1234
+ '''.. epigraph::
1235
+
1236
+ Amazon EVS is in public preview release and is subject to change.
1237
+
1238
+ 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.
1239
+
1240
+ :param solution_key: The VCF solution key. This license unlocks VMware VCF product features, including vSphere, NSX, SDDC Manager, and vCenter Server.
1241
+ :param vsan_key: The VSAN license key. This license unlocks vSAN features.
1242
+
1243
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-licenseinfo.html
1244
+ :exampleMetadata: fixture=_generated
1245
+
1246
+ Example::
1247
+
1248
+ # The code below shows an example of how to instantiate this type.
1249
+ # The values are placeholders you should change.
1250
+ from aws_cdk import aws_evs as evs
1251
+
1252
+ license_info_property = evs.CfnEnvironment.LicenseInfoProperty(
1253
+ solution_key="solutionKey",
1254
+ vsan_key="vsanKey"
1255
+ )
1256
+ '''
1257
+ if __debug__:
1258
+ type_hints = typing.get_type_hints(_typecheckingstub__6bb631c066ce7fa55edfeac94e8c8a5337b818eed4292c5b3aced9cad6d1cad3)
1259
+ check_type(argname="argument solution_key", value=solution_key, expected_type=type_hints["solution_key"])
1260
+ check_type(argname="argument vsan_key", value=vsan_key, expected_type=type_hints["vsan_key"])
1261
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1262
+ "solution_key": solution_key,
1263
+ "vsan_key": vsan_key,
1264
+ }
1265
+
1266
+ @builtins.property
1267
+ def solution_key(self) -> builtins.str:
1268
+ '''The VCF solution key.
1269
+
1270
+ This license unlocks VMware VCF product features, including vSphere, NSX, SDDC Manager, and vCenter Server.
1271
+
1272
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-licenseinfo.html#cfn-evs-environment-licenseinfo-solutionkey
1273
+ '''
1274
+ result = self._values.get("solution_key")
1275
+ assert result is not None, "Required property 'solution_key' is missing"
1276
+ return typing.cast(builtins.str, result)
1277
+
1278
+ @builtins.property
1279
+ def vsan_key(self) -> builtins.str:
1280
+ '''The VSAN license key.
1281
+
1282
+ This license unlocks vSAN features.
1283
+
1284
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-licenseinfo.html#cfn-evs-environment-licenseinfo-vsankey
1285
+ '''
1286
+ result = self._values.get("vsan_key")
1287
+ assert result is not None, "Required property 'vsan_key' is missing"
1288
+ return typing.cast(builtins.str, result)
1289
+
1290
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1291
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1292
+
1293
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1294
+ return not (rhs == self)
1295
+
1296
+ def __repr__(self) -> str:
1297
+ return "LicenseInfoProperty(%s)" % ", ".join(
1298
+ k + "=" + repr(v) for k, v in self._values.items()
1299
+ )
1300
+
1301
+ @jsii.data_type(
1302
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.SecretProperty",
1303
+ jsii_struct_bases=[],
1304
+ name_mapping={"secret_arn": "secretArn"},
1305
+ )
1306
+ class SecretProperty:
1307
+ def __init__(self, *, secret_arn: typing.Optional[builtins.str] = None) -> None:
1308
+ '''.. epigraph::
1309
+
1310
+ Amazon EVS is in public preview release and is subject to change.
1311
+
1312
+ A managed secret that contains the credentials for installing vCenter Server, NSX, and SDDC Manager. During environment creation, the Amazon EVS control plane uses AWS Secrets Manager to create, encrypt, validate, and store secrets. If you choose to delete your environment, Amazon EVS also deletes the secrets that are associated with your environment. Amazon EVS does not provide managed rotation of secrets. We recommend that you rotate secrets regularly to ensure that secrets are not long-lived.
1313
+
1314
+ :param secret_arn: The Amazon Resource Name (ARN) of the secret.
1315
+
1316
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-secret.html
1317
+ :exampleMetadata: fixture=_generated
1318
+
1319
+ Example::
1320
+
1321
+ # The code below shows an example of how to instantiate this type.
1322
+ # The values are placeholders you should change.
1323
+ from aws_cdk import aws_evs as evs
1324
+
1325
+ secret_property = evs.CfnEnvironment.SecretProperty(
1326
+ secret_arn="secretArn"
1327
+ )
1328
+ '''
1329
+ if __debug__:
1330
+ type_hints = typing.get_type_hints(_typecheckingstub__33967b6ef3400afc32ce0af5c9e428f01559afa67ae04decfe8e700e94b87a50)
1331
+ check_type(argname="argument secret_arn", value=secret_arn, expected_type=type_hints["secret_arn"])
1332
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1333
+ if secret_arn is not None:
1334
+ self._values["secret_arn"] = secret_arn
1335
+
1336
+ @builtins.property
1337
+ def secret_arn(self) -> typing.Optional[builtins.str]:
1338
+ '''The Amazon Resource Name (ARN) of the secret.
1339
+
1340
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-secret.html#cfn-evs-environment-secret-secretarn
1341
+ '''
1342
+ result = self._values.get("secret_arn")
1343
+ return typing.cast(typing.Optional[builtins.str], result)
1344
+
1345
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1346
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1347
+
1348
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1349
+ return not (rhs == self)
1350
+
1351
+ def __repr__(self) -> str:
1352
+ return "SecretProperty(%s)" % ", ".join(
1353
+ k + "=" + repr(v) for k, v in self._values.items()
1354
+ )
1355
+
1356
+ @jsii.data_type(
1357
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.ServiceAccessSecurityGroupsProperty",
1358
+ jsii_struct_bases=[],
1359
+ name_mapping={"security_groups": "securityGroups"},
1360
+ )
1361
+ class ServiceAccessSecurityGroupsProperty:
1362
+ def __init__(
1363
+ self,
1364
+ *,
1365
+ security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
1366
+ ) -> None:
1367
+ '''.. epigraph::
1368
+
1369
+ Amazon EVS is in public preview release and is subject to change.
1370
+
1371
+ The security groups that allow traffic between the Amazon EVS control plane and your VPC for Amazon EVS service access. If a security group is not specified, Amazon EVS uses the default security group in your account for service access.
1372
+
1373
+ :param security_groups: The security groups that allow service access.
1374
+
1375
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-serviceaccesssecuritygroups.html
1376
+ :exampleMetadata: fixture=_generated
1377
+
1378
+ Example::
1379
+
1380
+ # The code below shows an example of how to instantiate this type.
1381
+ # The values are placeholders you should change.
1382
+ from aws_cdk import aws_evs as evs
1383
+
1384
+ service_access_security_groups_property = evs.CfnEnvironment.ServiceAccessSecurityGroupsProperty(
1385
+ security_groups=["securityGroups"]
1386
+ )
1387
+ '''
1388
+ if __debug__:
1389
+ type_hints = typing.get_type_hints(_typecheckingstub__35c3da17a2fce469ae79744d181a61b0265e29008e2b55604fbe06fb54b01d0d)
1390
+ check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
1391
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1392
+ if security_groups is not None:
1393
+ self._values["security_groups"] = security_groups
1394
+
1395
+ @builtins.property
1396
+ def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
1397
+ '''The security groups that allow service access.
1398
+
1399
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-serviceaccesssecuritygroups.html#cfn-evs-environment-serviceaccesssecuritygroups-securitygroups
1400
+ '''
1401
+ result = self._values.get("security_groups")
1402
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1403
+
1404
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1405
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1406
+
1407
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1408
+ return not (rhs == self)
1409
+
1410
+ def __repr__(self) -> str:
1411
+ return "ServiceAccessSecurityGroupsProperty(%s)" % ", ".join(
1412
+ k + "=" + repr(v) for k, v in self._values.items()
1413
+ )
1414
+
1415
+ @jsii.data_type(
1416
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironment.VcfHostnamesProperty",
1417
+ jsii_struct_bases=[],
1418
+ name_mapping={
1419
+ "cloud_builder": "cloudBuilder",
1420
+ "nsx": "nsx",
1421
+ "nsx_edge1": "nsxEdge1",
1422
+ "nsx_edge2": "nsxEdge2",
1423
+ "nsx_manager1": "nsxManager1",
1424
+ "nsx_manager2": "nsxManager2",
1425
+ "nsx_manager3": "nsxManager3",
1426
+ "sddc_manager": "sddcManager",
1427
+ "v_center": "vCenter",
1428
+ },
1429
+ )
1430
+ class VcfHostnamesProperty:
1431
+ def __init__(
1432
+ self,
1433
+ *,
1434
+ cloud_builder: builtins.str,
1435
+ nsx: builtins.str,
1436
+ nsx_edge1: builtins.str,
1437
+ nsx_edge2: builtins.str,
1438
+ nsx_manager1: builtins.str,
1439
+ nsx_manager2: builtins.str,
1440
+ nsx_manager3: builtins.str,
1441
+ sddc_manager: builtins.str,
1442
+ v_center: builtins.str,
1443
+ ) -> None:
1444
+ '''.. epigraph::
1445
+
1446
+ Amazon EVS is in public preview release and is subject to change.
1447
+
1448
+ The DNS hostnames that Amazon EVS uses to install VMware vCenter Server, NSX, SDDC Manager, and Cloud Builder. Each hostname must be unique, and resolve to a domain name that you've registered in your DNS service of choice. Hostnames cannot be changed.
1449
+
1450
+ VMware VCF requires the deployment of two NSX Edge nodes, and three NSX Manager virtual machines.
1451
+
1452
+ :param cloud_builder: The hostname for VMware Cloud Builder.
1453
+ :param nsx: The VMware NSX hostname.
1454
+ :param nsx_edge1: The hostname for the first NSX Edge node.
1455
+ :param nsx_edge2: The hostname for the second NSX Edge node.
1456
+ :param nsx_manager1: The hostname for the first VMware NSX Manager virtual machine (VM).
1457
+ :param nsx_manager2: The hostname for the second VMware NSX Manager virtual machine (VM).
1458
+ :param nsx_manager3: The hostname for the third VMware NSX Manager virtual machine (VM).
1459
+ :param sddc_manager: The hostname for SDDC Manager.
1460
+ :param v_center: The VMware vCenter hostname.
1461
+
1462
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html
1463
+ :exampleMetadata: fixture=_generated
1464
+
1465
+ Example::
1466
+
1467
+ # The code below shows an example of how to instantiate this type.
1468
+ # The values are placeholders you should change.
1469
+ from aws_cdk import aws_evs as evs
1470
+
1471
+ vcf_hostnames_property = evs.CfnEnvironment.VcfHostnamesProperty(
1472
+ cloud_builder="cloudBuilder",
1473
+ nsx="nsx",
1474
+ nsx_edge1="nsxEdge1",
1475
+ nsx_edge2="nsxEdge2",
1476
+ nsx_manager1="nsxManager1",
1477
+ nsx_manager2="nsxManager2",
1478
+ nsx_manager3="nsxManager3",
1479
+ sddc_manager="sddcManager",
1480
+ v_center="vCenter"
1481
+ )
1482
+ '''
1483
+ if __debug__:
1484
+ type_hints = typing.get_type_hints(_typecheckingstub__1ba5fd1a9e5e7dc84687933a99fd65aef3da8840e139b66bfd40a66914e4a834)
1485
+ check_type(argname="argument cloud_builder", value=cloud_builder, expected_type=type_hints["cloud_builder"])
1486
+ check_type(argname="argument nsx", value=nsx, expected_type=type_hints["nsx"])
1487
+ check_type(argname="argument nsx_edge1", value=nsx_edge1, expected_type=type_hints["nsx_edge1"])
1488
+ check_type(argname="argument nsx_edge2", value=nsx_edge2, expected_type=type_hints["nsx_edge2"])
1489
+ check_type(argname="argument nsx_manager1", value=nsx_manager1, expected_type=type_hints["nsx_manager1"])
1490
+ check_type(argname="argument nsx_manager2", value=nsx_manager2, expected_type=type_hints["nsx_manager2"])
1491
+ check_type(argname="argument nsx_manager3", value=nsx_manager3, expected_type=type_hints["nsx_manager3"])
1492
+ check_type(argname="argument sddc_manager", value=sddc_manager, expected_type=type_hints["sddc_manager"])
1493
+ check_type(argname="argument v_center", value=v_center, expected_type=type_hints["v_center"])
1494
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1495
+ "cloud_builder": cloud_builder,
1496
+ "nsx": nsx,
1497
+ "nsx_edge1": nsx_edge1,
1498
+ "nsx_edge2": nsx_edge2,
1499
+ "nsx_manager1": nsx_manager1,
1500
+ "nsx_manager2": nsx_manager2,
1501
+ "nsx_manager3": nsx_manager3,
1502
+ "sddc_manager": sddc_manager,
1503
+ "v_center": v_center,
1504
+ }
1505
+
1506
+ @builtins.property
1507
+ def cloud_builder(self) -> builtins.str:
1508
+ '''The hostname for VMware Cloud Builder.
1509
+
1510
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-cloudbuilder
1511
+ '''
1512
+ result = self._values.get("cloud_builder")
1513
+ assert result is not None, "Required property 'cloud_builder' is missing"
1514
+ return typing.cast(builtins.str, result)
1515
+
1516
+ @builtins.property
1517
+ def nsx(self) -> builtins.str:
1518
+ '''The VMware NSX hostname.
1519
+
1520
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-nsx
1521
+ '''
1522
+ result = self._values.get("nsx")
1523
+ assert result is not None, "Required property 'nsx' is missing"
1524
+ return typing.cast(builtins.str, result)
1525
+
1526
+ @builtins.property
1527
+ def nsx_edge1(self) -> builtins.str:
1528
+ '''The hostname for the first NSX Edge node.
1529
+
1530
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-nsxedge1
1531
+ '''
1532
+ result = self._values.get("nsx_edge1")
1533
+ assert result is not None, "Required property 'nsx_edge1' is missing"
1534
+ return typing.cast(builtins.str, result)
1535
+
1536
+ @builtins.property
1537
+ def nsx_edge2(self) -> builtins.str:
1538
+ '''The hostname for the second NSX Edge node.
1539
+
1540
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-nsxedge2
1541
+ '''
1542
+ result = self._values.get("nsx_edge2")
1543
+ assert result is not None, "Required property 'nsx_edge2' is missing"
1544
+ return typing.cast(builtins.str, result)
1545
+
1546
+ @builtins.property
1547
+ def nsx_manager1(self) -> builtins.str:
1548
+ '''The hostname for the first VMware NSX Manager virtual machine (VM).
1549
+
1550
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-nsxmanager1
1551
+ '''
1552
+ result = self._values.get("nsx_manager1")
1553
+ assert result is not None, "Required property 'nsx_manager1' is missing"
1554
+ return typing.cast(builtins.str, result)
1555
+
1556
+ @builtins.property
1557
+ def nsx_manager2(self) -> builtins.str:
1558
+ '''The hostname for the second VMware NSX Manager virtual machine (VM).
1559
+
1560
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-nsxmanager2
1561
+ '''
1562
+ result = self._values.get("nsx_manager2")
1563
+ assert result is not None, "Required property 'nsx_manager2' is missing"
1564
+ return typing.cast(builtins.str, result)
1565
+
1566
+ @builtins.property
1567
+ def nsx_manager3(self) -> builtins.str:
1568
+ '''The hostname for the third VMware NSX Manager virtual machine (VM).
1569
+
1570
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-nsxmanager3
1571
+ '''
1572
+ result = self._values.get("nsx_manager3")
1573
+ assert result is not None, "Required property 'nsx_manager3' is missing"
1574
+ return typing.cast(builtins.str, result)
1575
+
1576
+ @builtins.property
1577
+ def sddc_manager(self) -> builtins.str:
1578
+ '''The hostname for SDDC Manager.
1579
+
1580
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-sddcmanager
1581
+ '''
1582
+ result = self._values.get("sddc_manager")
1583
+ assert result is not None, "Required property 'sddc_manager' is missing"
1584
+ return typing.cast(builtins.str, result)
1585
+
1586
+ @builtins.property
1587
+ def v_center(self) -> builtins.str:
1588
+ '''The VMware vCenter hostname.
1589
+
1590
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-evs-environment-vcfhostnames.html#cfn-evs-environment-vcfhostnames-vcenter
1591
+ '''
1592
+ result = self._values.get("v_center")
1593
+ assert result is not None, "Required property 'v_center' is missing"
1594
+ return typing.cast(builtins.str, result)
1595
+
1596
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1597
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1598
+
1599
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1600
+ return not (rhs == self)
1601
+
1602
+ def __repr__(self) -> str:
1603
+ return "VcfHostnamesProperty(%s)" % ", ".join(
1604
+ k + "=" + repr(v) for k, v in self._values.items()
1605
+ )
1606
+
1607
+
1608
+ @jsii.data_type(
1609
+ jsii_type="aws-cdk-lib.aws_evs.CfnEnvironmentProps",
1610
+ jsii_struct_bases=[],
1611
+ name_mapping={
1612
+ "connectivity_info": "connectivityInfo",
1613
+ "license_info": "licenseInfo",
1614
+ "service_access_subnet_id": "serviceAccessSubnetId",
1615
+ "site_id": "siteId",
1616
+ "terms_accepted": "termsAccepted",
1617
+ "vcf_hostnames": "vcfHostnames",
1618
+ "vcf_version": "vcfVersion",
1619
+ "vpc_id": "vpcId",
1620
+ "environment_name": "environmentName",
1621
+ "hosts": "hosts",
1622
+ "initial_vlans": "initialVlans",
1623
+ "kms_key_id": "kmsKeyId",
1624
+ "service_access_security_groups": "serviceAccessSecurityGroups",
1625
+ "tags": "tags",
1626
+ },
1627
+ )
1628
+ class CfnEnvironmentProps:
1629
+ def __init__(
1630
+ self,
1631
+ *,
1632
+ connectivity_info: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.ConnectivityInfoProperty, typing.Dict[builtins.str, typing.Any]]],
1633
+ license_info: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.LicenseInfoProperty, typing.Dict[builtins.str, typing.Any]]],
1634
+ service_access_subnet_id: builtins.str,
1635
+ site_id: builtins.str,
1636
+ terms_accepted: typing.Union[builtins.bool, _IResolvable_da3f097b],
1637
+ vcf_hostnames: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.VcfHostnamesProperty, typing.Dict[builtins.str, typing.Any]]],
1638
+ vcf_version: builtins.str,
1639
+ vpc_id: builtins.str,
1640
+ environment_name: typing.Optional[builtins.str] = None,
1641
+ hosts: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.HostInfoForCreateProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1642
+ initial_vlans: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlansProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1643
+ kms_key_id: typing.Optional[builtins.str] = None,
1644
+ service_access_security_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.ServiceAccessSecurityGroupsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1645
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1646
+ ) -> None:
1647
+ '''Properties for defining a ``CfnEnvironment``.
1648
+
1649
+ :param connectivity_info: 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.
1650
+ :param license_info: 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.
1651
+ :param service_access_subnet_id: 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.
1652
+ :param site_id: 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.
1653
+ :param terms_accepted: 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.
1654
+ :param vcf_hostnames: 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.
1655
+ :param vcf_version: The VCF version of the environment.
1656
+ :param vpc_id: The VPC associated with the environment.
1657
+ :param environment_name: The name of the environment.
1658
+ :param hosts: Required for environment resource creation.
1659
+ :param initial_vlans: .. epigraph:: 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.
1660
+ :param kms_key_id: 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.
1661
+ :param service_access_security_groups: 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.
1662
+ :param tags: 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.
1663
+
1664
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html
1665
+ :exampleMetadata: fixture=_generated
1666
+
1667
+ Example::
1668
+
1669
+ # The code below shows an example of how to instantiate this type.
1670
+ # The values are placeholders you should change.
1671
+ from aws_cdk import aws_evs as evs
1672
+
1673
+ cfn_environment_props = evs.CfnEnvironmentProps(
1674
+ connectivity_info=evs.CfnEnvironment.ConnectivityInfoProperty(
1675
+ private_route_server_peerings=["privateRouteServerPeerings"]
1676
+ ),
1677
+ license_info=evs.CfnEnvironment.LicenseInfoProperty(
1678
+ solution_key="solutionKey",
1679
+ vsan_key="vsanKey"
1680
+ ),
1681
+ service_access_subnet_id="serviceAccessSubnetId",
1682
+ site_id="siteId",
1683
+ terms_accepted=False,
1684
+ vcf_hostnames=evs.CfnEnvironment.VcfHostnamesProperty(
1685
+ cloud_builder="cloudBuilder",
1686
+ nsx="nsx",
1687
+ nsx_edge1="nsxEdge1",
1688
+ nsx_edge2="nsxEdge2",
1689
+ nsx_manager1="nsxManager1",
1690
+ nsx_manager2="nsxManager2",
1691
+ nsx_manager3="nsxManager3",
1692
+ sddc_manager="sddcManager",
1693
+ v_center="vCenter"
1694
+ ),
1695
+ vcf_version="vcfVersion",
1696
+ vpc_id="vpcId",
1697
+
1698
+ # the properties below are optional
1699
+ environment_name="environmentName",
1700
+ hosts=[evs.CfnEnvironment.HostInfoForCreateProperty(
1701
+ host_name="hostName",
1702
+ instance_type="instanceType",
1703
+ key_name="keyName",
1704
+
1705
+ # the properties below are optional
1706
+ dedicated_host_id="dedicatedHostId",
1707
+ placement_group_id="placementGroupId"
1708
+ )],
1709
+ initial_vlans=evs.CfnEnvironment.InitialVlansProperty(
1710
+ edge_vTep=evs.CfnEnvironment.InitialVlanInfoProperty(
1711
+ cidr="cidr"
1712
+ ),
1713
+ expansion_vlan1=evs.CfnEnvironment.InitialVlanInfoProperty(
1714
+ cidr="cidr"
1715
+ ),
1716
+ expansion_vlan2=evs.CfnEnvironment.InitialVlanInfoProperty(
1717
+ cidr="cidr"
1718
+ ),
1719
+ hcx=evs.CfnEnvironment.InitialVlanInfoProperty(
1720
+ cidr="cidr"
1721
+ ),
1722
+ nsx_up_link=evs.CfnEnvironment.InitialVlanInfoProperty(
1723
+ cidr="cidr"
1724
+ ),
1725
+ vmk_management=evs.CfnEnvironment.InitialVlanInfoProperty(
1726
+ cidr="cidr"
1727
+ ),
1728
+ vm_management=evs.CfnEnvironment.InitialVlanInfoProperty(
1729
+ cidr="cidr"
1730
+ ),
1731
+ v_motion=evs.CfnEnvironment.InitialVlanInfoProperty(
1732
+ cidr="cidr"
1733
+ ),
1734
+ v_san=evs.CfnEnvironment.InitialVlanInfoProperty(
1735
+ cidr="cidr"
1736
+ ),
1737
+ v_tep=evs.CfnEnvironment.InitialVlanInfoProperty(
1738
+ cidr="cidr"
1739
+ )
1740
+ ),
1741
+ kms_key_id="kmsKeyId",
1742
+ service_access_security_groups=evs.CfnEnvironment.ServiceAccessSecurityGroupsProperty(
1743
+ security_groups=["securityGroups"]
1744
+ ),
1745
+ tags=[CfnTag(
1746
+ key="key",
1747
+ value="value"
1748
+ )]
1749
+ )
1750
+ '''
1751
+ if __debug__:
1752
+ type_hints = typing.get_type_hints(_typecheckingstub__13a1fb4e59a516dd42610d3a93252ed2060e4948f1e22e6ac66a5c31e9d3fb06)
1753
+ check_type(argname="argument connectivity_info", value=connectivity_info, expected_type=type_hints["connectivity_info"])
1754
+ check_type(argname="argument license_info", value=license_info, expected_type=type_hints["license_info"])
1755
+ check_type(argname="argument service_access_subnet_id", value=service_access_subnet_id, expected_type=type_hints["service_access_subnet_id"])
1756
+ check_type(argname="argument site_id", value=site_id, expected_type=type_hints["site_id"])
1757
+ check_type(argname="argument terms_accepted", value=terms_accepted, expected_type=type_hints["terms_accepted"])
1758
+ check_type(argname="argument vcf_hostnames", value=vcf_hostnames, expected_type=type_hints["vcf_hostnames"])
1759
+ check_type(argname="argument vcf_version", value=vcf_version, expected_type=type_hints["vcf_version"])
1760
+ check_type(argname="argument vpc_id", value=vpc_id, expected_type=type_hints["vpc_id"])
1761
+ check_type(argname="argument environment_name", value=environment_name, expected_type=type_hints["environment_name"])
1762
+ check_type(argname="argument hosts", value=hosts, expected_type=type_hints["hosts"])
1763
+ check_type(argname="argument initial_vlans", value=initial_vlans, expected_type=type_hints["initial_vlans"])
1764
+ check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
1765
+ check_type(argname="argument service_access_security_groups", value=service_access_security_groups, expected_type=type_hints["service_access_security_groups"])
1766
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1767
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1768
+ "connectivity_info": connectivity_info,
1769
+ "license_info": license_info,
1770
+ "service_access_subnet_id": service_access_subnet_id,
1771
+ "site_id": site_id,
1772
+ "terms_accepted": terms_accepted,
1773
+ "vcf_hostnames": vcf_hostnames,
1774
+ "vcf_version": vcf_version,
1775
+ "vpc_id": vpc_id,
1776
+ }
1777
+ if environment_name is not None:
1778
+ self._values["environment_name"] = environment_name
1779
+ if hosts is not None:
1780
+ self._values["hosts"] = hosts
1781
+ if initial_vlans is not None:
1782
+ self._values["initial_vlans"] = initial_vlans
1783
+ if kms_key_id is not None:
1784
+ self._values["kms_key_id"] = kms_key_id
1785
+ if service_access_security_groups is not None:
1786
+ self._values["service_access_security_groups"] = service_access_security_groups
1787
+ if tags is not None:
1788
+ self._values["tags"] = tags
1789
+
1790
+ @builtins.property
1791
+ def connectivity_info(
1792
+ self,
1793
+ ) -> typing.Union[_IResolvable_da3f097b, CfnEnvironment.ConnectivityInfoProperty]:
1794
+ '''The connectivity configuration for the environment.
1795
+
1796
+ 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.
1797
+
1798
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-connectivityinfo
1799
+ '''
1800
+ result = self._values.get("connectivity_info")
1801
+ assert result is not None, "Required property 'connectivity_info' is missing"
1802
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnEnvironment.ConnectivityInfoProperty], result)
1803
+
1804
+ @builtins.property
1805
+ def license_info(
1806
+ self,
1807
+ ) -> typing.Union[_IResolvable_da3f097b, CfnEnvironment.LicenseInfoProperty]:
1808
+ '''The license information that Amazon EVS requires to create an environment.
1809
+
1810
+ Amazon EVS requires two license keys: a VCF solution key and a vSAN license key.
1811
+
1812
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-licenseinfo
1813
+ '''
1814
+ result = self._values.get("license_info")
1815
+ assert result is not None, "Required property 'license_info' is missing"
1816
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnEnvironment.LicenseInfoProperty], result)
1817
+
1818
+ @builtins.property
1819
+ def service_access_subnet_id(self) -> builtins.str:
1820
+ '''The subnet that is used to establish connectivity between the Amazon EVS control plane and VPC.
1821
+
1822
+ Amazon EVS uses this subnet to perform validations and create the environment.
1823
+
1824
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-serviceaccesssubnetid
1825
+ '''
1826
+ result = self._values.get("service_access_subnet_id")
1827
+ assert result is not None, "Required property 'service_access_subnet_id' is missing"
1828
+ return typing.cast(builtins.str, result)
1829
+
1830
+ @builtins.property
1831
+ def site_id(self) -> builtins.str:
1832
+ '''The Broadcom Site ID that is associated with your Amazon EVS environment.
1833
+
1834
+ Amazon EVS uses the Broadcom Site ID that you provide to meet Broadcom VCF license usage reporting requirements for Amazon EVS.
1835
+
1836
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-siteid
1837
+ '''
1838
+ result = self._values.get("site_id")
1839
+ assert result is not None, "Required property 'site_id' is missing"
1840
+ return typing.cast(builtins.str, result)
1841
+
1842
+ @builtins.property
1843
+ def terms_accepted(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
1844
+ '''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.
1845
+
1846
+ Information about your VCF software in Amazon EVS will be shared with Broadcom to verify license compliance.
1847
+
1848
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-termsaccepted
1849
+ '''
1850
+ result = self._values.get("terms_accepted")
1851
+ assert result is not None, "Required property 'terms_accepted' is missing"
1852
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
1853
+
1854
+ @builtins.property
1855
+ def vcf_hostnames(
1856
+ self,
1857
+ ) -> typing.Union[_IResolvable_da3f097b, CfnEnvironment.VcfHostnamesProperty]:
1858
+ '''The DNS hostnames to be used by the VCF management appliances in your environment.
1859
+
1860
+ 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.
1861
+
1862
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-vcfhostnames
1863
+ '''
1864
+ result = self._values.get("vcf_hostnames")
1865
+ assert result is not None, "Required property 'vcf_hostnames' is missing"
1866
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnEnvironment.VcfHostnamesProperty], result)
1867
+
1868
+ @builtins.property
1869
+ def vcf_version(self) -> builtins.str:
1870
+ '''The VCF version of the environment.
1871
+
1872
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-vcfversion
1873
+ '''
1874
+ result = self._values.get("vcf_version")
1875
+ assert result is not None, "Required property 'vcf_version' is missing"
1876
+ return typing.cast(builtins.str, result)
1877
+
1878
+ @builtins.property
1879
+ def vpc_id(self) -> builtins.str:
1880
+ '''The VPC associated with the environment.
1881
+
1882
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-vpcid
1883
+ '''
1884
+ result = self._values.get("vpc_id")
1885
+ assert result is not None, "Required property 'vpc_id' is missing"
1886
+ return typing.cast(builtins.str, result)
1887
+
1888
+ @builtins.property
1889
+ def environment_name(self) -> typing.Optional[builtins.str]:
1890
+ '''The name of the environment.
1891
+
1892
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-environmentname
1893
+ '''
1894
+ result = self._values.get("environment_name")
1895
+ return typing.cast(typing.Optional[builtins.str], result)
1896
+
1897
+ @builtins.property
1898
+ def hosts(
1899
+ self,
1900
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnEnvironment.HostInfoForCreateProperty]]]]:
1901
+ '''Required for environment resource creation.
1902
+
1903
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-hosts
1904
+ '''
1905
+ result = self._values.get("hosts")
1906
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnEnvironment.HostInfoForCreateProperty]]]], result)
1907
+
1908
+ @builtins.property
1909
+ def initial_vlans(
1910
+ self,
1911
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEnvironment.InitialVlansProperty]]:
1912
+ '''.. epigraph::
1913
+
1914
+ Amazon EVS is in public preview release and is subject to change.
1915
+
1916
+ 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.
1917
+
1918
+ Required for environment resource creation.
1919
+
1920
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-initialvlans
1921
+ '''
1922
+ result = self._values.get("initial_vlans")
1923
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEnvironment.InitialVlansProperty]], result)
1924
+
1925
+ @builtins.property
1926
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
1927
+ '''The AWS KMS key ID that AWS Secrets Manager uses to encrypt secrets that are associated with the environment.
1928
+
1929
+ These secrets contain the VCF credentials that are needed to install vCenter Server, NSX, and SDDC Manager.
1930
+
1931
+ By default, Amazon EVS use the AWS Secrets Manager managed key ``aws/secretsmanager`` . You can also specify a customer managed key.
1932
+
1933
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-kmskeyid
1934
+ '''
1935
+ result = self._values.get("kms_key_id")
1936
+ return typing.cast(typing.Optional[builtins.str], result)
1937
+
1938
+ @builtins.property
1939
+ def service_access_security_groups(
1940
+ self,
1941
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEnvironment.ServiceAccessSecurityGroupsProperty]]:
1942
+ '''The security groups that allow traffic between the Amazon EVS control plane and your VPC for service access.
1943
+
1944
+ If a security group is not specified, Amazon EVS uses the default security group in your account for service access.
1945
+
1946
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-serviceaccesssecuritygroups
1947
+ '''
1948
+ result = self._values.get("service_access_security_groups")
1949
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEnvironment.ServiceAccessSecurityGroupsProperty]], result)
1950
+
1951
+ @builtins.property
1952
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1953
+ '''Metadata that assists with categorization and organization.
1954
+
1955
+ Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or AWS resources.
1956
+
1957
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evs-environment.html#cfn-evs-environment-tags
1958
+ '''
1959
+ result = self._values.get("tags")
1960
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1961
+
1962
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1963
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1964
+
1965
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1966
+ return not (rhs == self)
1967
+
1968
+ def __repr__(self) -> str:
1969
+ return "CfnEnvironmentProps(%s)" % ", ".join(
1970
+ k + "=" + repr(v) for k, v in self._values.items()
1971
+ )
1972
+
1973
+
1974
+ __all__ = [
1975
+ "CfnEnvironment",
1976
+ "CfnEnvironmentProps",
1977
+ ]
1978
+
1979
+ publication.publish()
1980
+
1981
+ def _typecheckingstub__0fd5abd7fe71e306d7b1cc2c3ef834eb9af874a0b9fed902c6923bbc07b00b63(
1982
+ scope: _constructs_77d1e7e8.Construct,
1983
+ id: builtins.str,
1984
+ *,
1985
+ connectivity_info: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.ConnectivityInfoProperty, typing.Dict[builtins.str, typing.Any]]],
1986
+ license_info: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.LicenseInfoProperty, typing.Dict[builtins.str, typing.Any]]],
1987
+ service_access_subnet_id: builtins.str,
1988
+ site_id: builtins.str,
1989
+ terms_accepted: typing.Union[builtins.bool, _IResolvable_da3f097b],
1990
+ vcf_hostnames: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.VcfHostnamesProperty, typing.Dict[builtins.str, typing.Any]]],
1991
+ vcf_version: builtins.str,
1992
+ vpc_id: builtins.str,
1993
+ environment_name: typing.Optional[builtins.str] = None,
1994
+ hosts: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.HostInfoForCreateProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1995
+ initial_vlans: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlansProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1996
+ kms_key_id: typing.Optional[builtins.str] = None,
1997
+ service_access_security_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.ServiceAccessSecurityGroupsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1998
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1999
+ ) -> None:
2000
+ """Type checking stubs"""
2001
+ pass
2002
+
2003
+ def _typecheckingstub__97c8e6ce05b681569d057e41cd3b8f77e1403e7a3da8aebf629d5b36513ac407(
2004
+ inspector: _TreeInspector_488e0dd5,
2005
+ ) -> None:
2006
+ """Type checking stubs"""
2007
+ pass
2008
+
2009
+ def _typecheckingstub__5933d5785ec1ac628e3fd45b05b1c5bc9e333cb80c6d102fb738934f3f5c15da(
2010
+ props: typing.Mapping[builtins.str, typing.Any],
2011
+ ) -> None:
2012
+ """Type checking stubs"""
2013
+ pass
2014
+
2015
+ def _typecheckingstub__bf81c76587f8aaaaa50fc18d1384cc1e8ff44f1cd0d764c0355340e0f0839c21(
2016
+ value: typing.Union[_IResolvable_da3f097b, CfnEnvironment.ConnectivityInfoProperty],
2017
+ ) -> None:
2018
+ """Type checking stubs"""
2019
+ pass
2020
+
2021
+ def _typecheckingstub__fb6e498dbb5d87feb34dfe26b3466fa6383016c37a4ea21caecc26f60b5ce901(
2022
+ value: typing.Union[_IResolvable_da3f097b, CfnEnvironment.LicenseInfoProperty],
2023
+ ) -> None:
2024
+ """Type checking stubs"""
2025
+ pass
2026
+
2027
+ def _typecheckingstub__f01a5018beaa28fab7b0d068a7a6fe45dbeee0ab15ecdf25462887288ace66cb(
2028
+ value: builtins.str,
2029
+ ) -> None:
2030
+ """Type checking stubs"""
2031
+ pass
2032
+
2033
+ def _typecheckingstub__0dc69ff9904f782ce993fe0884901782c11a2214109cfd4cf83020946119b99f(
2034
+ value: builtins.str,
2035
+ ) -> None:
2036
+ """Type checking stubs"""
2037
+ pass
2038
+
2039
+ def _typecheckingstub__93808d5eb28c6837a5047d6d1811bd832bd6250809b9c84a0b609bb88989d45e(
2040
+ value: typing.Union[builtins.bool, _IResolvable_da3f097b],
2041
+ ) -> None:
2042
+ """Type checking stubs"""
2043
+ pass
2044
+
2045
+ def _typecheckingstub__98651cf572ae807d1eccd57a45d3ecc81f79063879b068927b5130df235e0b0c(
2046
+ value: typing.Union[_IResolvable_da3f097b, CfnEnvironment.VcfHostnamesProperty],
2047
+ ) -> None:
2048
+ """Type checking stubs"""
2049
+ pass
2050
+
2051
+ def _typecheckingstub__77294c8299a96e3407af4323a38741fc1be8bdc06d14be597ecf158dcf011c14(
2052
+ value: builtins.str,
2053
+ ) -> None:
2054
+ """Type checking stubs"""
2055
+ pass
2056
+
2057
+ def _typecheckingstub__60ce2bd3161be4b835be56a05bdccfd9639c58eea7d09baeab4884c9a906852e(
2058
+ value: builtins.str,
2059
+ ) -> None:
2060
+ """Type checking stubs"""
2061
+ pass
2062
+
2063
+ def _typecheckingstub__16c81b6578fa573cefa89abf7b2fbcfcf6b8db97f8f8b8e2a8c44d8009af03ed(
2064
+ value: typing.Optional[builtins.str],
2065
+ ) -> None:
2066
+ """Type checking stubs"""
2067
+ pass
2068
+
2069
+ def _typecheckingstub__18c17b2a1d9ccb9d1cd534e31c376d097f1d59794abd3093f8587758af40bc2e(
2070
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnEnvironment.HostInfoForCreateProperty]]]],
2071
+ ) -> None:
2072
+ """Type checking stubs"""
2073
+ pass
2074
+
2075
+ def _typecheckingstub__15ccc5cc405553a6a5463668babc67ef1dc4049150ba7dddfc07bee61251bcfe(
2076
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEnvironment.InitialVlansProperty]],
2077
+ ) -> None:
2078
+ """Type checking stubs"""
2079
+ pass
2080
+
2081
+ def _typecheckingstub__d5b585f35cde6963f33953b58455872fcf621844d2b3fa8f7f85b96542463156(
2082
+ value: typing.Optional[builtins.str],
2083
+ ) -> None:
2084
+ """Type checking stubs"""
2085
+ pass
2086
+
2087
+ def _typecheckingstub__df95c894cd990c7a318fa3e3397c915f2a30df40bd79003673d83a2d1016e1b9(
2088
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEnvironment.ServiceAccessSecurityGroupsProperty]],
2089
+ ) -> None:
2090
+ """Type checking stubs"""
2091
+ pass
2092
+
2093
+ def _typecheckingstub__c420c54db733392f5b59d4f5a9ded1bfdc781dbe1df45ec2312e16a4c3655efd(
2094
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2095
+ ) -> None:
2096
+ """Type checking stubs"""
2097
+ pass
2098
+
2099
+ def _typecheckingstub__fab870dfa28349d9079dfaa9f8d7d27975ec4da1aec540075bef6f41926da444(
2100
+ *,
2101
+ result: builtins.str,
2102
+ type: builtins.str,
2103
+ impaired_since: typing.Optional[builtins.str] = None,
2104
+ ) -> None:
2105
+ """Type checking stubs"""
2106
+ pass
2107
+
2108
+ def _typecheckingstub__2cb3d22ab966fb57bf85a281b91db18f25f2e9b843fa76b2414f9c1ca1285629(
2109
+ *,
2110
+ private_route_server_peerings: typing.Sequence[builtins.str],
2111
+ ) -> None:
2112
+ """Type checking stubs"""
2113
+ pass
2114
+
2115
+ def _typecheckingstub__3b92e04ba9146f120cc657bac8562ffe8ba1683c2cda51e8edf7837916efbff4(
2116
+ *,
2117
+ host_name: builtins.str,
2118
+ instance_type: builtins.str,
2119
+ key_name: builtins.str,
2120
+ dedicated_host_id: typing.Optional[builtins.str] = None,
2121
+ placement_group_id: typing.Optional[builtins.str] = None,
2122
+ ) -> None:
2123
+ """Type checking stubs"""
2124
+ pass
2125
+
2126
+ def _typecheckingstub__620167df6fd78af7ecffe1762889e66c6a24ac02786c4e7ca2d324fab050513a(
2127
+ *,
2128
+ cidr: builtins.str,
2129
+ ) -> None:
2130
+ """Type checking stubs"""
2131
+ pass
2132
+
2133
+ def _typecheckingstub__a70b9547ba64740f8b44168dbcdcd80e75a75a1dc2ed733c834ad336fe27001d(
2134
+ *,
2135
+ edge_v_tep: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2136
+ expansion_vlan1: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2137
+ expansion_vlan2: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2138
+ hcx: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2139
+ nsx_up_link: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2140
+ vmk_management: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2141
+ vm_management: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2142
+ v_motion: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2143
+ v_san: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2144
+ v_tep: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlanInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2145
+ ) -> None:
2146
+ """Type checking stubs"""
2147
+ pass
2148
+
2149
+ def _typecheckingstub__6bb631c066ce7fa55edfeac94e8c8a5337b818eed4292c5b3aced9cad6d1cad3(
2150
+ *,
2151
+ solution_key: builtins.str,
2152
+ vsan_key: builtins.str,
2153
+ ) -> None:
2154
+ """Type checking stubs"""
2155
+ pass
2156
+
2157
+ def _typecheckingstub__33967b6ef3400afc32ce0af5c9e428f01559afa67ae04decfe8e700e94b87a50(
2158
+ *,
2159
+ secret_arn: typing.Optional[builtins.str] = None,
2160
+ ) -> None:
2161
+ """Type checking stubs"""
2162
+ pass
2163
+
2164
+ def _typecheckingstub__35c3da17a2fce469ae79744d181a61b0265e29008e2b55604fbe06fb54b01d0d(
2165
+ *,
2166
+ security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
2167
+ ) -> None:
2168
+ """Type checking stubs"""
2169
+ pass
2170
+
2171
+ def _typecheckingstub__1ba5fd1a9e5e7dc84687933a99fd65aef3da8840e139b66bfd40a66914e4a834(
2172
+ *,
2173
+ cloud_builder: builtins.str,
2174
+ nsx: builtins.str,
2175
+ nsx_edge1: builtins.str,
2176
+ nsx_edge2: builtins.str,
2177
+ nsx_manager1: builtins.str,
2178
+ nsx_manager2: builtins.str,
2179
+ nsx_manager3: builtins.str,
2180
+ sddc_manager: builtins.str,
2181
+ v_center: builtins.str,
2182
+ ) -> None:
2183
+ """Type checking stubs"""
2184
+ pass
2185
+
2186
+ def _typecheckingstub__13a1fb4e59a516dd42610d3a93252ed2060e4948f1e22e6ac66a5c31e9d3fb06(
2187
+ *,
2188
+ connectivity_info: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.ConnectivityInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2189
+ license_info: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.LicenseInfoProperty, typing.Dict[builtins.str, typing.Any]]],
2190
+ service_access_subnet_id: builtins.str,
2191
+ site_id: builtins.str,
2192
+ terms_accepted: typing.Union[builtins.bool, _IResolvable_da3f097b],
2193
+ vcf_hostnames: typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.VcfHostnamesProperty, typing.Dict[builtins.str, typing.Any]]],
2194
+ vcf_version: builtins.str,
2195
+ vpc_id: builtins.str,
2196
+ environment_name: typing.Optional[builtins.str] = None,
2197
+ hosts: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.HostInfoForCreateProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2198
+ initial_vlans: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.InitialVlansProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2199
+ kms_key_id: typing.Optional[builtins.str] = None,
2200
+ service_access_security_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEnvironment.ServiceAccessSecurityGroupsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2201
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2202
+ ) -> None:
2203
+ """Type checking stubs"""
2204
+ pass