@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,015 lines • 149 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Sesv2ConfigurationSet = exports.Sesv2ConfigurationSetVdmOptionsOutputReference = exports.sesv2ConfigurationSetVdmOptionsToHclTerraform = exports.sesv2ConfigurationSetVdmOptionsToTerraform = exports.Sesv2ConfigurationSetVdmOptionsGuardianOptionsOutputReference = exports.sesv2ConfigurationSetVdmOptionsGuardianOptionsToHclTerraform = exports.sesv2ConfigurationSetVdmOptionsGuardianOptionsToTerraform = exports.Sesv2ConfigurationSetVdmOptionsDashboardOptionsOutputReference = exports.sesv2ConfigurationSetVdmOptionsDashboardOptionsToHclTerraform = exports.sesv2ConfigurationSetVdmOptionsDashboardOptionsToTerraform = exports.Sesv2ConfigurationSetTrackingOptionsOutputReference = exports.sesv2ConfigurationSetTrackingOptionsToHclTerraform = exports.sesv2ConfigurationSetTrackingOptionsToTerraform = exports.Sesv2ConfigurationSetSuppressionOptionsOutputReference = exports.sesv2ConfigurationSetSuppressionOptionsToHclTerraform = exports.sesv2ConfigurationSetSuppressionOptionsToTerraform = exports.Sesv2ConfigurationSetSendingOptionsOutputReference = exports.sesv2ConfigurationSetSendingOptionsToHclTerraform = exports.sesv2ConfigurationSetSendingOptionsToTerraform = exports.Sesv2ConfigurationSetReputationOptionsOutputReference = exports.sesv2ConfigurationSetReputationOptionsToHclTerraform = exports.sesv2ConfigurationSetReputationOptionsToTerraform = exports.Sesv2ConfigurationSetDeliveryOptionsOutputReference = exports.sesv2ConfigurationSetDeliveryOptionsToHclTerraform = exports.sesv2ConfigurationSetDeliveryOptionsToTerraform = void 0;
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),
};
}
exports.sesv2ConfigurationSetDeliveryOptionsToTerraform = sesv2ConfigurationSetDeliveryOptionsToTerraform;
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));
}
exports.sesv2ConfigurationSetDeliveryOptionsToHclTerraform = sesv2ConfigurationSetDeliveryOptionsToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.sesv2ConfigurationSetReputationOptionsToTerraform = sesv2ConfigurationSetReputationOptionsToTerraform;
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));
}
exports.sesv2ConfigurationSetReputationOptionsToHclTerraform = sesv2ConfigurationSetReputationOptionsToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.sesv2ConfigurationSetSendingOptionsToTerraform = sesv2ConfigurationSetSendingOptionsToTerraform;
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));
}
exports.sesv2ConfigurationSetSendingOptionsToHclTerraform = sesv2ConfigurationSetSendingOptionsToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.sesv2ConfigurationSetSuppressionOptionsToTerraform = sesv2ConfigurationSetSuppressionOptionsToTerraform;
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));
}
exports.sesv2ConfigurationSetSuppressionOptionsToHclTerraform = sesv2ConfigurationSetSuppressionOptionsToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.sesv2ConfigurationSetTrackingOptionsToTerraform = sesv2ConfigurationSetTrackingOptionsToTerraform;
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));
}
exports.sesv2ConfigurationSetTrackingOptionsToHclTerraform = sesv2ConfigurationSetTrackingOptionsToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.sesv2ConfigurationSetVdmOptionsDashboardOptionsToTerraform = sesv2ConfigurationSetVdmOptionsDashboardOptionsToTerraform;
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));
}
exports.sesv2ConfigurationSetVdmOptionsDashboardOptionsToHclTerraform = sesv2ConfigurationSetVdmOptionsDashboardOptionsToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.sesv2ConfigurationSetVdmOptionsGuardianOptionsToTerraform = sesv2ConfigurationSetVdmOptionsGuardianOptionsToTerraform;
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));
}
exports.sesv2ConfigurationSetVdmOptionsGuardianOptionsToHclTerraform = sesv2ConfigurationSetVdmOptionsGuardianOptionsToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.sesv2ConfigurationSetVdmOptionsToTerraform = sesv2ConfigurationSetVdmOptionsToTerraform;
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));
}
exports.sesv2ConfigurationSetVdmOptionsToHclTerraform = sesv2ConfigurationSetVdmOptionsToHclTerraform;
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: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.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/5.84.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/5.84.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: '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
});
// 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._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 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),
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",
},
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: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
Sesv2ConfigurationSet.tfResourceType = "aws_sesv2_configuration_set";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VzdjItY29uZmlndXJhdGlvbi1zZXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUE0RS9CLFNBQWdCLCtDQUErQyxDQUFDLE1BQW1HO0lBQ2pLLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxvQkFBb0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGtCQUFrQixDQUFDO1FBQ3pFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsZUFBZSxDQUFDO1FBQ25FLFVBQVUsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFNBQVMsQ0FBQztLQUN2RCxDQUFBO0FBQ0gsQ0FBQztBQVZELDBHQVVDO0FBR0QsU0FBZ0Isa0RBQWtELENBQUMsTUFBbUc7SUFDcEssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFD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