@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,189 lines • 373 kB
JavaScript
"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.1" };
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.1" };
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.1" };
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.1" };
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.1" };
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.1" };
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