UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

945 lines 143 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConnectInstanceStorageConfig = exports.ConnectInstanceStorageConfigStorageConfigOutputReference = exports.ConnectInstanceStorageConfigStorageConfigS3ConfigOutputReference = exports.ConnectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigOutputReference = exports.ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigOutputReference = exports.ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigOutputReference = exports.ConnectInstanceStorageConfigStorageConfigKinesisStreamConfigOutputReference = exports.ConnectInstanceStorageConfigStorageConfigKinesisFirehoseConfigOutputReference = void 0; exports.connectInstanceStorageConfigStorageConfigKinesisFirehoseConfigToTerraform = connectInstanceStorageConfigStorageConfigKinesisFirehoseConfigToTerraform; exports.connectInstanceStorageConfigStorageConfigKinesisFirehoseConfigToHclTerraform = connectInstanceStorageConfigStorageConfigKinesisFirehoseConfigToHclTerraform; exports.connectInstanceStorageConfigStorageConfigKinesisStreamConfigToTerraform = connectInstanceStorageConfigStorageConfigKinesisStreamConfigToTerraform; exports.connectInstanceStorageConfigStorageConfigKinesisStreamConfigToHclTerraform = connectInstanceStorageConfigStorageConfigKinesisStreamConfigToHclTerraform; exports.connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigToTerraform = connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigToTerraform; exports.connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigToHclTerraform = connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigToHclTerraform; exports.connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigToTerraform = connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigToTerraform; exports.connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigToHclTerraform = connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigToHclTerraform; exports.connectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigToTerraform = connectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigToTerraform; exports.connectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigToHclTerraform = connectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigToHclTerraform; exports.connectInstanceStorageConfigStorageConfigS3ConfigToTerraform = connectInstanceStorageConfigStorageConfigS3ConfigToTerraform; exports.connectInstanceStorageConfigStorageConfigS3ConfigToHclTerraform = connectInstanceStorageConfigStorageConfigS3ConfigToHclTerraform; exports.connectInstanceStorageConfigStorageConfigToTerraform = connectInstanceStorageConfigStorageConfigToTerraform; exports.connectInstanceStorageConfigStorageConfigToHclTerraform = connectInstanceStorageConfigStorageConfigToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function connectInstanceStorageConfigStorageConfigKinesisFirehoseConfigToTerraform(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 { firehose_arn: cdktf.stringToTerraform(struct.firehoseArn), }; } function connectInstanceStorageConfigStorageConfigKinesisFirehoseConfigToHclTerraform(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 = { firehose_arn: { value: cdktf.stringToHclTerraform(struct.firehoseArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ConnectInstanceStorageConfigStorageConfigKinesisFirehoseConfigOutputReference 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._firehoseArn !== undefined) { hasAnyValues = true; internalValueResult.firehoseArn = this._firehoseArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._firehoseArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._firehoseArn = value.firehoseArn; } } get firehoseArn() { return this.getStringAttribute('firehose_arn'); } set firehoseArn(value) { this._firehoseArn = value; } // Temporarily expose input value. Use with caution. get firehoseArnInput() { return this._firehoseArn; } } exports.ConnectInstanceStorageConfigStorageConfigKinesisFirehoseConfigOutputReference = ConnectInstanceStorageConfigStorageConfigKinesisFirehoseConfigOutputReference; _a = JSII_RTTI_SYMBOL_1; ConnectInstanceStorageConfigStorageConfigKinesisFirehoseConfigOutputReference[_a] = { fqn: "@cdktf/provider-aws.connectInstanceStorageConfig.ConnectInstanceStorageConfigStorageConfigKinesisFirehoseConfigOutputReference", version: "21.22.1" }; function connectInstanceStorageConfigStorageConfigKinesisStreamConfigToTerraform(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 { stream_arn: cdktf.stringToTerraform(struct.streamArn), }; } function connectInstanceStorageConfigStorageConfigKinesisStreamConfigToHclTerraform(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 = { stream_arn: { value: cdktf.stringToHclTerraform(struct.streamArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ConnectInstanceStorageConfigStorageConfigKinesisStreamConfigOutputReference 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._streamArn !== undefined) { hasAnyValues = true; internalValueResult.streamArn = this._streamArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._streamArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._streamArn = value.streamArn; } } get streamArn() { return this.getStringAttribute('stream_arn'); } set streamArn(value) { this._streamArn = value; } // Temporarily expose input value. Use with caution. get streamArnInput() { return this._streamArn; } } exports.ConnectInstanceStorageConfigStorageConfigKinesisStreamConfigOutputReference = ConnectInstanceStorageConfigStorageConfigKinesisStreamConfigOutputReference; _b = JSII_RTTI_SYMBOL_1; ConnectInstanceStorageConfigStorageConfigKinesisStreamConfigOutputReference[_b] = { fqn: "@cdktf/provider-aws.connectInstanceStorageConfig.ConnectInstanceStorageConfigStorageConfigKinesisStreamConfigOutputReference", version: "21.22.1" }; function connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigToTerraform(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 { encryption_type: cdktf.stringToTerraform(struct.encryptionType), key_id: cdktf.stringToTerraform(struct.keyId), }; } function connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigToHclTerraform(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 = { encryption_type: { value: cdktf.stringToHclTerraform(struct.encryptionType), isBlock: false, type: "simple", storageClassType: "string", }, key_id: { value: cdktf.stringToHclTerraform(struct.keyId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigOutputReference 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._encryptionType !== undefined) { hasAnyValues = true; internalValueResult.encryptionType = this._encryptionType; } if (this._keyId !== undefined) { hasAnyValues = true; internalValueResult.keyId = this._keyId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._encryptionType = undefined; this._keyId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._encryptionType = value.encryptionType; this._keyId = value.keyId; } } get encryptionType() { return this.getStringAttribute('encryption_type'); } set encryptionType(value) { this._encryptionType = value; } // Temporarily expose input value. Use with caution. get encryptionTypeInput() { return this._encryptionType; } get keyId() { return this.getStringAttribute('key_id'); } set keyId(value) { this._keyId = value; } // Temporarily expose input value. Use with caution. get keyIdInput() { return this._keyId; } } exports.ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigOutputReference = ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigOutputReference; _c = JSII_RTTI_SYMBOL_1; ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigOutputReference[_c] = { fqn: "@cdktf/provider-aws.connectInstanceStorageConfig.ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigOutputReference", version: "21.22.1" }; function connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigToTerraform(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 { prefix: cdktf.stringToTerraform(struct.prefix), retention_period_hours: cdktf.numberToTerraform(struct.retentionPeriodHours), encryption_config: connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigToTerraform(struct.encryptionConfig), }; } function connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigToHclTerraform(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 = { prefix: { value: cdktf.stringToHclTerraform(struct.prefix), isBlock: false, type: "simple", storageClassType: "string", }, retention_period_hours: { value: cdktf.numberToHclTerraform(struct.retentionPeriodHours), isBlock: false, type: "simple", storageClassType: "number", }, encryption_config: { value: connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigToHclTerraform(struct.encryptionConfig), isBlock: true, type: "list", storageClassType: "ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigOutputReference 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; // encryption_config - computed: false, optional: false, required: true this._encryptionConfig = new ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigOutputReference(this, "encryption_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._prefix !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix; } if (this._retentionPeriodHours !== undefined) { hasAnyValues = true; internalValueResult.retentionPeriodHours = this._retentionPeriodHours; } if (this._encryptionConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.encryptionConfig = this._encryptionConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._prefix = undefined; this._retentionPeriodHours = undefined; this._encryptionConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._prefix = value.prefix; this._retentionPeriodHours = value.retentionPeriodHours; this._encryptionConfig.internalValue = value.encryptionConfig; } } get prefix() { return this.getStringAttribute('prefix'); } set prefix(value) { this._prefix = value; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix; } get retentionPeriodHours() { return this.getNumberAttribute('retention_period_hours'); } set retentionPeriodHours(value) { this._retentionPeriodHours = value; } // Temporarily expose input value. Use with caution. get retentionPeriodHoursInput() { return this._retentionPeriodHours; } get encryptionConfig() { return this._encryptionConfig; } putEncryptionConfig(value) { this._encryptionConfig.internalValue = value; } // Temporarily expose input value. Use with caution. get encryptionConfigInput() { return this._encryptionConfig.internalValue; } } exports.ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigOutputReference = ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigOutputReference; _d = JSII_RTTI_SYMBOL_1; ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigOutputReference[_d] = { fqn: "@cdktf/provider-aws.connectInstanceStorageConfig.ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigOutputReference", version: "21.22.1" }; function connectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigToTerraform(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 { encryption_type: cdktf.stringToTerraform(struct.encryptionType), key_id: cdktf.stringToTerraform(struct.keyId), }; } function connectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigToHclTerraform(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 = { encryption_type: { value: cdktf.stringToHclTerraform(struct.encryptionType), isBlock: false, type: "simple", storageClassType: "string", }, key_id: { value: cdktf.stringToHclTerraform(struct.keyId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ConnectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigOutputReference 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._encryptionType !== undefined) { hasAnyValues = true; internalValueResult.encryptionType = this._encryptionType; } if (this._keyId !== undefined) { hasAnyValues = true; internalValueResult.keyId = this._keyId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._encryptionType = undefined; this._keyId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._encryptionType = value.encryptionType; this._keyId = value.keyId; } } get encryptionType() { return this.getStringAttribute('encryption_type'); } set encryptionType(value) { this._encryptionType = value; } // Temporarily expose input value. Use with caution. get encryptionTypeInput() { return this._encryptionType; } get keyId() { return this.getStringAttribute('key_id'); } set keyId(value) { this._keyId = value; } // Temporarily expose input value. Use with caution. get keyIdInput() { return this._keyId; } } exports.ConnectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigOutputReference = ConnectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigOutputReference; _e = JSII_RTTI_SYMBOL_1; ConnectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigOutputReference[_e] = { fqn: "@cdktf/provider-aws.connectInstanceStorageConfig.ConnectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigOutputReference", version: "21.22.1" }; function connectInstanceStorageConfigStorageConfigS3ConfigToTerraform(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 { bucket_name: cdktf.stringToTerraform(struct.bucketName), bucket_prefix: cdktf.stringToTerraform(struct.bucketPrefix), encryption_config: connectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigToTerraform(struct.encryptionConfig), }; } function connectInstanceStorageConfigStorageConfigS3ConfigToHclTerraform(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 = { bucket_name: { value: cdktf.stringToHclTerraform(struct.bucketName), isBlock: false, type: "simple", storageClassType: "string", }, bucket_prefix: { value: cdktf.stringToHclTerraform(struct.bucketPrefix), isBlock: false, type: "simple", storageClassType: "string", }, encryption_config: { value: connectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigToHclTerraform(struct.encryptionConfig), isBlock: true, type: "list", storageClassType: "ConnectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ConnectInstanceStorageConfigStorageConfigS3ConfigOutputReference 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; // encryption_config - computed: false, optional: true, required: false this._encryptionConfig = new ConnectInstanceStorageConfigStorageConfigS3ConfigEncryptionConfigOutputReference(this, "encryption_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._bucketName !== undefined) { hasAnyValues = true; internalValueResult.bucketName = this._bucketName; } if (this._bucketPrefix !== undefined) { hasAnyValues = true; internalValueResult.bucketPrefix = this._bucketPrefix; } if (this._encryptionConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.encryptionConfig = this._encryptionConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._bucketName = undefined; this._bucketPrefix = undefined; this._encryptionConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._bucketName = value.bucketName; this._bucketPrefix = value.bucketPrefix; this._encryptionConfig.internalValue = value.encryptionConfig; } } get bucketName() { return this.getStringAttribute('bucket_name'); } set bucketName(value) { this._bucketName = value; } // Temporarily expose input value. Use with caution. get bucketNameInput() { return this._bucketName; } get bucketPrefix() { return this.getStringAttribute('bucket_prefix'); } set bucketPrefix(value) { this._bucketPrefix = value; } // Temporarily expose input value. Use with caution. get bucketPrefixInput() { return this._bucketPrefix; } get encryptionConfig() { return this._encryptionConfig; } putEncryptionConfig(value) { this._encryptionConfig.internalValue = value; } resetEncryptionConfig() { this._encryptionConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get encryptionConfigInput() { return this._encryptionConfig.internalValue; } } exports.ConnectInstanceStorageConfigStorageConfigS3ConfigOutputReference = ConnectInstanceStorageConfigStorageConfigS3ConfigOutputReference; _f = JSII_RTTI_SYMBOL_1; ConnectInstanceStorageConfigStorageConfigS3ConfigOutputReference[_f] = { fqn: "@cdktf/provider-aws.connectInstanceStorageConfig.ConnectInstanceStorageConfigStorageConfigS3ConfigOutputReference", version: "21.22.1" }; function connectInstanceStorageConfigStorageConfigToTerraform(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 { storage_type: cdktf.stringToTerraform(struct.storageType), kinesis_firehose_config: connectInstanceStorageConfigStorageConfigKinesisFirehoseConfigToTerraform(struct.kinesisFirehoseConfig), kinesis_stream_config: connectInstanceStorageConfigStorageConfigKinesisStreamConfigToTerraform(struct.kinesisStreamConfig), kinesis_video_stream_config: connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigToTerraform(struct.kinesisVideoStreamConfig), s3_config: connectInstanceStorageConfigStorageConfigS3ConfigToTerraform(struct.s3Config), }; } function connectInstanceStorageConfigStorageConfigToHclTerraform(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 = { storage_type: { value: cdktf.stringToHclTerraform(struct.storageType), isBlock: false, type: "simple", storageClassType: "string", }, kinesis_firehose_config: { value: connectInstanceStorageConfigStorageConfigKinesisFirehoseConfigToHclTerraform(struct.kinesisFirehoseConfig), isBlock: true, type: "list", storageClassType: "ConnectInstanceStorageConfigStorageConfigKinesisFirehoseConfigList", }, kinesis_stream_config: { value: connectInstanceStorageConfigStorageConfigKinesisStreamConfigToHclTerraform(struct.kinesisStreamConfig), isBlock: true, type: "list", storageClassType: "ConnectInstanceStorageConfigStorageConfigKinesisStreamConfigList", }, kinesis_video_stream_config: { value: connectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigToHclTerraform(struct.kinesisVideoStreamConfig), isBlock: true, type: "list", storageClassType: "ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigList", }, s3_config: { value: connectInstanceStorageConfigStorageConfigS3ConfigToHclTerraform(struct.s3Config), isBlock: true, type: "list", storageClassType: "ConnectInstanceStorageConfigStorageConfigS3ConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ConnectInstanceStorageConfigStorageConfigOutputReference 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; // kinesis_firehose_config - computed: false, optional: true, required: false this._kinesisFirehoseConfig = new ConnectInstanceStorageConfigStorageConfigKinesisFirehoseConfigOutputReference(this, "kinesis_firehose_config"); // kinesis_stream_config - computed: false, optional: true, required: false this._kinesisStreamConfig = new ConnectInstanceStorageConfigStorageConfigKinesisStreamConfigOutputReference(this, "kinesis_stream_config"); // kinesis_video_stream_config - computed: false, optional: true, required: false this._kinesisVideoStreamConfig = new ConnectInstanceStorageConfigStorageConfigKinesisVideoStreamConfigOutputReference(this, "kinesis_video_stream_config"); // s3_config - computed: false, optional: true, required: false this._s3Config = new ConnectInstanceStorageConfigStorageConfigS3ConfigOutputReference(this, "s3_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._storageType !== undefined) { hasAnyValues = true; internalValueResult.storageType = this._storageType; } if (this._kinesisFirehoseConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.kinesisFirehoseConfig = this._kinesisFirehoseConfig?.internalValue; } if (this._kinesisStreamConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.kinesisStreamConfig = this._kinesisStreamConfig?.internalValue; } if (this._kinesisVideoStreamConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.kinesisVideoStreamConfig = this._kinesisVideoStreamConfig?.internalValue; } if (this._s3Config?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.s3Config = this._s3Config?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._storageType = undefined; this._kinesisFirehoseConfig.internalValue = undefined; this._kinesisStreamConfig.internalValue = undefined; this._kinesisVideoStreamConfig.internalValue = undefined; this._s3Config.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._storageType = value.storageType; this._kinesisFirehoseConfig.internalValue = value.kinesisFirehoseConfig; this._kinesisStreamConfig.internalValue = value.kinesisStreamConfig; this._kinesisVideoStreamConfig.internalValue = value.kinesisVideoStreamConfig; this._s3Config.internalValue = value.s3Config; } } get storageType() { return this.getStringAttribute('storage_type'); } set storageType(value) { this._storageType = value; } // Temporarily expose input value. Use with caution. get storageTypeInput() { return this._storageType; } get kinesisFirehoseConfig() { return this._kinesisFirehoseConfig; } putKinesisFirehoseConfig(value) { this._kinesisFirehoseConfig.internalValue = value; } resetKinesisFirehoseConfig() { this._kinesisFirehoseConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get kinesisFirehoseConfigInput() { return this._kinesisFirehoseConfig.internalValue; } get kinesisStreamConfig() { return this._kinesisStreamConfig; } putKinesisStreamConfig(value) { this._kinesisStreamConfig.internalValue = value; } resetKinesisStreamConfig() { this._kinesisStreamConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get kinesisStreamConfigInput() { return this._kinesisStreamConfig.internalValue; } get kinesisVideoStreamConfig() { return this._kinesisVideoStreamConfig; } putKinesisVideoStreamConfig(value) { this._kinesisVideoStreamConfig.internalValue = value; } resetKinesisVideoStreamConfig() { this._kinesisVideoStreamConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get kinesisVideoStreamConfigInput() { return this._kinesisVideoStreamConfig.internalValue; } get s3Config() { return this._s3Config; } putS3Config(value) { this._s3Config.internalValue = value; } resetS3Config() { this._s3Config.internalValue = undefined; } // Temporarily expose input value. Use with caution. get s3ConfigInput() { return this._s3Config.internalValue; } } exports.ConnectInstanceStorageConfigStorageConfigOutputReference = ConnectInstanceStorageConfigStorageConfigOutputReference; _g = JSII_RTTI_SYMBOL_1; ConnectInstanceStorageConfigStorageConfigOutputReference[_g] = { fqn: "@cdktf/provider-aws.connectInstanceStorageConfig.ConnectInstanceStorageConfigStorageConfigOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/connect_instance_storage_config aws_connect_instance_storage_config} */ class ConnectInstanceStorageConfig extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ConnectInstanceStorageConfig 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 ConnectInstanceStorageConfig to import * @param importFromId The id of the existing ConnectInstanceStorageConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/connect_instance_storage_config#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ConnectInstanceStorageConfig to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_connect_instance_storage_config", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/connect_instance_storage_config aws_connect_instance_storage_config} 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 ConnectInstanceStorageConfigConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_connect_instance_storage_config', 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 }); // storage_config - computed: false, optional: false, required: true this._storageConfig = new ConnectInstanceStorageConfigStorageConfigOutputReference(this, "storage_config"); this._id = config.id; this._instanceId = config.instanceId; this._region = config.region; this._resourceType = config.resourceType; this._storageConfig.internalValue = config.storageConfig; } // ========== // ATTRIBUTES // ========== // association_id - computed: true, optional: false, required: false get associationId() { return this.getStringAttribute('association_id'); } 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 instanceId() { return this.getStringAttribute('instance_id'); } set instanceId(value) { this._instanceId = value; } // Temporarily expose input value. Use with caution. get instanceIdInput() { return this._instanceId; } 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 resourceType() { return this.getStringAttribute('resource_type'); } set resourceType(value) { this._resourceType = value; } // Temporarily expose input value. Use with caution. get resourceTypeInput() { return this._resourceType; } get storageConfig() { return this._storageConfig; } putStorageConfig(value) { this._storageConfig.internalValue = value; } // Temporarily expose input value. Use with caution. get storageConfigInput() { return this._storageConfig.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { id: cdktf.stringToTerraform(this._id), instance_id: cdktf.stringToTerraform(this._instanceId), region: cdktf.stringToTerraform(this._region), resource_type: cdktf.stringToTerraform(this._resourceType), storage_config: connectInstanceStorageConfigStorageConfigToTerraform(this._storageConfig.internalValue), }; } synthesizeHclAttributes() { const attrs = { id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, instance_id: { value: cdktf.stringToHclTerraform(this._instanceId), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, resource_type: { value: cdktf.stringToHclTerraform(this._resourceType), isBlock: false, type: "simple", storageClassType: "string", }, storage_config: { value: connectInstanceStorageConfigStorageConfigToHclTerraform(this._storageConfig.internalValue), isBlock: true, type: "list", storageClassType: "ConnectInstanceStorageConfigStorageConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.ConnectInstanceStorageConfig = ConnectInstanceStorageConfig; _h = JSII_RTTI_SYMBOL_1; ConnectInstanceStorageConfig[_h] = { fqn: "@cdktf/provider-aws.connectInstanceStorageConfig.ConnectInstanceStorageConfig", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= ConnectInstanceStorageConfig.tfResourceType = "aws_connect_instance_storage_config"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29ubmVjdC1pbnN0YW5jZS1zdG9yYWdlLWNvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBaURBLDhKQVFDO0FBR0Qsb0tBZ0JDO0FBc0RELDBKQVFDO0FBR0QsZ0tBZ0JDO0FBMERELG9NQVNDO0FBR0QsME1Bc0JDO0FBbUZELG9LQVVDO0FBR0QsMEtBNEJDO0FBZ0dELG9LQVNDO0FBR0QsMEtBc0JDO0FBbUZELG9JQVVDO0FBR0QsMElBNEJDO0FBdUhELG9IQVlDO0FBR0QsMEhBd0NDOztBQXh4QkQsK0JBQStCO0FBd0MvQixTQUFnQix5RUFBeUUsQ0FBQyxNQUF1SjtJQUMvTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsWUFBWSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDO0tBQzNELENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsNEVBQTRFLENBQUMsTUFBdUo7SUFDbFAsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1B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