Exemple #1
0
        /// <summary>
        /// Initiates the asynchronous execution of the GetDistributionConfig operation.
        /// <seealso cref="Amazon.CloudFront.IAmazonCloudFront"/>
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the GetDistributionConfig operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        public Task <GetDistributionConfigResponse> GetDistributionConfigAsync(GetDistributionConfigRequest request, CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = new GetDistributionConfigRequestMarshaller();
            var unmarshaller = GetDistributionConfigResponseUnmarshaller.Instance;

            return(Invoke <IRequest, GetDistributionConfigRequest, GetDistributionConfigResponse>(request, marshaller, unmarshaller, signer, cancellationToken));
        }
Exemple #2
0
        internal GetDistributionConfigResponse GetDistributionConfig(GetDistributionConfigRequest request)
        {
            var marshaller   = new GetDistributionConfigRequestMarshaller();
            var unmarshaller = GetDistributionConfigResponseUnmarshaller.Instance;

            return(Invoke <GetDistributionConfigRequest, GetDistributionConfigResponse>(request, marshaller, unmarshaller));
        }
Exemple #3
0
 public GetDistributionConfigResponse GetDistributionConfig(GetDistributionConfigRequest request)
 {
     if (request == null)
     {
         throw new ArgumentNullException("request", "The GetDistributionConfigRequest specified is null!");
     }
     if (!request.IsSetId())
     {
         throw new ArgumentNullException("request", "The Distribution Id specified is null or empty!");
     }
     return(this.Invoke <GetDistributionConfigResponse>(this.ConvertGetDistributionConfig(request), request.Headers));
 }
Exemple #4
0
        public static string AddDomainToDistribution(string AWSAccesKey, string AWSSecretKey, string distributionId, string domainName)
        {
            try
            {
                if (String.IsNullOrEmpty(distributionId))
                {
                    throw new Exception("distributionId cannot be null");
                }
                if (String.IsNullOrEmpty(domainName))
                {
                    throw new Exception("domain name cannnot be null");
                }

                domainName = domainName.Trim(' ');
                domainName = domainName.ToLower();

                using (AmazonCloudFrontClient cfClient = new AmazonCloudFrontClient(AWSAccesKey, AWSSecretKey, RegionEndpoint.APSouth1))
                {
                    GetDistributionConfigRequest distributionConfig = new GetDistributionConfigRequest
                    {
                        Id = distributionId
                    };
                    var config = cfClient.GetDistributionConfigAsync(distributionConfig).Result;

                    //  Set a new config
                    DistributionConfig newConfig = config.DistributionConfig;
                    if (newConfig.Aliases.Items.Contains(domainName))
                    {
                        return("already present");
                    }
                    newConfig.Aliases.Items.Add(domainName);
                    newConfig.Aliases.Quantity += 1;

                    //  Update
                    UpdateDistributionRequest req = new UpdateDistributionRequest
                    {
                        Id                 = distributionId,
                        IfMatch            = config.ETag,
                        DistributionConfig = newConfig
                    };

                    var response = cfClient.UpdateDistributionAsync(req).Result;
                }

                return("success");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemple #5
0
        internal GetDistributionConfigResponse GetDistributionConfig(GetDistributionConfigRequest request)
        {
            var task = GetDistributionConfigAsync(request);

            try
            {
                return(task.Result);
            }
            catch (AggregateException e)
            {
                ExceptionDispatchInfo.Capture(e.InnerException).Throw();
                return(null);
            }
        }
        /// <summary>
        /// Config is required while updating a Distribution
        /// </summary>
        /// <param name="distributionId"></param>
        /// <returns></returns>
        public static GetDistributionConfigResponse GetDistributionConfigResponse(string distributionId)
        {
            try
            {
                if (String.IsNullOrEmpty(distributionId))
                {
                    return(null);
                }

                var client = new AmazonCloudFrontClient(RegionEndpoint.APSouth1);

                var request = new GetDistributionConfigRequest()
                {
                    Id = distributionId
                };

                return(client.GetDistributionConfigAsync(request).Result);
            }
            catch (Exception ex)
            {
                //TODO - log the exception
            }
            return(null);
        }
Exemple #7
0
        private IDictionary <CloudFrontQueryParameter, string> ConvertGetDistributionConfig(GetDistributionConfigRequest request)
        {
            IDictionary <CloudFrontQueryParameter, string> parameters = new Dictionary <CloudFrontQueryParameter, string>(5);

            parameters.Add(CloudFrontQueryParameter.Verb, CloudFrontConstants.GetVerb);
            parameters.Add(CloudFrontQueryParameter.Action, "GetDistributionConfig");
            parameters.Add(CloudFrontQueryParameter.Query, "/config");
            parameters.Add(CloudFrontQueryParameter.Id, request.Id);
            this.AddCloudFrontQueryParameters(parameters, request.Headers);
            return(parameters);
        }