UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,291 lines 405 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v; Object.defineProperty(exports, "__esModule", { value: true }); exports.Route53DomainsDomain = exports.Route53DomainsDomainTimeoutsOutputReference = exports.Route53DomainsDomainTechContactList = exports.Route53DomainsDomainTechContactOutputReference = exports.Route53DomainsDomainTechContactExtraParamList = exports.Route53DomainsDomainTechContactExtraParamOutputReference = exports.Route53DomainsDomainRegistrantContactList = exports.Route53DomainsDomainRegistrantContactOutputReference = exports.Route53DomainsDomainRegistrantContactExtraParamList = exports.Route53DomainsDomainRegistrantContactExtraParamOutputReference = exports.Route53DomainsDomainAdminContactList = exports.Route53DomainsDomainAdminContactOutputReference = exports.Route53DomainsDomainAdminContactExtraParamList = exports.Route53DomainsDomainAdminContactExtraParamOutputReference = exports.Route53DomainsDomainNameServerList = exports.Route53DomainsDomainNameServerOutputReference = exports.Route53DomainsDomainBillingContactList = exports.Route53DomainsDomainBillingContactOutputReference = exports.Route53DomainsDomainBillingContactExtraParamList = exports.Route53DomainsDomainBillingContactExtraParamOutputReference = void 0; exports.route53DomainsDomainBillingContactExtraParamToTerraform = route53DomainsDomainBillingContactExtraParamToTerraform; exports.route53DomainsDomainBillingContactExtraParamToHclTerraform = route53DomainsDomainBillingContactExtraParamToHclTerraform; exports.route53DomainsDomainBillingContactToTerraform = route53DomainsDomainBillingContactToTerraform; exports.route53DomainsDomainBillingContactToHclTerraform = route53DomainsDomainBillingContactToHclTerraform; exports.route53DomainsDomainNameServerToTerraform = route53DomainsDomainNameServerToTerraform; exports.route53DomainsDomainNameServerToHclTerraform = route53DomainsDomainNameServerToHclTerraform; exports.route53DomainsDomainAdminContactExtraParamToTerraform = route53DomainsDomainAdminContactExtraParamToTerraform; exports.route53DomainsDomainAdminContactExtraParamToHclTerraform = route53DomainsDomainAdminContactExtraParamToHclTerraform; exports.route53DomainsDomainAdminContactToTerraform = route53DomainsDomainAdminContactToTerraform; exports.route53DomainsDomainAdminContactToHclTerraform = route53DomainsDomainAdminContactToHclTerraform; exports.route53DomainsDomainRegistrantContactExtraParamToTerraform = route53DomainsDomainRegistrantContactExtraParamToTerraform; exports.route53DomainsDomainRegistrantContactExtraParamToHclTerraform = route53DomainsDomainRegistrantContactExtraParamToHclTerraform; exports.route53DomainsDomainRegistrantContactToTerraform = route53DomainsDomainRegistrantContactToTerraform; exports.route53DomainsDomainRegistrantContactToHclTerraform = route53DomainsDomainRegistrantContactToHclTerraform; exports.route53DomainsDomainTechContactExtraParamToTerraform = route53DomainsDomainTechContactExtraParamToTerraform; exports.route53DomainsDomainTechContactExtraParamToHclTerraform = route53DomainsDomainTechContactExtraParamToHclTerraform; exports.route53DomainsDomainTechContactToTerraform = route53DomainsDomainTechContactToTerraform; exports.route53DomainsDomainTechContactToHclTerraform = route53DomainsDomainTechContactToHclTerraform; exports.route53DomainsDomainTimeoutsToTerraform = route53DomainsDomainTimeoutsToTerraform; exports.route53DomainsDomainTimeoutsToHclTerraform = route53DomainsDomainTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function route53DomainsDomainBillingContactExtraParamToTerraform(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 { name: cdktf.stringToTerraform(struct.name), value: cdktf.stringToTerraform(struct.value), }; } function route53DomainsDomainBillingContactExtraParamToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Route53DomainsDomainBillingContactExtraParamOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._value = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._name = value.name; this._value = value.value; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } resetValue() { this._value = undefined; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.Route53DomainsDomainBillingContactExtraParamOutputReference = Route53DomainsDomainBillingContactExtraParamOutputReference; _a = JSII_RTTI_SYMBOL_1; Route53DomainsDomainBillingContactExtraParamOutputReference[_a] = { fqn: "@cdktf/provider-aws.route53DomainsDomain.Route53DomainsDomainBillingContactExtraParamOutputReference", version: "21.22.1" }; class Route53DomainsDomainBillingContactExtraParamList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new Route53DomainsDomainBillingContactExtraParamOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.Route53DomainsDomainBillingContactExtraParamList = Route53DomainsDomainBillingContactExtraParamList; _b = JSII_RTTI_SYMBOL_1; Route53DomainsDomainBillingContactExtraParamList[_b] = { fqn: "@cdktf/provider-aws.route53DomainsDomain.Route53DomainsDomainBillingContactExtraParamList", version: "21.22.1" }; function route53DomainsDomainBillingContactToTerraform(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_line_1: cdktf.stringToTerraform(struct.addressLine1), address_line_2: cdktf.stringToTerraform(struct.addressLine2), city: cdktf.stringToTerraform(struct.city), contact_type: cdktf.stringToTerraform(struct.contactType), country_code: cdktf.stringToTerraform(struct.countryCode), email: cdktf.stringToTerraform(struct.email), extra_param: cdktf.listMapper(route53DomainsDomainBillingContactExtraParamToTerraform, false)(struct.extraParam), fax: cdktf.stringToTerraform(struct.fax), first_name: cdktf.stringToTerraform(struct.firstName), last_name: cdktf.stringToTerraform(struct.lastName), organization_name: cdktf.stringToTerraform(struct.organizationName), phone_number: cdktf.stringToTerraform(struct.phoneNumber), state: cdktf.stringToTerraform(struct.state), zip_code: cdktf.stringToTerraform(struct.zipCode), }; } function route53DomainsDomainBillingContactToHclTerraform(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_line_1: { value: cdktf.stringToHclTerraform(struct.addressLine1), isBlock: false, type: "simple", storageClassType: "string", }, address_line_2: { value: cdktf.stringToHclTerraform(struct.addressLine2), isBlock: false, type: "simple", storageClassType: "string", }, city: { value: cdktf.stringToHclTerraform(struct.city), isBlock: false, type: "simple", storageClassType: "string", }, contact_type: { value: cdktf.stringToHclTerraform(struct.contactType), isBlock: false, type: "simple", storageClassType: "string", }, country_code: { value: cdktf.stringToHclTerraform(struct.countryCode), isBlock: false, type: "simple", storageClassType: "string", }, email: { value: cdktf.stringToHclTerraform(struct.email), isBlock: false, type: "simple", storageClassType: "string", }, extra_param: { value: cdktf.listMapperHcl(route53DomainsDomainBillingContactExtraParamToHclTerraform, false)(struct.extraParam), isBlock: true, type: "list", storageClassType: "Route53DomainsDomainBillingContactExtraParamList", }, fax: { value: cdktf.stringToHclTerraform(struct.fax), isBlock: false, type: "simple", storageClassType: "string", }, first_name: { value: cdktf.stringToHclTerraform(struct.firstName), isBlock: false, type: "simple", storageClassType: "string", }, last_name: { value: cdktf.stringToHclTerraform(struct.lastName), isBlock: false, type: "simple", storageClassType: "string", }, organization_name: { value: cdktf.stringToHclTerraform(struct.organizationName), isBlock: false, type: "simple", storageClassType: "string", }, phone_number: { value: cdktf.stringToHclTerraform(struct.phoneNumber), isBlock: false, type: "simple", storageClassType: "string", }, state: { value: cdktf.stringToHclTerraform(struct.state), isBlock: false, type: "simple", storageClassType: "string", }, zip_code: { value: cdktf.stringToHclTerraform(struct.zipCode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Route53DomainsDomainBillingContactOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // extra_param - computed: true, optional: true, required: false this._extraParam = new Route53DomainsDomainBillingContactExtraParamList(this, "extra_param", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._addressLine1 !== undefined) { hasAnyValues = true; internalValueResult.addressLine1 = this._addressLine1; } if (this._addressLine2 !== undefined) { hasAnyValues = true; internalValueResult.addressLine2 = this._addressLine2; } if (this._city !== undefined) { hasAnyValues = true; internalValueResult.city = this._city; } if (this._contactType !== undefined) { hasAnyValues = true; internalValueResult.contactType = this._contactType; } if (this._countryCode !== undefined) { hasAnyValues = true; internalValueResult.countryCode = this._countryCode; } if (this._email !== undefined) { hasAnyValues = true; internalValueResult.email = this._email; } if (this._extraParam?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.extraParam = this._extraParam?.internalValue; } if (this._fax !== undefined) { hasAnyValues = true; internalValueResult.fax = this._fax; } if (this._firstName !== undefined) { hasAnyValues = true; internalValueResult.firstName = this._firstName; } if (this._lastName !== undefined) { hasAnyValues = true; internalValueResult.lastName = this._lastName; } if (this._organizationName !== undefined) { hasAnyValues = true; internalValueResult.organizationName = this._organizationName; } if (this._phoneNumber !== undefined) { hasAnyValues = true; internalValueResult.phoneNumber = this._phoneNumber; } if (this._state !== undefined) { hasAnyValues = true; internalValueResult.state = this._state; } if (this._zipCode !== undefined) { hasAnyValues = true; internalValueResult.zipCode = this._zipCode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._addressLine1 = undefined; this._addressLine2 = undefined; this._city = undefined; this._contactType = undefined; this._countryCode = undefined; this._email = undefined; this._extraParam.internalValue = undefined; this._fax = undefined; this._firstName = undefined; this._lastName = undefined; this._organizationName = undefined; this._phoneNumber = undefined; this._state = undefined; this._zipCode = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._addressLine1 = value.addressLine1; this._addressLine2 = value.addressLine2; this._city = value.city; this._contactType = value.contactType; this._countryCode = value.countryCode; this._email = value.email; this._extraParam.internalValue = value.extraParam; this._fax = value.fax; this._firstName = value.firstName; this._lastName = value.lastName; this._organizationName = value.organizationName; this._phoneNumber = value.phoneNumber; this._state = value.state; this._zipCode = value.zipCode; } } get addressLine1() { return this.getStringAttribute('address_line_1'); } set addressLine1(value) { this._addressLine1 = value; } resetAddressLine1() { this._addressLine1 = undefined; } // Temporarily expose input value. Use with caution. get addressLine1Input() { return this._addressLine1; } get addressLine2() { return this.getStringAttribute('address_line_2'); } set addressLine2(value) { this._addressLine2 = value; } resetAddressLine2() { this._addressLine2 = undefined; } // Temporarily expose input value. Use with caution. get addressLine2Input() { return this._addressLine2; } 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 contactType() { return this.getStringAttribute('contact_type'); } set contactType(value) { this._contactType = value; } resetContactType() { this._contactType = undefined; } // Temporarily expose input value. Use with caution. get contactTypeInput() { return this._contactType; } get countryCode() { return this.getStringAttribute('country_code'); } set countryCode(value) { this._countryCode = value; } resetCountryCode() { this._countryCode = undefined; } // Temporarily expose input value. Use with caution. get countryCodeInput() { return this._countryCode; } get email() { return this.getStringAttribute('email'); } set email(value) { this._email = value; } resetEmail() { this._email = undefined; } // Temporarily expose input value. Use with caution. get emailInput() { return this._email; } get extraParam() { return this._extraParam; } putExtraParam(value) { this._extraParam.internalValue = value; } resetExtraParam() { this._extraParam.internalValue = undefined; } // Temporarily expose input value. Use with caution. get extraParamInput() { return this._extraParam.internalValue; } get fax() { return this.getStringAttribute('fax'); } set fax(value) { this._fax = value; } resetFax() { this._fax = undefined; } // Temporarily expose input value. Use with caution. get faxInput() { return this._fax; } 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 lastName() { return this.getStringAttribute('last_name'); } set lastName(value) { this._lastName = value; } resetLastName() { this._lastName = undefined; } // Temporarily expose input value. Use with caution. get lastNameInput() { return this._lastName; } get organizationName() { return this.getStringAttribute('organization_name'); } set organizationName(value) { this._organizationName = value; } resetOrganizationName() { this._organizationName = undefined; } // Temporarily expose input value. Use with caution. get organizationNameInput() { return this._organizationName; } get phoneNumber() { return this.getStringAttribute('phone_number'); } set phoneNumber(value) { this._phoneNumber = value; } resetPhoneNumber() { this._phoneNumber = undefined; } // Temporarily expose input value. Use with caution. get phoneNumberInput() { return this._phoneNumber; } 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; } get zipCode() { return this.getStringAttribute('zip_code'); } set zipCode(value) { this._zipCode = value; } resetZipCode() { this._zipCode = undefined; } // Temporarily expose input value. Use with caution. get zipCodeInput() { return this._zipCode; } } exports.Route53DomainsDomainBillingContactOutputReference = Route53DomainsDomainBillingContactOutputReference; _c = JSII_RTTI_SYMBOL_1; Route53DomainsDomainBillingContactOutputReference[_c] = { fqn: "@cdktf/provider-aws.route53DomainsDomain.Route53DomainsDomainBillingContactOutputReference", version: "21.22.1" }; class Route53DomainsDomainBillingContactList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new Route53DomainsDomainBillingContactOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.Route53DomainsDomainBillingContactList = Route53DomainsDomainBillingContactList; _d = JSII_RTTI_SYMBOL_1; Route53DomainsDomainBillingContactList[_d] = { fqn: "@cdktf/provider-aws.route53DomainsDomain.Route53DomainsDomainBillingContactList", version: "21.22.1" }; function route53DomainsDomainNameServerToTerraform(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 { glue_ips: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.glueIps), name: cdktf.stringToTerraform(struct.name), }; } function route53DomainsDomainNameServerToHclTerraform(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 = { glue_ips: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.glueIps), isBlock: false, type: "set", storageClassType: "stringList", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Route53DomainsDomainNameServerOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._glueIps !== undefined) { hasAnyValues = true; internalValueResult.glueIps = this._glueIps; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._glueIps = undefined; this._name = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._glueIps = value.glueIps; this._name = value.name; } } get glueIps() { return cdktf.Fn.tolist(this.getListAttribute('glue_ips')); } set glueIps(value) { this._glueIps = value; } resetGlueIps() { this._glueIps = undefined; } // Temporarily expose input value. Use with caution. get glueIpsInput() { return this._glueIps; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.Route53DomainsDomainNameServerOutputReference = Route53DomainsDomainNameServerOutputReference; _e = JSII_RTTI_SYMBOL_1; Route53DomainsDomainNameServerOutputReference[_e] = { fqn: "@cdktf/provider-aws.route53DomainsDomain.Route53DomainsDomainNameServerOutputReference", version: "21.22.1" }; class Route53DomainsDomainNameServerList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new Route53DomainsDomainNameServerOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.Route53DomainsDomainNameServerList = Route53DomainsDomainNameServerList; _f = JSII_RTTI_SYMBOL_1; Route53DomainsDomainNameServerList[_f] = { fqn: "@cdktf/provider-aws.route53DomainsDomain.Route53DomainsDomainNameServerList", version: "21.22.1" }; function route53DomainsDomainAdminContactExtraParamToTerraform(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 { name: cdktf.stringToTerraform(struct.name), value: cdktf.stringToTerraform(struct.value), }; } function route53DomainsDomainAdminContactExtraParamToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Route53DomainsDomainAdminContactExtraParamOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._value = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._name = value.name; this._value = value.value; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.Route53DomainsDomainAdminContactExtraParamOutputReference = Route53DomainsDomainAdminContactExtraParamOutputReference; _g = JSII_RTTI_SYMBOL_1; Route53DomainsDomainAdminContactExtraParamOutputReference[_g] = { fqn: "@cdktf/provider-aws.route53DomainsDomain.Route53DomainsDomainAdminContactExtraParamOutputReference", version: "21.22.1" }; class Route53DomainsDomainAdminContactExtraParamList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new Route53DomainsDomainAdminContactExtraParamOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.Route53DomainsDomainAdminContactExtraParamList = Route53DomainsDomainAdminContactExtraParamList; _h = JSII_RTTI_SYMBOL_1; Route53DomainsDomainAdminContactExtraParamList[_h] = { fqn: "@cdktf/provider-aws.route53DomainsDomain.Route53DomainsDomainAdminContactExtraParamList", version: "21.22.1" }; function route53DomainsDomainAdminContactToTerraform(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_line_1: cdktf.stringToTerraform(struct.addressLine1), address_line_2: cdktf.stringToTerraform(struct.addressLine2), city: cdktf.stringToTerraform(struct.city), contact_type: cdktf.stringToTerraform(struct.contactType), country_code: cdktf.stringToTerraform(struct.countryCode), email: cdktf.stringToTerraform(struct.email), fax: cdktf.stringToTerraform(struct.fax), first_name: cdktf.stringToTerraform(struct.firstName), last_name: cdktf.stringToTerraform(struct.lastName), organization_name: cdktf.stringToTerraform(struct.organizationName), phone_number: cdktf.stringToTerraform(struct.phoneNumber), state: cdktf.stringToTerraform(struct.state), zip_code: cdktf.stringToTerraform(struct.zipCode), extra_param: cdktf.listMapper(route53DomainsDomainAdminContactExtraParamToTerraform, true)(struct.extraParam), }; } function route53DomainsDomainAdminContactToHclTerraform(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_line_1: { value: cdktf.stringToHclTerraform(struct.addressLine1), isBlock: false, type: "simple", storageClassType: "string", }, address_line_2: { value: cdktf.stringToHclTerraform(struct.addressLine2), isBlock: false, type: "simple", storageClassType: "string", }, city: { value: cdktf.stringToHclTerraform(struct.city), isBlock: false, type: "simple", storageClassType: "string", }, contact_type: { value: cdktf.stringToHclTerraform(struct.contactType), isBlock: false, type: "simple", storageClassType: "string", }, country_code: { value: cdktf.stringToHclTerraform(struct.countryCode), isBlock: false, type: "simple", storageClassType: "string", }, email: { value: cdktf.stringToHclTerraform(struct.email), isBlock: false, type: "simple", storageClassType: "string", }, fax: { value: cdktf.stringToHclTerraform(struct.fax), isBlock: false, type: "simple", storageClassType: "string", }, first_name: { value: cdktf.stringToHclTerraform(struct.firstName), isBlock: false, type: "simple", storageClassType: "string", }, last_name: { value: cdktf.stringToHclTerraform(struct.lastName), isBlock: false, type: "simple", storageClassType: "string", }, organization_name: { value: cdktf.stringToHclTerraform(struct.organizationName), isBlock: false, type: "simple", storageClassType: "string", }, phone_number: { value: cdktf.stringToHclTerraform(struct.phoneNumber), isBlock: false, type: "simple", storageClassType: "string", }, state: { value: cdktf.stringToHclTerraform(struct.state), isBlock: false, type: "simple", storageClassType: "string", }, zip_code: { value: cdktf.stringToHclTerraform(struct.zipCode), isBlock: false, type: "simple", storageClassType: "string", }, extra_param: { value: cdktf.listMapperHcl(route53DomainsDomainAdminContactExtraParamToHclTerraform, true)(struct.extraParam), isBlock: true, type: "list", storageClassType: "Route53DomainsDomainAdminContactExtraParamList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class Route53DomainsDomainAdminContactOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // extra_param - computed: false, optional: true, required: false this._extraParam = new Route53DomainsDomainAdminContactExtraParamList(this, "extra_param", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._addressLine1 !== undefined) { hasAnyValues = true; internalValueResult.addressLine1 = this._addressLine1; } if (this._addressLine2 !== undefined) { hasAnyValues = true; internalValueResult.addressLine2 = this._addressLine2; } if (this._city !== undefined) { hasAnyValues = true; internalValueResult.city = this._city; } if (this._contactType !== undefined) { hasAnyValues = true; internalValueResult.contactType = this._contactType; } if (this._countryCode !== undefined) { hasAnyValues = true; internalValueResult.countryCode = this._countryCode; } if (this._email !== undefined) { hasAnyValues = true; internalValueResult.email = this._email; } if (this._fax !== undefined) { hasAnyValues = true; internalValueResult.fax = this._fax; } if (this._firstName !== undefined) { hasAnyValues = true; internalValueResult.firstName = this._firstName; } if (this._lastName !== undefined) { hasAnyValues = true; internalValueResult.lastName = this._lastName; } if (this._organizationName !== undefined) { hasAnyValues = true; internalValueResult.organizationName = this._organizationName; } if (this._phoneNumber !== undefined) { hasAnyValues = true; internalValueResult.phoneNumber = this._phoneNumber; } if (this._state !== undefined) { hasAnyValues = true; internalValueResult.state = this._state; } if (this._zipCode !== undefined) { hasAnyValues = true; internalValueResult.zipCode = this._zipCode; } if (this._extraParam?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.extraParam = this._extraParam?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._addressLine1 = undefined; this._addressLine2 = undefined; this._city = undefined; this._contactType = undefined; this._countryCode = undefined; this._email = undefined; this._fax = undefined; this._firstName = undefined; this._lastName = undefined; this._organizationName = undefined; this._phoneNumber = undefined; this._state = undefined; this._zipCode = undefined; this._extraParam.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._addressLine1 = value.addressLine1; this._addressLine2 = value.addressLine2; this._city = value.city; this._contactType = value.contactType; this._countryCode = value.countryCode; this._email = value.email; this._fax = value.fax; this._firstName = value.firstName; this._lastName = value.lastName; this._organizationName = value.organizationName; this._phoneNumber = value.phoneNumber; this._state = value.state; this._zipCode = value.zipCode; this._extraParam.internalValue = value.extraParam; } } get addressLine1() { return this.getStringAttribute('address_line_1'); } set addressLine1(value) { this._addressLine1 = value; } resetAddressLine1() { this._addressLine1 = undefined; } // Temporarily expose input value. Use with caution. get addressLine1Input() { return this._addressLine1; } get addressLine2() { return this.getStringAttribute('address_line_2'); } set addressLine2(value) { this._addressLine2 = value; } resetAddressLine2() { this._addressLine2 = undefined; } // Temporarily expose input value. Use with caution. get addressLine2Input() { return this._addressLine2; } 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 contactType() { return this.getStringAttribute('contact_type'); } set contactType(value) { this._contactType = value; } resetContactType() { this._contactType = undefined; } // Temporarily expose input value. Use with caution. get contactTypeInput() { return this._contactType; } get countryCode() { return this.getStringAttribute('country_code'); } set countryCode(value) { this._countryCode = value; } resetCountryCode() { this._countryCode = undefined; } // Temporarily expose input value. Use with caution. get countryCodeInput() { return this._countryCode; } get email() { return this.getStringAttribute('email'); } set email(value) { this._email = value; } resetEmail() { this._email = undefined; } // Temporarily expose input value. Use with caution. get emailInput() { return this._email; } get fax() { return this.getStringAttribute('fax'); } set fax(value) { this._fax = value; } resetFax() { this._fax = undefined; } // Temporarily expose input value. Use with caution. get faxInput() { return this._fax; } 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 lastName() { return this.getStringAttribute('last_name'); } set lastName(value) { this._lastName = value; } resetLastName() { this._lastName = undefined; } // Temporarily expose input value. Use with caution. get lastNameInput() { return this._lastName; } get organizationName() { return this.getStringAttribute('organization_name'); } set organizationName(value) { this._organizationName = value; } resetOrganizationName() { this._organizationName = undefined; } // Temporarily expose input value. Use with caution. get organizationNameInput() { return this._organizationName; } get phoneNumber() { return this.getStringAttribute('phone_number'); } set phoneNumber(value) { this._phoneNumber = value; } resetPhoneNumber() { this._phoneNumber = undefined; } // Temporarily expose input value. Use with caution. get phoneNumberInput() { return this._phoneNumber; } 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; } get zipCode() { return this.getStringAttribute('zip_code'); } set zipCode(value) { this._zipCode = value; } resetZipCode() { this._zipCode = undefined; } // Temporarily expose input value. Use with caution. get zipCodeInput() { return this._zipCode; } get extraParam() { return this._extraParam; } putExtraParam(value) { this._extraParam.internalValue = value; } resetExtraParam() { this._extraParam.internalValue = undefined; } // Temporarily expose input value. Use with caution. get extraParamInput() { return this._extraParam.internalValue; } } exports.Route53DomainsDomainAdminContactOutputReference = Route53DomainsDomainAdminContactOutputReference; _j = JSII_RTTI_SYMBOL_1; Route53DomainsDomainAdminContactOutputRef