UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,189 lines 373 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s; Object.defineProperty(exports, "__esModule", { value: true }); exports.ClouddomainsRegistration = exports.ClouddomainsRegistrationYearlyPriceOutputReference = exports.ClouddomainsRegistrationTimeoutsOutputReference = exports.ClouddomainsRegistrationManagementSettingsOutputReference = exports.ClouddomainsRegistrationDnsSettingsOutputReference = exports.ClouddomainsRegistrationDnsSettingsGlueRecordsList = exports.ClouddomainsRegistrationDnsSettingsGlueRecordsOutputReference = exports.ClouddomainsRegistrationDnsSettingsCustomDnsOutputReference = exports.ClouddomainsRegistrationDnsSettingsCustomDnsDsRecordsList = exports.ClouddomainsRegistrationDnsSettingsCustomDnsDsRecordsOutputReference = exports.ClouddomainsRegistrationContactSettingsOutputReference = exports.ClouddomainsRegistrationContactSettingsTechnicalContactOutputReference = exports.ClouddomainsRegistrationContactSettingsTechnicalContactPostalAddressOutputReference = exports.ClouddomainsRegistrationContactSettingsRegistrantContactOutputReference = exports.ClouddomainsRegistrationContactSettingsRegistrantContactPostalAddressOutputReference = exports.ClouddomainsRegistrationContactSettingsAdminContactOutputReference = exports.ClouddomainsRegistrationContactSettingsAdminContactPostalAddressOutputReference = void 0; exports.clouddomainsRegistrationContactSettingsAdminContactPostalAddressToTerraform = clouddomainsRegistrationContactSettingsAdminContactPostalAddressToTerraform; exports.clouddomainsRegistrationContactSettingsAdminContactPostalAddressToHclTerraform = clouddomainsRegistrationContactSettingsAdminContactPostalAddressToHclTerraform; exports.clouddomainsRegistrationContactSettingsAdminContactToTerraform = clouddomainsRegistrationContactSettingsAdminContactToTerraform; exports.clouddomainsRegistrationContactSettingsAdminContactToHclTerraform = clouddomainsRegistrationContactSettingsAdminContactToHclTerraform; exports.clouddomainsRegistrationContactSettingsRegistrantContactPostalAddressToTerraform = clouddomainsRegistrationContactSettingsRegistrantContactPostalAddressToTerraform; exports.clouddomainsRegistrationContactSettingsRegistrantContactPostalAddressToHclTerraform = clouddomainsRegistrationContactSettingsRegistrantContactPostalAddressToHclTerraform; exports.clouddomainsRegistrationContactSettingsRegistrantContactToTerraform = clouddomainsRegistrationContactSettingsRegistrantContactToTerraform; exports.clouddomainsRegistrationContactSettingsRegistrantContactToHclTerraform = clouddomainsRegistrationContactSettingsRegistrantContactToHclTerraform; exports.clouddomainsRegistrationContactSettingsTechnicalContactPostalAddressToTerraform = clouddomainsRegistrationContactSettingsTechnicalContactPostalAddressToTerraform; exports.clouddomainsRegistrationContactSettingsTechnicalContactPostalAddressToHclTerraform = clouddomainsRegistrationContactSettingsTechnicalContactPostalAddressToHclTerraform; exports.clouddomainsRegistrationContactSettingsTechnicalContactToTerraform = clouddomainsRegistrationContactSettingsTechnicalContactToTerraform; exports.clouddomainsRegistrationContactSettingsTechnicalContactToHclTerraform = clouddomainsRegistrationContactSettingsTechnicalContactToHclTerraform; exports.clouddomainsRegistrationContactSettingsToTerraform = clouddomainsRegistrationContactSettingsToTerraform; exports.clouddomainsRegistrationContactSettingsToHclTerraform = clouddomainsRegistrationContactSettingsToHclTerraform; exports.clouddomainsRegistrationDnsSettingsCustomDnsDsRecordsToTerraform = clouddomainsRegistrationDnsSettingsCustomDnsDsRecordsToTerraform; exports.clouddomainsRegistrationDnsSettingsCustomDnsDsRecordsToHclTerraform = clouddomainsRegistrationDnsSettingsCustomDnsDsRecordsToHclTerraform; exports.clouddomainsRegistrationDnsSettingsCustomDnsToTerraform = clouddomainsRegistrationDnsSettingsCustomDnsToTerraform; exports.clouddomainsRegistrationDnsSettingsCustomDnsToHclTerraform = clouddomainsRegistrationDnsSettingsCustomDnsToHclTerraform; exports.clouddomainsRegistrationDnsSettingsGlueRecordsToTerraform = clouddomainsRegistrationDnsSettingsGlueRecordsToTerraform; exports.clouddomainsRegistrationDnsSettingsGlueRecordsToHclTerraform = clouddomainsRegistrationDnsSettingsGlueRecordsToHclTerraform; exports.clouddomainsRegistrationDnsSettingsToTerraform = clouddomainsRegistrationDnsSettingsToTerraform; exports.clouddomainsRegistrationDnsSettingsToHclTerraform = clouddomainsRegistrationDnsSettingsToHclTerraform; exports.clouddomainsRegistrationManagementSettingsToTerraform = clouddomainsRegistrationManagementSettingsToTerraform; exports.clouddomainsRegistrationManagementSettingsToHclTerraform = clouddomainsRegistrationManagementSettingsToHclTerraform; exports.clouddomainsRegistrationTimeoutsToTerraform = clouddomainsRegistrationTimeoutsToTerraform; exports.clouddomainsRegistrationTimeoutsToHclTerraform = clouddomainsRegistrationTimeoutsToHclTerraform; exports.clouddomainsRegistrationYearlyPriceToTerraform = clouddomainsRegistrationYearlyPriceToTerraform; exports.clouddomainsRegistrationYearlyPriceToHclTerraform = clouddomainsRegistrationYearlyPriceToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function clouddomainsRegistrationContactSettingsAdminContactPostalAddressToTerraform(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_lines: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.addressLines), administrative_area: cdktf.stringToTerraform(struct.administrativeArea), locality: cdktf.stringToTerraform(struct.locality), organization: cdktf.stringToTerraform(struct.organization), postal_code: cdktf.stringToTerraform(struct.postalCode), recipients: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.recipients), region_code: cdktf.stringToTerraform(struct.regionCode), }; } function clouddomainsRegistrationContactSettingsAdminContactPostalAddressToHclTerraform(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_lines: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.addressLines), isBlock: false, type: "list", storageClassType: "stringList", }, administrative_area: { value: cdktf.stringToHclTerraform(struct.administrativeArea), isBlock: false, type: "simple", storageClassType: "string", }, locality: { value: cdktf.stringToHclTerraform(struct.locality), isBlock: false, type: "simple", storageClassType: "string", }, organization: { value: cdktf.stringToHclTerraform(struct.organization), isBlock: false, type: "simple", storageClassType: "string", }, postal_code: { value: cdktf.stringToHclTerraform(struct.postalCode), isBlock: false, type: "simple", storageClassType: "string", }, recipients: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.recipients), isBlock: false, type: "list", storageClassType: "stringList", }, region_code: { value: cdktf.stringToHclTerraform(struct.regionCode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClouddomainsRegistrationContactSettingsAdminContactPostalAddressOutputReference 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._addressLines !== undefined) { hasAnyValues = true; internalValueResult.addressLines = this._addressLines; } if (this._administrativeArea !== undefined) { hasAnyValues = true; internalValueResult.administrativeArea = this._administrativeArea; } if (this._locality !== undefined) { hasAnyValues = true; internalValueResult.locality = this._locality; } if (this._organization !== undefined) { hasAnyValues = true; internalValueResult.organization = this._organization; } if (this._postalCode !== undefined) { hasAnyValues = true; internalValueResult.postalCode = this._postalCode; } if (this._recipients !== undefined) { hasAnyValues = true; internalValueResult.recipients = this._recipients; } if (this._regionCode !== undefined) { hasAnyValues = true; internalValueResult.regionCode = this._regionCode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._addressLines = undefined; this._administrativeArea = undefined; this._locality = undefined; this._organization = undefined; this._postalCode = undefined; this._recipients = undefined; this._regionCode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._addressLines = value.addressLines; this._administrativeArea = value.administrativeArea; this._locality = value.locality; this._organization = value.organization; this._postalCode = value.postalCode; this._recipients = value.recipients; this._regionCode = value.regionCode; } } get addressLines() { return this.getListAttribute('address_lines'); } set addressLines(value) { this._addressLines = value; } resetAddressLines() { this._addressLines = undefined; } // Temporarily expose input value. Use with caution. get addressLinesInput() { return this._addressLines; } get administrativeArea() { return this.getStringAttribute('administrative_area'); } set administrativeArea(value) { this._administrativeArea = value; } resetAdministrativeArea() { this._administrativeArea = undefined; } // Temporarily expose input value. Use with caution. get administrativeAreaInput() { return this._administrativeArea; } get locality() { return this.getStringAttribute('locality'); } set locality(value) { this._locality = value; } resetLocality() { this._locality = undefined; } // Temporarily expose input value. Use with caution. get localityInput() { return this._locality; } get organization() { return this.getStringAttribute('organization'); } set organization(value) { this._organization = value; } resetOrganization() { this._organization = undefined; } // Temporarily expose input value. Use with caution. get organizationInput() { return this._organization; } 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 recipients() { return this.getListAttribute('recipients'); } set recipients(value) { this._recipients = value; } resetRecipients() { this._recipients = undefined; } // Temporarily expose input value. Use with caution. get recipientsInput() { return this._recipients; } get regionCode() { return this.getStringAttribute('region_code'); } set regionCode(value) { this._regionCode = value; } // Temporarily expose input value. Use with caution. get regionCodeInput() { return this._regionCode; } } exports.ClouddomainsRegistrationContactSettingsAdminContactPostalAddressOutputReference = ClouddomainsRegistrationContactSettingsAdminContactPostalAddressOutputReference; _a = JSII_RTTI_SYMBOL_1; ClouddomainsRegistrationContactSettingsAdminContactPostalAddressOutputReference[_a] = { fqn: "@cdktf/provider-google.clouddomainsRegistration.ClouddomainsRegistrationContactSettingsAdminContactPostalAddressOutputReference", version: "14.35.0" }; function clouddomainsRegistrationContactSettingsAdminContactToTerraform(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 { email: cdktf.stringToTerraform(struct.email), fax_number: cdktf.stringToTerraform(struct.faxNumber), phone_number: cdktf.stringToTerraform(struct.phoneNumber), postal_address: clouddomainsRegistrationContactSettingsAdminContactPostalAddressToTerraform(struct.postalAddress), }; } function clouddomainsRegistrationContactSettingsAdminContactToHclTerraform(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 = { email: { value: cdktf.stringToHclTerraform(struct.email), isBlock: false, type: "simple", storageClassType: "string", }, fax_number: { value: cdktf.stringToHclTerraform(struct.faxNumber), isBlock: false, type: "simple", storageClassType: "string", }, phone_number: { value: cdktf.stringToHclTerraform(struct.phoneNumber), isBlock: false, type: "simple", storageClassType: "string", }, postal_address: { value: clouddomainsRegistrationContactSettingsAdminContactPostalAddressToHclTerraform(struct.postalAddress), isBlock: true, type: "list", storageClassType: "ClouddomainsRegistrationContactSettingsAdminContactPostalAddressList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClouddomainsRegistrationContactSettingsAdminContactOutputReference 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; // postal_address - computed: false, optional: false, required: true this._postalAddress = new ClouddomainsRegistrationContactSettingsAdminContactPostalAddressOutputReference(this, "postal_address"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._email !== undefined) { hasAnyValues = true; internalValueResult.email = this._email; } if (this._faxNumber !== undefined) { hasAnyValues = true; internalValueResult.faxNumber = this._faxNumber; } if (this._phoneNumber !== undefined) { hasAnyValues = true; internalValueResult.phoneNumber = this._phoneNumber; } if (this._postalAddress?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.postalAddress = this._postalAddress?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._email = undefined; this._faxNumber = undefined; this._phoneNumber = undefined; this._postalAddress.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._email = value.email; this._faxNumber = value.faxNumber; this._phoneNumber = value.phoneNumber; this._postalAddress.internalValue = value.postalAddress; } } get email() { return this.getStringAttribute('email'); } set email(value) { this._email = value; } // Temporarily expose input value. Use with caution. get emailInput() { return this._email; } get faxNumber() { return this.getStringAttribute('fax_number'); } set faxNumber(value) { this._faxNumber = value; } resetFaxNumber() { this._faxNumber = undefined; } // Temporarily expose input value. Use with caution. get faxNumberInput() { return this._faxNumber; } get phoneNumber() { return this.getStringAttribute('phone_number'); } set phoneNumber(value) { this._phoneNumber = value; } // Temporarily expose input value. Use with caution. get phoneNumberInput() { return this._phoneNumber; } get postalAddress() { return this._postalAddress; } putPostalAddress(value) { this._postalAddress.internalValue = value; } // Temporarily expose input value. Use with caution. get postalAddressInput() { return this._postalAddress.internalValue; } } exports.ClouddomainsRegistrationContactSettingsAdminContactOutputReference = ClouddomainsRegistrationContactSettingsAdminContactOutputReference; _b = JSII_RTTI_SYMBOL_1; ClouddomainsRegistrationContactSettingsAdminContactOutputReference[_b] = { fqn: "@cdktf/provider-google.clouddomainsRegistration.ClouddomainsRegistrationContactSettingsAdminContactOutputReference", version: "14.35.0" }; function clouddomainsRegistrationContactSettingsRegistrantContactPostalAddressToTerraform(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_lines: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.addressLines), administrative_area: cdktf.stringToTerraform(struct.administrativeArea), locality: cdktf.stringToTerraform(struct.locality), organization: cdktf.stringToTerraform(struct.organization), postal_code: cdktf.stringToTerraform(struct.postalCode), recipients: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.recipients), region_code: cdktf.stringToTerraform(struct.regionCode), }; } function clouddomainsRegistrationContactSettingsRegistrantContactPostalAddressToHclTerraform(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_lines: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.addressLines), isBlock: false, type: "list", storageClassType: "stringList", }, administrative_area: { value: cdktf.stringToHclTerraform(struct.administrativeArea), isBlock: false, type: "simple", storageClassType: "string", }, locality: { value: cdktf.stringToHclTerraform(struct.locality), isBlock: false, type: "simple", storageClassType: "string", }, organization: { value: cdktf.stringToHclTerraform(struct.organization), isBlock: false, type: "simple", storageClassType: "string", }, postal_code: { value: cdktf.stringToHclTerraform(struct.postalCode), isBlock: false, type: "simple", storageClassType: "string", }, recipients: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.recipients), isBlock: false, type: "list", storageClassType: "stringList", }, region_code: { value: cdktf.stringToHclTerraform(struct.regionCode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClouddomainsRegistrationContactSettingsRegistrantContactPostalAddressOutputReference 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._addressLines !== undefined) { hasAnyValues = true; internalValueResult.addressLines = this._addressLines; } if (this._administrativeArea !== undefined) { hasAnyValues = true; internalValueResult.administrativeArea = this._administrativeArea; } if (this._locality !== undefined) { hasAnyValues = true; internalValueResult.locality = this._locality; } if (this._organization !== undefined) { hasAnyValues = true; internalValueResult.organization = this._organization; } if (this._postalCode !== undefined) { hasAnyValues = true; internalValueResult.postalCode = this._postalCode; } if (this._recipients !== undefined) { hasAnyValues = true; internalValueResult.recipients = this._recipients; } if (this._regionCode !== undefined) { hasAnyValues = true; internalValueResult.regionCode = this._regionCode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._addressLines = undefined; this._administrativeArea = undefined; this._locality = undefined; this._organization = undefined; this._postalCode = undefined; this._recipients = undefined; this._regionCode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._addressLines = value.addressLines; this._administrativeArea = value.administrativeArea; this._locality = value.locality; this._organization = value.organization; this._postalCode = value.postalCode; this._recipients = value.recipients; this._regionCode = value.regionCode; } } get addressLines() { return this.getListAttribute('address_lines'); } set addressLines(value) { this._addressLines = value; } resetAddressLines() { this._addressLines = undefined; } // Temporarily expose input value. Use with caution. get addressLinesInput() { return this._addressLines; } get administrativeArea() { return this.getStringAttribute('administrative_area'); } set administrativeArea(value) { this._administrativeArea = value; } resetAdministrativeArea() { this._administrativeArea = undefined; } // Temporarily expose input value. Use with caution. get administrativeAreaInput() { return this._administrativeArea; } get locality() { return this.getStringAttribute('locality'); } set locality(value) { this._locality = value; } resetLocality() { this._locality = undefined; } // Temporarily expose input value. Use with caution. get localityInput() { return this._locality; } get organization() { return this.getStringAttribute('organization'); } set organization(value) { this._organization = value; } resetOrganization() { this._organization = undefined; } // Temporarily expose input value. Use with caution. get organizationInput() { return this._organization; } 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 recipients() { return this.getListAttribute('recipients'); } set recipients(value) { this._recipients = value; } resetRecipients() { this._recipients = undefined; } // Temporarily expose input value. Use with caution. get recipientsInput() { return this._recipients; } get regionCode() { return this.getStringAttribute('region_code'); } set regionCode(value) { this._regionCode = value; } // Temporarily expose input value. Use with caution. get regionCodeInput() { return this._regionCode; } } exports.ClouddomainsRegistrationContactSettingsRegistrantContactPostalAddressOutputReference = ClouddomainsRegistrationContactSettingsRegistrantContactPostalAddressOutputReference; _c = JSII_RTTI_SYMBOL_1; ClouddomainsRegistrationContactSettingsRegistrantContactPostalAddressOutputReference[_c] = { fqn: "@cdktf/provider-google.clouddomainsRegistration.ClouddomainsRegistrationContactSettingsRegistrantContactPostalAddressOutputReference", version: "14.35.0" }; function clouddomainsRegistrationContactSettingsRegistrantContactToTerraform(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 { email: cdktf.stringToTerraform(struct.email), fax_number: cdktf.stringToTerraform(struct.faxNumber), phone_number: cdktf.stringToTerraform(struct.phoneNumber), postal_address: clouddomainsRegistrationContactSettingsRegistrantContactPostalAddressToTerraform(struct.postalAddress), }; } function clouddomainsRegistrationContactSettingsRegistrantContactToHclTerraform(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 = { email: { value: cdktf.stringToHclTerraform(struct.email), isBlock: false, type: "simple", storageClassType: "string", }, fax_number: { value: cdktf.stringToHclTerraform(struct.faxNumber), isBlock: false, type: "simple", storageClassType: "string", }, phone_number: { value: cdktf.stringToHclTerraform(struct.phoneNumber), isBlock: false, type: "simple", storageClassType: "string", }, postal_address: { value: clouddomainsRegistrationContactSettingsRegistrantContactPostalAddressToHclTerraform(struct.postalAddress), isBlock: true, type: "list", storageClassType: "ClouddomainsRegistrationContactSettingsRegistrantContactPostalAddressList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClouddomainsRegistrationContactSettingsRegistrantContactOutputReference 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; // postal_address - computed: false, optional: false, required: true this._postalAddress = new ClouddomainsRegistrationContactSettingsRegistrantContactPostalAddressOutputReference(this, "postal_address"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._email !== undefined) { hasAnyValues = true; internalValueResult.email = this._email; } if (this._faxNumber !== undefined) { hasAnyValues = true; internalValueResult.faxNumber = this._faxNumber; } if (this._phoneNumber !== undefined) { hasAnyValues = true; internalValueResult.phoneNumber = this._phoneNumber; } if (this._postalAddress?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.postalAddress = this._postalAddress?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._email = undefined; this._faxNumber = undefined; this._phoneNumber = undefined; this._postalAddress.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._email = value.email; this._faxNumber = value.faxNumber; this._phoneNumber = value.phoneNumber; this._postalAddress.internalValue = value.postalAddress; } } get email() { return this.getStringAttribute('email'); } set email(value) { this._email = value; } // Temporarily expose input value. Use with caution. get emailInput() { return this._email; } get faxNumber() { return this.getStringAttribute('fax_number'); } set faxNumber(value) { this._faxNumber = value; } resetFaxNumber() { this._faxNumber = undefined; } // Temporarily expose input value. Use with caution. get faxNumberInput() { return this._faxNumber; } get phoneNumber() { return this.getStringAttribute('phone_number'); } set phoneNumber(value) { this._phoneNumber = value; } // Temporarily expose input value. Use with caution. get phoneNumberInput() { return this._phoneNumber; } get postalAddress() { return this._postalAddress; } putPostalAddress(value) { this._postalAddress.internalValue = value; } // Temporarily expose input value. Use with caution. get postalAddressInput() { return this._postalAddress.internalValue; } } exports.ClouddomainsRegistrationContactSettingsRegistrantContactOutputReference = ClouddomainsRegistrationContactSettingsRegistrantContactOutputReference; _d = JSII_RTTI_SYMBOL_1; ClouddomainsRegistrationContactSettingsRegistrantContactOutputReference[_d] = { fqn: "@cdktf/provider-google.clouddomainsRegistration.ClouddomainsRegistrationContactSettingsRegistrantContactOutputReference", version: "14.35.0" }; function clouddomainsRegistrationContactSettingsTechnicalContactPostalAddressToTerraform(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_lines: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.addressLines), administrative_area: cdktf.stringToTerraform(struct.administrativeArea), locality: cdktf.stringToTerraform(struct.locality), organization: cdktf.stringToTerraform(struct.organization), postal_code: cdktf.stringToTerraform(struct.postalCode), recipients: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.recipients), region_code: cdktf.stringToTerraform(struct.regionCode), }; } function clouddomainsRegistrationContactSettingsTechnicalContactPostalAddressToHclTerraform(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_lines: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.addressLines), isBlock: false, type: "list", storageClassType: "stringList", }, administrative_area: { value: cdktf.stringToHclTerraform(struct.administrativeArea), isBlock: false, type: "simple", storageClassType: "string", }, locality: { value: cdktf.stringToHclTerraform(struct.locality), isBlock: false, type: "simple", storageClassType: "string", }, organization: { value: cdktf.stringToHclTerraform(struct.organization), isBlock: false, type: "simple", storageClassType: "string", }, postal_code: { value: cdktf.stringToHclTerraform(struct.postalCode), isBlock: false, type: "simple", storageClassType: "string", }, recipients: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.recipients), isBlock: false, type: "list", storageClassType: "stringList", }, region_code: { value: cdktf.stringToHclTerraform(struct.regionCode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClouddomainsRegistrationContactSettingsTechnicalContactPostalAddressOutputReference 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._addressLines !== undefined) { hasAnyValues = true; internalValueResult.addressLines = this._addressLines; } if (this._administrativeArea !== undefined) { hasAnyValues = true; internalValueResult.administrativeArea = this._administrativeArea; } if (this._locality !== undefined) { hasAnyValues = true; internalValueResult.locality = this._locality; } if (this._organization !== undefined) { hasAnyValues = true; internalValueResult.organization = this._organization; } if (this._postalCode !== undefined) { hasAnyValues = true; internalValueResult.postalCode = this._postalCode; } if (this._recipients !== undefined) { hasAnyValues = true; internalValueResult.recipients = this._recipients; } if (this._regionCode !== undefined) { hasAnyValues = true; internalValueResult.regionCode = this._regionCode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._addressLines = undefined; this._administrativeArea = undefined; this._locality = undefined; this._organization = undefined; this._postalCode = undefined; this._recipients = undefined; this._regionCode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._addressLines = value.addressLines; this._administrativeArea = value.administrativeArea; this._locality = value.locality; this._organization = value.organization; this._postalCode = value.postalCode; this._recipients = value.recipients; this._regionCode = value.regionCode; } } get addressLines() { return this.getListAttribute('address_lines'); } set addressLines(value) { this._addressLines = value; } resetAddressLines() { this._addressLines = undefined; } // Temporarily expose input value. Use with caution. get addressLinesInput() { return this._addressLines; } get administrativeArea() { return this.getStringAttribute('administrative_area'); } set administrativeArea(value) { this._administrativeArea = value; } resetAdministrativeArea() { this._administrativeArea = undefined; } // Temporarily expose input value. Use with caution. get administrativeAreaInput() { return this._administrativeArea; } get locality() { return this.getStringAttribute('locality'); } set locality(value) { this._locality = value; } resetLocality() { this._locality = undefined; } // Temporarily expose input value. Use with caution. get localityInput() { return this._locality; } get organization() { return this.getStringAttribute('organization'); } set organization(value) { this._organization = value; } resetOrganization() { this._organization = undefined; } // Temporarily expose input value. Use with caution. get organizationInput() { return this._organization; } 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 recipients() { return this.getListAttribute('recipients'); } set recipients(value) { this._recipients = value; } resetRecipients() { this._recipients = undefined; } // Temporarily expose input value. Use with caution. get recipientsInput() { return this._recipients; } get regionCode() { return this.getStringAttribute('region_code'); } set regionCode(value) { this._regionCode = value; } // Temporarily expose input value. Use with caution. get regionCodeInput() { return this._regionCode; } } exports.ClouddomainsRegistrationContactSettingsTechnicalContactPostalAddressOutputReference = ClouddomainsRegistrationContactSettingsTechnicalContactPostalAddressOutputReference; _e = JSII_RTTI_SYMBOL_1; ClouddomainsRegistrationContactSettingsTechnicalContactPostalAddressOutputReference[_e] = { fqn: "@cdktf/provider-google.clouddomainsRegistration.ClouddomainsRegistrationContactSettingsTechnicalContactPostalAddressOutputReference", version: "14.35.0" }; function clouddomainsRegistrationContactSettingsTechnicalContactToTerraform(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 { email: cdktf.stringToTerraform(struct.email), fax_number: cdktf.stringToTerraform(struct.faxNumber), phone_number: cdktf.stringToTerraform(struct.phoneNumber), postal_address: clouddomainsRegistrationContactSettingsTechnicalContactPostalAddressToTerraform(struct.postalAddress), }; } function clouddomainsRegistrationContactSettingsTechnicalContactToHclTerraform(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 = { email: { value: cdktf.stringToHclTerraform(struct.email), isBlock: false, type: "simple", storageClassType: "string", }, fax_number: { value: cdktf.stringToHclTerraform(struct.faxNumber), isBlock: false, type: "simple", storageClassType: "string", }, phone_number: { value: cdktf.stringToHclTerraform(struct.phoneNumber), isBlock: false, type: "simple", storageClassType: "string", }, postal_address: { value: clouddomainsRegistrationContactSettingsTechnicalContactPostalAddressToHclTerraform(struct.postalAddress), isBlock: true, type: "list", storageClassType: "ClouddomainsRegistrationContactSettingsTechnicalContactPostalAddressList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ClouddomainsRegistrationContactSettingsTechnicalContactOutputReference 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; // postal_address - computed: false, optional: false, required: true this._postalAddress = new ClouddomainsRegistrationContactSettingsTechnicalContactPostalAddressOutputReference(this, "postal_address"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._email !== undefined) { hasAnyValues = true; internalValueResult.email = this._email; } if (this._faxNumber !== undefined) { hasAnyValues = true; internalValueResult.faxNumber = this._faxNumber; } if (this._phoneNumber !== undefined) { hasAnyValues = true; internalValueResult.phoneNumber = this._phoneNumber; } if (this._postalAddress?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.postalAddress = this._postalAddress?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._email = undefined; this._faxNumber = undefined; this._phoneNumber = undefined; this._postalAddress.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._email = value.email; this._faxNumber = value.faxNumber; this._phoneNumber = value.phoneNumber; this._postalAddress.internalValue = value.postalAddress; } } get email() { return this.getStringAttribute('email'); } set email(value) { this._email = value; } // Temporarily expose input value. Use with caution. get emailInput() { return this._email; } get faxNumber() { return this.getStringAttribute('fax_number'); } set faxNumber(value) { this._faxNumber = value; } resetFaxNumber() { this._faxNumber = undefined; } // Temporarily expose input value. Use with caution. get faxNumberInput() { return this._faxNumber; } get phoneNumber() { return this.getStringAttribute('phone_number'); } set phoneNumber(value) { this._phoneNumber = value; } // Temporarily expose input value. Use with caution. get phoneNumberInput() { return this._phoneNumber; } get postalAddress() { return this._postalAddress; } putPostalAddress(value) { this._postalAddress.internalValue = value; } // Temporarily expose input value. Use with caution. get postalAddressInput() { return this._postalAddress.internalValue; } } exports.ClouddomainsRegistrationContactSettingsTechnicalContactOutputReference = ClouddomainsRegistrationContactSettingsTechnicalContactOutputReference; _f = JSII_RTTI_SYMBOL_1; ClouddomainsRegistrationContactSettingsTechnicalContactOutputReference[_f] = { fqn: "@cdktf/provider-google.clouddomainsRegistration.ClouddomainsRegistrationContactSettingsTechnicalContactOutputReference", version: "14.35.0" }; function clouddomainsRegistrationContactSettingsToTerraform(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 { privacy: cdktf.stringToTerraform(struct.privacy), admin_contact: clouddomainsRegistrationContactSettingsAdminContactToTerraform(struct.adminContact), registrant_contact: clouddomainsRegistrationContactSettingsRegistrantContactToTerraform(struct.registrantContact), technical_contact: clouddomainsRegistrationContactSettingsTechnicalContactToTerraform(struct.technicalContact), }; } function clouddomainsRegistrationContactSettingsToHclTerraform(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 = { privacy: { value: cdktf.stringToHclTerraform(struct.privacy), isBlock: false, type: "simple", storageClassType: "string", }, admin_contact: { value: clouddomainsRegistrationContactSettingsAdminContactToHclTerraform(struct.adminContact), isBlock: true, type: "list", storageClassType: "ClouddomainsRegistrationContactSettingsAdminContactList", }, registrant_contact: { value: clouddomainsRegistrationContactSettingsRegistrantContactToHclTerraform(struct.registrantContact), isBlock: true, type: "list", storageClassType: "Clouddomai