GetDistributionAsync() публичный Метод

Initiates the asynchronous execution of the GetDistribution operation.
public GetDistributionAsync ( GetDistributionRequest request, System cancellationToken = default(CancellationToken) ) : Task
request Amazon.CloudFront.Model.GetDistributionRequest Container for the necessary parameters to execute the GetDistribution operation.
cancellationToken System /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. ///
Результат Task
        /// <summary>
        /// 
        /// </summary>
        /// <param name="distribution"></param>
        /// <returns></returns>
        private async Task WaitUntilDistributionIsDeployedAsync(Distribution distribution)
        {
            const string DEPLOYED_STATUS = "deployed";
            using (var client = new AmazonCloudFrontClient(cfConfigurationProvider.AccessKey, cfConfigurationProvider.SecretKey, cfConfigurationProvider.RegionEndpoint))
            {
                loggerProvider.GetLogger().Debug($"Waiting for CloudFront to deploy. [Cname: {cfConfigurationProvider.CNAME}] [Status: {distribution.Status}]");
                var currentStatus = distribution.Status.ToLower();
                do
                {
                    await Task.Delay(15000);
                    var getDistributionResponse = await client.GetDistributionAsync(new GetDistributionRequest(distribution.Id));
                    currentStatus = getDistributionResponse.Distribution.Status;
                    loggerProvider.GetLogger().Debug($"Checking CloudFront status. [Cname: {cfConfigurationProvider.CNAME}] [Current Status: {currentStatus}]");

                }
                while (!currentStatus.IsEqualIgnoreCase(DEPLOYED_STATUS));
            }
        }
        /// <summary>
        /// Checks if Cloudfront with CNAME already exists.  Returns true if it exist, otherwise false.
        /// </summary>
        /// <returns></returns>
        private async Task<GetDistributionResponse> GetDistributionByCNAMEAsync()
        {
            loggerProvider.GetLogger().Debug($"Checking if cloudfront exists. [CNAME: {cfConfigurationProvider.CNAME}]");
            using (var client = new AmazonCloudFrontClient(cfConfigurationProvider.AccessKey, cfConfigurationProvider.SecretKey, cfConfigurationProvider.RegionEndpoint))
            {
                var listDistributionResponse = await client.ListDistributionsAsync();
                var distributionSummary = listDistributionResponse.DistributionList.Items.SingleOrDefault(cf => cf.Aliases.Items.Any(alias => alias.ToLower().StartsWith(cfConfigurationProvider.CNAME.ToLower())));


                if (distributionSummary == null)
                {
                    return null;
                }
                else
                {
                    var distributionResponse = await client.GetDistributionAsync(new GetDistributionRequest(distributionSummary.Id));
                    return distributionResponse;
                }

            }
        }