/// <summary>Snippet for CreateTagBindingAsync</summary>
        public async Task CreateTagBindingRequestObjectAsync()
        {
            // Snippet: CreateTagBindingAsync(CreateTagBindingRequest, CallSettings)
            // Additional: CreateTagBindingAsync(CreateTagBindingRequest, CancellationToken)
            // Create client
            TagBindingsClient tagBindingsClient = await TagBindingsClient.CreateAsync();

            // Initialize request argument(s)
            CreateTagBindingRequest request = new CreateTagBindingRequest
            {
                TagBinding   = new TagBinding(),
                ValidateOnly = false,
            };
            // Make the request
            Operation <TagBinding, CreateTagBindingMetadata> response = await tagBindingsClient.CreateTagBindingAsync(request);

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

            // Retrieve the operation result
            TagBinding 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 <TagBinding, CreateTagBindingMetadata> retrievedResponse = await tagBindingsClient.PollOnceCreateTagBindingAsync(operationName);

            // Check if the retrieved long-running operation has completed
            if (retrievedResponse.IsCompleted)
            {
                // If it has completed, then access the result
                TagBinding retrievedResult = retrievedResponse.Result;
            }
            // End snippet
        }
 /// <summary>
 /// Creates a TagBinding between a TagValue and a cloud resource
 /// (currently project, folder, or organization).
 /// </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 <TagBinding, CreateTagBindingMetadata> > CreateTagBindingAsync(CreateTagBindingRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_CreateTagBindingRequest(ref request, ref callSettings);
     return(new lro::Operation <TagBinding, CreateTagBindingMetadata>(await _callCreateTagBinding.Async(request, callSettings).ConfigureAwait(false), CreateTagBindingOperationsClient));
 }
 /// <summary>
 /// Creates a TagBinding between a TagValue and a cloud resource
 /// (currently project, folder, or organization).
 /// </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 <TagBinding, CreateTagBindingMetadata> CreateTagBinding(CreateTagBindingRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_CreateTagBindingRequest(ref request, ref callSettings);
     return(new lro::Operation <TagBinding, CreateTagBindingMetadata>(_callCreateTagBinding.Sync(request, callSettings), CreateTagBindingOperationsClient));
 }
 partial void Modify_CreateTagBindingRequest(ref CreateTagBindingRequest request, ref gaxgrpc::CallSettings settings);
 /// <summary>
 /// Creates a TagBinding between a TagValue and a cloud resource
 /// (currently project, folder, or organization).
 /// </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 <TagBinding, CreateTagBindingMetadata> > CreateTagBindingAsync(CreateTagBindingRequest request, st::CancellationToken cancellationToken) =>
 CreateTagBindingAsync(request, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 /// <summary>
 /// Creates a TagBinding between a TagValue and a cloud resource
 /// (currently project, folder, or organization).
 /// </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 <TagBinding, CreateTagBindingMetadata> > CreateTagBindingAsync(CreateTagBindingRequest request, gaxgrpc::CallSettings callSettings = null) =>
 throw new sys::NotImplementedException();