domains.projects.locations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.operations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.operations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.configureContactSettings

enum_ConfigureContactSettingsRequestContactNotices := [ "CONTACT_NOTICE_UNSPECIFIED", "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT" ]
enum_ContactSettingsPrivacy := [ "CONTACT_PRIVACY_UNSPECIFIED", "PUBLIC_CONTACT_DATA", "PRIVATE_CONTACT_DATA", "REDACTED_CONTACT_DATA" ]

valid {
    input.Body.contactNotices[_] == enum_ConfigureContactSettingsRequestContactNotices[_]
    input.Body.contactSettings.adminContact.email == STRING
    input.Body.contactSettings.adminContact.faxNumber == STRING
    input.Body.contactSettings.adminContact.phoneNumber == STRING
    input.Body.contactSettings.adminContact.postalAddress.addressLines[_] == STRING
    input.Body.contactSettings.adminContact.postalAddress.administrativeArea == STRING
    input.Body.contactSettings.adminContact.postalAddress.languageCode == STRING
    input.Body.contactSettings.adminContact.postalAddress.locality == STRING
    input.Body.contactSettings.adminContact.postalAddress.organization == STRING
    input.Body.contactSettings.adminContact.postalAddress.postalCode == STRING
    input.Body.contactSettings.adminContact.postalAddress.recipients[_] == STRING
    input.Body.contactSettings.adminContact.postalAddress.regionCode == STRING
    input.Body.contactSettings.adminContact.postalAddress.revision == INTEGER
    input.Body.contactSettings.adminContact.postalAddress.sortingCode == STRING
    input.Body.contactSettings.adminContact.postalAddress.sublocality == STRING
    input.Body.contactSettings.privacy == enum_ContactSettingsPrivacy[_]
    input.Body.contactSettings.registrantContact.email == STRING
    input.Body.contactSettings.registrantContact.faxNumber == STRING
    input.Body.contactSettings.registrantContact.phoneNumber == STRING
    input.Body.contactSettings.registrantContact.postalAddress.addressLines[_] == STRING
    input.Body.contactSettings.registrantContact.postalAddress.administrativeArea == STRING
    input.Body.contactSettings.registrantContact.postalAddress.languageCode == STRING
    input.Body.contactSettings.registrantContact.postalAddress.locality == STRING
    input.Body.contactSettings.registrantContact.postalAddress.organization == STRING
    input.Body.contactSettings.registrantContact.postalAddress.postalCode == STRING
    input.Body.contactSettings.registrantContact.postalAddress.recipients[_] == STRING
    input.Body.contactSettings.registrantContact.postalAddress.regionCode == STRING
    input.Body.contactSettings.registrantContact.postalAddress.revision == INTEGER
    input.Body.contactSettings.registrantContact.postalAddress.sortingCode == STRING
    input.Body.contactSettings.registrantContact.postalAddress.sublocality == STRING
    input.Body.contactSettings.technicalContact.email == STRING
    input.Body.contactSettings.technicalContact.faxNumber == STRING
    input.Body.contactSettings.technicalContact.phoneNumber == STRING
    input.Body.contactSettings.technicalContact.postalAddress.addressLines[_] == STRING
    input.Body.contactSettings.technicalContact.postalAddress.administrativeArea == STRING
    input.Body.contactSettings.technicalContact.postalAddress.languageCode == STRING
    input.Body.contactSettings.technicalContact.postalAddress.locality == STRING
    input.Body.contactSettings.technicalContact.postalAddress.organization == STRING
    input.Body.contactSettings.technicalContact.postalAddress.postalCode == STRING
    input.Body.contactSettings.technicalContact.postalAddress.recipients[_] == STRING
    input.Body.contactSettings.technicalContact.postalAddress.regionCode == STRING
    input.Body.contactSettings.technicalContact.postalAddress.revision == INTEGER
    input.Body.contactSettings.technicalContact.postalAddress.sortingCode == STRING
    input.Body.contactSettings.technicalContact.postalAddress.sublocality == STRING
    input.Body.updateMask == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.registration == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.configureDnsSettings

enum_DsRecordAlgorithm := [ "ALGORITHM_UNSPECIFIED", "RSAMD5", "DH", "DSA", "ECC", "RSASHA1", "DSANSEC3SHA1", "RSASHA1NSEC3SHA1", "RSASHA256", "RSASHA512", "ECCGOST", "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", "ED448", "INDIRECT", "PRIVATEDNS", "PRIVATEOID" ]
enum_DsRecordDigestType := [ "DIGEST_TYPE_UNSPECIFIED", "SHA1", "SHA256", "GOST3411", "SHA384" ]
enum_GoogleDomainsDnsDsState := [ "DS_STATE_UNSPECIFIED", "DS_RECORDS_UNPUBLISHED", "DS_RECORDS_PUBLISHED" ]

valid {
    input.Body.dnsSettings.customDns.dsRecords[_].algorithm == enum_DsRecordAlgorithm[_]
    input.Body.dnsSettings.customDns.dsRecords[_].digest == STRING
    input.Body.dnsSettings.customDns.dsRecords[_].digestType == enum_DsRecordDigestType[_]
    input.Body.dnsSettings.customDns.dsRecords[_].keyTag == INTEGER
    input.Body.dnsSettings.customDns.nameServers[_] == STRING
    input.Body.dnsSettings.glueRecords[_].hostName == STRING
    input.Body.dnsSettings.glueRecords[_].ipv4Addresses[_] == STRING
    input.Body.dnsSettings.glueRecords[_].ipv6Addresses[_] == STRING
    input.Body.dnsSettings.googleDomainsDns.dsState == enum_GoogleDomainsDnsDsState[_]
    input.Body.updateMask == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.registration == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.configureManagementSettings

enum_ManagementSettingsPreferredRenewalMethod := [ "RENEWAL_METHOD_UNSPECIFIED", "AUTOMATIC_RENEWAL", "MANUAL_RENEWAL", "RENEWAL_DISABLED" ]
enum_ManagementSettingsTransferLockState := [ "TRANSFER_LOCK_STATE_UNSPECIFIED", "UNLOCKED", "LOCKED" ]

valid {
    input.Body.managementSettings.preferredRenewalMethod == enum_ManagementSettingsPreferredRenewalMethod[_]
    input.Body.managementSettings.transferLockState == enum_ManagementSettingsTransferLockState[_]
    input.Body.updateMask == STRING
    input.ReqMap.registration == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.export

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.getIamPolicy

valid {
    input.ReqMap.resource == STRING
    input.Qs.options.requestedPolicyVersion == INTEGER
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.import

valid {
    input.Body.domainName == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.patch

enum_ContactSettingsPrivacy := [ "CONTACT_PRIVACY_UNSPECIFIED", "PUBLIC_CONTACT_DATA", "PRIVATE_CONTACT_DATA", "REDACTED_CONTACT_DATA" ]
enum_DsRecordAlgorithm := [ "ALGORITHM_UNSPECIFIED", "RSAMD5", "DH", "DSA", "ECC", "RSASHA1", "DSANSEC3SHA1", "RSASHA1NSEC3SHA1", "RSASHA256", "RSASHA512", "ECCGOST", "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", "ED448", "INDIRECT", "PRIVATEDNS", "PRIVATEOID" ]
enum_DsRecordDigestType := [ "DIGEST_TYPE_UNSPECIFIED", "SHA1", "SHA256", "GOST3411", "SHA384" ]
enum_GoogleDomainsDnsDsState := [ "DS_STATE_UNSPECIFIED", "DS_RECORDS_UNPUBLISHED", "DS_RECORDS_PUBLISHED" ]
enum_ManagementSettingsPreferredRenewalMethod := [ "RENEWAL_METHOD_UNSPECIFIED", "AUTOMATIC_RENEWAL", "MANUAL_RENEWAL", "RENEWAL_DISABLED" ]
enum_ManagementSettingsTransferLockState := [ "TRANSFER_LOCK_STATE_UNSPECIFIED", "UNLOCKED", "LOCKED" ]

valid {
    input.Body.contactSettings.adminContact.email == STRING
    input.Body.contactSettings.adminContact.faxNumber == STRING
    input.Body.contactSettings.adminContact.phoneNumber == STRING
    input.Body.contactSettings.adminContact.postalAddress.addressLines[_] == STRING
    input.Body.contactSettings.adminContact.postalAddress.administrativeArea == STRING
    input.Body.contactSettings.adminContact.postalAddress.languageCode == STRING
    input.Body.contactSettings.adminContact.postalAddress.locality == STRING
    input.Body.contactSettings.adminContact.postalAddress.organization == STRING
    input.Body.contactSettings.adminContact.postalAddress.postalCode == STRING
    input.Body.contactSettings.adminContact.postalAddress.recipients[_] == STRING
    input.Body.contactSettings.adminContact.postalAddress.regionCode == STRING
    input.Body.contactSettings.adminContact.postalAddress.revision == INTEGER
    input.Body.contactSettings.adminContact.postalAddress.sortingCode == STRING
    input.Body.contactSettings.adminContact.postalAddress.sublocality == STRING
    input.Body.contactSettings.privacy == enum_ContactSettingsPrivacy[_]
    input.Body.contactSettings.registrantContact.email == STRING
    input.Body.contactSettings.registrantContact.faxNumber == STRING
    input.Body.contactSettings.registrantContact.phoneNumber == STRING
    input.Body.contactSettings.registrantContact.postalAddress.addressLines[_] == STRING
    input.Body.contactSettings.registrantContact.postalAddress.administrativeArea == STRING
    input.Body.contactSettings.registrantContact.postalAddress.languageCode == STRING
    input.Body.contactSettings.registrantContact.postalAddress.locality == STRING
    input.Body.contactSettings.registrantContact.postalAddress.organization == STRING
    input.Body.contactSettings.registrantContact.postalAddress.postalCode == STRING
    input.Body.contactSettings.registrantContact.postalAddress.recipients[_] == STRING
    input.Body.contactSettings.registrantContact.postalAddress.regionCode == STRING
    input.Body.contactSettings.registrantContact.postalAddress.revision == INTEGER
    input.Body.contactSettings.registrantContact.postalAddress.sortingCode == STRING
    input.Body.contactSettings.registrantContact.postalAddress.sublocality == STRING
    input.Body.contactSettings.technicalContact.email == STRING
    input.Body.contactSettings.technicalContact.faxNumber == STRING
    input.Body.contactSettings.technicalContact.phoneNumber == STRING
    input.Body.contactSettings.technicalContact.postalAddress.addressLines[_] == STRING
    input.Body.contactSettings.technicalContact.postalAddress.administrativeArea == STRING
    input.Body.contactSettings.technicalContact.postalAddress.languageCode == STRING
    input.Body.contactSettings.technicalContact.postalAddress.locality == STRING
    input.Body.contactSettings.technicalContact.postalAddress.organization == STRING
    input.Body.contactSettings.technicalContact.postalAddress.postalCode == STRING
    input.Body.contactSettings.technicalContact.postalAddress.recipients[_] == STRING
    input.Body.contactSettings.technicalContact.postalAddress.regionCode == STRING
    input.Body.contactSettings.technicalContact.postalAddress.revision == INTEGER
    input.Body.contactSettings.technicalContact.postalAddress.sortingCode == STRING
    input.Body.contactSettings.technicalContact.postalAddress.sublocality == STRING
    input.Body.dnsSettings.customDns.dsRecords[_].algorithm == enum_DsRecordAlgorithm[_]
    input.Body.dnsSettings.customDns.dsRecords[_].digest == STRING
    input.Body.dnsSettings.customDns.dsRecords[_].digestType == enum_DsRecordDigestType[_]
    input.Body.dnsSettings.customDns.dsRecords[_].keyTag == INTEGER
    input.Body.dnsSettings.customDns.nameServers[_] == STRING
    input.Body.dnsSettings.glueRecords[_].hostName == STRING
    input.Body.dnsSettings.glueRecords[_].ipv4Addresses[_] == STRING
    input.Body.dnsSettings.glueRecords[_].ipv6Addresses[_] == STRING
    input.Body.dnsSettings.googleDomainsDns.dsState == enum_GoogleDomainsDnsDsState[_]
    input.Body.domainName == STRING
    input.Body.labels.STRING == STRING
    input.Body.managementSettings.preferredRenewalMethod == enum_ManagementSettingsPreferredRenewalMethod[_]
    input.Body.managementSettings.transferLockState == enum_ManagementSettingsTransferLockState[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.register

enum_ContactSettingsPrivacy := [ "CONTACT_PRIVACY_UNSPECIFIED", "PUBLIC_CONTACT_DATA", "PRIVATE_CONTACT_DATA", "REDACTED_CONTACT_DATA" ]
enum_DsRecordAlgorithm := [ "ALGORITHM_UNSPECIFIED", "RSAMD5", "DH", "DSA", "ECC", "RSASHA1", "DSANSEC3SHA1", "RSASHA1NSEC3SHA1", "RSASHA256", "RSASHA512", "ECCGOST", "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", "ED448", "INDIRECT", "PRIVATEDNS", "PRIVATEOID" ]
enum_DsRecordDigestType := [ "DIGEST_TYPE_UNSPECIFIED", "SHA1", "SHA256", "GOST3411", "SHA384" ]
enum_GoogleDomainsDnsDsState := [ "DS_STATE_UNSPECIFIED", "DS_RECORDS_UNPUBLISHED", "DS_RECORDS_PUBLISHED" ]
enum_ManagementSettingsPreferredRenewalMethod := [ "RENEWAL_METHOD_UNSPECIFIED", "AUTOMATIC_RENEWAL", "MANUAL_RENEWAL", "RENEWAL_DISABLED" ]
enum_ManagementSettingsTransferLockState := [ "TRANSFER_LOCK_STATE_UNSPECIFIED", "UNLOCKED", "LOCKED" ]
enum_RegisterDomainRequestContactNotices := [ "CONTACT_NOTICE_UNSPECIFIED", "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT" ]
enum_RegisterDomainRequestDomainNotices := [ "DOMAIN_NOTICE_UNSPECIFIED", "HSTS_PRELOADED" ]

valid {
    input.Body.contactNotices[_] == enum_RegisterDomainRequestContactNotices[_]
    input.Body.domainNotices[_] == enum_RegisterDomainRequestDomainNotices[_]
    input.Body.registration.contactSettings.adminContact.email == STRING
    input.Body.registration.contactSettings.adminContact.faxNumber == STRING
    input.Body.registration.contactSettings.adminContact.phoneNumber == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.addressLines[_] == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.administrativeArea == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.languageCode == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.locality == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.organization == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.postalCode == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.recipients[_] == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.regionCode == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.revision == INTEGER
    input.Body.registration.contactSettings.adminContact.postalAddress.sortingCode == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.sublocality == STRING
    input.Body.registration.contactSettings.privacy == enum_ContactSettingsPrivacy[_]
    input.Body.registration.contactSettings.registrantContact.email == STRING
    input.Body.registration.contactSettings.registrantContact.faxNumber == STRING
    input.Body.registration.contactSettings.registrantContact.phoneNumber == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.addressLines[_] == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.administrativeArea == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.languageCode == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.locality == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.organization == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.postalCode == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.recipients[_] == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.regionCode == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.revision == INTEGER
    input.Body.registration.contactSettings.registrantContact.postalAddress.sortingCode == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.sublocality == STRING
    input.Body.registration.contactSettings.technicalContact.email == STRING
    input.Body.registration.contactSettings.technicalContact.faxNumber == STRING
    input.Body.registration.contactSettings.technicalContact.phoneNumber == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.addressLines[_] == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.administrativeArea == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.languageCode == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.locality == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.organization == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.postalCode == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.recipients[_] == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.regionCode == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.revision == INTEGER
    input.Body.registration.contactSettings.technicalContact.postalAddress.sortingCode == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.sublocality == STRING
    input.Body.registration.dnsSettings.customDns.dsRecords[_].algorithm == enum_DsRecordAlgorithm[_]
    input.Body.registration.dnsSettings.customDns.dsRecords[_].digest == STRING
    input.Body.registration.dnsSettings.customDns.dsRecords[_].digestType == enum_DsRecordDigestType[_]
    input.Body.registration.dnsSettings.customDns.dsRecords[_].keyTag == INTEGER
    input.Body.registration.dnsSettings.customDns.nameServers[_] == STRING
    input.Body.registration.dnsSettings.glueRecords[_].hostName == STRING
    input.Body.registration.dnsSettings.glueRecords[_].ipv4Addresses[_] == STRING
    input.Body.registration.dnsSettings.glueRecords[_].ipv6Addresses[_] == STRING
    input.Body.registration.dnsSettings.googleDomainsDns.dsState == enum_GoogleDomainsDnsDsState[_]
    input.Body.registration.domainName == STRING
    input.Body.registration.labels.STRING == STRING
    input.Body.registration.managementSettings.preferredRenewalMethod == enum_ManagementSettingsPreferredRenewalMethod[_]
    input.Body.registration.managementSettings.transferLockState == enum_ManagementSettingsTransferLockState[_]
    input.Body.validateOnly == BOOLEAN
    input.Body.yearlyPrice.currencyCode == STRING
    input.Body.yearlyPrice.nanos == INTEGER
    input.Body.yearlyPrice.units == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.resetAuthorizationCode

valid {
    input.Body.STRING == STRING
    input.ReqMap.registration == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.retrieveAuthorizationCode

valid {
    input.ReqMap.registration == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.retrieveImportableDomains

valid {
    input.ReqMap.location == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.retrieveRegisterParameters

valid {
    input.ReqMap.location == STRING
    input.Qs.domainName == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.retrieveTransferParameters

valid {
    input.ReqMap.location == STRING
    input.Qs.domainName == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.searchDomains

valid {
    input.ReqMap.location == STRING
    input.Qs.query == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

domains.projects.locations.registrations.transfer

enum_ContactSettingsPrivacy := [ "CONTACT_PRIVACY_UNSPECIFIED", "PUBLIC_CONTACT_DATA", "PRIVATE_CONTACT_DATA", "REDACTED_CONTACT_DATA" ]
enum_DsRecordAlgorithm := [ "ALGORITHM_UNSPECIFIED", "RSAMD5", "DH", "DSA", "ECC", "RSASHA1", "DSANSEC3SHA1", "RSASHA1NSEC3SHA1", "RSASHA256", "RSASHA512", "ECCGOST", "ECDSAP256SHA256", "ECDSAP384SHA384", "ED25519", "ED448", "INDIRECT", "PRIVATEDNS", "PRIVATEOID" ]
enum_DsRecordDigestType := [ "DIGEST_TYPE_UNSPECIFIED", "SHA1", "SHA256", "GOST3411", "SHA384" ]
enum_GoogleDomainsDnsDsState := [ "DS_STATE_UNSPECIFIED", "DS_RECORDS_UNPUBLISHED", "DS_RECORDS_PUBLISHED" ]
enum_ManagementSettingsPreferredRenewalMethod := [ "RENEWAL_METHOD_UNSPECIFIED", "AUTOMATIC_RENEWAL", "MANUAL_RENEWAL", "RENEWAL_DISABLED" ]
enum_ManagementSettingsTransferLockState := [ "TRANSFER_LOCK_STATE_UNSPECIFIED", "UNLOCKED", "LOCKED" ]
enum_TransferDomainRequestContactNotices := [ "CONTACT_NOTICE_UNSPECIFIED", "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT" ]

valid {
    input.Body.authorizationCode.code == STRING
    input.Body.contactNotices[_] == enum_TransferDomainRequestContactNotices[_]
    input.Body.registration.contactSettings.adminContact.email == STRING
    input.Body.registration.contactSettings.adminContact.faxNumber == STRING
    input.Body.registration.contactSettings.adminContact.phoneNumber == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.addressLines[_] == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.administrativeArea == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.languageCode == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.locality == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.organization == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.postalCode == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.recipients[_] == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.regionCode == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.revision == INTEGER
    input.Body.registration.contactSettings.adminContact.postalAddress.sortingCode == STRING
    input.Body.registration.contactSettings.adminContact.postalAddress.sublocality == STRING
    input.Body.registration.contactSettings.privacy == enum_ContactSettingsPrivacy[_]
    input.Body.registration.contactSettings.registrantContact.email == STRING
    input.Body.registration.contactSettings.registrantContact.faxNumber == STRING
    input.Body.registration.contactSettings.registrantContact.phoneNumber == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.addressLines[_] == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.administrativeArea == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.languageCode == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.locality == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.organization == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.postalCode == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.recipients[_] == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.regionCode == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.revision == INTEGER
    input.Body.registration.contactSettings.registrantContact.postalAddress.sortingCode == STRING
    input.Body.registration.contactSettings.registrantContact.postalAddress.sublocality == STRING
    input.Body.registration.contactSettings.technicalContact.email == STRING
    input.Body.registration.contactSettings.technicalContact.faxNumber == STRING
    input.Body.registration.contactSettings.technicalContact.phoneNumber == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.addressLines[_] == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.administrativeArea == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.languageCode == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.locality == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.organization == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.postalCode == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.recipients[_] == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.regionCode == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.revision == INTEGER
    input.Body.registration.contactSettings.technicalContact.postalAddress.sortingCode == STRING
    input.Body.registration.contactSettings.technicalContact.postalAddress.sublocality == STRING
    input.Body.registration.dnsSettings.customDns.dsRecords[_].algorithm == enum_DsRecordAlgorithm[_]
    input.Body.registration.dnsSettings.customDns.dsRecords[_].digest == STRING
    input.Body.registration.dnsSettings.customDns.dsRecords[_].digestType == enum_DsRecordDigestType[_]
    input.Body.registration.dnsSettings.customDns.dsRecords[_].keyTag == INTEGER
    input.Body.registration.dnsSettings.customDns.nameServers[_] == STRING
    input.Body.registration.dnsSettings.glueRecords[_].hostName == STRING
    input.Body.registration.dnsSettings.glueRecords[_].ipv4Addresses[_] == STRING
    input.Body.registration.dnsSettings.glueRecords[_].ipv6Addresses[_] == STRING
    input.Body.registration.dnsSettings.googleDomainsDns.dsState == enum_GoogleDomainsDnsDsState[_]
    input.Body.registration.domainName == STRING
    input.Body.registration.labels.STRING == STRING
    input.Body.registration.managementSettings.preferredRenewalMethod == enum_ManagementSettingsPreferredRenewalMethod[_]
    input.Body.registration.managementSettings.transferLockState == enum_ManagementSettingsTransferLockState[_]
    input.Body.validateOnly == BOOLEAN
    input.Body.yearlyPrice.currencyCode == STRING
    input.Body.yearlyPrice.nanos == INTEGER
    input.Body.yearlyPrice.units == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}