/// <summary>Snippet for Resize</summary>
 public void Resize()
 {
     // Snippet: Resize(string, string, string, RegionDisksResizeRequest, CallSettings)
     // Create client
     RegionDisksClient regionDisksClient = RegionDisksClient.Create();
     // Initialize request argument(s)
     string project = "";
     string region  = "";
     string disk    = "";
     RegionDisksResizeRequest regionDisksResizeRequestResource = new RegionDisksResizeRequest();
     // Make the request
     Operation response = regionDisksClient.Resize(project, region, disk, regionDisksResizeRequestResource);
     // End snippet
 }
        /// <summary>Snippet for ResizeAsync</summary>
        public async Task ResizeAsync()
        {
            // Snippet: ResizeAsync(string, string, string, RegionDisksResizeRequest, CallSettings)
            // Additional: ResizeAsync(string, string, string, RegionDisksResizeRequest, CancellationToken)
            // Create client
            RegionDisksClient regionDisksClient = await RegionDisksClient.CreateAsync();

            // Initialize request argument(s)
            string project = "";
            string region  = "";
            string disk    = "";
            RegionDisksResizeRequest regionDisksResizeRequestResource = new RegionDisksResizeRequest();
            // Make the request
            Operation response = await regionDisksClient.ResizeAsync(project, region, disk, regionDisksResizeRequestResource);

            // End snippet
        }
        /// <summary>
        /// Resizes the specified regional persistent disk.
        /// Documentation https://developers.google.com/compute/alpha/reference/regionDisks/resize
        /// Generation Note: This does not always build corectly.  Google needs to standardise things I need to figuer out which ones are wrong.
        /// </summary>
        /// <param name="service">Authenticated compute service.</param>
        /// <param name="project">The project ID for this request.</param>
        /// <param name="region">Name of the region for this request.</param>
        /// <param name="disk">Name of the regional persistent disk.</param>
        /// <param name="body">A valid compute alpha body.</param>
        /// <returns>OperationResponse</returns>
        public static Operation Resize(computeService service, string project, string region, string disk, RegionDisksResizeRequest body)
        {
            try
            {
                // Initial validation.
                if (service == null)
                {
                    throw new ArgumentNullException("service");
                }
                if (body == null)
                {
                    throw new ArgumentNullException("body");
                }
                if (project == null)
                {
                    throw new ArgumentNullException(project);
                }
                if (region == null)
                {
                    throw new ArgumentNullException(region);
                }
                if (disk == null)
                {
                    throw new ArgumentNullException(disk);
                }

                // Make the request.
                return(service.RegionDisks.Resize(body, project, region, disk).Execute());
            }
            catch (Exception ex)
            {
                throw new Exception("Request RegionDisks.Resize failed.", ex);
            }
        }
        /// <summary>
        /// Resizes the specified regional persistent disk.
        /// Documentation https://developers.google.com/compute/alpha/reference/regionDisks/resize
        /// Generation Note: This does not always build corectly.  Google needs to standardise things I need to figuer out which ones are wrong.
        /// </summary>
        /// <param name="service">Authenticated Compute service.</param>
        /// <param name="project">The project ID for this request.</param>
        /// <param name="region">Name of the region for this request.</param>
        /// <param name="disk">Name of the regional persistent disk.</param>
        /// <param name="body">A valid Compute alpha body.</param>
        /// <param name="optional">Optional paramaters.</param>
        /// <returns>OperationResponse</returns>
        public static Operation Resize(ComputeService service, string project, string region, string disk, RegionDisksResizeRequest body, RegionDisksResizeOptionalParms optional = null)
        {
            try
            {
                // Initial validation.
                if (service == null)
                {
                    throw new ArgumentNullException("service");
                }
                if (body == null)
                {
                    throw new ArgumentNullException("body");
                }
                if (project == null)
                {
                    throw new ArgumentNullException(project);
                }
                if (region == null)
                {
                    throw new ArgumentNullException(region);
                }
                if (disk == null)
                {
                    throw new ArgumentNullException(disk);
                }

                // Building the initial request.
                var request = service.RegionDisks.Resize(body, project, region, disk);

                // Applying optional parameters to the request.
                request = (RegionDisksResource.ResizeRequest)SampleHelpers.ApplyOptionalParms(request, optional);

                // Requesting data.
                return(request.Execute());
            }
            catch (Exception ex)
            {
                throw new Exception("Request RegionDisks.Resize failed.", ex);
            }
        }