/// <summary>Snippet for CreateDomainMappingAsync</summary>
        /// <remarks>
        /// This snippet has been automatically generated for illustrative purposes only.
        /// It may require modifications to work in your environment.
        /// </remarks>
        public async Task CreateDomainMappingRequestObjectAsync()
        {
            // Create client
            DomainMappingsClient domainMappingsClient = await DomainMappingsClient.CreateAsync();

            // Initialize request argument(s)
            CreateDomainMappingRequest request = new CreateDomainMappingRequest
            {
                Parent           = "",
                DomainMapping    = new DomainMapping(),
                OverrideStrategy = DomainOverrideStrategy.UnspecifiedDomainOverrideStrategy,
            };
            // Make the request
            Operation <DomainMapping, OperationMetadataV1> response = await domainMappingsClient.CreateDomainMappingAsync(request);

            // Poll until the returned long-running operation is complete
            Operation <DomainMapping, OperationMetadataV1> completedResponse = await response.PollUntilCompletedAsync();

            // Retrieve the operation result
            DomainMapping result = completedResponse.Result;

            // Or get the name of the operation
            string operationName = response.Name;
            // This name can be stored, then the long-running operation retrieved later by name
            Operation <DomainMapping, OperationMetadataV1> retrievedResponse = await domainMappingsClient.PollOnceCreateDomainMappingAsync(operationName);

            // Check if the retrieved long-running operation has completed
            if (retrievedResponse.IsCompleted)
            {
                // If it has completed, then access the result
                DomainMapping retrievedResult = retrievedResponse.Result;
            }
        }
 /// <summary>
 /// Maps a domain to an application. A user must be authorized to administer a
 /// domain in order to map it to an application. For a list of available
 /// authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`]().
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public override async stt::Task <lro::Operation <DomainMapping, OperationMetadataV1> > CreateDomainMappingAsync(CreateDomainMappingRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_CreateDomainMappingRequest(ref request, ref callSettings);
     return(new lro::Operation <DomainMapping, OperationMetadataV1>(await _callCreateDomainMapping.Async(request, callSettings).ConfigureAwait(false), CreateDomainMappingOperationsClient));
 }
 /// <summary>
 /// Maps a domain to an application. A user must be authorized to administer a
 /// domain in order to map it to an application. For a list of available
 /// authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`]().
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>The RPC response.</returns>
 public override lro::Operation <DomainMapping, OperationMetadataV1> CreateDomainMapping(CreateDomainMappingRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_CreateDomainMappingRequest(ref request, ref callSettings);
     return(new lro::Operation <DomainMapping, OperationMetadataV1>(_callCreateDomainMapping.Sync(request, callSettings), CreateDomainMappingOperationsClient));
 }
 partial void Modify_CreateDomainMappingRequest(ref CreateDomainMappingRequest request, ref gaxgrpc::CallSettings settings);
 /// <summary>
 /// Maps a domain to an application. A user must be authorized to administer a
 /// domain in order to map it to an application. For a list of available
 /// authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`]().
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="cancellationToken">A <see cref="st::CancellationToken"/> to use for this RPC.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public virtual stt::Task <lro::Operation <DomainMapping, OperationMetadataV1> > CreateDomainMappingAsync(CreateDomainMappingRequest request, st::CancellationToken cancellationToken) =>
 CreateDomainMappingAsync(request, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 /// <summary>
 /// Maps a domain to an application. A user must be authorized to administer a
 /// domain in order to map it to an application. For a list of available
 /// authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`]().
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public virtual stt::Task <lro::Operation <DomainMapping, OperationMetadataV1> > CreateDomainMappingAsync(CreateDomainMappingRequest request, gaxgrpc::CallSettings callSettings = null) =>
 throw new sys::NotImplementedException();