@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,186 lines • 171 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Ec2ClientVpnEndpoint = exports.Ec2ClientVpnEndpointConnectionLogOptionsOutputReference = exports.Ec2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference = exports.Ec2ClientVpnEndpointClientLoginBannerOptionsOutputReference = exports.Ec2ClientVpnEndpointClientConnectOptionsOutputReference = exports.Ec2ClientVpnEndpointAuthenticationOptionsList = exports.Ec2ClientVpnEndpointAuthenticationOptionsOutputReference = void 0;
exports.ec2ClientVpnEndpointAuthenticationOptionsToTerraform = ec2ClientVpnEndpointAuthenticationOptionsToTerraform;
exports.ec2ClientVpnEndpointAuthenticationOptionsToHclTerraform = ec2ClientVpnEndpointAuthenticationOptionsToHclTerraform;
exports.ec2ClientVpnEndpointClientConnectOptionsToTerraform = ec2ClientVpnEndpointClientConnectOptionsToTerraform;
exports.ec2ClientVpnEndpointClientConnectOptionsToHclTerraform = ec2ClientVpnEndpointClientConnectOptionsToHclTerraform;
exports.ec2ClientVpnEndpointClientLoginBannerOptionsToTerraform = ec2ClientVpnEndpointClientLoginBannerOptionsToTerraform;
exports.ec2ClientVpnEndpointClientLoginBannerOptionsToHclTerraform = ec2ClientVpnEndpointClientLoginBannerOptionsToHclTerraform;
exports.ec2ClientVpnEndpointClientRouteEnforcementOptionsToTerraform = ec2ClientVpnEndpointClientRouteEnforcementOptionsToTerraform;
exports.ec2ClientVpnEndpointClientRouteEnforcementOptionsToHclTerraform = ec2ClientVpnEndpointClientRouteEnforcementOptionsToHclTerraform;
exports.ec2ClientVpnEndpointConnectionLogOptionsToTerraform = ec2ClientVpnEndpointConnectionLogOptionsToTerraform;
exports.ec2ClientVpnEndpointConnectionLogOptionsToHclTerraform = ec2ClientVpnEndpointConnectionLogOptionsToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function ec2ClientVpnEndpointAuthenticationOptionsToTerraform(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 {
active_directory_id: cdktf.stringToTerraform(struct.activeDirectoryId),
root_certificate_chain_arn: cdktf.stringToTerraform(struct.rootCertificateChainArn),
saml_provider_arn: cdktf.stringToTerraform(struct.samlProviderArn),
self_service_saml_provider_arn: cdktf.stringToTerraform(struct.selfServiceSamlProviderArn),
type: cdktf.stringToTerraform(struct.type),
};
}
function ec2ClientVpnEndpointAuthenticationOptionsToHclTerraform(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 = {
active_directory_id: {
value: cdktf.stringToHclTerraform(struct.activeDirectoryId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
root_certificate_chain_arn: {
value: cdktf.stringToHclTerraform(struct.rootCertificateChainArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
saml_provider_arn: {
value: cdktf.stringToHclTerraform(struct.samlProviderArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
self_service_saml_provider_arn: {
value: cdktf.stringToHclTerraform(struct.selfServiceSamlProviderArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class Ec2ClientVpnEndpointAuthenticationOptionsOutputReference 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._activeDirectoryId !== undefined) {
hasAnyValues = true;
internalValueResult.activeDirectoryId = this._activeDirectoryId;
}
if (this._rootCertificateChainArn !== undefined) {
hasAnyValues = true;
internalValueResult.rootCertificateChainArn = this._rootCertificateChainArn;
}
if (this._samlProviderArn !== undefined) {
hasAnyValues = true;
internalValueResult.samlProviderArn = this._samlProviderArn;
}
if (this._selfServiceSamlProviderArn !== undefined) {
hasAnyValues = true;
internalValueResult.selfServiceSamlProviderArn = this._selfServiceSamlProviderArn;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._activeDirectoryId = undefined;
this._rootCertificateChainArn = undefined;
this._samlProviderArn = undefined;
this._selfServiceSamlProviderArn = undefined;
this._type = 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._activeDirectoryId = value.activeDirectoryId;
this._rootCertificateChainArn = value.rootCertificateChainArn;
this._samlProviderArn = value.samlProviderArn;
this._selfServiceSamlProviderArn = value.selfServiceSamlProviderArn;
this._type = value.type;
}
}
get activeDirectoryId() {
return this.getStringAttribute('active_directory_id');
}
set activeDirectoryId(value) {
this._activeDirectoryId = value;
}
resetActiveDirectoryId() {
this._activeDirectoryId = undefined;
}
// Temporarily expose input value. Use with caution.
get activeDirectoryIdInput() {
return this._activeDirectoryId;
}
get rootCertificateChainArn() {
return this.getStringAttribute('root_certificate_chain_arn');
}
set rootCertificateChainArn(value) {
this._rootCertificateChainArn = value;
}
resetRootCertificateChainArn() {
this._rootCertificateChainArn = undefined;
}
// Temporarily expose input value. Use with caution.
get rootCertificateChainArnInput() {
return this._rootCertificateChainArn;
}
get samlProviderArn() {
return this.getStringAttribute('saml_provider_arn');
}
set samlProviderArn(value) {
this._samlProviderArn = value;
}
resetSamlProviderArn() {
this._samlProviderArn = undefined;
}
// Temporarily expose input value. Use with caution.
get samlProviderArnInput() {
return this._samlProviderArn;
}
get selfServiceSamlProviderArn() {
return this.getStringAttribute('self_service_saml_provider_arn');
}
set selfServiceSamlProviderArn(value) {
this._selfServiceSamlProviderArn = value;
}
resetSelfServiceSamlProviderArn() {
this._selfServiceSamlProviderArn = undefined;
}
// Temporarily expose input value. Use with caution.
get selfServiceSamlProviderArnInput() {
return this._selfServiceSamlProviderArn;
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
}
exports.Ec2ClientVpnEndpointAuthenticationOptionsOutputReference = Ec2ClientVpnEndpointAuthenticationOptionsOutputReference;
_a = JSII_RTTI_SYMBOL_1;
Ec2ClientVpnEndpointAuthenticationOptionsOutputReference[_a] = { fqn: "@cdktf/provider-aws.ec2ClientVpnEndpoint.Ec2ClientVpnEndpointAuthenticationOptionsOutputReference", version: "21.22.1" };
class Ec2ClientVpnEndpointAuthenticationOptionsList 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 Ec2ClientVpnEndpointAuthenticationOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.Ec2ClientVpnEndpointAuthenticationOptionsList = Ec2ClientVpnEndpointAuthenticationOptionsList;
_b = JSII_RTTI_SYMBOL_1;
Ec2ClientVpnEndpointAuthenticationOptionsList[_b] = { fqn: "@cdktf/provider-aws.ec2ClientVpnEndpoint.Ec2ClientVpnEndpointAuthenticationOptionsList", version: "21.22.1" };
function ec2ClientVpnEndpointClientConnectOptionsToTerraform(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 {
enabled: cdktf.booleanToTerraform(struct.enabled),
lambda_function_arn: cdktf.stringToTerraform(struct.lambdaFunctionArn),
};
}
function ec2ClientVpnEndpointClientConnectOptionsToHclTerraform(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 = {
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
lambda_function_arn: {
value: cdktf.stringToHclTerraform(struct.lambdaFunctionArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class Ec2ClientVpnEndpointClientConnectOptionsOutputReference 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, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
if (this._lambdaFunctionArn !== undefined) {
hasAnyValues = true;
internalValueResult.lambdaFunctionArn = this._lambdaFunctionArn;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enabled = undefined;
this._lambdaFunctionArn = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enabled = value.enabled;
this._lambdaFunctionArn = value.lambdaFunctionArn;
}
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
resetEnabled() {
this._enabled = undefined;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
get lambdaFunctionArn() {
return this.getStringAttribute('lambda_function_arn');
}
set lambdaFunctionArn(value) {
this._lambdaFunctionArn = value;
}
resetLambdaFunctionArn() {
this._lambdaFunctionArn = undefined;
}
// Temporarily expose input value. Use with caution.
get lambdaFunctionArnInput() {
return this._lambdaFunctionArn;
}
}
exports.Ec2ClientVpnEndpointClientConnectOptionsOutputReference = Ec2ClientVpnEndpointClientConnectOptionsOutputReference;
_c = JSII_RTTI_SYMBOL_1;
Ec2ClientVpnEndpointClientConnectOptionsOutputReference[_c] = { fqn: "@cdktf/provider-aws.ec2ClientVpnEndpoint.Ec2ClientVpnEndpointClientConnectOptionsOutputReference", version: "21.22.1" };
function ec2ClientVpnEndpointClientLoginBannerOptionsToTerraform(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 {
banner_text: cdktf.stringToTerraform(struct.bannerText),
enabled: cdktf.booleanToTerraform(struct.enabled),
};
}
function ec2ClientVpnEndpointClientLoginBannerOptionsToHclTerraform(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 = {
banner_text: {
value: cdktf.stringToHclTerraform(struct.bannerText),
isBlock: false,
type: "simple",
storageClassType: "string",
},
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class Ec2ClientVpnEndpointClientLoginBannerOptionsOutputReference 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, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._bannerText !== undefined) {
hasAnyValues = true;
internalValueResult.bannerText = this._bannerText;
}
if (this._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._bannerText = undefined;
this._enabled = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._bannerText = value.bannerText;
this._enabled = value.enabled;
}
}
get bannerText() {
return this.getStringAttribute('banner_text');
}
set bannerText(value) {
this._bannerText = value;
}
resetBannerText() {
this._bannerText = undefined;
}
// Temporarily expose input value. Use with caution.
get bannerTextInput() {
return this._bannerText;
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
resetEnabled() {
this._enabled = undefined;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
}
exports.Ec2ClientVpnEndpointClientLoginBannerOptionsOutputReference = Ec2ClientVpnEndpointClientLoginBannerOptionsOutputReference;
_d = JSII_RTTI_SYMBOL_1;
Ec2ClientVpnEndpointClientLoginBannerOptionsOutputReference[_d] = { fqn: "@cdktf/provider-aws.ec2ClientVpnEndpoint.Ec2ClientVpnEndpointClientLoginBannerOptionsOutputReference", version: "21.22.1" };
function ec2ClientVpnEndpointClientRouteEnforcementOptionsToTerraform(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 {
enforced: cdktf.booleanToTerraform(struct.enforced),
};
}
function ec2ClientVpnEndpointClientRouteEnforcementOptionsToHclTerraform(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 = {
enforced: {
value: cdktf.booleanToHclTerraform(struct.enforced),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class Ec2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference 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, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._enforced !== undefined) {
hasAnyValues = true;
internalValueResult.enforced = this._enforced;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enforced = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enforced = value.enforced;
}
}
get enforced() {
return this.getBooleanAttribute('enforced');
}
set enforced(value) {
this._enforced = value;
}
resetEnforced() {
this._enforced = undefined;
}
// Temporarily expose input value. Use with caution.
get enforcedInput() {
return this._enforced;
}
}
exports.Ec2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference = Ec2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference;
_e = JSII_RTTI_SYMBOL_1;
Ec2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference[_e] = { fqn: "@cdktf/provider-aws.ec2ClientVpnEndpoint.Ec2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference", version: "21.22.1" };
function ec2ClientVpnEndpointConnectionLogOptionsToTerraform(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 {
cloudwatch_log_group: cdktf.stringToTerraform(struct.cloudwatchLogGroup),
cloudwatch_log_stream: cdktf.stringToTerraform(struct.cloudwatchLogStream),
enabled: cdktf.booleanToTerraform(struct.enabled),
};
}
function ec2ClientVpnEndpointConnectionLogOptionsToHclTerraform(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 = {
cloudwatch_log_group: {
value: cdktf.stringToHclTerraform(struct.cloudwatchLogGroup),
isBlock: false,
type: "simple",
storageClassType: "string",
},
cloudwatch_log_stream: {
value: cdktf.stringToHclTerraform(struct.cloudwatchLogStream),
isBlock: false,
type: "simple",
storageClassType: "string",
},
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class Ec2ClientVpnEndpointConnectionLogOptionsOutputReference 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, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._cloudwatchLogGroup !== undefined) {
hasAnyValues = true;
internalValueResult.cloudwatchLogGroup = this._cloudwatchLogGroup;
}
if (this._cloudwatchLogStream !== undefined) {
hasAnyValues = true;
internalValueResult.cloudwatchLogStream = this._cloudwatchLogStream;
}
if (this._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._cloudwatchLogGroup = undefined;
this._cloudwatchLogStream = undefined;
this._enabled = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._cloudwatchLogGroup = value.cloudwatchLogGroup;
this._cloudwatchLogStream = value.cloudwatchLogStream;
this._enabled = value.enabled;
}
}
get cloudwatchLogGroup() {
return this.getStringAttribute('cloudwatch_log_group');
}
set cloudwatchLogGroup(value) {
this._cloudwatchLogGroup = value;
}
resetCloudwatchLogGroup() {
this._cloudwatchLogGroup = undefined;
}
// Temporarily expose input value. Use with caution.
get cloudwatchLogGroupInput() {
return this._cloudwatchLogGroup;
}
get cloudwatchLogStream() {
return this.getStringAttribute('cloudwatch_log_stream');
}
set cloudwatchLogStream(value) {
this._cloudwatchLogStream = value;
}
resetCloudwatchLogStream() {
this._cloudwatchLogStream = undefined;
}
// Temporarily expose input value. Use with caution.
get cloudwatchLogStreamInput() {
return this._cloudwatchLogStream;
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
}
exports.Ec2ClientVpnEndpointConnectionLogOptionsOutputReference = Ec2ClientVpnEndpointConnectionLogOptionsOutputReference;
_f = JSII_RTTI_SYMBOL_1;
Ec2ClientVpnEndpointConnectionLogOptionsOutputReference[_f] = { fqn: "@cdktf/provider-aws.ec2ClientVpnEndpoint.Ec2ClientVpnEndpointConnectionLogOptionsOutputReference", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/ec2_client_vpn_endpoint aws_ec2_client_vpn_endpoint}
*/
class Ec2ClientVpnEndpoint extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a Ec2ClientVpnEndpoint 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 Ec2ClientVpnEndpoint to import
* @param importFromId The id of the existing Ec2ClientVpnEndpoint that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/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 Ec2ClientVpnEndpoint 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/resources/ec2_client_vpn_endpoint aws_ec2_client_vpn_endpoint} Resource
*
* @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 Ec2ClientVpnEndpointConfig
*/
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: false, optional: false, required: true
this._authenticationOptions = new Ec2ClientVpnEndpointAuthenticationOptionsList(this, "authentication_options", true);
// client_connect_options - computed: false, optional: true, required: false
this._clientConnectOptions = new Ec2ClientVpnEndpointClientConnectOptionsOutputReference(this, "client_connect_options");
// client_login_banner_options - computed: false, optional: true, required: false
this._clientLoginBannerOptions = new Ec2ClientVpnEndpointClientLoginBannerOptionsOutputReference(this, "client_login_banner_options");
// client_route_enforcement_options - computed: false, optional: true, required: false
this._clientRouteEnforcementOptions = new Ec2ClientVpnEndpointClientRouteEnforcementOptionsOutputReference(this, "client_route_enforcement_options");
// connection_log_options - computed: false, optional: false, required: true
this._connectionLogOptions = new Ec2ClientVpnEndpointConnectionLogOptionsOutputReference(this, "connection_log_options");
this._clientCidrBlock = config.clientCidrBlock;
this._description = config.description;
this._disconnectOnSessionTimeout = config.disconnectOnSessionTimeout;
this._dnsServers = config.dnsServers;
this._endpointIpAddressType = config.endpointIpAddressType;
this._id = config.id;
this._region = config.region;
this._securityGroupIds = config.securityGroupIds;
this._selfServicePortal = config.selfServicePortal;
this._serverCertificateArn = config.serverCertificateArn;
this._sessionTimeoutHours = config.sessionTimeoutHours;
this._splitTunnel = config.splitTunnel;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._trafficIpAddressType = config.trafficIpAddressType;
this._transportProtocol = config.transportProtocol;
this._vpcId = config.vpcId;
this._vpnPort = config.vpnPort;
this._authenticationOptions.internalValue = config.authenticationOptions;
this._clientConnectOptions.internalValue = config.clientConnectOptions;
this._clientLoginBannerOptions.internalValue = config.clientLoginBannerOptions;
this._clientRouteEnforcementOptions.internalValue = config.clientRouteEnforcementOptions;
this._connectionLogOptions.internalValue = config.connectionLogOptions;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get clientCidrBlock() {
return this.getStringAttribute('client_cidr_block');
}
set clientCidrBlock(value) {
this._clientCidrBlock = value;
}
resetClientCidrBlock() {
this._clientCidrBlock = undefined;
}
// Temporarily expose input value. Use with caution.
get clientCidrBlockInput() {
return this._clientCidrBlock;
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get disconnectOnSessionTimeout() {
return this.getBooleanAttribute('disconnect_on_session_timeout');
}
set disconnectOnSessionTimeout(value) {
this._disconnectOnSessionTimeout = value;
}
resetDisconnectOnSessionTimeout() {
this._disconnectOnSessionTimeout = undefined;
}
// Temporarily expose input value. Use with caution.
get disconnectOnSessionTimeoutInput() {
return this._disconnectOnSessionTimeout;
}
// dns_name - computed: true, optional: false, required: false
get dnsName() {
return this.getStringAttribute('dns_name');
}
get dnsServers() {
return this.getListAttribute('dns_servers');
}
set dnsServers(value) {
this._dnsServers = value;
}
resetDnsServers() {
this._dnsServers = undefined;
}
// Temporarily expose input value. Use with caution.
get dnsServersInput() {
return this._dnsServers;
}
get endpointIpAddressType() {
return this.getStringAttribute('endpoint_ip_address_type');
}
set endpointIpAddressType(value) {
this._endpointIpAddressType = value;
}
resetEndpointIpAddressType() {
this._endpointIpAddressType = undefined;
}
// Temporarily expose input value. Use with caution.
get endpointIpAddressTypeInput() {
return this._endpointIpAddressType;
}
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;
}
get securityGroupIds() {
return cdktf.Fn.tolist(this.getListAttribute('security_group_ids'));
}
set securityGroupIds(value) {
this._securityGroupIds = value;
}
resetSecurityGroupIds() {
this._securityGroupIds = undefined;
}
// Temporarily expose input value. Use with caution.
get securityGroupIdsInput() {
return this._securityGroupIds;
}
get selfServicePortal() {
return this.getStringAttribute('self_service_portal');
}
set selfServicePortal(value) {
this._selfServicePortal = value;
}
resetSelfServicePortal() {
this._selfServicePortal = undefined;
}
// Temporarily expose input value. Use with caution.
get selfServicePortalInput() {
return this._selfServicePortal;
}
// self_service_portal_url - computed: true, optional: false, required: false
get selfServicePortalUrl() {
return this.getStringAttribute('self_service_portal_url');
}
get serverCertificateArn() {
return this.getStringAttribute('server_certificate_arn');
}
set serverCertificateArn(value) {
this._serverCertificateArn = value;
}
// Temporarily expose input value. Use with caution.
get serverCertificateArnInput() {
return this._serverCertificateArn;
}
get sessionTimeoutHours() {
return this.getNumberAttribute('session_timeout_hours');
}
set sessionTimeoutHours(value) {
this._sessionTimeoutHours = value;
}
resetSessionTimeoutHours() {
this._sessionTimeoutHours = undefined;
}
// Temporarily expose input value. Use with caution.
get sessionTimeoutHoursInput() {
return this._sessionTimeoutHours;
}
get splitTunnel() {
return this.getBooleanAttribute('split_tunnel');
}
set splitTunnel(value) {
this._splitTunnel = value;
}
resetSplitTunnel() {
this._splitTunnel = undefined;
}
// Temporarily expose input value. Use with caution.
get splitTunnelInput() {
return this._splitTunnel;
}
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;
}
get tagsAll() {
return this.getStringMapAttribute('tags_all');
}
set tagsAll(value) {
this._tagsAll = value;
}
resetTagsAll() {
this._tagsAll = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsAllInput() {
return this._tagsAll;
}
get trafficIpAddressType() {
return this.getStringAttribute('traffic_ip_address_type');
}
set trafficIpAddressType(value) {
this._trafficIpAddressType = value;
}
resetTrafficIpAddressType() {
this._trafficIpAddressType = undefined;
}
// Temporarily expose input value. Use with caution.
get trafficIpAddressTypeInput() {
return this._trafficIpAddressType;
}
get transportProtocol() {
return this.getStringAttribute('transport_protocol');
}
set transportProtocol(value) {
this._transportProtocol = value;
}
resetTransportProtocol() {
this._transportProtocol = undefined;
}
// Temporarily expose input value. Use with caution.
get transportProtocolInput() {
return this._transportProtocol;
}
get vpcId() {
return this.getStringAttribute('vpc_id');
}
set vpcId(value) {
this._vpcId = value;
}
resetVpcId() {
this._vpcId = undefined;
}
// Temporarily expose input value. Use with caution.
get vpcIdInput() {
return this._vpcId;
}
get vpnPort() {
return this.getNumberAttribute('vpn_port');
}
set vpnPort(value) {
this._vpnPort = value;
}
resetVpnPort() {
this._vpnPort = undefined;
}
// Temporarily expose input value. Use with caution.
get vpnPortInput() {
return this._vpnPort;
}
get authenticationOptions() {
return this._authenticationOptions;
}
putAuthenticationOptions(value) {
this._authenticationOptions.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get authenticationOptionsInput() {
return this._authenticationOptions.internalValue;
}
get clientConnectOptions() {
return this._clientConnectOptions;
}
putClientConnectOptions(value) {
this._clientConnectOptions.internalValue = value;
}
resetClientConnectOptions() {
this._clientConnectOptions.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get clientConnectOptionsInput() {
return this._clientConnectOptions.internalValue;
}
get clientLoginBannerOptions() {
return this._clientLoginBannerOptions;
}
putClientLoginBannerOptions(value) {
this._clientLoginBannerOptions.internalValue = value;
}
resetClientLoginBannerOptions() {
this._clientLoginBannerOptions.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get clientLoginBannerOptionsInput() {
return this._clientLoginBannerOptions.internalValue;
}
get clientRouteEnforcementOptions() {
return this._clientRouteEnforcementOptions;
}
putClientRouteEnforcementOptions(value) {
this._clientRouteEnforcementOptions.internalValue = value;
}
resetClientRouteEnforcementOptions() {
this._clientRouteEnforcementOptions.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get clientRouteEnforcementOptionsInput() {
return this._clientRouteEnforcementOptions.internalValue;
}
get connectionLogOptions() {
return this._connectionLogOptions;
}
putConnectionLogOptions(value) {
this._connectionLogOptions.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get connectionLogOptionsInput() {
return this._connectionLogOptions.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
client_cidr_block: cdktf.stringToTerraform(this._clientCidrBlock),
description: cdktf.stringToTerraform(this._description),
disconnect_on_session_timeout: cdktf.booleanToTerraform(this._disconnectOnSessionTimeout),
dns_servers: cdktf.listMapper(cdktf.stringToTerraform, false)(this._dnsServers),
endpoint_ip_address_type: cdktf.stringToTerraform(this._endpointIpAddressType),
id: cdktf.stringToTerraform(this._id),
region: cdktf.stringToTerraform(this._region),
security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._securityGroupIds),
self_service_portal: cdktf.stringToTerraform(this._selfServicePortal),
server_certificate_arn: cdktf.stringToTerraform(this._serverCertificateArn),
session_timeout_hours: cdktf.numberToTerraform(this._sessionTimeoutHours),
split_tunnel: cdktf.booleanToTerraform(this._splitTunnel),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
traffic_ip_address_type: cdktf.stringToTerraform(this._trafficIpAddressType),
transport_protocol: cdktf.stringToTerraform(this._transportProtocol),
vpc_id: cdktf.stringToTerraform(this._vpcId),
vpn_port: cdktf.numberToTerraform(this._vpnPort),
authentication_options: cdktf.listMapper(ec2ClientVpnEndpointAuthenticationOptionsToTerraform, true)(this._authenticationOptions.internalValue),
client_connect_options: ec2ClientVpnEndpointClientConnectOptionsToTerraform(this._clientConnectOptions.internalValue),
client_login_banner_options: ec2ClientVpnEndpointClientLoginBannerOptionsToTerraform(this._clientLoginBannerOptions.internalValue),
client_route_enforcement_options: ec2ClientVpnEndpointClientRouteEnforcementOptionsToTerraform(this._clientRouteEnforcementOptions.internalValue),
connection_log_options: ec2ClientVpnEndpointConnectionLogOptionsToTerraform(this._connectionLogOptions.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
client_cidr_block: {
value: cdktf.stringToHclTerraform(this._clientCidrBlock),
isBlock: false,
type: "simple",
storageClassType: "string",
},
description: {
value: cdktf.stringToHclTerraform(this._description),
isBlock: false,
type: "simple",
storageClassType: "string",
},
disconnect_on_session_timeout: {
value: cdktf.booleanToHclTerraform(this._disconnectOnSessionTimeout),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
dns_servers: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._dnsServers),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
endpoint_ip_address_type: {
value: cdktf.stringToHclTerraform(this._endpointIpAddressType),
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",
},
security_group_ids: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._securityGroupIds),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
self_service_portal: {
value: cdktf.stringToHclTerraform(this._selfServicePortal),
isBlock: false,
type: "simple",
storageClassType: "string",
},
server_certificate_arn: {
value: cdktf.stringToHclTerraform(this._serverCertificateArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
session_timeout_hours: {
value: cdktf.numberToHclTerraform(this._sessionTimeoutHours),
isBlock: false,
type: "simple",
storageClassType: "number",
},
split_tunnel: {
value: cdktf.booleanToHclTerraform(this._splitTunnel),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
tags_all: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
traffic_ip_address_type: {
value: cdktf.stringToHclTerraform(this._trafficIpAddressType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
transport_protocol: {
value: cdktf.stringToHclTerraform(this._transportProtocol),
isBlock: false,
type: "simple",
storageClassType: "string",
},
vpc_id: {
value: cdktf.stringToHclTerraform(this._vpcId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
vpn_port: {
value: cdktf.numberToHclTerraform(this._vpnPort),
isBlock: false,
type: "simple",
storageClassType: "number",
},
authentication_options: {
value: cdktf.listMapperHcl(ec2ClientVpnEndpointAuthenticationOptionsToHclTerraform, true)(this._authenticationOptions.internalValue),
isBlock: true,
type: "set",
storageClassType: "Ec2ClientVpnEndpointAuthenticationOptionsList",
},
client_connect_options: {
value: ec2ClientVpnEndpointClientConnectOptionsToHclTerraform(this._clientConnectOptions.internalValue),
isBlock: true,
type: "list",
storageClassType: "Ec2ClientVpnEndpointClientConnectOptionsList",
},
client_login_banner_options: {
value: ec2ClientVpnEndpointClientLoginBannerOptionsToHclTerraform(this._clientLoginBannerOptions.internalValue),
isBlock: true,
type: "list",
storageClassType: "Ec2ClientVpnEndpointClientLoginBannerOptionsList",
},
client_route_enforcement_options: {
value: ec2ClientVpnEndpointClientRouteEnforcementOptionsToHclTerraform(this._clientRouteEnforcementOptions.internalValue),
isBlock: true,
type: "list",
storageClassType: "Ec2ClientVpnEndpointClientRouteEnforcementOptionsList",
},
connection_log_options: {
value: ec2ClientVpnEndpointConnectionLogOptionsToHclTerraform(this._connectionLogOptions.internalValue),
isBlock: true,
type: "list",
storageClassType: "Ec2ClientVpnEndpointConnectionLogOptionsList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.Ec2ClientVpnEndpoint = Ec2ClientVpnEndpoint;
_g = JSII_RTTI_SYMBOL_1;
Ec2ClientVpnEndpoint[_g] = { fqn: "@cdktf/provider-aws.ec2ClientVpnEndpoint.Ec2ClientVpnEndpoint", version: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
Ec2ClientVpnEndpoint.tfResourceType = "aws_ec2_client_vpn_endpoint";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWMyLWNsaWVudC12cG4tZW5kcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQWlKQSxvSEFZQztBQUdELDBIQXdDQztBQWtMRCxrSEFTQztBQUdELHdIQXNCQztBQW1GRCwwSEFTQztBQUdELGdJQXNCQztBQStFRCxvSUFRQztBQUdELDBJQWdCQztBQWlFRCxrSEFVQztBQUdELHdIQTRCQzs7QUE1dEJELCtCQUErQjtBQXdJL0IsU0FBZ0Isb0RBQW9ELENBQUMsTUFBc0U7SUFDekksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDdkUsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyx1QkFBdUIsQ0FBQztRQUNwRixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGVBQWUsQ0FBQztRQUNuRSw4QkFBOEIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLDBCQUEwQixDQUFDO1FBQzNGLElBQUksRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztLQUM1QyxDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLHVEQUF1RCxDQUFDLE1BQXNFO0