UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

930 lines 152 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.Sesv2ConfigurationSetEventDestination = exports.Sesv2ConfigurationSetEventDestinationEventDestinationOutputReference = exports.sesv2ConfigurationSetEventDestinationEventDestinationToHclTerraform = exports.sesv2ConfigurationSetEventDestinationEventDestinationToTerraform = exports.Sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationOutputReference = exports.sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToHclTerraform = exports.sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToTerraform = exports.Sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationOutputReference = exports.sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToHclTerraform = exports.sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToTerraform = exports.Sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationOutputReference = exports.sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToHclTerraform = exports.sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToTerraform = exports.Sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputReference = exports.sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToHclTerraform = exports.sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToTerraform = exports.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutputReference = exports.sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToHclTerraform = exports.sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToTerraform = exports.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationList = exports.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutputReference = exports.sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToHclTerraform = exports.sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToTerraform(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 { default_dimension_value: cdktf.stringToTerraform(struct.defaultDimensionValue), dimension_name: cdktf.stringToTerraform(struct.dimensionName), dimension_value_source: cdktf.stringToTerraform(struct.dimensionValueSource), }; } exports.sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToTerraform = sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToTerraform; function sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToHclTerraform(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 = { default_dimension_value: { value: cdktf.stringToHclTerraform(struct.defaultDimensionValue), isBlock: false, type: "simple", storageClassType: "string", }, dimension_name: { value: cdktf.stringToHclTerraform(struct.dimensionName), isBlock: false, type: "simple", storageClassType: "string", }, dimension_value_source: { value: cdktf.stringToHclTerraform(struct.dimensionValueSource), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToHclTerraform = sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToHclTerraform; class Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutputReference 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._defaultDimensionValue !== undefined) { hasAnyValues = true; internalValueResult.defaultDimensionValue = this._defaultDimensionValue; } if (this._dimensionName !== undefined) { hasAnyValues = true; internalValueResult.dimensionName = this._dimensionName; } if (this._dimensionValueSource !== undefined) { hasAnyValues = true; internalValueResult.dimensionValueSource = this._dimensionValueSource; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._defaultDimensionValue = undefined; this._dimensionName = undefined; this._dimensionValueSource = 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._defaultDimensionValue = value.defaultDimensionValue; this._dimensionName = value.dimensionName; this._dimensionValueSource = value.dimensionValueSource; } } get defaultDimensionValue() { return this.getStringAttribute('default_dimension_value'); } set defaultDimensionValue(value) { this._defaultDimensionValue = value; } // Temporarily expose input value. Use with caution. get defaultDimensionValueInput() { return this._defaultDimensionValue; } get dimensionName() { return this.getStringAttribute('dimension_name'); } set dimensionName(value) { this._dimensionName = value; } // Temporarily expose input value. Use with caution. get dimensionNameInput() { return this._dimensionName; } get dimensionValueSource() { return this.getStringAttribute('dimension_value_source'); } set dimensionValueSource(value) { this._dimensionValueSource = value; } // Temporarily expose input value. Use with caution. get dimensionValueSourceInput() { return this._dimensionValueSource; } } exports.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutputReference = Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutputReference; _a = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutputReference", version: "19.50.0" }; class Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationList 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 Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationList = Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationList; _b = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationList[_b] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationList", version: "19.50.0" }; function sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToTerraform(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 { dimension_configuration: cdktf.listMapper(sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToTerraform, true)(struct.dimensionConfiguration), }; } exports.sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToTerraform = sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToTerraform; function sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToHclTerraform(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 = { dimension_configuration: { value: cdktf.listMapperHcl(sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationToHclTerraform, true)(struct.dimensionConfiguration), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToHclTerraform = sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToHclTerraform; class Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutputReference 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; // dimension_configuration - computed: false, optional: false, required: true this._dimensionConfiguration = new Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationList(this, "dimension_configuration", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dimensionConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.dimensionConfiguration = this._dimensionConfiguration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dimensionConfiguration.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dimensionConfiguration.internalValue = value.dimensionConfiguration; } } get dimensionConfiguration() { return this._dimensionConfiguration; } putDimensionConfiguration(value) { this._dimensionConfiguration.internalValue = value; } // Temporarily expose input value. Use with caution. get dimensionConfigurationInput() { return this._dimensionConfiguration.internalValue; } } exports.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutputReference = Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutputReference; _c = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutputReference[_c] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutputReference", version: "19.50.0" }; function sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToTerraform(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 { event_bus_arn: cdktf.stringToTerraform(struct.eventBusArn), }; } exports.sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToTerraform = sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToTerraform; function sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToHclTerraform(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 = { event_bus_arn: { value: cdktf.stringToHclTerraform(struct.eventBusArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToHclTerraform = sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToHclTerraform; class Sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputReference 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._eventBusArn !== undefined) { hasAnyValues = true; internalValueResult.eventBusArn = this._eventBusArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._eventBusArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._eventBusArn = value.eventBusArn; } } get eventBusArn() { return this.getStringAttribute('event_bus_arn'); } set eventBusArn(value) { this._eventBusArn = value; } // Temporarily expose input value. Use with caution. get eventBusArnInput() { return this._eventBusArn; } } exports.Sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputReference = Sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputReference; _d = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputReference[_d] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputReference", version: "19.50.0" }; function sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToTerraform(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 { delivery_stream_arn: cdktf.stringToTerraform(struct.deliveryStreamArn), iam_role_arn: cdktf.stringToTerraform(struct.iamRoleArn), }; } exports.sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToTerraform = sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToTerraform; function sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToHclTerraform(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 = { delivery_stream_arn: { value: cdktf.stringToHclTerraform(struct.deliveryStreamArn), isBlock: false, type: "simple", storageClassType: "string", }, iam_role_arn: { value: cdktf.stringToHclTerraform(struct.iamRoleArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToHclTerraform = sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToHclTerraform; class Sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationOutputReference 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._deliveryStreamArn !== undefined) { hasAnyValues = true; internalValueResult.deliveryStreamArn = this._deliveryStreamArn; } if (this._iamRoleArn !== undefined) { hasAnyValues = true; internalValueResult.iamRoleArn = this._iamRoleArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._deliveryStreamArn = undefined; this._iamRoleArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._deliveryStreamArn = value.deliveryStreamArn; this._iamRoleArn = value.iamRoleArn; } } get deliveryStreamArn() { return this.getStringAttribute('delivery_stream_arn'); } set deliveryStreamArn(value) { this._deliveryStreamArn = value; } // Temporarily expose input value. Use with caution. get deliveryStreamArnInput() { return this._deliveryStreamArn; } get iamRoleArn() { return this.getStringAttribute('iam_role_arn'); } set iamRoleArn(value) { this._iamRoleArn = value; } // Temporarily expose input value. Use with caution. get iamRoleArnInput() { return this._iamRoleArn; } } exports.Sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationOutputReference = Sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationOutputReference; _e = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationOutputReference[_e] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationOutputReference", version: "19.50.0" }; function sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToTerraform(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 { application_arn: cdktf.stringToTerraform(struct.applicationArn), }; } exports.sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToTerraform = sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToTerraform; function sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToHclTerraform(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 = { application_arn: { value: cdktf.stringToHclTerraform(struct.applicationArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToHclTerraform = sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToHclTerraform; class Sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationOutputReference 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._applicationArn !== undefined) { hasAnyValues = true; internalValueResult.applicationArn = this._applicationArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._applicationArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._applicationArn = value.applicationArn; } } get applicationArn() { return this.getStringAttribute('application_arn'); } set applicationArn(value) { this._applicationArn = value; } // Temporarily expose input value. Use with caution. get applicationArnInput() { return this._applicationArn; } } exports.Sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationOutputReference = Sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationOutputReference; _f = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationOutputReference[_f] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationOutputReference", version: "19.50.0" }; function sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToTerraform(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 { topic_arn: cdktf.stringToTerraform(struct.topicArn), }; } exports.sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToTerraform = sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToTerraform; function sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToHclTerraform(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 = { topic_arn: { value: cdktf.stringToHclTerraform(struct.topicArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToHclTerraform = sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToHclTerraform; class Sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationOutputReference 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._topicArn !== undefined) { hasAnyValues = true; internalValueResult.topicArn = this._topicArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._topicArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._topicArn = value.topicArn; } } get topicArn() { return this.getStringAttribute('topic_arn'); } set topicArn(value) { this._topicArn = value; } // Temporarily expose input value. Use with caution. get topicArnInput() { return this._topicArn; } } exports.Sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationOutputReference = Sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationOutputReference; _g = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationOutputReference[_g] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationOutputReference", version: "19.50.0" }; function sesv2ConfigurationSetEventDestinationEventDestinationToTerraform(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), matching_event_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.matchingEventTypes), cloud_watch_destination: sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToTerraform(struct.cloudWatchDestination), event_bridge_destination: sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToTerraform(struct.eventBridgeDestination), kinesis_firehose_destination: sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToTerraform(struct.kinesisFirehoseDestination), pinpoint_destination: sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToTerraform(struct.pinpointDestination), sns_destination: sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToTerraform(struct.snsDestination), }; } exports.sesv2ConfigurationSetEventDestinationEventDestinationToTerraform = sesv2ConfigurationSetEventDestinationEventDestinationToTerraform; function sesv2ConfigurationSetEventDestinationEventDestinationToHclTerraform(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", }, matching_event_types: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.matchingEventTypes), isBlock: false, type: "set", storageClassType: "stringList", }, cloud_watch_destination: { value: sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationToHclTerraform(struct.cloudWatchDestination), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationList", }, event_bridge_destination: { value: sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationToHclTerraform(struct.eventBridgeDestination), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationList", }, kinesis_firehose_destination: { value: sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationToHclTerraform(struct.kinesisFirehoseDestination), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationList", }, pinpoint_destination: { value: sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationToHclTerraform(struct.pinpointDestination), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationList", }, sns_destination: { value: sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationToHclTerraform(struct.snsDestination), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.sesv2ConfigurationSetEventDestinationEventDestinationToHclTerraform = sesv2ConfigurationSetEventDestinationEventDestinationToHclTerraform; class Sesv2ConfigurationSetEventDestinationEventDestinationOutputReference 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; // cloud_watch_destination - computed: false, optional: true, required: false this._cloudWatchDestination = new Sesv2ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationOutputReference(this, "cloud_watch_destination"); // event_bridge_destination - computed: false, optional: true, required: false this._eventBridgeDestination = new Sesv2ConfigurationSetEventDestinationEventDestinationEventBridgeDestinationOutputReference(this, "event_bridge_destination"); // kinesis_firehose_destination - computed: false, optional: true, required: false this._kinesisFirehoseDestination = new Sesv2ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationOutputReference(this, "kinesis_firehose_destination"); // pinpoint_destination - computed: false, optional: true, required: false this._pinpointDestination = new Sesv2ConfigurationSetEventDestinationEventDestinationPinpointDestinationOutputReference(this, "pinpoint_destination"); // sns_destination - computed: false, optional: true, required: false this._snsDestination = new Sesv2ConfigurationSetEventDestinationEventDestinationSnsDestinationOutputReference(this, "sns_destination"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._enabled !== undefined) { hasAnyValues = true; internalValueResult.enabled = this._enabled; } if (this._matchingEventTypes !== undefined) { hasAnyValues = true; internalValueResult.matchingEventTypes = this._matchingEventTypes; } if (this._cloudWatchDestination?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.cloudWatchDestination = this._cloudWatchDestination?.internalValue; } if (this._eventBridgeDestination?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.eventBridgeDestination = this._eventBridgeDestination?.internalValue; } if (this._kinesisFirehoseDestination?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.kinesisFirehoseDestination = this._kinesisFirehoseDestination?.internalValue; } if (this._pinpointDestination?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.pinpointDestination = this._pinpointDestination?.internalValue; } if (this._snsDestination?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.snsDestination = this._snsDestination?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enabled = undefined; this._matchingEventTypes = undefined; this._cloudWatchDestination.internalValue = undefined; this._eventBridgeDestination.internalValue = undefined; this._kinesisFirehoseDestination.internalValue = undefined; this._pinpointDestination.internalValue = undefined; this._snsDestination.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enabled = value.enabled; this._matchingEventTypes = value.matchingEventTypes; this._cloudWatchDestination.internalValue = value.cloudWatchDestination; this._eventBridgeDestination.internalValue = value.eventBridgeDestination; this._kinesisFirehoseDestination.internalValue = value.kinesisFirehoseDestination; this._pinpointDestination.internalValue = value.pinpointDestination; this._snsDestination.internalValue = value.snsDestination; } } 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 matchingEventTypes() { return cdktf.Fn.tolist(this.getListAttribute('matching_event_types')); } set matchingEventTypes(value) { this._matchingEventTypes = value; } // Temporarily expose input value. Use with caution. get matchingEventTypesInput() { return this._matchingEventTypes; } get cloudWatchDestination() { return this._cloudWatchDestination; } putCloudWatchDestination(value) { this._cloudWatchDestination.internalValue = value; } resetCloudWatchDestination() { this._cloudWatchDestination.internalValue = undefined; } // Temporarily expose input value. Use with caution. get cloudWatchDestinationInput() { return this._cloudWatchDestination.internalValue; } get eventBridgeDestination() { return this._eventBridgeDestination; } putEventBridgeDestination(value) { this._eventBridgeDestination.internalValue = value; } resetEventBridgeDestination() { this._eventBridgeDestination.internalValue = undefined; } // Temporarily expose input value. Use with caution. get eventBridgeDestinationInput() { return this._eventBridgeDestination.internalValue; } get kinesisFirehoseDestination() { return this._kinesisFirehoseDestination; } putKinesisFirehoseDestination(value) { this._kinesisFirehoseDestination.internalValue = value; } resetKinesisFirehoseDestination() { this._kinesisFirehoseDestination.internalValue = undefined; } // Temporarily expose input value. Use with caution. get kinesisFirehoseDestinationInput() { return this._kinesisFirehoseDestination.internalValue; } get pinpointDestination() { return this._pinpointDestination; } putPinpointDestination(value) { this._pinpointDestination.internalValue = value; } resetPinpointDestination() { this._pinpointDestination.internalValue = undefined; } // Temporarily expose input value. Use with caution. get pinpointDestinationInput() { return this._pinpointDestination.internalValue; } get snsDestination() { return this._snsDestination; } putSnsDestination(value) { this._snsDestination.internalValue = value; } resetSnsDestination() { this._snsDestination.internalValue = undefined; } // Temporarily expose input value. Use with caution. get snsDestinationInput() { return this._snsDestination.internalValue; } } exports.Sesv2ConfigurationSetEventDestinationEventDestinationOutputReference = Sesv2ConfigurationSetEventDestinationEventDestinationOutputReference; _h = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestinationEventDestinationOutputReference[_h] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestinationEventDestinationOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/sesv2_configuration_set_event_destination aws_sesv2_configuration_set_event_destination} */ class Sesv2ConfigurationSetEventDestination extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a Sesv2ConfigurationSetEventDestination 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 Sesv2ConfigurationSetEventDestination to import * @param importFromId The id of the existing Sesv2ConfigurationSetEventDestination that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/sesv2_configuration_set_event_destination#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Sesv2ConfigurationSetEventDestination to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_sesv2_configuration_set_event_destination", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/sesv2_configuration_set_event_destination aws_sesv2_configuration_set_event_destination} 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 Sesv2ConfigurationSetEventDestinationConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_sesv2_configuration_set_event_destination', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // event_destination - computed: false, optional: false, required: true this._eventDestination = new Sesv2ConfigurationSetEventDestinationEventDestinationOutputReference(this, "event_destination"); this._configurationSetName = config.configurationSetName; this._eventDestinationName = config.eventDestinationName; this._id = config.id; this._eventDestination.internalValue = config.eventDestination; } get configurationSetName() { return this.getStringAttribute('configuration_set_name'); } set configurationSetName(value) { this._configurationSetName = value; } // Temporarily expose input value. Use with caution. get configurationSetNameInput() { return this._configurationSetName; } get eventDestinationName() { return this.getStringAttribute('event_destination_name'); } set eventDestinationName(value) { this._eventDestinationName = value; } // Temporarily expose input value. Use with caution. get eventDestinationNameInput() { return this._eventDestinationName; } 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 eventDestination() { return this._eventDestination; } putEventDestination(value) { this._eventDestination.internalValue = value; } // Temporarily expose input value. Use with caution. get eventDestinationInput() { return this._eventDestination.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { configuration_set_name: cdktf.stringToTerraform(this._configurationSetName), event_destination_name: cdktf.stringToTerraform(this._eventDestinationName), id: cdktf.stringToTerraform(this._id), event_destination: sesv2ConfigurationSetEventDestinationEventDestinationToTerraform(this._eventDestination.internalValue), }; } synthesizeHclAttributes() { const attrs = { configuration_set_name: { value: cdktf.stringToHclTerraform(this._configurationSetName), isBlock: false, type: "simple", storageClassType: "string", }, event_destination_name: { value: cdktf.stringToHclTerraform(this._eventDestinationName), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, event_destination: { value: sesv2ConfigurationSetEventDestinationEventDestinationToHclTerraform(this._eventDestination.internalValue), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetEventDestinationEventDestinationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.Sesv2ConfigurationSetEventDestination = Sesv2ConfigurationSetEventDestination; _j = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetEventDestination[_j] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSetEventDestination.Sesv2ConfigurationSetEventDestination", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= Sesv2ConfigurationSetEventDestination.tfResourceType = "aws_sesv2_configuration_set_event_destination"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VzdjItY29uZmlndXJhdGlvbi1zZXQtZXZlbnQtZGVzdGluYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUEwQy9CLFNBQWdCLDJHQUEyRyxDQUFDLE1BQTZIO0lBQ3ZQLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCx1QkFBdUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLHFCQUFxQixDQUFDO1FBQy9FLGNBQWMsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGFBQWEsQ0FBQztRQUM5RCxzQkFBc0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLG9CQUFvQixDQUFDO0tBQzlFLENBQUE7QUFDSCxDQUFDO0FBVkQsa09BVUM7QUFHRCxTQUFnQiw4R0FBOEcsQ0FBQyxNQUE2SDtJQUMxUCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLHVCQUF1QixFQUFFO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLHFCQUFxQixDQUFDO1lBQ2hFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO1FBQ0QsY0FBYyxFQUFFO1lBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3hELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO1FBQ0Qsc0JBQXNCLEVBQUU7WUFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFPLENBQUMsb0JBQW9CLENBQUM7WUFDL0QsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsUUFBUTtZQUNkLGdCQUFnQixFQUFFLFFBQVE7U0FDM0I7S0FDRixDQUFDO0lBRUYsOEJBQThCO0lBQzlCLE9BQU8