/// <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)); }
internal GetDistributionConfigResponse GetDistributionConfig(GetDistributionConfigRequest request) { var marshaller = new GetDistributionConfigRequestMarshaller(); var unmarshaller = GetDistributionConfigResponseUnmarshaller.Instance; return(Invoke <GetDistributionConfigRequest, GetDistributionConfigResponse>(request, marshaller, unmarshaller)); }
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)); }
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); } }
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); }
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); }