UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

915 lines 129 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataAwsEc2ClientVpnEndpoint = exports.DataAwsEc2ClientVpnEndpointTimeoutsOutputReference = exports.DataAwsEc2ClientVpnEndpointFilterList = exports.DataAwsEc2ClientVpnEndpointFilterOutputReference = exports.DataAwsEc2ClientVpnEndpointConnectionLogOptionsList = exports.DataAwsEc2ClientVpnEndpointConnectionLogOptionsOutputReference = exports.DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsList = exports.DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference = exports.DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsList = exports.DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsOutputReference = exports.DataAwsEc2ClientVpnEndpointClientConnectOptionsList = exports.DataAwsEc2ClientVpnEndpointClientConnectOptionsOutputReference = exports.DataAwsEc2ClientVpnEndpointAuthenticationOptionsList = exports.DataAwsEc2ClientVpnEndpointAuthenticationOptionsOutputReference = void 0; exports.dataAwsEc2ClientVpnEndpointAuthenticationOptionsToTerraform = dataAwsEc2ClientVpnEndpointAuthenticationOptionsToTerraform; exports.dataAwsEc2ClientVpnEndpointAuthenticationOptionsToHclTerraform = dataAwsEc2ClientVpnEndpointAuthenticationOptionsToHclTerraform; exports.dataAwsEc2ClientVpnEndpointClientConnectOptionsToTerraform = dataAwsEc2ClientVpnEndpointClientConnectOptionsToTerraform; exports.dataAwsEc2ClientVpnEndpointClientConnectOptionsToHclTerraform = dataAwsEc2ClientVpnEndpointClientConnectOptionsToHclTerraform; exports.dataAwsEc2ClientVpnEndpointClientLoginBannerOptionsToTerraform = dataAwsEc2ClientVpnEndpointClientLoginBannerOptionsToTerraform; exports.dataAwsEc2ClientVpnEndpointClientLoginBannerOptionsToHclTerraform = dataAwsEc2ClientVpnEndpointClientLoginBannerOptionsToHclTerraform; exports.dataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsToTerraform = dataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsToTerraform; exports.dataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsToHclTerraform = dataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsToHclTerraform; exports.dataAwsEc2ClientVpnEndpointConnectionLogOptionsToTerraform = dataAwsEc2ClientVpnEndpointConnectionLogOptionsToTerraform; exports.dataAwsEc2ClientVpnEndpointConnectionLogOptionsToHclTerraform = dataAwsEc2ClientVpnEndpointConnectionLogOptionsToHclTerraform; exports.dataAwsEc2ClientVpnEndpointFilterToTerraform = dataAwsEc2ClientVpnEndpointFilterToTerraform; exports.dataAwsEc2ClientVpnEndpointFilterToHclTerraform = dataAwsEc2ClientVpnEndpointFilterToHclTerraform; exports.dataAwsEc2ClientVpnEndpointTimeoutsToTerraform = dataAwsEc2ClientVpnEndpointTimeoutsToTerraform; exports.dataAwsEc2ClientVpnEndpointTimeoutsToHclTerraform = dataAwsEc2ClientVpnEndpointTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function dataAwsEc2ClientVpnEndpointAuthenticationOptionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function dataAwsEc2ClientVpnEndpointAuthenticationOptionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class DataAwsEc2ClientVpnEndpointAuthenticationOptionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // active_directory_id - computed: true, optional: false, required: false get activeDirectoryId() { return this.getStringAttribute('active_directory_id'); } // root_certificate_chain_arn - computed: true, optional: false, required: false get rootCertificateChainArn() { return this.getStringAttribute('root_certificate_chain_arn'); } // saml_provider_arn - computed: true, optional: false, required: false get samlProviderArn() { return this.getStringAttribute('saml_provider_arn'); } // self_service_saml_provider_arn - computed: true, optional: false, required: false get selfServiceSamlProviderArn() { return this.getStringAttribute('self_service_saml_provider_arn'); } // type - computed: true, optional: false, required: false get type() { return this.getStringAttribute('type'); } } exports.DataAwsEc2ClientVpnEndpointAuthenticationOptionsOutputReference = DataAwsEc2ClientVpnEndpointAuthenticationOptionsOutputReference; _a = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointAuthenticationOptionsOutputReference[_a] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointAuthenticationOptionsOutputReference", version: "21.22.1" }; class DataAwsEc2ClientVpnEndpointAuthenticationOptionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsEc2ClientVpnEndpointAuthenticationOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsEc2ClientVpnEndpointAuthenticationOptionsList = DataAwsEc2ClientVpnEndpointAuthenticationOptionsList; _b = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointAuthenticationOptionsList[_b] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointAuthenticationOptionsList", version: "21.22.1" }; function dataAwsEc2ClientVpnEndpointClientConnectOptionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function dataAwsEc2ClientVpnEndpointClientConnectOptionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class DataAwsEc2ClientVpnEndpointClientConnectOptionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // enabled - computed: true, optional: false, required: false get enabled() { return this.getBooleanAttribute('enabled'); } // lambda_function_arn - computed: true, optional: false, required: false get lambdaFunctionArn() { return this.getStringAttribute('lambda_function_arn'); } } exports.DataAwsEc2ClientVpnEndpointClientConnectOptionsOutputReference = DataAwsEc2ClientVpnEndpointClientConnectOptionsOutputReference; _c = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointClientConnectOptionsOutputReference[_c] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointClientConnectOptionsOutputReference", version: "21.22.1" }; class DataAwsEc2ClientVpnEndpointClientConnectOptionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsEc2ClientVpnEndpointClientConnectOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsEc2ClientVpnEndpointClientConnectOptionsList = DataAwsEc2ClientVpnEndpointClientConnectOptionsList; _d = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointClientConnectOptionsList[_d] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointClientConnectOptionsList", version: "21.22.1" }; function dataAwsEc2ClientVpnEndpointClientLoginBannerOptionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function dataAwsEc2ClientVpnEndpointClientLoginBannerOptionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // banner_text - computed: true, optional: false, required: false get bannerText() { return this.getStringAttribute('banner_text'); } // enabled - computed: true, optional: false, required: false get enabled() { return this.getBooleanAttribute('enabled'); } } exports.DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsOutputReference = DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsOutputReference; _e = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsOutputReference[_e] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsOutputReference", version: "21.22.1" }; class DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsList = DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsList; _f = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsList[_f] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsList", version: "21.22.1" }; function dataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function dataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // enforced - computed: true, optional: false, required: false get enforced() { return this.getBooleanAttribute('enforced'); } } exports.DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference = DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference; _g = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference[_g] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference", version: "21.22.1" }; class DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsList = DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsList; _h = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsList[_h] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsList", version: "21.22.1" }; function dataAwsEc2ClientVpnEndpointConnectionLogOptionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function dataAwsEc2ClientVpnEndpointConnectionLogOptionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class DataAwsEc2ClientVpnEndpointConnectionLogOptionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // cloudwatch_log_group - computed: true, optional: false, required: false get cloudwatchLogGroup() { return this.getStringAttribute('cloudwatch_log_group'); } // cloudwatch_log_stream - computed: true, optional: false, required: false get cloudwatchLogStream() { return this.getStringAttribute('cloudwatch_log_stream'); } // enabled - computed: true, optional: false, required: false get enabled() { return this.getBooleanAttribute('enabled'); } } exports.DataAwsEc2ClientVpnEndpointConnectionLogOptionsOutputReference = DataAwsEc2ClientVpnEndpointConnectionLogOptionsOutputReference; _j = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointConnectionLogOptionsOutputReference[_j] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointConnectionLogOptionsOutputReference", version: "21.22.1" }; class DataAwsEc2ClientVpnEndpointConnectionLogOptionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsEc2ClientVpnEndpointConnectionLogOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsEc2ClientVpnEndpointConnectionLogOptionsList = DataAwsEc2ClientVpnEndpointConnectionLogOptionsList; _k = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointConnectionLogOptionsList[_k] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointConnectionLogOptionsList", version: "21.22.1" }; function dataAwsEc2ClientVpnEndpointFilterToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { name: cdktf.stringToTerraform(struct.name), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function dataAwsEc2ClientVpnEndpointFilterToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DataAwsEc2ClientVpnEndpointFilterOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._values = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._name = value.name; this._values = value.values; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.DataAwsEc2ClientVpnEndpointFilterOutputReference = DataAwsEc2ClientVpnEndpointFilterOutputReference; _l = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointFilterOutputReference[_l] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointFilterOutputReference", version: "21.22.1" }; class DataAwsEc2ClientVpnEndpointFilterList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new DataAwsEc2ClientVpnEndpointFilterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DataAwsEc2ClientVpnEndpointFilterList = DataAwsEc2ClientVpnEndpointFilterList; _m = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointFilterList[_m] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointFilterList", version: "21.22.1" }; function dataAwsEc2ClientVpnEndpointTimeoutsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { read: cdktf.stringToTerraform(struct.read), }; } function dataAwsEc2ClientVpnEndpointTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { read: { value: cdktf.stringToHclTerraform(struct.read), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DataAwsEc2ClientVpnEndpointTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._read !== undefined) { hasAnyValues = true; internalValueResult.read = this._read; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._read = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._read = value.read; } } get read() { return this.getStringAttribute('read'); } set read(value) { this._read = value; } resetRead() { this._read = undefined; } // Temporarily expose input value. Use with caution. get readInput() { return this._read; } } exports.DataAwsEc2ClientVpnEndpointTimeoutsOutputReference = DataAwsEc2ClientVpnEndpointTimeoutsOutputReference; _o = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpointTimeoutsOutputReference[_o] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpointTimeoutsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/ec2_client_vpn_endpoint aws_ec2_client_vpn_endpoint} */ class DataAwsEc2ClientVpnEndpoint extends cdktf.TerraformDataSource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a DataAwsEc2ClientVpnEndpoint resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the DataAwsEc2ClientVpnEndpoint to import * @param importFromId The id of the existing DataAwsEc2ClientVpnEndpoint that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/ec2_client_vpn_endpoint#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataAwsEc2ClientVpnEndpoint to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_ec2_client_vpn_endpoint", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/ec2_client_vpn_endpoint aws_ec2_client_vpn_endpoint} Data Source * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options DataAwsEc2ClientVpnEndpointConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'aws_ec2_client_vpn_endpoint', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // authentication_options - computed: true, optional: false, required: false this._authenticationOptions = new DataAwsEc2ClientVpnEndpointAuthenticationOptionsList(this, "authentication_options", false); // client_connect_options - computed: true, optional: false, required: false this._clientConnectOptions = new DataAwsEc2ClientVpnEndpointClientConnectOptionsList(this, "client_connect_options", false); // client_login_banner_options - computed: true, optional: false, required: false this._clientLoginBannerOptions = new DataAwsEc2ClientVpnEndpointClientLoginBannerOptionsList(this, "client_login_banner_options", false); // client_route_enforcement_options - computed: true, optional: false, required: false this._clientRouteEnforcementOptions = new DataAwsEc2ClientVpnEndpointClientRouteEnforcementOptionsList(this, "client_route_enforcement_options", false); // connection_log_options - computed: true, optional: false, required: false this._connectionLogOptions = new DataAwsEc2ClientVpnEndpointConnectionLogOptionsList(this, "connection_log_options", false); // filter - computed: false, optional: true, required: false this._filter = new DataAwsEc2ClientVpnEndpointFilterList(this, "filter", true); // timeouts - computed: false, optional: true, required: false this._timeouts = new DataAwsEc2ClientVpnEndpointTimeoutsOutputReference(this, "timeouts"); this._clientVpnEndpointId = config.clientVpnEndpointId; this._id = config.id; this._region = config.region; this._tags = config.tags; this._filter.internalValue = config.filter; this._timeouts.internalValue = config.timeouts; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } get authenticationOptions() { return this._authenticationOptions; } // client_cidr_block - computed: true, optional: false, required: false get clientCidrBlock() { return this.getStringAttribute('client_cidr_block'); } get clientConnectOptions() { return this._clientConnectOptions; } get clientLoginBannerOptions() { return this._clientLoginBannerOptions; } get clientRouteEnforcementOptions() { return this._clientRouteEnforcementOptions; } get clientVpnEndpointId() { return this.getStringAttribute('client_vpn_endpoint_id'); } set clientVpnEndpointId(value) { this._clientVpnEndpointId = value; } resetClientVpnEndpointId() { this._clientVpnEndpointId = undefined; } // Temporarily expose input value. Use with caution. get clientVpnEndpointIdInput() { return this._clientVpnEndpointId; } get connectionLogOptions() { return this._connectionLogOptions; } // description - computed: true, optional: false, required: false get description() { return this.getStringAttribute('description'); } // dns_name - computed: true, optional: false, required: false get dnsName() { return this.getStringAttribute('dns_name'); } // dns_servers - computed: true, optional: false, required: false get dnsServers() { return this.getListAttribute('dns_servers'); } // endpoint_ip_address_type - computed: true, optional: false, required: false get endpointIpAddressType() { return this.getStringAttribute('endpoint_ip_address_type'); } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } // security_group_ids - computed: true, optional: false, required: false get securityGroupIds() { return this.getListAttribute('security_group_ids'); } // self_service_portal - computed: true, optional: false, required: false get selfServicePortal() { return this.getStringAttribute('self_service_portal'); } // self_service_portal_url - computed: true, optional: false, required: false get selfServicePortalUrl() { return this.getStringAttribute('self_service_portal_url'); } // server_certificate_arn - computed: true, optional: false, required: false get serverCertificateArn() { return this.getStringAttribute('server_certificate_arn'); } // session_timeout_hours - computed: true, optional: false, required: false get sessionTimeoutHours() { return this.getNumberAttribute('session_timeout_hours'); } // split_tunnel - computed: true, optional: false, required: false get splitTunnel() { return this.getBooleanAttribute('split_tunnel'); } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } // traffic_ip_address_type - computed: true, optional: false, required: false get trafficIpAddressType() { return this.getStringAttribute('traffic_ip_address_type'); } // transport_protocol - computed: true, optional: false, required: false get transportProtocol() { return this.getStringAttribute('transport_protocol'); } // vpc_id - computed: true, optional: false, required: false get vpcId() { return this.getStringAttribute('vpc_id'); } // vpn_port - computed: true, optional: false, required: false get vpnPort() { return this.getNumberAttribute('vpn_port'); } get filter() { return this._filter; } putFilter(value) { this._filter.internalValue = value; } resetFilter() { this._filter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get filterInput() { return this._filter.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { client_vpn_endpoint_id: cdktf.stringToTerraform(this._clientVpnEndpointId), id: cdktf.stringToTerraform(this._id), region: cdktf.stringToTerraform(this._region), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), filter: cdktf.listMapper(dataAwsEc2ClientVpnEndpointFilterToTerraform, true)(this._filter.internalValue), timeouts: dataAwsEc2ClientVpnEndpointTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { client_vpn_endpoint_id: { value: cdktf.stringToHclTerraform(this._clientVpnEndpointId), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, filter: { value: cdktf.listMapperHcl(dataAwsEc2ClientVpnEndpointFilterToHclTerraform, true)(this._filter.internalValue), isBlock: true, type: "set", storageClassType: "DataAwsEc2ClientVpnEndpointFilterList", }, timeouts: { value: dataAwsEc2ClientVpnEndpointTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "DataAwsEc2ClientVpnEndpointTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.DataAwsEc2ClientVpnEndpoint = DataAwsEc2ClientVpnEndpoint; _p = JSII_RTTI_SYMBOL_1; DataAwsEc2ClientVpnEndpoint[_p] = { fqn: "@cdktf/provider-aws.dataAwsEc2ClientVpnEndpoint.DataAwsEc2ClientVpnEndpoint", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= DataAwsEc2ClientVpnEndpoint.tfResourceType = "aws_ec2_client_vpn_endpoint"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1hd3MtZWMyLWNsaWVudC12cG4tZW5kcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQW1EQSxrSUFPQztBQUdELHdJQVFDO0FBNkVELGdJQU9DO0FBR0Qsc0lBUUM7QUE4REQsd0lBT0M7QUFHRCw4SUFRQztBQThERCxrSkFPQztBQUdELHdKQVFDO0FBeURELGdJQU9DO0FBR0Qsc0lBUUM7QUEyRUQsb0dBU0M7QUFHRCwwR0FzQkM7QUF5R0Qsd0dBUUM7QUFHRCw4R0FnQkM7O0FBdm5CRCwrQkFBK0I7QUEwQy9CLFNBQWdCLDJEQUEyRCxDQUFDLE1BQXlEO0lBQ25JLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU8sRUFDTixDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLDhEQUE4RCxDQUFDLE1BQXlEO0lBQ3RJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxH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