UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,467 lines (1,466 loc) 236 kB
"use strict"; var _a, _b, _c, _d, _e; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomerprofilesProfile = exports.CustomerprofilesProfileShippingAddressOutputReference = exports.CustomerprofilesProfileMailingAddressOutputReference = exports.CustomerprofilesProfileBillingAddressOutputReference = exports.CustomerprofilesProfileAddressOutputReference = void 0; exports.customerprofilesProfileAddressToTerraform = customerprofilesProfileAddressToTerraform; exports.customerprofilesProfileAddressToHclTerraform = customerprofilesProfileAddressToHclTerraform; exports.customerprofilesProfileBillingAddressToTerraform = customerprofilesProfileBillingAddressToTerraform; exports.customerprofilesProfileBillingAddressToHclTerraform = customerprofilesProfileBillingAddressToHclTerraform; exports.customerprofilesProfileMailingAddressToTerraform = customerprofilesProfileMailingAddressToTerraform; exports.customerprofilesProfileMailingAddressToHclTerraform = customerprofilesProfileMailingAddressToHclTerraform; exports.customerprofilesProfileShippingAddressToTerraform = customerprofilesProfileShippingAddressToTerraform; exports.customerprofilesProfileShippingAddressToHclTerraform = customerprofilesProfileShippingAddressToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function customerprofilesProfileAddressToTerraform(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 { address_1: cdktf.stringToTerraform(struct.address1), address_2: cdktf.stringToTerraform(struct.address2), address_3: cdktf.stringToTerraform(struct.address3), address_4: cdktf.stringToTerraform(struct.address4), city: cdktf.stringToTerraform(struct.city), country: cdktf.stringToTerraform(struct.country), county: cdktf.stringToTerraform(struct.county), postal_code: cdktf.stringToTerraform(struct.postalCode), province: cdktf.stringToTerraform(struct.province), state: cdktf.stringToTerraform(struct.state), }; } function customerprofilesProfileAddressToHclTerraform(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 = { address_1: { value: cdktf.stringToHclTerraform(struct.address1), isBlock: false, type: "simple", storageClassType: "string", }, address_2: { value: cdktf.stringToHclTerraform(struct.address2), isBlock: false, type: "simple", storageClassType: "string", }, address_3: { value: cdktf.stringToHclTerraform(struct.address3), isBlock: false, type: "simple", storageClassType: "string", }, address_4: { value: cdktf.stringToHclTerraform(struct.address4), isBlock: false, type: "simple", storageClassType: "string", }, city: { value: cdktf.stringToHclTerraform(struct.city), isBlock: false, type: "simple", storageClassType: "string", }, country: { value: cdktf.stringToHclTerraform(struct.country), isBlock: false, type: "simple", storageClassType: "string", }, county: { value: cdktf.stringToHclTerraform(struct.county), isBlock: false, type: "simple", storageClassType: "string", }, postal_code: { value: cdktf.stringToHclTerraform(struct.postalCode), isBlock: false, type: "simple", storageClassType: "string", }, province: { value: cdktf.stringToHclTerraform(struct.province), isBlock: false, type: "simple", storageClassType: "string", }, state: { value: cdktf.stringToHclTerraform(struct.state), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CustomerprofilesProfileAddressOutputReference 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._address1 !== undefined) { hasAnyValues = true; internalValueResult.address1 = this._address1; } if (this._address2 !== undefined) { hasAnyValues = true; internalValueResult.address2 = this._address2; } if (this._address3 !== undefined) { hasAnyValues = true; internalValueResult.address3 = this._address3; } if (this._address4 !== undefined) { hasAnyValues = true; internalValueResult.address4 = this._address4; } if (this._city !== undefined) { hasAnyValues = true; internalValueResult.city = this._city; } if (this._country !== undefined) { hasAnyValues = true; internalValueResult.country = this._country; } if (this._county !== undefined) { hasAnyValues = true; internalValueResult.county = this._county; } if (this._postalCode !== undefined) { hasAnyValues = true; internalValueResult.postalCode = this._postalCode; } if (this._province !== undefined) { hasAnyValues = true; internalValueResult.province = this._province; } if (this._state !== undefined) { hasAnyValues = true; internalValueResult.state = this._state; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._address1 = undefined; this._address2 = undefined; this._address3 = undefined; this._address4 = undefined; this._city = undefined; this._country = undefined; this._county = undefined; this._postalCode = undefined; this._province = undefined; this._state = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._address1 = value.address1; this._address2 = value.address2; this._address3 = value.address3; this._address4 = value.address4; this._city = value.city; this._country = value.country; this._county = value.county; this._postalCode = value.postalCode; this._province = value.province; this._state = value.state; } } get address1() { return this.getStringAttribute('address_1'); } set address1(value) { this._address1 = value; } resetAddress1() { this._address1 = undefined; } // Temporarily expose input value. Use with caution. get address1Input() { return this._address1; } get address2() { return this.getStringAttribute('address_2'); } set address2(value) { this._address2 = value; } resetAddress2() { this._address2 = undefined; } // Temporarily expose input value. Use with caution. get address2Input() { return this._address2; } get address3() { return this.getStringAttribute('address_3'); } set address3(value) { this._address3 = value; } resetAddress3() { this._address3 = undefined; } // Temporarily expose input value. Use with caution. get address3Input() { return this._address3; } get address4() { return this.getStringAttribute('address_4'); } set address4(value) { this._address4 = value; } resetAddress4() { this._address4 = undefined; } // Temporarily expose input value. Use with caution. get address4Input() { return this._address4; } get city() { return this.getStringAttribute('city'); } set city(value) { this._city = value; } resetCity() { this._city = undefined; } // Temporarily expose input value. Use with caution. get cityInput() { return this._city; } get country() { return this.getStringAttribute('country'); } set country(value) { this._country = value; } resetCountry() { this._country = undefined; } // Temporarily expose input value. Use with caution. get countryInput() { return this._country; } get county() { return this.getStringAttribute('county'); } set county(value) { this._county = value; } resetCounty() { this._county = undefined; } // Temporarily expose input value. Use with caution. get countyInput() { return this._county; } get postalCode() { return this.getStringAttribute('postal_code'); } set postalCode(value) { this._postalCode = value; } resetPostalCode() { this._postalCode = undefined; } // Temporarily expose input value. Use with caution. get postalCodeInput() { return this._postalCode; } get province() { return this.getStringAttribute('province'); } set province(value) { this._province = value; } resetProvince() { this._province = undefined; } // Temporarily expose input value. Use with caution. get provinceInput() { return this._province; } get state() { return this.getStringAttribute('state'); } set state(value) { this._state = value; } resetState() { this._state = undefined; } // Temporarily expose input value. Use with caution. get stateInput() { return this._state; } } exports.CustomerprofilesProfileAddressOutputReference = CustomerprofilesProfileAddressOutputReference; _a = JSII_RTTI_SYMBOL_1; CustomerprofilesProfileAddressOutputReference[_a] = { fqn: "@cdktf/provider-aws.customerprofilesProfile.CustomerprofilesProfileAddressOutputReference", version: "21.22.1" }; function customerprofilesProfileBillingAddressToTerraform(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 { address_1: cdktf.stringToTerraform(struct.address1), address_2: cdktf.stringToTerraform(struct.address2), address_3: cdktf.stringToTerraform(struct.address3), address_4: cdktf.stringToTerraform(struct.address4), city: cdktf.stringToTerraform(struct.city), country: cdktf.stringToTerraform(struct.country), county: cdktf.stringToTerraform(struct.county), postal_code: cdktf.stringToTerraform(struct.postalCode), province: cdktf.stringToTerraform(struct.province), state: cdktf.stringToTerraform(struct.state), }; } function customerprofilesProfileBillingAddressToHclTerraform(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 = { address_1: { value: cdktf.stringToHclTerraform(struct.address1), isBlock: false, type: "simple", storageClassType: "string", }, address_2: { value: cdktf.stringToHclTerraform(struct.address2), isBlock: false, type: "simple", storageClassType: "string", }, address_3: { value: cdktf.stringToHclTerraform(struct.address3), isBlock: false, type: "simple", storageClassType: "string", }, address_4: { value: cdktf.stringToHclTerraform(struct.address4), isBlock: false, type: "simple", storageClassType: "string", }, city: { value: cdktf.stringToHclTerraform(struct.city), isBlock: false, type: "simple", storageClassType: "string", }, country: { value: cdktf.stringToHclTerraform(struct.country), isBlock: false, type: "simple", storageClassType: "string", }, county: { value: cdktf.stringToHclTerraform(struct.county), isBlock: false, type: "simple", storageClassType: "string", }, postal_code: { value: cdktf.stringToHclTerraform(struct.postalCode), isBlock: false, type: "simple", storageClassType: "string", }, province: { value: cdktf.stringToHclTerraform(struct.province), isBlock: false, type: "simple", storageClassType: "string", }, state: { value: cdktf.stringToHclTerraform(struct.state), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CustomerprofilesProfileBillingAddressOutputReference 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._address1 !== undefined) { hasAnyValues = true; internalValueResult.address1 = this._address1; } if (this._address2 !== undefined) { hasAnyValues = true; internalValueResult.address2 = this._address2; } if (this._address3 !== undefined) { hasAnyValues = true; internalValueResult.address3 = this._address3; } if (this._address4 !== undefined) { hasAnyValues = true; internalValueResult.address4 = this._address4; } if (this._city !== undefined) { hasAnyValues = true; internalValueResult.city = this._city; } if (this._country !== undefined) { hasAnyValues = true; internalValueResult.country = this._country; } if (this._county !== undefined) { hasAnyValues = true; internalValueResult.county = this._county; } if (this._postalCode !== undefined) { hasAnyValues = true; internalValueResult.postalCode = this._postalCode; } if (this._province !== undefined) { hasAnyValues = true; internalValueResult.province = this._province; } if (this._state !== undefined) { hasAnyValues = true; internalValueResult.state = this._state; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._address1 = undefined; this._address2 = undefined; this._address3 = undefined; this._address4 = undefined; this._city = undefined; this._country = undefined; this._county = undefined; this._postalCode = undefined; this._province = undefined; this._state = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._address1 = value.address1; this._address2 = value.address2; this._address3 = value.address3; this._address4 = value.address4; this._city = value.city; this._country = value.country; this._county = value.county; this._postalCode = value.postalCode; this._province = value.province; this._state = value.state; } } get address1() { return this.getStringAttribute('address_1'); } set address1(value) { this._address1 = value; } resetAddress1() { this._address1 = undefined; } // Temporarily expose input value. Use with caution. get address1Input() { return this._address1; } get address2() { return this.getStringAttribute('address_2'); } set address2(value) { this._address2 = value; } resetAddress2() { this._address2 = undefined; } // Temporarily expose input value. Use with caution. get address2Input() { return this._address2; } get address3() { return this.getStringAttribute('address_3'); } set address3(value) { this._address3 = value; } resetAddress3() { this._address3 = undefined; } // Temporarily expose input value. Use with caution. get address3Input() { return this._address3; } get address4() { return this.getStringAttribute('address_4'); } set address4(value) { this._address4 = value; } resetAddress4() { this._address4 = undefined; } // Temporarily expose input value. Use with caution. get address4Input() { return this._address4; } get city() { return this.getStringAttribute('city'); } set city(value) { this._city = value; } resetCity() { this._city = undefined; } // Temporarily expose input value. Use with caution. get cityInput() { return this._city; } get country() { return this.getStringAttribute('country'); } set country(value) { this._country = value; } resetCountry() { this._country = undefined; } // Temporarily expose input value. Use with caution. get countryInput() { return this._country; } get county() { return this.getStringAttribute('county'); } set county(value) { this._county = value; } resetCounty() { this._county = undefined; } // Temporarily expose input value. Use with caution. get countyInput() { return this._county; } get postalCode() { return this.getStringAttribute('postal_code'); } set postalCode(value) { this._postalCode = value; } resetPostalCode() { this._postalCode = undefined; } // Temporarily expose input value. Use with caution. get postalCodeInput() { return this._postalCode; } get province() { return this.getStringAttribute('province'); } set province(value) { this._province = value; } resetProvince() { this._province = undefined; } // Temporarily expose input value. Use with caution. get provinceInput() { return this._province; } get state() { return this.getStringAttribute('state'); } set state(value) { this._state = value; } resetState() { this._state = undefined; } // Temporarily expose input value. Use with caution. get stateInput() { return this._state; } } exports.CustomerprofilesProfileBillingAddressOutputReference = CustomerprofilesProfileBillingAddressOutputReference; _b = JSII_RTTI_SYMBOL_1; CustomerprofilesProfileBillingAddressOutputReference[_b] = { fqn: "@cdktf/provider-aws.customerprofilesProfile.CustomerprofilesProfileBillingAddressOutputReference", version: "21.22.1" }; function customerprofilesProfileMailingAddressToTerraform(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 { address_1: cdktf.stringToTerraform(struct.address1), address_2: cdktf.stringToTerraform(struct.address2), address_3: cdktf.stringToTerraform(struct.address3), address_4: cdktf.stringToTerraform(struct.address4), city: cdktf.stringToTerraform(struct.city), country: cdktf.stringToTerraform(struct.country), county: cdktf.stringToTerraform(struct.county), postal_code: cdktf.stringToTerraform(struct.postalCode), province: cdktf.stringToTerraform(struct.province), state: cdktf.stringToTerraform(struct.state), }; } function customerprofilesProfileMailingAddressToHclTerraform(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 = { address_1: { value: cdktf.stringToHclTerraform(struct.address1), isBlock: false, type: "simple", storageClassType: "string", }, address_2: { value: cdktf.stringToHclTerraform(struct.address2), isBlock: false, type: "simple", storageClassType: "string", }, address_3: { value: cdktf.stringToHclTerraform(struct.address3), isBlock: false, type: "simple", storageClassType: "string", }, address_4: { value: cdktf.stringToHclTerraform(struct.address4), isBlock: false, type: "simple", storageClassType: "string", }, city: { value: cdktf.stringToHclTerraform(struct.city), isBlock: false, type: "simple", storageClassType: "string", }, country: { value: cdktf.stringToHclTerraform(struct.country), isBlock: false, type: "simple", storageClassType: "string", }, county: { value: cdktf.stringToHclTerraform(struct.county), isBlock: false, type: "simple", storageClassType: "string", }, postal_code: { value: cdktf.stringToHclTerraform(struct.postalCode), isBlock: false, type: "simple", storageClassType: "string", }, province: { value: cdktf.stringToHclTerraform(struct.province), isBlock: false, type: "simple", storageClassType: "string", }, state: { value: cdktf.stringToHclTerraform(struct.state), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CustomerprofilesProfileMailingAddressOutputReference 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._address1 !== undefined) { hasAnyValues = true; internalValueResult.address1 = this._address1; } if (this._address2 !== undefined) { hasAnyValues = true; internalValueResult.address2 = this._address2; } if (this._address3 !== undefined) { hasAnyValues = true; internalValueResult.address3 = this._address3; } if (this._address4 !== undefined) { hasAnyValues = true; internalValueResult.address4 = this._address4; } if (this._city !== undefined) { hasAnyValues = true; internalValueResult.city = this._city; } if (this._country !== undefined) { hasAnyValues = true; internalValueResult.country = this._country; } if (this._county !== undefined) { hasAnyValues = true; internalValueResult.county = this._county; } if (this._postalCode !== undefined) { hasAnyValues = true; internalValueResult.postalCode = this._postalCode; } if (this._province !== undefined) { hasAnyValues = true; internalValueResult.province = this._province; } if (this._state !== undefined) { hasAnyValues = true; internalValueResult.state = this._state; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._address1 = undefined; this._address2 = undefined; this._address3 = undefined; this._address4 = undefined; this._city = undefined; this._country = undefined; this._county = undefined; this._postalCode = undefined; this._province = undefined; this._state = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._address1 = value.address1; this._address2 = value.address2; this._address3 = value.address3; this._address4 = value.address4; this._city = value.city; this._country = value.country; this._county = value.county; this._postalCode = value.postalCode; this._province = value.province; this._state = value.state; } } get address1() { return this.getStringAttribute('address_1'); } set address1(value) { this._address1 = value; } resetAddress1() { this._address1 = undefined; } // Temporarily expose input value. Use with caution. get address1Input() { return this._address1; } get address2() { return this.getStringAttribute('address_2'); } set address2(value) { this._address2 = value; } resetAddress2() { this._address2 = undefined; } // Temporarily expose input value. Use with caution. get address2Input() { return this._address2; } get address3() { return this.getStringAttribute('address_3'); } set address3(value) { this._address3 = value; } resetAddress3() { this._address3 = undefined; } // Temporarily expose input value. Use with caution. get address3Input() { return this._address3; } get address4() { return this.getStringAttribute('address_4'); } set address4(value) { this._address4 = value; } resetAddress4() { this._address4 = undefined; } // Temporarily expose input value. Use with caution. get address4Input() { return this._address4; } get city() { return this.getStringAttribute('city'); } set city(value) { this._city = value; } resetCity() { this._city = undefined; } // Temporarily expose input value. Use with caution. get cityInput() { return this._city; } get country() { return this.getStringAttribute('country'); } set country(value) { this._country = value; } resetCountry() { this._country = undefined; } // Temporarily expose input value. Use with caution. get countryInput() { return this._country; } get county() { return this.getStringAttribute('county'); } set county(value) { this._county = value; } resetCounty() { this._county = undefined; } // Temporarily expose input value. Use with caution. get countyInput() { return this._county; } get postalCode() { return this.getStringAttribute('postal_code'); } set postalCode(value) { this._postalCode = value; } resetPostalCode() { this._postalCode = undefined; } // Temporarily expose input value. Use with caution. get postalCodeInput() { return this._postalCode; } get province() { return this.getStringAttribute('province'); } set province(value) { this._province = value; } resetProvince() { this._province = undefined; } // Temporarily expose input value. Use with caution. get provinceInput() { return this._province; } get state() { return this.getStringAttribute('state'); } set state(value) { this._state = value; } resetState() { this._state = undefined; } // Temporarily expose input value. Use with caution. get stateInput() { return this._state; } } exports.CustomerprofilesProfileMailingAddressOutputReference = CustomerprofilesProfileMailingAddressOutputReference; _c = JSII_RTTI_SYMBOL_1; CustomerprofilesProfileMailingAddressOutputReference[_c] = { fqn: "@cdktf/provider-aws.customerprofilesProfile.CustomerprofilesProfileMailingAddressOutputReference", version: "21.22.1" }; function customerprofilesProfileShippingAddressToTerraform(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 { address_1: cdktf.stringToTerraform(struct.address1), address_2: cdktf.stringToTerraform(struct.address2), address_3: cdktf.stringToTerraform(struct.address3), address_4: cdktf.stringToTerraform(struct.address4), city: cdktf.stringToTerraform(struct.city), country: cdktf.stringToTerraform(struct.country), county: cdktf.stringToTerraform(struct.county), postal_code: cdktf.stringToTerraform(struct.postalCode), province: cdktf.stringToTerraform(struct.province), state: cdktf.stringToTerraform(struct.state), }; } function customerprofilesProfileShippingAddressToHclTerraform(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 = { address_1: { value: cdktf.stringToHclTerraform(struct.address1), isBlock: false, type: "simple", storageClassType: "string", }, address_2: { value: cdktf.stringToHclTerraform(struct.address2), isBlock: false, type: "simple", storageClassType: "string", }, address_3: { value: cdktf.stringToHclTerraform(struct.address3), isBlock: false, type: "simple", storageClassType: "string", }, address_4: { value: cdktf.stringToHclTerraform(struct.address4), isBlock: false, type: "simple", storageClassType: "string", }, city: { value: cdktf.stringToHclTerraform(struct.city), isBlock: false, type: "simple", storageClassType: "string", }, country: { value: cdktf.stringToHclTerraform(struct.country), isBlock: false, type: "simple", storageClassType: "string", }, county: { value: cdktf.stringToHclTerraform(struct.county), isBlock: false, type: "simple", storageClassType: "string", }, postal_code: { value: cdktf.stringToHclTerraform(struct.postalCode), isBlock: false, type: "simple", storageClassType: "string", }, province: { value: cdktf.stringToHclTerraform(struct.province), isBlock: false, type: "simple", storageClassType: "string", }, state: { value: cdktf.stringToHclTerraform(struct.state), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CustomerprofilesProfileShippingAddressOutputReference 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._address1 !== undefined) { hasAnyValues = true; internalValueResult.address1 = this._address1; } if (this._address2 !== undefined) { hasAnyValues = true; internalValueResult.address2 = this._address2; } if (this._address3 !== undefined) { hasAnyValues = true; internalValueResult.address3 = this._address3; } if (this._address4 !== undefined) { hasAnyValues = true; internalValueResult.address4 = this._address4; } if (this._city !== undefined) { hasAnyValues = true; internalValueResult.city = this._city; } if (this._country !== undefined) { hasAnyValues = true; internalValueResult.country = this._country; } if (this._county !== undefined) { hasAnyValues = true; internalValueResult.county = this._county; } if (this._postalCode !== undefined) { hasAnyValues = true; internalValueResult.postalCode = this._postalCode; } if (this._province !== undefined) { hasAnyValues = true; internalValueResult.province = this._province; } if (this._state !== undefined) { hasAnyValues = true; internalValueResult.state = this._state; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._address1 = undefined; this._address2 = undefined; this._address3 = undefined; this._address4 = undefined; this._city = undefined; this._country = undefined; this._county = undefined; this._postalCode = undefined; this._province = undefined; this._state = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._address1 = value.address1; this._address2 = value.address2; this._address3 = value.address3; this._address4 = value.address4; this._city = value.city; this._country = value.country; this._county = value.county; this._postalCode = value.postalCode; this._province = value.province; this._state = value.state; } } get address1() { return this.getStringAttribute('address_1'); } set address1(value) { this._address1 = value; } resetAddress1() { this._address1 = undefined; } // Temporarily expose input value. Use with caution. get address1Input() { return this._address1; } get address2() { return this.getStringAttribute('address_2'); } set address2(value) { this._address2 = value; } resetAddress2() { this._address2 = undefined; } // Temporarily expose input value. Use with caution. get address2Input() { return this._address2; } get address3() { return this.getStringAttribute('address_3'); } set address3(value) { this._address3 = value; } resetAddress3() { this._address3 = undefined; } // Temporarily expose input value. Use with caution. get address3Input() { return this._address3; } get address4() { return this.getStringAttribute('address_4'); } set address4(value) { this._address4 = value; } resetAddress4() { this._address4 = undefined; } // Temporarily expose input value. Use with caution. get address4Input() { return this._address4; } get city() { return this.getStringAttribute('city'); } set city(value) { this._city = value; } resetCity() { this._city = undefined; } // Temporarily expose input value. Use with caution. get cityInput() { return this._city; } get country() { return this.getStringAttribute('country'); } set country(value) { this._country = value; } resetCountry() { this._country = undefined; } // Temporarily expose input value. Use with caution. get countryInput() { return this._country; } get county() { return this.getStringAttribute('county'); } set county(value) { this._county = value; } resetCounty() { this._county = undefined; } // Temporarily expose input value. Use with caution. get countyInput() { return this._county; } get postalCode() { return this.getStringAttribute('postal_code'); } set postalCode(value) { this._postalCode = value; } resetPostalCode() { this._postalCode = undefined; } // Temporarily expose input value. Use with caution. get postalCodeInput() { return this._postalCode; } get province() { return this.getStringAttribute('province'); } set province(value) { this._province = value; } resetProvince() { this._province = undefined; } // Temporarily expose input value. Use with caution. get provinceInput() { return this._province; } get state() { return this.getStringAttribute('state'); } set state(value) { this._state = value; } resetState() { this._state = undefined; } // Temporarily expose input value. Use with caution. get stateInput() { return this._state; } } exports.CustomerprofilesProfileShippingAddressOutputReference = CustomerprofilesProfileShippingAddressOutputReference; _d = JSII_RTTI_SYMBOL_1; CustomerprofilesProfileShippingAddressOutputReference[_d] = { fqn: "@cdktf/provider-aws.customerprofilesProfile.CustomerprofilesProfileShippingAddressOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/customerprofiles_profile aws_customerprofiles_profile} */ class CustomerprofilesProfile extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a CustomerprofilesProfile 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 CustomerprofilesProfile to import * @param importFromId The id of the existing CustomerprofilesProfile that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/customerprofiles_profile#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CustomerprofilesProfile to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_customerprofiles_profile", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/customerprofiles_profile aws_customerprofiles_profile} 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 CustomerprofilesProfileConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_customerprofiles_profile', 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 }); // address - computed: false, optional: true, required: false this._address = new CustomerprofilesProfileAddressOutputReference(this, "address"); // billing_address - computed: false, optional: true, required: false this._billingAddress = new CustomerprofilesProfileBillingAddressOutputReference(this, "billing_address"); // mailing_address - computed: false, optional: true, required: false this._mailingAddress = new CustomerprofilesProfileMailingAddressOutputReference(this, "mailing_address"); // shipping_address - computed: false, optional: true, required: false this._shippingAddress = new CustomerprofilesProfileShippingAddressOutputReference(this, "shipping_address"); this._accountNumber = config.accountNumber; this._additionalInformation = config.additionalInformation; this._attributes = config.attributes; this._birthDate = config.birthDate; this._businessEmailAddress = config.businessEmailAddress; this._businessName = config.businessName; this._businessPhoneNumber = config.businessPhoneNumber; this._domainName = config.domainName; this._emailAddress = config.emailAddress; this._firstName = config.firstName; this._genderString = config.genderString; this._homePhoneNumber = config.homePhoneNumber; this._id = config.id; this._lastName = config.lastName; this._middleName = config.middleName; this._mobilePhoneNumber = config.mobilePhoneNumber; this._partyTypeString = config.partyTypeString; this._personalEmailAddress = config.personalEmailAddress; this._phoneNumber = config.phoneNumber; this._region = config.region; this._address.internalValue = config.address; this._billingAddress.internalValue = config.billingAddress; this._mailingAddress.internalValue = config.mailingAddress; this._shippingAddress.internalValue = config.shippingAddress; } get accountNumber() { return this.getStringAttribute('account_number'); } set accountNumber(value) { this._accountNumber = value; } resetAccountNumber() { this._accountNumber = undefined; } // Temporarily expose input value. Use with caution. get accountNumberInput() { return this._accountNumber; } get additionalInformation() { return this.getStringAttribute('additional_information'); } set additionalInformation(value) { this._additionalInformation = value; } resetAdditionalInformation() { this._additionalInformation = undefined; } // Temporarily expose input value. Use with caution. get additionalInformationInput() { return this._additionalInformation; } get attributes() { return this.getStringMapAttribute('attributes'); } set attributes(value) { this._attributes = value; } resetAttributes() { this._attributes = undefined; } // Temporarily expose input value. Use with caution. get attributesInput() { return this._attributes; } get birthDate() { return this.getStringAttribute('birth_date'); } set birthDate(value) { this._birthDate = value; } resetBirthDate() { this._birthDate = undefined; } // Temporarily expose input value. Use with caution. get birthDateInput() { return this._birthDate; } get businessEmailAddress() { return this.getStringAttribute('business_email_address'); } set businessEmailAddress(value) { this._businessEmailAddress = value; } resetBusinessEmailAddress() { this._businessEmailAddress = undefined; } // Temporarily expose input value. Use with caution. get businessEmailAddressInput() { return this._businessEmailAddress; } get businessName() { return this.getStringAttribute('business_name'); } set businessName(value) { this._businessName = value; } resetBusinessName() { this._businessName = undefined; } // Temporarily expose input value. Use with caution. get businessNameInput() { return this._businessName; } get businessPhoneNumber() { return this.getStringAttribute('business_phone_number'); } set businessPhoneNumber(value) { this._businessPhoneNumber = value; } resetBusinessPhoneNumber() { this._businessPhoneNumber = undefined; } // Temporarily expose input value. Use with caution. get businessPhoneNumberInput() { return this._businessPhoneNumber; } get domainName() { return this.getStringAttribute('domain_name'); } set domainName(value) { this._domainName = value; } // Temporarily expose input value. Use with caution. get domainNameInput() { return this._domainName; } get emailAddress() { return this.getStringAttribute('email_address'); } set emailAddress(value) { this._emailAddress = value; } resetEmailAddress() { this._emailAddress = undefined; } // Temporarily expose input value. Use with caution. get emailAddressInput() { return this._emailAddress; } get firstName() { return this.getStringAttribute('first_name'); } set firstName(value) { this._firstName = value; } resetFirstName() { this._firstName = undefined; } // Temporarily expose input value. Use with caution. get firstNameInput() { return this._firstName; } get genderString() { return this.getStringAttribute('gender_string'); } set genderString(value) { this._genderString = value; } resetGenderString() { this._genderString = undefined; } // Temporarily expose input value. Use with caution. get genderStringInput() { return this._genderString; } get homePhoneNumber() { return this.getStringAttribute('home_phone_number'); } set homePhoneNumber(value) {