text: // NOTE: This file was generated by the ServiceGenerator.
  
  // ----------------------------------------------------------------------------
  // API:
  //   Cloud Domains API (domains/v1beta1)
  // Description:
  //   Enables management and configuration of domain names.
  // Documentation:
  //   https://cloud.google.com/domains/
  
  #if SWIFT_PACKAGE || GTLR_USE_MODULAR_IMPORT
    @import GoogleAPIClientForRESTCore;
  #elif GTLR_BUILT_AS_FRAMEWORK
    #import "GTLR/GTLRObject.h"
  #else
    #import "GTLRObject.h"
  #endif
  
  #if GTLR_RUNTIME_VERSION != 3000
  #error This file was generated by a different version of ServiceGenerator which is incompatible with this GTLR library source.
  #endif
  
  @class GTLRCloudDomains_AuditConfig;
  @class GTLRCloudDomains_AuditLogConfig;
  @class GTLRCloudDomains_Binding;
  @class GTLRCloudDomains_Contact;
  @class GTLRCloudDomains_ContactSettings;
  @class GTLRCloudDomains_CustomDns;
  @class GTLRCloudDomains_DnsSettings;
  @class GTLRCloudDomains_DsRecord;
  @class GTLRCloudDomains_Expr;
  @class GTLRCloudDomains_GlueRecord;
  @class GTLRCloudDomains_GoogleDomainsDns;
  @class GTLRCloudDomains_Location;
  @class GTLRCloudDomains_Location_Labels;
  @class GTLRCloudDomains_Location_Metadata;
  @class GTLRCloudDomains_ManagementSettings;
  @class GTLRCloudDomains_Money;
  @class GTLRCloudDomains_Operation;
  @class GTLRCloudDomains_Operation_Metadata;
  @class GTLRCloudDomains_Operation_Response;
  @class GTLRCloudDomains_Policy;
  @class GTLRCloudDomains_PostalAddress;
  @class GTLRCloudDomains_RegisterParameters;
  @class GTLRCloudDomains_Registration;
  @class GTLRCloudDomains_Registration_Labels;
  @class GTLRCloudDomains_Status;
  @class GTLRCloudDomains_Status_Details_Item;
  
  // Generated comments include content from the discovery document; avoid them
  // causing warnings since clang's checks are some what arbitrary.
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wdocumentation"
  
  NS_ASSUME_NONNULL_BEGIN
  
  // ----------------------------------------------------------------------------
  // Constants - For some of the classes' properties below.
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_AuditLogConfig.logType
  
  /**
   *  Admin reads. Example: CloudIAM getIamPolicy
   *
   *  Value: "ADMIN_READ"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_AuditLogConfig_LogType_AdminRead;
  /**
   *  Data reads. Example: CloudSQL Users list
   *
   *  Value: "DATA_READ"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_AuditLogConfig_LogType_DataRead;
  /**
   *  Data writes. Example: CloudSQL Users create
   *
   *  Value: "DATA_WRITE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_AuditLogConfig_LogType_DataWrite;
  /**
   *  Default case. Should never be this.
   *
   *  Value: "LOG_TYPE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_AuditLogConfig_LogType_LogTypeUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_ConfigureContactSettingsRequest.contactNotices
  
  /**
   *  The notice is undefined.
   *
   *  Value: "CONTACT_NOTICE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ConfigureContactSettingsRequest_ContactNotices_ContactNoticeUnspecified;
  /**
   *  Required when setting the `privacy` field of `ContactSettings` to
   *  `PUBLIC_CONTACT_DATA`, which exposes contact data publicly.
   *
   *  Value: "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ConfigureContactSettingsRequest_ContactNotices_PublicContactDataAcknowledgement;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_ContactSettings.privacy
  
  /**
   *  The contact privacy settings are undefined.
   *
   *  Value: "CONTACT_PRIVACY_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ContactSettings_Privacy_ContactPrivacyUnspecified;
  /**
   *  None of the data from `ContactSettings` is publicly available. Instead,
   *  proxy contact data is published for your domain. Email sent to the proxy
   *  email address is forwarded to the registrant's email address. Cloud Domains
   *  provides this privacy proxy service at no additional cost.
   *
   *  Value: "PRIVATE_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ContactSettings_Privacy_PrivateContactData;
  /**
   *  All the data from `ContactSettings` is publicly available. When setting this
   *  option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the
   *  `contact_notices` field of the request.
   *
   *  Value: "PUBLIC_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ContactSettings_Privacy_PublicContactData;
  /**
   *  Some data from `ContactSettings` is publicly available. The actual
   *  information redacted depends on the domain. For details, see [the
   *  registration privacy
   *  article](https://support.google.com/domains/answer/3251242).
   *
   *  Value: "REDACTED_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ContactSettings_Privacy_RedactedContactData;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_DsRecord.algorithm
  
  /**
   *  The algorithm is unspecified.
   *
   *  Value: "ALGORITHM_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_AlgorithmUnspecified;
  /**
   *  DSA/SHA1. Not recommended for new deployments.
   *
   *  Value: "DSA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Dsa;
  /**
   *  DSA-NSEC3-SHA1. Not recommended for new deployments.
   *
   *  Value: "DSANSEC3SHA1"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Dsansec3sha1;
  /**
   *  ECC. Not recommended for new deployments.
   *
   *  Value: "ECC"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Ecc;
  /**
   *  GOST R 34.10-2001.
   *
   *  Value: "ECCGOST"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Eccgost;
  /**
   *  ECDSA Curve P-256 with SHA-256.
   *
   *  Value: "ECDSAP256SHA256"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Ecdsap256sha256;
  /**
   *  ECDSA Curve P-384 with SHA-384.
   *
   *  Value: "ECDSAP384SHA384"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Ecdsap384sha384;
  /**
   *  Ed25519.
   *
   *  Value: "ED25519"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Ed25519;
  /**
   *  Ed448.
   *
   *  Value: "ED448"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Ed448;
  /**
   *  RSA/SHA-1. Not recommended for new deployments.
   *
   *  Value: "RSASHA1"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Rsasha1;
  /**
   *  RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments.
   *
   *  Value: "RSASHA1NSEC3SHA1"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Rsasha1nsec3sha1;
  /**
   *  RSA/SHA-256.
   *
   *  Value: "RSASHA256"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Rsasha256;
  /**
   *  RSA/SHA-512.
   *
   *  Value: "RSASHA512"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_Algorithm_Rsasha512;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_DsRecord.digestType
  
  /**
   *  The DigestType is unspecified.
   *
   *  Value: "DIGEST_TYPE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_DigestType_DigestTypeUnspecified;
  /**
   *  GOST R 34.11-94.
   *
   *  Value: "GOST3411"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_DigestType_Gost3411;
  /**
   *  SHA-1. Not recommended for new deployments.
   *
   *  Value: "SHA1"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_DigestType_Sha1;
  /**
   *  SHA-256.
   *
   *  Value: "SHA256"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_DigestType_Sha256;
  /**
   *  SHA-384.
   *
   *  Value: "SHA384"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_DsRecord_DigestType_Sha384;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_GoogleDomainsDns.dsState
  
  /**
   *  DNSSEC is enabled for this domain. Appropriate DS records for this domain
   *  are published in the parent DNS zone. This option is valid only if the DNS
   *  zone referenced in the `Registration`'s `dns_provider` field is already
   *  DNSSEC-signed.
   *
   *  Value: "DS_RECORDS_PUBLISHED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_GoogleDomainsDns_DsState_DsRecordsPublished;
  /**
   *  DNSSEC is disabled for this domain. No DS records for this domain are
   *  published in the parent DNS zone.
   *
   *  Value: "DS_RECORDS_UNPUBLISHED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_GoogleDomainsDns_DsState_DsRecordsUnpublished;
  /**
   *  DS state is unspecified.
   *
   *  Value: "DS_STATE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_GoogleDomainsDns_DsState_DsStateUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_ManagementSettings.renewalMethod
  
  /**
   *  The domain is automatically renewed each year . To disable automatic
   *  renewals, export the domain by calling `ExportRegistration` .
   *
   *  Value: "AUTOMATIC_RENEWAL"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ManagementSettings_RenewalMethod_AutomaticRenewal;
  /**
   *  The domain must be explicitly renewed each year before its `expire_time`.
   *  This option is only available when the `Registration` is in state
   *  `EXPORTED`. To manage the domain's current billing and renewal settings, go
   *  to [Google Domains](https://domains.google/).
   *
   *  Value: "MANUAL_RENEWAL"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ManagementSettings_RenewalMethod_ManualRenewal;
  /**
   *  The renewal method is undefined.
   *
   *  Value: "RENEWAL_METHOD_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ManagementSettings_RenewalMethod_RenewalMethodUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_ManagementSettings.transferLockState
  
  /**
   *  The domain is locked and cannot be transferred to another registrar.
   *
   *  Value: "LOCKED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ManagementSettings_TransferLockState_Locked;
  /**
   *  The state is unspecified.
   *
   *  Value: "TRANSFER_LOCK_STATE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ManagementSettings_TransferLockState_TransferLockStateUnspecified;
  /**
   *  The domain is unlocked and can be transferred to another registrar.
   *
   *  Value: "UNLOCKED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_ManagementSettings_TransferLockState_Unlocked;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_RegisterDomainRequest.contactNotices
  
  /**
   *  The notice is undefined.
   *
   *  Value: "CONTACT_NOTICE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterDomainRequest_ContactNotices_ContactNoticeUnspecified;
  /**
   *  Required when setting the `privacy` field of `ContactSettings` to
   *  `PUBLIC_CONTACT_DATA`, which exposes contact data publicly.
   *
   *  Value: "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterDomainRequest_ContactNotices_PublicContactDataAcknowledgement;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_RegisterDomainRequest.domainNotices
  
  /**
   *  The notice is undefined.
   *
   *  Value: "DOMAIN_NOTICE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterDomainRequest_DomainNotices_DomainNoticeUnspecified;
  /**
   *  Indicates that the domain is preloaded on the HTTP Strict Transport Security
   *  list in browsers. Serving a website on such domain requires an SSL
   *  certificate. For details, see [how to get an SSL
   *  certificate](https://support.google.com/domains/answer/7638036).
   *
   *  Value: "HSTS_PRELOADED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterDomainRequest_DomainNotices_HstsPreloaded;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_RegisterParameters.availability
  
  /**
   *  The availability is unspecified.
   *
   *  Value: "AVAILABILITY_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_Availability_AvailabilityUnspecified;
  /**
   *  The domain is available for registration.
   *
   *  Value: "AVAILABLE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_Availability_Available;
  /**
   *  The domain is not available for registration. Generally this means it is
   *  already registered to another party.
   *
   *  Value: "UNAVAILABLE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_Availability_Unavailable;
  /**
   *  Cloud Domains is unable to determine domain availability, generally due to
   *  system maintenance at the domain name registry.
   *
   *  Value: "UNKNOWN"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_Availability_Unknown;
  /**
   *  The domain is not currently supported by Cloud Domains, but may be available
   *  elsewhere.
   *
   *  Value: "UNSUPPORTED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_Availability_Unsupported;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_RegisterParameters.domainNotices
  
  /**
   *  The notice is undefined.
   *
   *  Value: "DOMAIN_NOTICE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_DomainNotices_DomainNoticeUnspecified;
  /**
   *  Indicates that the domain is preloaded on the HTTP Strict Transport Security
   *  list in browsers. Serving a website on such domain requires an SSL
   *  certificate. For details, see [how to get an SSL
   *  certificate](https://support.google.com/domains/answer/7638036).
   *
   *  Value: "HSTS_PRELOADED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_DomainNotices_HstsPreloaded;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_RegisterParameters.supportedPrivacy
  
  /**
   *  The contact privacy settings are undefined.
   *
   *  Value: "CONTACT_PRIVACY_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_SupportedPrivacy_ContactPrivacyUnspecified;
  /**
   *  None of the data from `ContactSettings` is publicly available. Instead,
   *  proxy contact data is published for your domain. Email sent to the proxy
   *  email address is forwarded to the registrant's email address. Cloud Domains
   *  provides this privacy proxy service at no additional cost.
   *
   *  Value: "PRIVATE_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_SupportedPrivacy_PrivateContactData;
  /**
   *  All the data from `ContactSettings` is publicly available. When setting this
   *  option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the
   *  `contact_notices` field of the request.
   *
   *  Value: "PUBLIC_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_SupportedPrivacy_PublicContactData;
  /**
   *  Some data from `ContactSettings` is publicly available. The actual
   *  information redacted depends on the domain. For details, see [the
   *  registration privacy
   *  article](https://support.google.com/domains/answer/3251242).
   *
   *  Value: "REDACTED_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_RegisterParameters_SupportedPrivacy_RedactedContactData;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_Registration.issues
  
  /**
   *  Contact the Cloud Support team to resolve a problem with this domain.
   *
   *  Value: "CONTACT_SUPPORT"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_Issues_ContactSupport;
  /**
   *  The issue is undefined.
   *
   *  Value: "ISSUE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_Issues_IssueUnspecified;
  /**
   *  [ICANN](https://icann.org/) requires verification of the email address in
   *  the `Registration`'s `contact_settings.registrant_contact` field. To verify
   *  the email address, follow the instructions in the email the
   *  `registrant_contact` receives following registration. If you do not complete
   *  email verification within 15 days of registration, the domain is suspended.
   *  To resend the verification email, call ConfigureContactSettings and provide
   *  the current `registrant_contact.email`.
   *
   *  Value: "UNVERIFIED_EMAIL"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_Issues_UnverifiedEmail;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_Registration.state
  
  /**
   *  The domain is registered and operational. The domain renews automatically as
   *  long as it remains in this state.
   *
   *  Value: "ACTIVE"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_State_Active;
  /**
   *  The domain has been exported from Cloud Domains to [Google
   *  Domains](https://domains.google/). You can no longer update it with this
   *  API, and information shown about it may be stale. Without further action,
   *  domains in this state expire at their `expire_time`. You can delete the
   *  resource after the `expire_time` has passed.
   *
   *  Value: "EXPORTED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_State_Exported;
  /**
   *  The domain registration failed. You can delete resources in this state to
   *  allow registration to be retried.
   *
   *  Value: "REGISTRATION_FAILED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_State_RegistrationFailed;
  /**
   *  The domain is being registered.
   *
   *  Value: "REGISTRATION_PENDING"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_State_RegistrationPending;
  /**
   *  The state is undefined.
   *
   *  Value: "STATE_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_State_StateUnspecified;
  /**
   *  The domain is suspended and inoperative. For more details, see the `issues`
   *  field.
   *
   *  Value: "SUSPENDED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_State_Suspended;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudDomains_Registration.supportedPrivacy
  
  /**
   *  The contact privacy settings are undefined.
   *
   *  Value: "CONTACT_PRIVACY_UNSPECIFIED"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_SupportedPrivacy_ContactPrivacyUnspecified;
  /**
   *  None of the data from `ContactSettings` is publicly available. Instead,
   *  proxy contact data is published for your domain. Email sent to the proxy
   *  email address is forwarded to the registrant's email address. Cloud Domains
   *  provides this privacy proxy service at no additional cost.
   *
   *  Value: "PRIVATE_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_SupportedPrivacy_PrivateContactData;
  /**
   *  All the data from `ContactSettings` is publicly available. When setting this
   *  option, you must also provide a `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the
   *  `contact_notices` field of the request.
   *
   *  Value: "PUBLIC_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_SupportedPrivacy_PublicContactData;
  /**
   *  Some data from `ContactSettings` is publicly available. The actual
   *  information redacted depends on the domain. For details, see [the
   *  registration privacy
   *  article](https://support.google.com/domains/answer/3251242).
   *
   *  Value: "REDACTED_CONTACT_DATA"
   */
  FOUNDATION_EXTERN NSString * const kGTLRCloudDomains_Registration_SupportedPrivacy_RedactedContactData;
  
  /**
   *  Specifies the audit configuration for a service. The configuration
   *  determines which permission types are logged, and what identities, if any,
   *  are exempted from logging. An AuditConfig must have one or more
   *  AuditLogConfigs. If there are AuditConfigs for both `allServices` and a
   *  specific service, the union of the two AuditConfigs is used for that
   *  service: the log_types specified in each AuditConfig are enabled, and the
   *  exempted_members in each AuditLogConfig are exempted. Example Policy with
   *  multiple AuditConfigs: { "audit_configs": [ { "service": "allServices",
   *  "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
   *  "user:jose\@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type":
   *  "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com",
   *  "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type":
   *  "DATA_WRITE", "exempted_members": [ "user:aliya\@example.com" ] } ] } ] }
   *  For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
   *  logging. It also exempts jose\@example.com from DATA_READ logging, and
   *  aliya\@example.com from DATA_WRITE logging.
   */
  @interface GTLRCloudDomains_AuditConfig : GTLRObject
  
  /** The configuration for logging of each type of permission. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_AuditLogConfig *> *auditLogConfigs;
  
  /**
   *  Specifies a service that will be enabled for audit logging. For example,
   *  `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a
   *  special value that covers all services.
   */
  @property(nonatomic, copy, nullable) NSString *service;
  
  @end
  
  
  /**
   *  Provides the configuration for logging a type of permissions. Example: {
   *  "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [
   *  "user:jose\@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables
   *  'DATA_READ' and 'DATA_WRITE' logging, while exempting jose\@example.com from
   *  DATA_READ logging.
   */
  @interface GTLRCloudDomains_AuditLogConfig : GTLRObject
  
  /**
   *  Specifies the identities that do not cause logging for this type of
   *  permission. Follows the same format of Binding.members.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *exemptedMembers;
  
  /**
   *  The log type that this config enables.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_AuditLogConfig_LogType_AdminRead Admin reads.
   *        Example: CloudIAM getIamPolicy (Value: "ADMIN_READ")
   *    @arg @c kGTLRCloudDomains_AuditLogConfig_LogType_DataRead Data reads.
   *        Example: CloudSQL Users list (Value: "DATA_READ")
   *    @arg @c kGTLRCloudDomains_AuditLogConfig_LogType_DataWrite Data writes.
   *        Example: CloudSQL Users create (Value: "DATA_WRITE")
   *    @arg @c kGTLRCloudDomains_AuditLogConfig_LogType_LogTypeUnspecified
   *        Default case. Should never be this. (Value: "LOG_TYPE_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *logType;
  
  @end
  
  
  /**
   *  Defines an authorization code.
   */
  @interface GTLRCloudDomains_AuthorizationCode : GTLRObject
  
  /**
   *  The Authorization Code in ASCII. It can be used to transfer the domain to or
   *  from another registrar.
   */
  @property(nonatomic, copy, nullable) NSString *code;
  
  @end
  
  
  /**
   *  Associates `members` with a `role`.
   */
  @interface GTLRCloudDomains_Binding : GTLRObject
  
  /**
   *  The condition that is associated with this binding. If the condition
   *  evaluates to `true`, then this binding applies to the current request. If
   *  the condition evaluates to `false`, then this binding does not apply to the
   *  current request. However, a different role binding might grant the same role
   *  to one or more of the members in this binding. To learn which resources
   *  support conditions in their IAM policies, see the [IAM
   *  documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Expr *condition;
  
  /**
   *  Specifies the identities requesting access for a Cloud Platform resource.
   *  `members` can have the following values: * `allUsers`: A special identifier
   *  that represents anyone who is on the internet; with or without a Google
   *  account. * `allAuthenticatedUsers`: A special identifier that represents
   *  anyone who is authenticated with a Google account or a service account. *
   *  `user:{emailid}`: An email address that represents a specific Google
   *  account. For example, `alice\@example.com` . * `serviceAccount:{emailid}`:
   *  An email address that represents a service account. For example,
   *  `my-other-app\@appspot.gserviceaccount.com`. * `group:{emailid}`: An email
   *  address that represents a Google group. For example, `admins\@example.com`.
   *  * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
   *  identifier) representing a user that has been recently deleted. For example,
   *  `alice\@example.com?uid=123456789012345678901`. If the user is recovered,
   *  this value reverts to `user:{emailid}` and the recovered user retains the
   *  role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An
   *  email address (plus unique identifier) representing a service account that
   *  has been recently deleted. For example,
   *  `my-other-app\@appspot.gserviceaccount.com?uid=123456789012345678901`. If
   *  the service account is undeleted, this value reverts to
   *  `serviceAccount:{emailid}` and the undeleted service account retains the
   *  role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email
   *  address (plus unique identifier) representing a Google group that has been
   *  recently deleted. For example,
   *  `admins\@example.com?uid=123456789012345678901`. If the group is recovered,
   *  this value reverts to `group:{emailid}` and the recovered group retains the
   *  role in the binding. * `domain:{domain}`: The G Suite domain (primary) that
   *  represents all the users of that domain. For example, `google.com` or
   *  `example.com`.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *members;
  
  /**
   *  Role that is assigned to `members`. For example, `roles/viewer`,
   *  `roles/editor`, or `roles/owner`.
   */
  @property(nonatomic, copy, nullable) NSString *role;
  
  @end
  
  
  /**
   *  Request for the `ConfigureContactSettings` method.
   */
  @interface GTLRCloudDomains_ConfigureContactSettingsRequest : GTLRObject
  
  /**
   *  The list of contact notices that the caller acknowledges. The notices
   *  required here depend on the values specified in `contact_settings`.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *contactNotices;
  
  /** Fields of the `ContactSettings` to update. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_ContactSettings *contactSettings;
  
  /**
   *  Required. The field mask describing which fields to update as a
   *  comma-separated list. For example, if only the registrant contact is being
   *  updated, the `update_mask` would be `"registrant_contact"`.
   *
   *  String format is a comma-separated list of fields.
   */
  @property(nonatomic, copy, nullable) NSString *updateMask;
  
  /**
   *  Validate the request without actually updating the contact settings.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *validateOnly;
  
  @end
  
  
  /**
   *  Request for the `ConfigureDnsSettings` method.
   */
  @interface GTLRCloudDomains_ConfigureDnsSettingsRequest : GTLRObject
  
  /** Fields of the `DnsSettings` to update. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_DnsSettings *dnsSettings;
  
  /**
   *  Required. The field mask describing which fields to update as a
   *  comma-separated list. For example, if only the name servers are being
   *  updated for an existing Custom DNS configuration, the `update_mask` would be
   *  `"custom_dns.name_servers"`. When changing the DNS provider from one type to
   *  another, pass the new provider's field name as part of the field mask. For
   *  example, when changing from a Google Domains DNS configuration to a Custom
   *  DNS configuration, the `update_mask` would be `"custom_dns"`. //
   *
   *  String format is a comma-separated list of fields.
   */
  @property(nonatomic, copy, nullable) NSString *updateMask;
  
  /**
   *  Validate the request without actually updating the DNS settings.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *validateOnly;
  
  @end
  
  
  /**
   *  Request for the `ConfigureManagementSettings` method.
   */
  @interface GTLRCloudDomains_ConfigureManagementSettingsRequest : GTLRObject
  
  /** Fields of the `ManagementSettings` to update. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_ManagementSettings *managementSettings;
  
  /**
   *  Required. The field mask describing which fields to update as a
   *  comma-separated list. For example, if only the transfer lock is being
   *  updated, the `update_mask` would be `"transfer_lock_state"`.
   *
   *  String format is a comma-separated list of fields.
   */
  @property(nonatomic, copy, nullable) NSString *updateMask;
  
  @end
  
  
  /**
   *  Details required for a contact associated with a `Registration`.
   */
  @interface GTLRCloudDomains_Contact : GTLRObject
  
  /** Required. Email address of the contact. */
  @property(nonatomic, copy, nullable) NSString *email;
  
  /**
   *  Fax number of the contact in international format. For example,
   *  `"+1-800-555-0123"`.
   */
  @property(nonatomic, copy, nullable) NSString *faxNumber;
  
  /**
   *  Required. Phone number of the contact in international format. For example,
   *  `"+1-800-555-0123"`.
   */
  @property(nonatomic, copy, nullable) NSString *phoneNumber;
  
  /** Required. Postal address of the contact. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_PostalAddress *postalAddress;
  
  @end
  
  
  /**
   *  Defines the contact information associated with a `Registration`.
   *  [ICANN](https://icann.org/) requires all domain names to have associated
   *  contact information. The `registrant_contact` is considered the domain's
   *  legal owner, and often the other contacts are identical.
   */
  @interface GTLRCloudDomains_ContactSettings : GTLRObject
  
  /** Required. The administrative contact for the `Registration`. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Contact *adminContact;
  
  /**
   *  Required. Privacy setting for the contacts associated with the
   *  `Registration`.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_ContactSettings_Privacy_ContactPrivacyUnspecified
   *        The contact privacy settings are undefined. (Value:
   *        "CONTACT_PRIVACY_UNSPECIFIED")
   *    @arg @c kGTLRCloudDomains_ContactSettings_Privacy_PrivateContactData None
   *        of the data from `ContactSettings` is publicly available. Instead,
   *        proxy contact data is published for your domain. Email sent to the
   *        proxy email address is forwarded to the registrant's email address.
   *        Cloud Domains provides this privacy proxy service at no additional
   *        cost. (Value: "PRIVATE_CONTACT_DATA")
   *    @arg @c kGTLRCloudDomains_ContactSettings_Privacy_PublicContactData All
   *        the data from `ContactSettings` is publicly available. When setting
   *        this option, you must also provide a
   *        `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field
   *        of the request. (Value: "PUBLIC_CONTACT_DATA")
   *    @arg @c kGTLRCloudDomains_ContactSettings_Privacy_RedactedContactData Some
   *        data from `ContactSettings` is publicly available. The actual
   *        information redacted depends on the domain. For details, see [the
   *        registration privacy
   *        article](https://support.google.com/domains/answer/3251242). (Value:
   *        "REDACTED_CONTACT_DATA")
   */
  @property(nonatomic, copy, nullable) NSString *privacy;
  
  /**
   *  Required. The registrant contact for the `Registration`. *Caution: Anyone
   *  with access to this email address, phone number, and/or postal address can
   *  take control of the domain.* *Warning: For new `Registration`s, the
   *  registrant will receive an email confirmation that they must complete within
   *  15 days to avoid domain suspension.*
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Contact *registrantContact;
  
  /** Required. The technical contact for the `Registration`. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Contact *technicalContact;
  
  @end
  
  
  /**
   *  Configuration for an arbitrary DNS provider.
   */
  @interface GTLRCloudDomains_CustomDns : GTLRObject
  
  /**
   *  The list of DS records for this domain, which are used to enable DNSSEC. The
   *  domain's DNS provider can provide the values to set here. If this field is
   *  empty, DNSSEC is disabled.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_DsRecord *> *dsRecords;
  
  /**
   *  Required. A list of name servers that store the DNS zone for this domain.
   *  Each name server is a domain name, with Unicode domain names expressed in
   *  Punycode format.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *nameServers;
  
  @end
  
  
  /**
   *  Defines the DNS configuration of a `Registration`, including name servers,
   *  DNSSEC, and glue records.
   */
  @interface GTLRCloudDomains_DnsSettings : GTLRObject
  
  /** An arbitrary DNS provider identified by its name servers. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_CustomDns *customDns;
  
  /** The list of glue records for this `Registration`. Commonly empty. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_GlueRecord *> *glueRecords;
  
  /**
   *  The free DNS zone provided by [Google Domains](https://domains.google/).
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_GoogleDomainsDns *googleDomainsDns;
  
  @end
  
  
  /**
   *  Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC
   *  for a domain. It contains a digest (hash) of a DNSKEY record that must be
   *  present in the domain's DNS zone.
   */
  @interface GTLRCloudDomains_DsRecord : GTLRObject
  
  /**
   *  The algorithm used to generate the referenced DNSKEY.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_AlgorithmUnspecified The
   *        algorithm is unspecified. (Value: "ALGORITHM_UNSPECIFIED")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Dsa DSA/SHA1. Not recommended
   *        for new deployments. (Value: "DSA")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Dsansec3sha1 DSA-NSEC3-SHA1.
   *        Not recommended for new deployments. (Value: "DSANSEC3SHA1")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Ecc ECC. Not recommended for
   *        new deployments. (Value: "ECC")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Eccgost GOST R 34.10-2001.
   *        (Value: "ECCGOST")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Ecdsap256sha256 ECDSA Curve
   *        P-256 with SHA-256. (Value: "ECDSAP256SHA256")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Ecdsap384sha384 ECDSA Curve
   *        P-384 with SHA-384. (Value: "ECDSAP384SHA384")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Ed25519 Ed25519. (Value:
   *        "ED25519")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Ed448 Ed448. (Value: "ED448")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Rsasha1 RSA/SHA-1. Not
   *        recommended for new deployments. (Value: "RSASHA1")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Rsasha1nsec3sha1
   *        RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments. (Value:
   *        "RSASHA1NSEC3SHA1")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Rsasha256 RSA/SHA-256.
   *        (Value: "RSASHA256")
   *    @arg @c kGTLRCloudDomains_DsRecord_Algorithm_Rsasha512 RSA/SHA-512.
   *        (Value: "RSASHA512")
   */
  @property(nonatomic, copy, nullable) NSString *algorithm;
  
  /** The digest generated from the referenced DNSKEY. */
  @property(nonatomic, copy, nullable) NSString *digest;
  
  /**
   *  The hash function used to generate the digest of the referenced DNSKEY.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_DsRecord_DigestType_DigestTypeUnspecified The
   *        DigestType is unspecified. (Value: "DIGEST_TYPE_UNSPECIFIED")
   *    @arg @c kGTLRCloudDomains_DsRecord_DigestType_Gost3411 GOST R 34.11-94.
   *        (Value: "GOST3411")
   *    @arg @c kGTLRCloudDomains_DsRecord_DigestType_Sha1 SHA-1. Not recommended
   *        for new deployments. (Value: "SHA1")
   *    @arg @c kGTLRCloudDomains_DsRecord_DigestType_Sha256 SHA-256. (Value:
   *        "SHA256")
   *    @arg @c kGTLRCloudDomains_DsRecord_DigestType_Sha384 SHA-384. (Value:
   *        "SHA384")
   */
  @property(nonatomic, copy, nullable) NSString *digestType;
  
  /**
   *  The key tag of the record. Must be set in range 0 -- 65535.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *keyTag;
  
  @end
  
  
  /**
   *  Request for the `ExportRegistration` method.
   */
  @interface GTLRCloudDomains_ExportRegistrationRequest : GTLRObject
  @end
  
  
  /**
   *  Represents a textual expression in the Common Expression Language (CEL)
   *  syntax. CEL is a C-like expression language. The syntax and semantics of CEL
   *  are documented at https://github.com/google/cel-spec. Example (Comparison):
   *  title: "Summary size limit" description: "Determines if a summary is less
   *  than 100 chars" expression: "document.summary.size() < 100" Example
   *  (Equality): title: "Requestor is owner" description: "Determines if
   *  requestor is the document owner" expression: "document.owner ==
   *  request.auth.claims.email" Example (Logic): title: "Public documents"
   *  description: "Determine whether the document should be publicly visible"
   *  expression: "document.type != 'private' && document.type != 'internal'"
   *  Example (Data Manipulation): title: "Notification string" description:
   *  "Create a notification string with a timestamp." expression: "'New message
   *  received at ' + string(document.create_time)" The exact variables and
   *  functions that may be referenced within an expression are determined by the
   *  service that evaluates it. See the service documentation for additional
   *  information.
   */
  @interface GTLRCloudDomains_Expr : GTLRObject
  
  /**
   *  Optional. Description of the expression. This is a longer text which
   *  describes the expression, e.g. when hovered over it in a UI.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  Textual representation of an expression in Common Expression Language
   *  syntax.
   */
  @property(nonatomic, copy, nullable) NSString *expression;
  
  /**
   *  Optional. String indicating the location of the expression for error
   *  reporting, e.g. a file name and a position in the file.
   */
  @property(nonatomic, copy, nullable) NSString *location;
  
  /**
   *  Optional. Title for the expression, i.e. a short string describing its
   *  purpose. This can be used e.g. in UIs which allow to enter the expression.
   */
  @property(nonatomic, copy, nullable) NSString *title;
  
  @end
  
  
  /**
   *  Defines a host on your domain that is a DNS name server for your domain
   *  and/or other domains. Glue records are a way of making the IP address of a
   *  name server known, even when it serves DNS queries for its parent domain.
   *  For example, when `ns.example.com` is a name server for `example.com`, the
   *  host `ns.example.com` must have a glue record to break the circular DNS
   *  reference.
   */
  @interface GTLRCloudDomains_GlueRecord : GTLRObject
  
  /** Required. Domain name of the host in Punycode format. */
  @property(nonatomic, copy, nullable) NSString *hostName;
  
  /**
   *  List of IPv4 addresses corresponding to this host in the standard decimal
   *  format (e.g. `198.51.100.1`). At least one of `ipv4_address` and
   *  `ipv6_address` must be set.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *ipv4Addresses;
  
  /**
   *  List of IPv6 addresses corresponding to this host in the standard
   *  hexadecimal format (e.g. `2001:db8::`). At least one of `ipv4_address` and
   *  `ipv6_address` must be set.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *ipv6Addresses;
  
  @end
  
  
  /**
   *  Configuration for using the free DNS zone provided by Google Domains as a
   *  `Registration`'s `dns_provider`. You cannot configure the DNS zone itself
   *  using the API. To configure the DNS zone, go to [Google
   *  Domains](https://domains.google/).
   */
  @interface GTLRCloudDomains_GoogleDomainsDns : GTLRObject
  
  /**
   *  Output only. The list of DS records published for this domain. The list is
   *  automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`, otherwise
   *  it remains empty.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_DsRecord *> *dsRecords;
  
  /**
   *  Required. The state of DS records for this domain. Used to enable or disable
   *  automatic DNSSEC.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_GoogleDomainsDns_DsState_DsRecordsPublished
   *        DNSSEC is enabled for this domain. Appropriate DS records for this
   *        domain are published in the parent DNS zone. This option is valid only
   *        if the DNS zone referenced in the `Registration`'s `dns_provider`
   *        field is already DNSSEC-signed. (Value: "DS_RECORDS_PUBLISHED")
   *    @arg @c kGTLRCloudDomains_GoogleDomainsDns_DsState_DsRecordsUnpublished
   *        DNSSEC is disabled for this domain. No DS records for this domain are
   *        published in the parent DNS zone. (Value: "DS_RECORDS_UNPUBLISHED")
   *    @arg @c kGTLRCloudDomains_GoogleDomainsDns_DsState_DsStateUnspecified DS
   *        state is unspecified. (Value: "DS_STATE_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *dsState;
  
  /**
   *  Output only. A list of name servers that store the DNS zone for this domain.
   *  Each name server is a domain name, with Unicode domain names expressed in
   *  Punycode format. This field is automatically populated with the name servers
   *  assigned to the Google Domains DNS zone.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *nameServers;
  
  @end
  
  
  /**
   *  The response message for Locations.ListLocations.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "locations" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudDomains_ListLocationsResponse : GTLRCollectionObject
  
  /**
   *  A list of locations that matches the specified filter in the request.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_Location *> *locations;
  
  /** The standard List next-page token. */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  The response message for Operations.ListOperations.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "operations" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudDomains_ListOperationsResponse : GTLRCollectionObject
  
  /** The standard List next-page token. */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  /**
   *  A list of operations that matches the specified filter in the request.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_Operation *> *operations;
  
  @end
  
  
  /**
   *  Response for the `ListRegistrations` method.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "registrations" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudDomains_ListRegistrationsResponse : GTLRCollectionObject
  
  /**
   *  When present, there are more results to retrieve. Set `page_token` to this
   *  value on a subsequent call to get the next page of results.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  /**
   *  A list of `Registration`s.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_Registration *> *registrations;
  
  @end
  
  
  /**
   *  A resource that represents Google Cloud Platform location.
   */
  @interface GTLRCloudDomains_Location : GTLRObject
  
  /**
   *  The friendly name for this location, typically a nearby city name. For
   *  example, "Tokyo".
   */
  @property(nonatomic, copy, nullable) NSString *displayName;
  
  /**
   *  Cross-service attributes for the location. For example
   *  {"cloud.googleapis.com/region": "us-east1"}
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Location_Labels *labels;
  
  /** The canonical id for this location. For example: `"us-east1"`. */
  @property(nonatomic, copy, nullable) NSString *locationId;
  
  /**
   *  Service-specific metadata. For example the available capacity at the given
   *  location.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Location_Metadata *metadata;
  
  /**
   *  Resource name for the location, which may vary between implementations. For
   *  example: `"projects/example-project/locations/us-east1"`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  @end
  
  
  /**
   *  Cross-service attributes for the location. For example
   *  {"cloud.googleapis.com/region": "us-east1"}
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudDomains_Location_Labels : GTLRObject
  @end
  
  
  /**
   *  Service-specific metadata. For example the available capacity at the given
   *  location.
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudDomains_Location_Metadata : GTLRObject
  @end
  
  
  /**
   *  Defines renewal, billing, and transfer settings for a `Registration`.
   */
  @interface GTLRCloudDomains_ManagementSettings : GTLRObject
  
  /**
   *  Output only. The renewal method for this `Registration`.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_ManagementSettings_RenewalMethod_AutomaticRenewal
   *        The domain is automatically renewed each year . To disable automatic
   *        renewals, export the domain by calling `ExportRegistration` . (Value:
   *        "AUTOMATIC_RENEWAL")
   *    @arg @c kGTLRCloudDomains_ManagementSettings_RenewalMethod_ManualRenewal
   *        The domain must be explicitly renewed each year before its
   *        `expire_time`. This option is only available when the `Registration`
   *        is in state `EXPORTED`. To manage the domain's current billing and
   *        renewal settings, go to [Google Domains](https://domains.google/).
   *        (Value: "MANUAL_RENEWAL")
   *    @arg @c kGTLRCloudDomains_ManagementSettings_RenewalMethod_RenewalMethodUnspecified
   *        The renewal method is undefined. (Value: "RENEWAL_METHOD_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *renewalMethod;
  
  /**
   *  Controls whether the domain can be transferred to another registrar.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_ManagementSettings_TransferLockState_Locked The
   *        domain is locked and cannot be transferred to another registrar.
   *        (Value: "LOCKED")
   *    @arg @c kGTLRCloudDomains_ManagementSettings_TransferLockState_TransferLockStateUnspecified
   *        The state is unspecified. (Value: "TRANSFER_LOCK_STATE_UNSPECIFIED")
   *    @arg @c kGTLRCloudDomains_ManagementSettings_TransferLockState_Unlocked
   *        The domain is unlocked and can be transferred to another registrar.
   *        (Value: "UNLOCKED")
   */
  @property(nonatomic, copy, nullable) NSString *transferLockState;
  
  @end
  
  
  /**
   *  Represents an amount of money with its currency type.
   */
  @interface GTLRCloudDomains_Money : GTLRObject
  
  /** The three-letter currency code defined in ISO 4217. */
  @property(nonatomic, copy, nullable) NSString *currencyCode;
  
  /**
   *  Number of nano (10^-9) units of the amount. The value must be between
   *  -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos`
   *  must be positive or zero. If `units` is zero, `nanos` can be positive, zero,
   *  or negative. If `units` is negative, `nanos` must be negative or zero. For
   *  example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *nanos;
  
  /**
   *  The whole units of the amount. For example if `currencyCode` is `"USD"`,
   *  then 1 unit is one US dollar.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *units;
  
  @end
  
  
  /**
   *  This resource represents a long-running operation that is the result of a
   *  network API call.
   */
  @interface GTLRCloudDomains_Operation : GTLRObject
  
  /**
   *  If the value is `false`, it means the operation is still in progress. If
   *  `true`, the operation is completed, and either `error` or `response` is
   *  available.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *done;
  
  /** The error result of the operation in case of failure or cancellation. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Status *error;
  
  /**
   *  Service-specific metadata associated with the operation. It typically
   *  contains progress information and common metadata such as create time. Some
   *  services might not provide such metadata. Any method that returns a
   *  long-running operation should document the metadata type, if any.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Operation_Metadata *metadata;
  
  /**
   *  The server-assigned name, which is only unique within the same service that
   *  originally returns it. If you use the default HTTP mapping, the `name`
   *  should be a resource name ending with `operations/{unique_id}`.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  The normal response of the operation in case of success. If the original
   *  method returns no data on success, such as `Delete`, the response is
   *  `google.protobuf.Empty`. If the original method is standard
   *  `Get`/`Create`/`Update`, the response should be the resource. For other
   *  methods, the response should have the type `XxxResponse`, where `Xxx` is the
   *  original method name. For example, if the original method name is
   *  `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Operation_Response *response;
  
  @end
  
  
  /**
   *  Service-specific metadata associated with the operation. It typically
   *  contains progress information and common metadata such as create time. Some
   *  services might not provide such metadata. Any method that returns a
   *  long-running operation should document the metadata type, if any.
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudDomains_Operation_Metadata : GTLRObject
  @end
  
  
  /**
   *  The normal response of the operation in case of success. If the original
   *  method returns no data on success, such as `Delete`, the response is
   *  `google.protobuf.Empty`. If the original method is standard
   *  `Get`/`Create`/`Update`, the response should be the resource. For other
   *  methods, the response should have the type `XxxResponse`, where `Xxx` is the
   *  original method name. For example, if the original method name is
   *  `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudDomains_Operation_Response : GTLRObject
  @end
  
  
  /**
   *  Represents the metadata of the long-running operation. Output only.
   */
  @interface GTLRCloudDomains_OperationMetadata : GTLRObject
  
  /** API version used to start the operation. */
  @property(nonatomic, copy, nullable) NSString *apiVersion;
  
  /** The time the operation was created. */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /** The time the operation finished running. */
  @property(nonatomic, strong, nullable) GTLRDateTime *endTime;
  
  /** Human-readable status of the operation, if any. */
  @property(nonatomic, copy, nullable) NSString *statusDetail;
  
  /** Server-defined resource path for the target of the operation. */
  @property(nonatomic, copy, nullable) NSString *target;
  
  /** Name of the verb executed by the operation. */
  @property(nonatomic, copy, nullable) NSString *verb;
  
  @end
  
  
  /**
   *  An Identity and Access Management (IAM) policy, which specifies access
   *  controls for Google Cloud resources. A `Policy` is a collection of
   *  `bindings`. A `binding` binds one or more `members` to a single `role`.
   *  Members can be user accounts, service accounts, Google groups, and domains
   *  (such as G Suite). A `role` is a named list of permissions; each `role` can
   *  be an IAM predefined role or a user-created custom role. For some types of
   *  Google Cloud resources, a `binding` can also specify a `condition`, which is
   *  a logical expression that allows access to a resource only if the expression
   *  evaluates to `true`. A condition can add constraints based on attributes of
   *  the request, the resource, or both. To learn which resources support
   *  conditions in their IAM policies, see the [IAM
   *  documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   *  **JSON example:** { "bindings": [ { "role":
   *  "roles/resourcemanager.organizationAdmin", "members": [
   *  "user:mike\@example.com", "group:admins\@example.com", "domain:google.com",
   *  "serviceAccount:my-project-id\@appspot.gserviceaccount.com" ] }, { "role":
   *  "roles/resourcemanager.organizationViewer", "members": [
   *  "user:eve\@example.com" ], "condition": { "title": "expirable access",
   *  "description": "Does not grant access after Sep 2020", "expression":
   *  "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag":
   *  "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: -
   *  user:mike\@example.com - group:admins\@example.com - domain:google.com -
   *  serviceAccount:my-project-id\@appspot.gserviceaccount.com role:
   *  roles/resourcemanager.organizationAdmin - members: - user:eve\@example.com
   *  role: roles/resourcemanager.organizationViewer condition: title: expirable
   *  access description: Does not grant access after Sep 2020 expression:
   *  request.time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= -
   *  version: 3 For a description of IAM and its features, see the [IAM
   *  documentation](https://cloud.google.com/iam/docs/).
   */
  @interface GTLRCloudDomains_Policy : GTLRObject
  
  /** Specifies cloud audit logging configuration for this policy. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_AuditConfig *> *auditConfigs;
  
  /**
   *  Associates a list of `members` to a `role`. Optionally, may specify a
   *  `condition` that determines how and when the `bindings` are applied. Each of
   *  the `bindings` must contain at least one member.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_Binding *> *bindings;
  
  /**
   *  `etag` is used for optimistic concurrency control as a way to help prevent
   *  simultaneous updates of a policy from overwriting each other. It is strongly
   *  suggested that systems make use of the `etag` in the read-modify-write cycle
   *  to perform policy updates in order to avoid race conditions: An `etag` is
   *  returned in the response to `getIamPolicy`, and systems are expected to put
   *  that etag in the request to `setIamPolicy` to ensure that their change will
   *  be applied to the same version of the policy. **Important:** If you use IAM
   *  Conditions, you must include the `etag` field whenever you call
   *  `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a
   *  version `3` policy with a version `1` policy, and all of the conditions in
   *  the version `3` policy are lost.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, copy, nullable) NSString *ETag;
  
  /**
   *  Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
   *  Requests that specify an invalid value are rejected. Any operation that
   *  affects conditional role bindings must specify version `3`. This requirement
   *  applies to the following operations: * Getting a policy that includes a
   *  conditional role binding * Adding a conditional role binding to a policy *
   *  Changing a conditional role binding in a policy * Removing any role binding,
   *  with or without a condition, from a policy that includes conditions
   *  **Important:** If you use IAM Conditions, you must include the `etag` field
   *  whenever you call `setIamPolicy`. If you omit this field, then IAM allows
   *  you to overwrite a version `3` policy with a version `1` policy, and all of
   *  the conditions in the version `3` policy are lost. If a policy does not
   *  include any conditions, operations on that policy may specify any valid
   *  version or leave the field unset. To learn which resources support
   *  conditions in their IAM policies, see the [IAM
   *  documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *version;
  
  @end
  
  
  /**
   *  Represents a postal address, e.g. for postal delivery or payments addresses.
   *  Given a postal address, a postal service can deliver items to a premise,
   *  P.O. Box or similar. It is not intended to model geographical locations
   *  (roads, towns, mountains). In typical usage an address would be created via
   *  user input or from importing existing data, depending on the type of
   *  process. Advice on address input / editing: - Use an i18n-ready address
   *  widget such as https://github.com/google/libaddressinput) - Users should not
   *  be presented with UI elements for input or editing of fields outside
   *  countries where that field is used. For more guidance on how to use this
   *  schema, please see: https://support.google.com/business/answer/6397478
   */
  @interface GTLRCloudDomains_PostalAddress : GTLRObject
  
  /**
   *  Unstructured address lines describing the lower levels of an address.
   *  Because values in address_lines do not have type information and may
   *  sometimes contain multiple values in a single field (e.g. "Austin, TX"), it
   *  is important that the line order is clear. The order of address lines should
   *  be "envelope order" for the country/region of the address. In places where
   *  this can vary (e.g. Japan), address_language is used to make it explicit
   *  (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for
   *  small-to-large). This way, the most specific line of an address can be
   *  selected based on the language. The minimum permitted structural
   *  representation of an address consists of a region_code with all remaining
   *  information placed in the address_lines. It would be possible to format such
   *  an address very approximately without geocoding, but no semantic reasoning
   *  could be made about any of the address components until it was at least
   *  partially resolved. Creating an address only containing a region_code and
   *  address_lines, and then geocoding is the recommended way to handle
   *  completely unstructured addresses (as opposed to guessing which parts of the
   *  address should be localities or administrative areas).
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *addressLines;
  
  /**
   *  Optional. Highest administrative subdivision which is used for postal
   *  addresses of a country or region. For example, this can be a state, a
   *  province, an oblast, or a prefecture. Specifically, for Spain this is the
   *  province and not the autonomous community (e.g. "Barcelona" and not
   *  "Catalonia"). Many countries don't use an administrative area in postal
   *  addresses. E.g. in Switzerland this should be left unpopulated.
   */
  @property(nonatomic, copy, nullable) NSString *administrativeArea;
  
  /**
   *  Optional. BCP-47 language code of the contents of this address (if known).
   *  This is often the UI language of the input form or is expected to match one
   *  of the languages used in the address' country/region, or their
   *  transliterated equivalents. This can affect formatting in certain countries,
   *  but is not critical to the correctness of the data and will never affect any
   *  validation or other non-formatting related operations. If this value is not
   *  known, it should be omitted (rather than specifying a possibly incorrect
   *  default). Examples: "zh-Hant", "ja", "ja-Latn", "en".
   */
  @property(nonatomic, copy, nullable) NSString *languageCode;
  
  /**
   *  Optional. Generally refers to the city/town portion of the address.
   *  Examples: US city, IT comune, UK post town. In regions of the world where
   *  localities are not well defined or do not fit into this structure well,
   *  leave locality empty and use address_lines.
   */
  @property(nonatomic, copy, nullable) NSString *locality;
  
  /** Optional. The name of the organization at the address. */
  @property(nonatomic, copy, nullable) NSString *organization;
  
  /**
   *  Optional. Postal code of the address. Not all countries use or require
   *  postal codes to be present, but where they are used, they may trigger
   *  additional validation with other parts of the address (e.g. state/zip
   *  validation in the U.S.A.).
   */
  @property(nonatomic, copy, nullable) NSString *postalCode;
  
  /**
   *  Optional. The recipient at the address. This field may, under certain
   *  circumstances, contain multiline information. For example, it might contain
   *  "care of" information.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *recipients;
  
  /**
   *  Required. CLDR region code of the country/region of the address. This is
   *  never inferred and it is up to the user to ensure the value is correct. See
   *  http://cldr.unicode.org/ and
   *  http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
   *  for details. Example: "CH" for Switzerland.
   */
  @property(nonatomic, copy, nullable) NSString *regionCode;
  
  /**
   *  The schema revision of the `PostalAddress`. This must be set to 0, which is
   *  the latest revision. All new revisions **must** be backward compatible with
   *  old revisions.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *revision;
  
  /**
   *  Optional. Additional, country-specific, sorting code. This is not used in
   *  most regions. Where it is used, the value is either a string like "CEDEX",
   *  optionally followed by a number (e.g. "CEDEX 7"), or just a number alone,
   *  representing the "sector code" (Jamaica), "delivery area indicator" (Malawi)
   *  or "post office indicator" (e.g. Côte d'Ivoire).
   */
  @property(nonatomic, copy, nullable) NSString *sortingCode;
  
  /**
   *  Optional. Sublocality of the address. For example, this can be
   *  neighborhoods, boroughs, districts.
   */
  @property(nonatomic, copy, nullable) NSString *sublocality;
  
  @end
  
  
  /**
   *  Request for the `RegisterDomain` method.
   */
  @interface GTLRCloudDomains_RegisterDomainRequest : GTLRObject
  
  /**
   *  The list of contact notices that the caller acknowledges. The notices
   *  required here depend on the values specified in
   *  `registration.contact_settings`.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *contactNotices;
  
  /**
   *  The list of domain notices that you acknowledge. Call
   *  `RetrieveRegisterParameters` to see the notices that need acknowledgement.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *domainNotices;
  
  /** Required. The complete `Registration` resource to be created. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Registration *registration;
  
  /**
   *  When true, only validation will be performed, without actually registering
   *  the domain. Follows:
   *  https://cloud.google.com/apis/design/design_patterns#request_validation
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *validateOnly;
  
  /**
   *  Required. Yearly price to register or renew the domain. The value that
   *  should be put here can be obtained from RetrieveRegisterParameters or
   *  SearchDomains calls.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Money *yearlyPrice;
  
  @end
  
  
  /**
   *  Parameters required to register a new domain.
   */
  @interface GTLRCloudDomains_RegisterParameters : GTLRObject
  
  /**
   *  Indicates whether the domain is available for registration. This value is
   *  accurate when obtained by calling `RetrieveRegisterParameters`, but is
   *  approximate when obtained by calling `SearchDomains`.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_RegisterParameters_Availability_AvailabilityUnspecified
   *        The availability is unspecified. (Value: "AVAILABILITY_UNSPECIFIED")
   *    @arg @c kGTLRCloudDomains_RegisterParameters_Availability_Available The
   *        domain is available for registration. (Value: "AVAILABLE")
   *    @arg @c kGTLRCloudDomains_RegisterParameters_Availability_Unavailable The
   *        domain is not available for registration. Generally this means it is
   *        already registered to another party. (Value: "UNAVAILABLE")
   *    @arg @c kGTLRCloudDomains_RegisterParameters_Availability_Unknown Cloud
   *        Domains is unable to determine domain availability, generally due to
   *        system maintenance at the domain name registry. (Value: "UNKNOWN")
   *    @arg @c kGTLRCloudDomains_RegisterParameters_Availability_Unsupported The
   *        domain is not currently supported by Cloud Domains, but may be
   *        available elsewhere. (Value: "UNSUPPORTED")
   */
  @property(nonatomic, copy, nullable) NSString *availability;
  
  /** The domain name. Unicode domain names are expressed in Punycode format. */
  @property(nonatomic, copy, nullable) NSString *domainName;
  
  /** Notices about special properties of the domain. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *domainNotices;
  
  /** Contact privacy options that the domain supports. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *supportedPrivacy;
  
  /** Price to register or renew the domain for one year. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Money *yearlyPrice;
  
  @end
  
  
  /**
   *  The `Registration` resource facilitates managing and configuring domain name
   *  registrations. To create a new `Registration` resource, find a suitable
   *  domain name by calling the `SearchDomains` method with a query to see
   *  available domain name options. After choosing a name, call
   *  `RetrieveRegisterParameters` to ensure availability and obtain information
   *  like pricing, which is needed to build a call to `RegisterDomain`.
   */
  @interface GTLRCloudDomains_Registration : GTLRObject
  
  /**
   *  Required. Settings for contact information linked to the `Registration`. You
   *  cannot update these with the `UpdateRegistration` method. To update these
   *  settings, use the `ConfigureContactSettings` method.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_ContactSettings *contactSettings;
  
  /** Output only. The creation timestamp of the `Registration` resource. */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Settings controlling the DNS configuration of the `Registration`. You cannot
   *  update these with the `UpdateRegistration` method. To update these settings,
   *  use the `ConfigureDnsSettings` method.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_DnsSettings *dnsSettings;
  
  /**
   *  Required. Immutable. The domain name. Unicode domain names must be expressed
   *  in Punycode format.
   */
  @property(nonatomic, copy, nullable) NSString *domainName;
  
  /** Output only. The expiration timestamp of the `Registration`. */
  @property(nonatomic, strong, nullable) GTLRDateTime *expireTime;
  
  /**
   *  Output only. The set of issues with the `Registration` that require
   *  attention.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *issues;
  
  /** Set of labels associated with the `Registration`. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Registration_Labels *labels;
  
  /**
   *  Settings for management of the `Registration`, including renewal, billing,
   *  and transfer. You cannot update these with the `UpdateRegistration` method.
   *  To update these settings, use the `ConfigureManagementSettings` method.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_ManagementSettings *managementSettings;
  
  /**
   *  Output only. Name of the `Registration` resource, in the format `projects/ *
   *  /locations/ * /registrations/`.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Output only. Pending contact settings for the `Registration`. Updates to the
   *  `contact_settings` field that change its `registrant_contact` or `privacy`
   *  fields require email confirmation by the `registrant_contact` before taking
   *  effect. This field is set only if there are pending updates to the
   *  `contact_settings` that have not yet been confirmed. To confirm the changes,
   *  the `registrant_contact` must follow the instructions in the email they
   *  receive.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_ContactSettings *pendingContactSettings;
  
  /**
   *  Output only. The state of the `Registration`
   *
   *  Likely values:
   *    @arg @c kGTLRCloudDomains_Registration_State_Active The domain is
   *        registered and operational. The domain renews automatically as long as
   *        it remains in this state. (Value: "ACTIVE")
   *    @arg @c kGTLRCloudDomains_Registration_State_Exported The domain has been
   *        exported from Cloud Domains to [Google
   *        Domains](https://domains.google/). You can no longer update it with
   *        this API, and information shown about it may be stale. Without further
   *        action, domains in this state expire at their `expire_time`. You can
   *        delete the resource after the `expire_time` has passed. (Value:
   *        "EXPORTED")
   *    @arg @c kGTLRCloudDomains_Registration_State_RegistrationFailed The domain
   *        registration failed. You can delete resources in this state to allow
   *        registration to be retried. (Value: "REGISTRATION_FAILED")
   *    @arg @c kGTLRCloudDomains_Registration_State_RegistrationPending The
   *        domain is being registered. (Value: "REGISTRATION_PENDING")
   *    @arg @c kGTLRCloudDomains_Registration_State_StateUnspecified The state is
   *        undefined. (Value: "STATE_UNSPECIFIED")
   *    @arg @c kGTLRCloudDomains_Registration_State_Suspended The domain is
   *        suspended and inoperative. For more details, see the `issues` field.
   *        (Value: "SUSPENDED")
   */
  @property(nonatomic, copy, nullable) NSString *state;
  
  /**
   *  Output only. Set of options for the `contact_settings.privacy` field that
   *  this `Registration` supports.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *supportedPrivacy;
  
  @end
  
  
  /**
   *  Set of labels associated with the `Registration`.
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudDomains_Registration_Labels : GTLRObject
  @end
  
  
  /**
   *  Request for the `ResetAuthorizationCode` method.
   */
  @interface GTLRCloudDomains_ResetAuthorizationCodeRequest : GTLRObject
  @end
  
  
  /**
   *  Response for the `RetrieveRegisterParameters` method.
   */
  @interface GTLRCloudDomains_RetrieveRegisterParametersResponse : GTLRObject
  
  /** Parameters to use when calling the `RegisterDomain` method. */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_RegisterParameters *registerParameters;
  
  @end
  
  
  /**
   *  Response for the `SearchDomains` method.
   */
  @interface GTLRCloudDomains_SearchDomainsResponse : GTLRObject
  
  /** Results of the domain name search. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_RegisterParameters *> *registerParameters;
  
  @end
  
  
  /**
   *  Request message for `SetIamPolicy` method.
   */
  @interface GTLRCloudDomains_SetIamPolicyRequest : GTLRObject
  
  /**
   *  REQUIRED: The complete policy to be applied to the `resource`. The size of
   *  the policy is limited to a few 10s of KB. An empty policy is a valid policy
   *  but certain Cloud Platform services (such as Projects) might reject them.
   */
  @property(nonatomic, strong, nullable) GTLRCloudDomains_Policy *policy;
  
  /**
   *  OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
   *  the fields in the mask will be modified. If no mask is provided, the
   *  following default mask is used: `paths: "bindings, etag"`
   *
   *  String format is a comma-separated list of fields.
   */
  @property(nonatomic, copy, nullable) NSString *updateMask;
  
  @end
  
  
  /**
   *  The `Status` type defines a logical error model that is suitable for
   *  different programming environments, including REST APIs and RPC APIs. It is
   *  used by [gRPC](https://github.com/grpc). Each `Status` message contains
   *  three pieces of data: error code, error message, and error details. You can
   *  find out more about this error model and how to work with it in the [API
   *  Design Guide](https://cloud.google.com/apis/design/errors).
   */
  @interface GTLRCloudDomains_Status : GTLRObject
  
  /**
   *  The status code, which should be an enum value of google.rpc.Code.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *code;
  
  /**
   *  A list of messages that carry the error details. There is a common set of
   *  message types for APIs to use.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudDomains_Status_Details_Item *> *details;
  
  /**
   *  A developer-facing error message, which should be in English. Any
   *  user-facing error message should be localized and sent in the
   *  google.rpc.Status.details field, or localized by the client.
   */
  @property(nonatomic, copy, nullable) NSString *message;
  
  @end
  
  
  /**
   *  GTLRCloudDomains_Status_Details_Item
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudDomains_Status_Details_Item : GTLRObject
  @end
  
  
  /**
   *  Request message for `TestIamPermissions` method.
   */
  @interface GTLRCloudDomains_TestIamPermissionsRequest : GTLRObject
  
  /**
   *  The set of permissions to check for the `resource`. Permissions with
   *  wildcards (such as '*' or 'storage.*') are not allowed. For more information
   *  see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *permissions;
  
  @end
  
  
  /**
   *  Response message for `TestIamPermissions` method.
   */
  @interface GTLRCloudDomains_TestIamPermissionsResponse : GTLRObject
  
  /**
   *  A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *permissions;
  
  @end
  
  NS_ASSUME_NONNULL_END
  
  #pragma clang diagnostic pop
  