text: // NOTE: This file was generated by the ServiceGenerator.
  
  // ----------------------------------------------------------------------------
  // API:
  //   Managed Service for Microsoft Active Directory API (managedidentities/v1)
  // Description:
  //   The Managed Service for Microsoft Active Directory API is used for managing
  //   a highly available, hardened service running Microsoft Active Directory
  //   (AD).
  // Documentation:
  //   https://cloud.google.com/managed-microsoft-ad/
  
  #if SWIFT_PACKAGE || GTLR_USE_MODULAR_IMPORT
    @import GoogleAPIClientForRESTCore;
  #elif GTLR_BUILT_AS_FRAMEWORK
    #import "GTLR/GTLRQuery.h"
  #else
    #import "GTLRQuery.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 GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_AttachTrustRequest;
  @class GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_CancelOperationRequest;
  @class GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_DetachTrustRequest;
  @class GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Domain;
  @class GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ReconfigureTrustRequest;
  @class GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ResetAdminPasswordRequest;
  @class GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_SetIamPolicyRequest;
  @class GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_TestIamPermissionsRequest;
  @class GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ValidateTrustRequest;
  
  // 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
  
  /**
   *  Parent class for other Managed Service for Microsoft Active Directory
   *  Consumer API query classes.
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery : GTLRQuery
  
  /** Selector specifying which fields to include in a partial response. */
  @property(nonatomic, copy, nullable) NSString *fields;
  
  @end
  
  /**
   *  Gets information about a location.
   *
   *  Method: managedidentities.projects.locations.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGet : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGetWithname:]
  
  /** Resource name for the location. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Location.
   *
   *  Gets information about a location.
   *
   *  @param name Resource name for the location.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGet
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Adds an AD trust to a domain.
   *
   *  Method: managedidentities.projects.locations.global.domains.attachTrust
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsAttachTrust : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsAttachTrustWithObject:name:]
  
  /**
   *  Required. The resource domain name, project name and location using the
   *  form:
   *  `projects/{project_id}/locations/global/domains/{domain_name}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Operation.
   *
   *  Adds an AD trust to a domain.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_AttachTrustRequest
   *    to include in the query.
   *  @param name Required. The resource domain name, project name and location
   *    using the form:
   *    `projects/{project_id}/locations/global/domains/{domain_name}`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsAttachTrust
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_AttachTrustRequest *)object
                             name:(NSString *)name;
  
  @end
  
  /**
   *  Creates a Microsoft AD domain.
   *
   *  Method: managedidentities.projects.locations.global.domains.create
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsCreate : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsCreateWithObject:parent:]
  
  /**
   *  Required. The fully qualified domain name.
   *  e.g. mydomain.myorganization.com, with the following restrictions:
   *  * Must contain only lowercase letters, numbers, periods and hyphens.
   *  * Must start with a letter.
   *  * Must contain between 2-64 characters.
   *  * Must end with a number or a letter.
   *  * Must not start with period.
   *  * First segement length (mydomain form example above) shouldn't exceed
   *  15 chars.
   *  * The last segment cannot be fully numeric.
   *  * Must be unique within the customer project.
   */
  @property(nonatomic, copy, nullable) NSString *domainName;
  
  /**
   *  Required. The resource project name and location using the form:
   *  `projects/{project_id}/locations/global`
   */
  @property(nonatomic, copy, nullable) NSString *parent;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Operation.
   *
   *  Creates a Microsoft AD domain.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Domain to include
   *    in the query.
   *  @param parent Required. The resource project name and location using the
   *    form:
   *    `projects/{project_id}/locations/global`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsCreate
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Domain *)object
                           parent:(NSString *)parent;
  
  @end
  
  /**
   *  Deletes a domain.
   *
   *  Method: managedidentities.projects.locations.global.domains.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsDelete : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsDeleteWithname:]
  
  /**
   *  Required. The domain resource name using the form:
   *  `projects/{project_id}/locations/global/domains/{domain_name}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Operation.
   *
   *  Deletes a domain.
   *
   *  @param name Required. The domain resource name using the form:
   *    `projects/{project_id}/locations/global/domains/{domain_name}`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsDelete
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Removes an AD trust.
   *
   *  Method: managedidentities.projects.locations.global.domains.detachTrust
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsDetachTrust : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsDetachTrustWithObject:name:]
  
  /**
   *  Required. The resource domain name, project name, and location using the
   *  form:
   *  `projects/{project_id}/locations/global/domains/{domain_name}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Operation.
   *
   *  Removes an AD trust.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_DetachTrustRequest
   *    to include in the query.
   *  @param name Required. The resource domain name, project name, and location
   *    using the form:
   *    `projects/{project_id}/locations/global/domains/{domain_name}`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsDetachTrust
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_DetachTrustRequest *)object
                             name:(NSString *)name;
  
  @end
  
  /**
   *  Gets information about a domain.
   *
   *  Method: managedidentities.projects.locations.global.domains.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsGet : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsGetWithname:]
  
  /**
   *  Required. The domain resource name using the form:
   *  `projects/{project_id}/locations/global/domains/{domain_name}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Domain.
   *
   *  Gets information about a domain.
   *
   *  @param name Required. The domain resource name using the form:
   *    `projects/{project_id}/locations/global/domains/{domain_name}`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsGet
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Gets the access control policy for a resource.
   *  Returns an empty policy if the resource exists and does not have a policy
   *  set.
   *
   *  Method: managedidentities.projects.locations.global.domains.getIamPolicy
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsGetIamPolicy : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsGetIamPolicyWithresource:]
  
  /**
   *  Optional. The policy format version to be returned.
   *  Valid values are 0, 1, and 3. Requests specifying an invalid value will be
   *  rejected.
   *  Requests for policies with any conditional bindings must specify version 3.
   *  Policies without any conditional bindings may specify any valid value 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).
   */
  @property(nonatomic, assign) NSInteger optionsRequestedPolicyVersion;
  
  /**
   *  REQUIRED: The resource for which the policy is being requested.
   *  See the operation documentation for the appropriate value for this field.
   */
  @property(nonatomic, copy, nullable) NSString *resource;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Policy.
   *
   *  Gets the access control policy for a resource.
   *  Returns an empty policy if the resource exists and does not have a policy
   *  set.
   *
   *  @param resource REQUIRED: The resource for which the policy is being
   *    requested.
   *    See the operation documentation for the appropriate value for this field.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsGetIamPolicy
   */
  + (instancetype)queryWithResource:(NSString *)resource;
  
  @end
  
  /**
   *  Lists domains in a project.
   *
   *  Method: managedidentities.projects.locations.global.domains.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsList : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsListWithparent:]
  
  /**
   *  Optional. A filter specifying constraints of a list operation.
   *  For example, `Domain.fqdn="mydomain.myorginization"`.
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  Optional. Specifies the ordering of results. See
   *  [Sorting
   *  order](https://cloud.google.com/apis/design/design_patterns#sorting_order)
   *  for more information.
   */
  @property(nonatomic, copy, nullable) NSString *orderBy;
  
  /**
   *  Optional. The maximum number of items to return.
   *  If not specified, a default value of 1000 will be used.
   *  Regardless of the page_size value, the response may include a partial list.
   *  Callers should rely on a response's
   *  next_page_token
   *  to determine if there are additional results to list.
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  Optional. The `next_page_token` value returned from a previous
   *  ListDomainsRequest
   *  request, if any.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Required. The resource name of the domain location using the form:
   *  `projects/{project_id}/locations/global`
   */
  @property(nonatomic, copy, nullable) NSString *parent;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ListDomainsResponse.
   *
   *  Lists domains in a project.
   *
   *  @param parent Required. The resource name of the domain location using the
   *    form:
   *    `projects/{project_id}/locations/global`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithParent:(NSString *)parent;
  
  @end
  
  /**
   *  Updates the metadata and configuration of a domain.
   *
   *  Method: managedidentities.projects.locations.global.domains.patch
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsPatch : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsPatchWithObject:name:]
  
  /**
   *  Required. The unique name of the domain using the form:
   *  `projects/{project_id}/locations/global/domains/{domain_name}`.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Required. Mask of fields to update. At least one path must be supplied in
   *  this
   *  field. The elements of the repeated paths field may only include
   *  fields from Domain:
   *  * `labels`
   *  * `locations`
   *  * `authorized_networks`
   *
   *  String format is a comma-separated list of fields.
   */
  @property(nonatomic, copy, nullable) NSString *updateMask;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Operation.
   *
   *  Updates the metadata and configuration of a domain.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Domain to include
   *    in the query.
   *  @param name Required. The unique name of the domain using the form:
   *    `projects/{project_id}/locations/global/domains/{domain_name}`.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsPatch
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Domain *)object
                             name:(NSString *)name;
  
  @end
  
  /**
   *  Updates the DNS conditional forwarder.
   *
   *  Method: managedidentities.projects.locations.global.domains.reconfigureTrust
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsReconfigureTrust : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsReconfigureTrustWithObject:name:]
  
  /**
   *  Required. The resource domain name, project name and location using the
   *  form:
   *  `projects/{project_id}/locations/global/domains/{domain_name}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Operation.
   *
   *  Updates the DNS conditional forwarder.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ReconfigureTrustRequest
   *    to include in the query.
   *  @param name Required. The resource domain name, project name and location
   *    using the form:
   *    `projects/{project_id}/locations/global/domains/{domain_name}`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsReconfigureTrust
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ReconfigureTrustRequest *)object
                             name:(NSString *)name;
  
  @end
  
  /**
   *  Resets a domain's administrator password.
   *
   *  Method: managedidentities.projects.locations.global.domains.resetAdminPassword
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsResetAdminPassword : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsResetAdminPasswordWithObject:name:]
  
  /**
   *  Required. The domain resource name using the form:
   *  `projects/{project_id}/locations/global/domains/{domain_name}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ResetAdminPasswordResponse.
   *
   *  Resets a domain's administrator password.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ResetAdminPasswordRequest
   *    to include in the query.
   *  @param name Required. The domain resource name using the form:
   *    `projects/{project_id}/locations/global/domains/{domain_name}`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsResetAdminPassword
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ResetAdminPasswordRequest *)object
                             name:(NSString *)name;
  
  @end
  
  /**
   *  Sets the access control policy on the specified resource. Replaces any
   *  existing policy.
   *  Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
   *
   *  Method: managedidentities.projects.locations.global.domains.setIamPolicy
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsSetIamPolicy : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsSetIamPolicyWithObject:resource:]
  
  /**
   *  REQUIRED: The resource for which the policy is being specified.
   *  See the operation documentation for the appropriate value for this field.
   */
  @property(nonatomic, copy, nullable) NSString *resource;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Policy.
   *
   *  Sets the access control policy on the specified resource. Replaces any
   *  existing policy.
   *  Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_SetIamPolicyRequest
   *    to include in the query.
   *  @param resource REQUIRED: The resource for which the policy is being
   *    specified.
   *    See the operation documentation for the appropriate value for this field.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsSetIamPolicy
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_SetIamPolicyRequest *)object
                         resource:(NSString *)resource;
  
  @end
  
  /**
   *  Returns permissions that a caller has on the specified resource.
   *  If the resource does not exist, this will return an empty set of
   *  permissions, not a `NOT_FOUND` error.
   *  Note: This operation is designed to be used for building permission-aware
   *  UIs and command-line tools, not for authorization checking. This operation
   *  may "fail open" without warning.
   *
   *  Method: managedidentities.projects.locations.global.domains.testIamPermissions
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsTestIamPermissions : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsTestIamPermissionsWithObject:resource:]
  
  /**
   *  REQUIRED: The resource for which the policy detail is being requested.
   *  See the operation documentation for the appropriate value for this field.
   */
  @property(nonatomic, copy, nullable) NSString *resource;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_TestIamPermissionsResponse.
   *
   *  Returns permissions that a caller has on the specified resource.
   *  If the resource does not exist, this will return an empty set of
   *  permissions, not a `NOT_FOUND` error.
   *  Note: This operation is designed to be used for building permission-aware
   *  UIs and command-line tools, not for authorization checking. This operation
   *  may "fail open" without warning.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_TestIamPermissionsRequest
   *    to include in the query.
   *  @param resource REQUIRED: The resource for which the policy detail is being
   *    requested.
   *    See the operation documentation for the appropriate value for this field.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsTestIamPermissions
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_TestIamPermissionsRequest *)object
                         resource:(NSString *)resource;
  
  @end
  
  /**
   *  Validates a trust state, that the target domain is reachable, and that the
   *  target domain is able to accept incoming trust requests.
   *
   *  Method: managedidentities.projects.locations.global.domains.validateTrust
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsValidateTrust : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalDomainsValidateTrustWithObject:name:]
  
  /**
   *  Required. The resource domain name, project name, and location using the
   *  form:
   *  `projects/{project_id}/locations/global/domains/{domain_name}`
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Operation.
   *
   *  Validates a trust state, that the target domain is reachable, and that the
   *  target domain is able to accept incoming trust requests.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ValidateTrustRequest
   *    to include in the query.
   *  @param name Required. The resource domain name, project name, and location
   *    using the form:
   *    `projects/{project_id}/locations/global/domains/{domain_name}`
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalDomainsValidateTrust
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ValidateTrustRequest *)object
                             name:(NSString *)name;
  
  @end
  
  /**
   *  Starts asynchronous cancellation on a long-running operation. The server
   *  makes a best effort to cancel the operation, but success is not
   *  guaranteed. If the server doesn't support this method, it returns
   *  `google.rpc.Code.UNIMPLEMENTED`. Clients can use
   *  Operations.GetOperation or
   *  other methods to check whether the cancellation succeeded or whether the
   *  operation completed despite cancellation. On successful cancellation,
   *  the operation is not deleted; instead, it becomes an operation with
   *  an Operation.error value with a google.rpc.Status.code of 1,
   *  corresponding to `Code.CANCELLED`.
   *
   *  Method: managedidentities.projects.locations.global.operations.cancel
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalOperationsCancel : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalOperationsCancelWithObject:name:]
  
  /** The name of the operation resource to be cancelled. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Empty.
   *
   *  Starts asynchronous cancellation on a long-running operation. The server
   *  makes a best effort to cancel the operation, but success is not
   *  guaranteed. If the server doesn't support this method, it returns
   *  `google.rpc.Code.UNIMPLEMENTED`. Clients can use
   *  Operations.GetOperation or
   *  other methods to check whether the cancellation succeeded or whether the
   *  operation completed despite cancellation. On successful cancellation,
   *  the operation is not deleted; instead, it becomes an operation with
   *  an Operation.error value with a google.rpc.Status.code of 1,
   *  corresponding to `Code.CANCELLED`.
   *
   *  @param object The @c
   *    GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_CancelOperationRequest
   *    to include in the query.
   *  @param name The name of the operation resource to be cancelled.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalOperationsCancel
   */
  + (instancetype)queryWithObject:(GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_CancelOperationRequest *)object
                             name:(NSString *)name;
  
  @end
  
  /**
   *  Deletes a long-running operation. This method indicates that the client is
   *  no longer interested in the operation result. It does not cancel the
   *  operation. If the server doesn't support this method, it returns
   *  `google.rpc.Code.UNIMPLEMENTED`.
   *
   *  Method: managedidentities.projects.locations.global.operations.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalOperationsDelete : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalOperationsDeleteWithname:]
  
  /** The name of the operation resource to be deleted. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Empty.
   *
   *  Deletes a long-running operation. This method indicates that the client is
   *  no longer interested in the operation result. It does not cancel the
   *  operation. If the server doesn't support this method, it returns
   *  `google.rpc.Code.UNIMPLEMENTED`.
   *
   *  @param name The name of the operation resource to be deleted.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalOperationsDelete
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Gets the latest state of a long-running operation. Clients can use this
   *  method to poll the operation result at intervals as recommended by the API
   *  service.
   *
   *  Method: managedidentities.projects.locations.global.operations.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalOperationsGet : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalOperationsGetWithname:]
  
  /** The name of the operation resource. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_Operation.
   *
   *  Gets the latest state of a long-running operation. Clients can use this
   *  method to poll the operation result at intervals as recommended by the API
   *  service.
   *
   *  @param name The name of the operation resource.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalOperationsGet
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Lists operations that match the specified filter in the request. If the
   *  server doesn't support this method, it returns `UNIMPLEMENTED`.
   *  NOTE: the `name` binding allows API services to override the binding
   *  to use different resource name schemes, such as `users/ * /operations`. To
   *  override the binding, API services can add a binding such as
   *  `"/v1/{name=users/ *}/operations"` to their service configuration.
   *  For backwards compatibility, the default name includes the operations
   *  collection id, however overriding users must ensure the name binding
   *  is the parent resource, without the operations collection id.
   *
   *  Method: managedidentities.projects.locations.global.operations.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalOperationsList : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsGlobalOperationsListWithname:]
  
  /** The standard list filter. */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /** The name of the operation's parent resource. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /** The standard list page size. */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /** The standard list page token. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ListOperationsResponse.
   *
   *  Lists operations that match the specified filter in the request. If the
   *  server doesn't support this method, it returns `UNIMPLEMENTED`.
   *  NOTE: the `name` binding allows API services to override the binding
   *  to use different resource name schemes, such as `users/ * /operations`. To
   *  override the binding, API services can add a binding such as
   *  `"/v1/{name=users/ *}/operations"` to their service configuration.
   *  For backwards compatibility, the default name includes the operations
   *  collection id, however overriding users must ensure the name binding
   *  is the parent resource, without the operations collection id.
   *
   *  @param name The name of the operation's parent resource.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsGlobalOperationsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  /**
   *  Lists information about the supported locations for this service.
   *
   *  Method: managedidentities.projects.locations.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeManagedServiceforMicrosoftActiveDirectoryConsumerAPICloudPlatform
   */
  @interface GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsList : GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery
  // Previous library name was
  //   +[GTLQueryManagedServiceforMicrosoftActiveDirectoryConsumerAPI queryForProjectsLocationsListWithname:]
  
  /** The standard list filter. */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /**
   *  If true, the returned list will include locations which are not yet
   *  revealed.
   */
  @property(nonatomic, assign) BOOL includeUnrevealedLocations;
  
  /** The resource that owns the locations collection, if applicable. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /** The standard list page size. */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /** The standard list page token. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Fetches a @c
   *  GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPI_ListLocationsResponse.
   *
   *  Lists information about the supported locations for this service.
   *
   *  @param name The resource that owns the locations collection, if applicable.
   *
   *  @return GTLRManagedServiceforMicrosoftActiveDirectoryConsumerAPIQuery_ProjectsLocationsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithName:(NSString *)name;
  
  @end
  
  NS_ASSUME_NONNULL_END
  
  #pragma clang diagnostic pop
  