UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,036 lines 151 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.Sesv2ConfigurationSet = exports.Sesv2ConfigurationSetVdmOptionsOutputReference = exports.Sesv2ConfigurationSetVdmOptionsGuardianOptionsOutputReference = exports.Sesv2ConfigurationSetVdmOptionsDashboardOptionsOutputReference = exports.Sesv2ConfigurationSetTrackingOptionsOutputReference = exports.Sesv2ConfigurationSetSuppressionOptionsOutputReference = exports.Sesv2ConfigurationSetSendingOptionsOutputReference = exports.Sesv2ConfigurationSetReputationOptionsOutputReference = exports.Sesv2ConfigurationSetDeliveryOptionsOutputReference = void 0; exports.sesv2ConfigurationSetDeliveryOptionsToTerraform = sesv2ConfigurationSetDeliveryOptionsToTerraform; exports.sesv2ConfigurationSetDeliveryOptionsToHclTerraform = sesv2ConfigurationSetDeliveryOptionsToHclTerraform; exports.sesv2ConfigurationSetReputationOptionsToTerraform = sesv2ConfigurationSetReputationOptionsToTerraform; exports.sesv2ConfigurationSetReputationOptionsToHclTerraform = sesv2ConfigurationSetReputationOptionsToHclTerraform; exports.sesv2ConfigurationSetSendingOptionsToTerraform = sesv2ConfigurationSetSendingOptionsToTerraform; exports.sesv2ConfigurationSetSendingOptionsToHclTerraform = sesv2ConfigurationSetSendingOptionsToHclTerraform; exports.sesv2ConfigurationSetSuppressionOptionsToTerraform = sesv2ConfigurationSetSuppressionOptionsToTerraform; exports.sesv2ConfigurationSetSuppressionOptionsToHclTerraform = sesv2ConfigurationSetSuppressionOptionsToHclTerraform; exports.sesv2ConfigurationSetTrackingOptionsToTerraform = sesv2ConfigurationSetTrackingOptionsToTerraform; exports.sesv2ConfigurationSetTrackingOptionsToHclTerraform = sesv2ConfigurationSetTrackingOptionsToHclTerraform; exports.sesv2ConfigurationSetVdmOptionsDashboardOptionsToTerraform = sesv2ConfigurationSetVdmOptionsDashboardOptionsToTerraform; exports.sesv2ConfigurationSetVdmOptionsDashboardOptionsToHclTerraform = sesv2ConfigurationSetVdmOptionsDashboardOptionsToHclTerraform; exports.sesv2ConfigurationSetVdmOptionsGuardianOptionsToTerraform = sesv2ConfigurationSetVdmOptionsGuardianOptionsToTerraform; exports.sesv2ConfigurationSetVdmOptionsGuardianOptionsToHclTerraform = sesv2ConfigurationSetVdmOptionsGuardianOptionsToHclTerraform; exports.sesv2ConfigurationSetVdmOptionsToTerraform = sesv2ConfigurationSetVdmOptionsToTerraform; exports.sesv2ConfigurationSetVdmOptionsToHclTerraform = sesv2ConfigurationSetVdmOptionsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function sesv2ConfigurationSetDeliveryOptionsToTerraform(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 { max_delivery_seconds: cdktf.numberToTerraform(struct.maxDeliverySeconds), sending_pool_name: cdktf.stringToTerraform(struct.sendingPoolName), tls_policy: cdktf.stringToTerraform(struct.tlsPolicy), }; } function sesv2ConfigurationSetDeliveryOptionsToHclTerraform(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 = { max_delivery_seconds: { value: cdktf.numberToHclTerraform(struct.maxDeliverySeconds), isBlock: false, type: "simple", storageClassType: "number", }, sending_pool_name: { value: cdktf.stringToHclTerraform(struct.sendingPoolName), isBlock: false, type: "simple", storageClassType: "string", }, tls_policy: { value: cdktf.stringToHclTerraform(struct.tlsPolicy), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Sesv2ConfigurationSetDeliveryOptionsOutputReference 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._maxDeliverySeconds !== undefined) { hasAnyValues = true; internalValueResult.maxDeliverySeconds = this._maxDeliverySeconds; } if (this._sendingPoolName !== undefined) { hasAnyValues = true; internalValueResult.sendingPoolName = this._sendingPoolName; } if (this._tlsPolicy !== undefined) { hasAnyValues = true; internalValueResult.tlsPolicy = this._tlsPolicy; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxDeliverySeconds = undefined; this._sendingPoolName = undefined; this._tlsPolicy = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxDeliverySeconds = value.maxDeliverySeconds; this._sendingPoolName = value.sendingPoolName; this._tlsPolicy = value.tlsPolicy; } } get maxDeliverySeconds() { return this.getNumberAttribute('max_delivery_seconds'); } set maxDeliverySeconds(value) { this._maxDeliverySeconds = value; } resetMaxDeliverySeconds() { this._maxDeliverySeconds = undefined; } // Temporarily expose input value. Use with caution. get maxDeliverySecondsInput() { return this._maxDeliverySeconds; } get sendingPoolName() { return this.getStringAttribute('sending_pool_name'); } set sendingPoolName(value) { this._sendingPoolName = value; } resetSendingPoolName() { this._sendingPoolName = undefined; } // Temporarily expose input value. Use with caution. get sendingPoolNameInput() { return this._sendingPoolName; } get tlsPolicy() { return this.getStringAttribute('tls_policy'); } set tlsPolicy(value) { this._tlsPolicy = value; } resetTlsPolicy() { this._tlsPolicy = undefined; } // Temporarily expose input value. Use with caution. get tlsPolicyInput() { return this._tlsPolicy; } } exports.Sesv2ConfigurationSetDeliveryOptionsOutputReference = Sesv2ConfigurationSetDeliveryOptionsOutputReference; _a = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetDeliveryOptionsOutputReference[_a] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSetDeliveryOptionsOutputReference", version: "21.22.1" }; function sesv2ConfigurationSetReputationOptionsToTerraform(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 { reputation_metrics_enabled: cdktf.booleanToTerraform(struct.reputationMetricsEnabled), }; } function sesv2ConfigurationSetReputationOptionsToHclTerraform(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 = { reputation_metrics_enabled: { value: cdktf.booleanToHclTerraform(struct.reputationMetricsEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Sesv2ConfigurationSetReputationOptionsOutputReference 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._reputationMetricsEnabled !== undefined) { hasAnyValues = true; internalValueResult.reputationMetricsEnabled = this._reputationMetricsEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._reputationMetricsEnabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._reputationMetricsEnabled = value.reputationMetricsEnabled; } } // last_fresh_start - computed: true, optional: false, required: false get lastFreshStart() { return this.getStringAttribute('last_fresh_start'); } get reputationMetricsEnabled() { return this.getBooleanAttribute('reputation_metrics_enabled'); } set reputationMetricsEnabled(value) { this._reputationMetricsEnabled = value; } resetReputationMetricsEnabled() { this._reputationMetricsEnabled = undefined; } // Temporarily expose input value. Use with caution. get reputationMetricsEnabledInput() { return this._reputationMetricsEnabled; } } exports.Sesv2ConfigurationSetReputationOptionsOutputReference = Sesv2ConfigurationSetReputationOptionsOutputReference; _b = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetReputationOptionsOutputReference[_b] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSetReputationOptionsOutputReference", version: "21.22.1" }; function sesv2ConfigurationSetSendingOptionsToTerraform(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 { sending_enabled: cdktf.booleanToTerraform(struct.sendingEnabled), }; } function sesv2ConfigurationSetSendingOptionsToHclTerraform(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 = { sending_enabled: { value: cdktf.booleanToHclTerraform(struct.sendingEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Sesv2ConfigurationSetSendingOptionsOutputReference 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._sendingEnabled !== undefined) { hasAnyValues = true; internalValueResult.sendingEnabled = this._sendingEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._sendingEnabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._sendingEnabled = value.sendingEnabled; } } get sendingEnabled() { return this.getBooleanAttribute('sending_enabled'); } set sendingEnabled(value) { this._sendingEnabled = value; } resetSendingEnabled() { this._sendingEnabled = undefined; } // Temporarily expose input value. Use with caution. get sendingEnabledInput() { return this._sendingEnabled; } } exports.Sesv2ConfigurationSetSendingOptionsOutputReference = Sesv2ConfigurationSetSendingOptionsOutputReference; _c = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetSendingOptionsOutputReference[_c] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSetSendingOptionsOutputReference", version: "21.22.1" }; function sesv2ConfigurationSetSuppressionOptionsToTerraform(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 { suppressed_reasons: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.suppressedReasons), }; } function sesv2ConfigurationSetSuppressionOptionsToHclTerraform(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 = { suppressed_reasons: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.suppressedReasons), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Sesv2ConfigurationSetSuppressionOptionsOutputReference 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._suppressedReasons !== undefined) { hasAnyValues = true; internalValueResult.suppressedReasons = this._suppressedReasons; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._suppressedReasons = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._suppressedReasons = value.suppressedReasons; } } get suppressedReasons() { return this.getListAttribute('suppressed_reasons'); } set suppressedReasons(value) { this._suppressedReasons = value; } resetSuppressedReasons() { this._suppressedReasons = undefined; } // Temporarily expose input value. Use with caution. get suppressedReasonsInput() { return this._suppressedReasons; } } exports.Sesv2ConfigurationSetSuppressionOptionsOutputReference = Sesv2ConfigurationSetSuppressionOptionsOutputReference; _d = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetSuppressionOptionsOutputReference[_d] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSetSuppressionOptionsOutputReference", version: "21.22.1" }; function sesv2ConfigurationSetTrackingOptionsToTerraform(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 { custom_redirect_domain: cdktf.stringToTerraform(struct.customRedirectDomain), https_policy: cdktf.stringToTerraform(struct.httpsPolicy), }; } function sesv2ConfigurationSetTrackingOptionsToHclTerraform(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 = { custom_redirect_domain: { value: cdktf.stringToHclTerraform(struct.customRedirectDomain), isBlock: false, type: "simple", storageClassType: "string", }, https_policy: { value: cdktf.stringToHclTerraform(struct.httpsPolicy), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Sesv2ConfigurationSetTrackingOptionsOutputReference 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._customRedirectDomain !== undefined) { hasAnyValues = true; internalValueResult.customRedirectDomain = this._customRedirectDomain; } if (this._httpsPolicy !== undefined) { hasAnyValues = true; internalValueResult.httpsPolicy = this._httpsPolicy; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._customRedirectDomain = undefined; this._httpsPolicy = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._customRedirectDomain = value.customRedirectDomain; this._httpsPolicy = value.httpsPolicy; } } get customRedirectDomain() { return this.getStringAttribute('custom_redirect_domain'); } set customRedirectDomain(value) { this._customRedirectDomain = value; } // Temporarily expose input value. Use with caution. get customRedirectDomainInput() { return this._customRedirectDomain; } get httpsPolicy() { return this.getStringAttribute('https_policy'); } set httpsPolicy(value) { this._httpsPolicy = value; } resetHttpsPolicy() { this._httpsPolicy = undefined; } // Temporarily expose input value. Use with caution. get httpsPolicyInput() { return this._httpsPolicy; } } exports.Sesv2ConfigurationSetTrackingOptionsOutputReference = Sesv2ConfigurationSetTrackingOptionsOutputReference; _e = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetTrackingOptionsOutputReference[_e] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSetTrackingOptionsOutputReference", version: "21.22.1" }; function sesv2ConfigurationSetVdmOptionsDashboardOptionsToTerraform(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 { engagement_metrics: cdktf.stringToTerraform(struct.engagementMetrics), }; } function sesv2ConfigurationSetVdmOptionsDashboardOptionsToHclTerraform(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 = { engagement_metrics: { value: cdktf.stringToHclTerraform(struct.engagementMetrics), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Sesv2ConfigurationSetVdmOptionsDashboardOptionsOutputReference 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._engagementMetrics !== undefined) { hasAnyValues = true; internalValueResult.engagementMetrics = this._engagementMetrics; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._engagementMetrics = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._engagementMetrics = value.engagementMetrics; } } get engagementMetrics() { return this.getStringAttribute('engagement_metrics'); } set engagementMetrics(value) { this._engagementMetrics = value; } resetEngagementMetrics() { this._engagementMetrics = undefined; } // Temporarily expose input value. Use with caution. get engagementMetricsInput() { return this._engagementMetrics; } } exports.Sesv2ConfigurationSetVdmOptionsDashboardOptionsOutputReference = Sesv2ConfigurationSetVdmOptionsDashboardOptionsOutputReference; _f = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetVdmOptionsDashboardOptionsOutputReference[_f] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSetVdmOptionsDashboardOptionsOutputReference", version: "21.22.1" }; function sesv2ConfigurationSetVdmOptionsGuardianOptionsToTerraform(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 { optimized_shared_delivery: cdktf.stringToTerraform(struct.optimizedSharedDelivery), }; } function sesv2ConfigurationSetVdmOptionsGuardianOptionsToHclTerraform(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 = { optimized_shared_delivery: { value: cdktf.stringToHclTerraform(struct.optimizedSharedDelivery), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Sesv2ConfigurationSetVdmOptionsGuardianOptionsOutputReference 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._optimizedSharedDelivery !== undefined) { hasAnyValues = true; internalValueResult.optimizedSharedDelivery = this._optimizedSharedDelivery; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._optimizedSharedDelivery = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._optimizedSharedDelivery = value.optimizedSharedDelivery; } } get optimizedSharedDelivery() { return this.getStringAttribute('optimized_shared_delivery'); } set optimizedSharedDelivery(value) { this._optimizedSharedDelivery = value; } resetOptimizedSharedDelivery() { this._optimizedSharedDelivery = undefined; } // Temporarily expose input value. Use with caution. get optimizedSharedDeliveryInput() { return this._optimizedSharedDelivery; } } exports.Sesv2ConfigurationSetVdmOptionsGuardianOptionsOutputReference = Sesv2ConfigurationSetVdmOptionsGuardianOptionsOutputReference; _g = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetVdmOptionsGuardianOptionsOutputReference[_g] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSetVdmOptionsGuardianOptionsOutputReference", version: "21.22.1" }; function sesv2ConfigurationSetVdmOptionsToTerraform(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 { dashboard_options: sesv2ConfigurationSetVdmOptionsDashboardOptionsToTerraform(struct.dashboardOptions), guardian_options: sesv2ConfigurationSetVdmOptionsGuardianOptionsToTerraform(struct.guardianOptions), }; } function sesv2ConfigurationSetVdmOptionsToHclTerraform(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 = { dashboard_options: { value: sesv2ConfigurationSetVdmOptionsDashboardOptionsToHclTerraform(struct.dashboardOptions), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetVdmOptionsDashboardOptionsList", }, guardian_options: { value: sesv2ConfigurationSetVdmOptionsGuardianOptionsToHclTerraform(struct.guardianOptions), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetVdmOptionsGuardianOptionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Sesv2ConfigurationSetVdmOptionsOutputReference 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; // dashboard_options - computed: false, optional: true, required: false this._dashboardOptions = new Sesv2ConfigurationSetVdmOptionsDashboardOptionsOutputReference(this, "dashboard_options"); // guardian_options - computed: false, optional: true, required: false this._guardianOptions = new Sesv2ConfigurationSetVdmOptionsGuardianOptionsOutputReference(this, "guardian_options"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dashboardOptions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.dashboardOptions = this._dashboardOptions?.internalValue; } if (this._guardianOptions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.guardianOptions = this._guardianOptions?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dashboardOptions.internalValue = undefined; this._guardianOptions.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dashboardOptions.internalValue = value.dashboardOptions; this._guardianOptions.internalValue = value.guardianOptions; } } get dashboardOptions() { return this._dashboardOptions; } putDashboardOptions(value) { this._dashboardOptions.internalValue = value; } resetDashboardOptions() { this._dashboardOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dashboardOptionsInput() { return this._dashboardOptions.internalValue; } get guardianOptions() { return this._guardianOptions; } putGuardianOptions(value) { this._guardianOptions.internalValue = value; } resetGuardianOptions() { this._guardianOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get guardianOptionsInput() { return this._guardianOptions.internalValue; } } exports.Sesv2ConfigurationSetVdmOptionsOutputReference = Sesv2ConfigurationSetVdmOptionsOutputReference; _h = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSetVdmOptionsOutputReference[_h] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSetVdmOptionsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sesv2_configuration_set aws_sesv2_configuration_set} */ class Sesv2ConfigurationSet extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a Sesv2ConfigurationSet 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 Sesv2ConfigurationSet to import * @param importFromId The id of the existing Sesv2ConfigurationSet that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sesv2_configuration_set#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Sesv2ConfigurationSet to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_sesv2_configuration_set", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/sesv2_configuration_set aws_sesv2_configuration_set} 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 Sesv2ConfigurationSetConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_sesv2_configuration_set', 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 }); // delivery_options - computed: false, optional: true, required: false this._deliveryOptions = new Sesv2ConfigurationSetDeliveryOptionsOutputReference(this, "delivery_options"); // reputation_options - computed: false, optional: true, required: false this._reputationOptions = new Sesv2ConfigurationSetReputationOptionsOutputReference(this, "reputation_options"); // sending_options - computed: false, optional: true, required: false this._sendingOptions = new Sesv2ConfigurationSetSendingOptionsOutputReference(this, "sending_options"); // suppression_options - computed: false, optional: true, required: false this._suppressionOptions = new Sesv2ConfigurationSetSuppressionOptionsOutputReference(this, "suppression_options"); // tracking_options - computed: false, optional: true, required: false this._trackingOptions = new Sesv2ConfigurationSetTrackingOptionsOutputReference(this, "tracking_options"); // vdm_options - computed: false, optional: true, required: false this._vdmOptions = new Sesv2ConfigurationSetVdmOptionsOutputReference(this, "vdm_options"); this._configurationSetName = config.configurationSetName; this._id = config.id; this._region = config.region; this._tags = config.tags; this._tagsAll = config.tagsAll; this._deliveryOptions.internalValue = config.deliveryOptions; this._reputationOptions.internalValue = config.reputationOptions; this._sendingOptions.internalValue = config.sendingOptions; this._suppressionOptions.internalValue = config.suppressionOptions; this._trackingOptions.internalValue = config.trackingOptions; this._vdmOptions.internalValue = config.vdmOptions; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } 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 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 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 deliveryOptions() { return this._deliveryOptions; } putDeliveryOptions(value) { this._deliveryOptions.internalValue = value; } resetDeliveryOptions() { this._deliveryOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get deliveryOptionsInput() { return this._deliveryOptions.internalValue; } get reputationOptions() { return this._reputationOptions; } putReputationOptions(value) { this._reputationOptions.internalValue = value; } resetReputationOptions() { this._reputationOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get reputationOptionsInput() { return this._reputationOptions.internalValue; } get sendingOptions() { return this._sendingOptions; } putSendingOptions(value) { this._sendingOptions.internalValue = value; } resetSendingOptions() { this._sendingOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sendingOptionsInput() { return this._sendingOptions.internalValue; } get suppressionOptions() { return this._suppressionOptions; } putSuppressionOptions(value) { this._suppressionOptions.internalValue = value; } resetSuppressionOptions() { this._suppressionOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get suppressionOptionsInput() { return this._suppressionOptions.internalValue; } get trackingOptions() { return this._trackingOptions; } putTrackingOptions(value) { this._trackingOptions.internalValue = value; } resetTrackingOptions() { this._trackingOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get trackingOptionsInput() { return this._trackingOptions.internalValue; } get vdmOptions() { return this._vdmOptions; } putVdmOptions(value) { this._vdmOptions.internalValue = value; } resetVdmOptions() { this._vdmOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get vdmOptionsInput() { return this._vdmOptions.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { configuration_set_name: cdktf.stringToTerraform(this._configurationSetName), id: cdktf.stringToTerraform(this._id), region: cdktf.stringToTerraform(this._region), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), delivery_options: sesv2ConfigurationSetDeliveryOptionsToTerraform(this._deliveryOptions.internalValue), reputation_options: sesv2ConfigurationSetReputationOptionsToTerraform(this._reputationOptions.internalValue), sending_options: sesv2ConfigurationSetSendingOptionsToTerraform(this._sendingOptions.internalValue), suppression_options: sesv2ConfigurationSetSuppressionOptionsToTerraform(this._suppressionOptions.internalValue), tracking_options: sesv2ConfigurationSetTrackingOptionsToTerraform(this._trackingOptions.internalValue), vdm_options: sesv2ConfigurationSetVdmOptionsToTerraform(this._vdmOptions.internalValue), }; } synthesizeHclAttributes() { const attrs = { configuration_set_name: { value: cdktf.stringToHclTerraform(this._configurationSetName), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, tags_all: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll), isBlock: false, type: "map", storageClassType: "stringMap", }, delivery_options: { value: sesv2ConfigurationSetDeliveryOptionsToHclTerraform(this._deliveryOptions.internalValue), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetDeliveryOptionsList", }, reputation_options: { value: sesv2ConfigurationSetReputationOptionsToHclTerraform(this._reputationOptions.internalValue), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetReputationOptionsList", }, sending_options: { value: sesv2ConfigurationSetSendingOptionsToHclTerraform(this._sendingOptions.internalValue), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetSendingOptionsList", }, suppression_options: { value: sesv2ConfigurationSetSuppressionOptionsToHclTerraform(this._suppressionOptions.internalValue), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetSuppressionOptionsList", }, tracking_options: { value: sesv2ConfigurationSetTrackingOptionsToHclTerraform(this._trackingOptions.internalValue), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetTrackingOptionsList", }, vdm_options: { value: sesv2ConfigurationSetVdmOptionsToHclTerraform(this._vdmOptions.internalValue), isBlock: true, type: "list", storageClassType: "Sesv2ConfigurationSetVdmOptionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.Sesv2ConfigurationSet = Sesv2ConfigurationSet; _j = JSII_RTTI_SYMBOL_1; Sesv2ConfigurationSet[_j] = { fqn: "@cdktf/provider-aws.sesv2ConfigurationSet.Sesv2ConfigurationSet", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= Sesv2ConfigurationSet.tfResourceType = "aws_sesv2_configuration_set"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VzdjItY29uZmlndXJhdGlvbi1zZXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQTJGQSwwR0FVQztBQUdELGdIQTRCQztBQXFHRCw4R0FRQztBQUdELG9IQWdCQztBQThERCx3R0FRQztBQUdELDhHQWdCQztBQXlERCxnSEFRQztBQUdELHNIQWdCQztBQTZERCwwR0FTQztBQUdELGdIQXNCQztBQTRFRCxnSUFRQztBQUdELHNJQWdCQztBQXlERCw4SEFRQztBQUdELG9JQWdCQztBQWlFRCxnR0FTQztBQUdELHNHQXNCQzs7QUFyeUJELCtCQUErQjtBQWtGL0IsU0FBZ0IsK0NBQStDLENBQUMsTUFBbUc7SUFDakssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDekUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxlQUFlLENBQUM7UUFDbkUsVUFBVSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsU0FBUyxDQUFDO0tBQ3ZELENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0Isa0RBQWtELENBQUMsTUFBbUc7SUFDcEssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FB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