/// <summary> /// Initiates the asynchronous execution of the DescribeCertificate operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DescribeCertificate operation on AmazonCertificateManagerClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeCertificate /// operation.</returns> public IAsyncResult BeginDescribeCertificate(DescribeCertificateRequest request, AsyncCallback callback, object state) { var marshaller = new DescribeCertificateRequestMarshaller(); var unmarshaller = DescribeCertificateResponseUnmarshaller.Instance; return(BeginInvoke <DescribeCertificateRequest>(request, marshaller, unmarshaller, callback, state)); }
/// <summary> /// Initiates the asynchronous execution of the DescribeCertificate operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DescribeCertificate 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 <DescribeCertificateResponse> DescribeCertificateAsync(DescribeCertificateRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new DescribeCertificateRequestMarshaller(); var unmarshaller = DescribeCertificateResponseUnmarshaller.Instance; return(InvokeAsync <DescribeCertificateRequest, DescribeCertificateResponse>(request, marshaller, unmarshaller, cancellationToken)); }
/// <summary> /// Initiates the asynchronous execution of the DescribeCertificate operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DescribeCertificate 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> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DescribeCertificate">REST API Reference for DescribeCertificate Operation</seealso> public virtual Task <DescribeCertificateResponse> DescribeCertificateAsync(DescribeCertificateRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeCertificateRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeCertificateResponseUnmarshaller.Instance; return(InvokeAsync <DescribeCertificateResponse>(request, options, cancellationToken)); }
internal virtual DescribeCertificateResponse DescribeCertificate(DescribeCertificateRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeCertificateRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeCertificateResponseUnmarshaller.Instance; return(Invoke <DescribeCertificateResponse>(request, options)); }
/// <summary> /// 本接口(DescribeCertificate)用于获取证书信息。 /// </summary> /// <param name="req"><see cref="DescribeCertificateRequest"/></param> /// <returns><see cref="DescribeCertificateResponse"/></returns> public DescribeCertificateResponse DescribeCertificateSync(DescribeCertificateRequest req) { JsonResponseModel<DescribeCertificateResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeCertificate"); rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeCertificateResponse>>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; }
public async Task ListCertificatesAsyncTest() { var client = CreateMockACMClient(); var request = new DescribeCertificateRequest(); request.CertificateArn = "arn:aws:acm:us-east-1:123456789012:certificate/8cfd7dae-9b6a-2d07-92bc-1c3093edb218"; var response = await client.DescribeCertificateAsync(request); bool gotResult = response != null; Assert.True(gotResult, "Copy operation failed."); bool ok = response.HttpStatusCode == HttpStatusCode.OK; Assert.True(ok, "Describe certificate list."); }
static void Main(string[] args) { var _client = new Amazon.CertificateManager.AmazonCertificateManagerClient(ACMRegion); var describeCertificateReq = new DescribeCertificateRequest(); // The ARN used here is just an example. Replace it with the ARN of // a certificate that exists on your account. describeCertificateReq.CertificateArn = "arn:aws:acm:us-east-1:123456789012:certificate/8cfd7dae-9b6a-2d07-92bc-1c3093edb218"; var certificateDetailResp = DescribeCertificateResponseAsync(client: _client, request: describeCertificateReq); var certificateDetail = certificateDetailResp.Result.Certificate; if (certificateDetail is not null) { DisplayCertificateDetails(certificateDetail); } }
static async Task <DescribeCertificateResponse> DescribeCertificateResponseAsync(AmazonCertificateManagerClient client, DescribeCertificateRequest request) { var response = await client.DescribeCertificateAsync(request); return(response); }
/// <summary> /// Retrieves the metadata associated with the ACM service certificate. /// </summary> /// <param name="client">An AmazonCertificateManagerClient object /// used to call DescribeCertificateResponse.</param> /// <param name="request">The DescribeCertificateRequest object that /// will be passed to the method call.</param> /// <returns></returns> static async Task <DescribeCertificateResponse> DescribeCertificateResponseAsync(AmazonCertificateManagerClient client, DescribeCertificateRequest request) { var response = new DescribeCertificateResponse(); try { response = await client.DescribeCertificateAsync(request); } catch (InvalidArnException ex) { Console.WriteLine($"Error: The ARN specified is invalid."); } catch (ResourceNotFoundException ex) { Console.WriteLine($"Error: The specified certificate cound not be found."); } return(response); }
/// <summary> /// Returns detailed metadata about the specified ACM certificate. /// </summary> /// <param name="certificateArn">The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form: <code>arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012</code> For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and AWS Service Namespaces</a>.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// /// <returns>The response from the DescribeCertificate service method, as returned by CertificateManager.</returns> /// <exception cref="Amazon.CertificateManager.Model.InvalidArnException"> /// The requested Amazon Resource Name (ARN) does not refer to an existing resource. /// </exception> /// <exception cref="Amazon.CertificateManager.Model.ResourceNotFoundException"> /// The specified certificate cannot be found in the caller's account or the caller's /// account cannot be found. /// </exception> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08/DescribeCertificate">REST API Reference for DescribeCertificate Operation</seealso> public virtual Task<DescribeCertificateResponse> DescribeCertificateAsync(string certificateArn, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new DescribeCertificateRequest(); request.CertificateArn = certificateArn; return DescribeCertificateAsync(request, cancellationToken); }
public async Task <Response?> Create() { var props = Request.ResourceProperties; IAmazonCertificateManager acmClient = await acmFactory.Create(props.CreationRoleArn); IAmazonRoute53 route53Client = await route53Factory.Create(props.ValidationRoleArn); var request = new RequestCertificateRequest { DomainName = props.DomainName, ValidationMethod = props.ValidationMethod }; if (props.CertificateAuthorityArn != null) { request.CertificateAuthorityArn = props.CertificateAuthorityArn; } if (props.DomainValidationOptions != null) { request.DomainValidationOptions = props.DomainValidationOptions; } if (props.Options != null) { request.Options = props.Options; } if (props.SubjectAlternativeNames != null) { request.SubjectAlternativeNames = props.SubjectAlternativeNames; } var requestCertificateResponse = await acmClient.RequestCertificateAsync(request); Console.WriteLine($"Got Request Certificate Response: {JsonSerializer.Serialize(requestCertificateResponse)}"); PhysicalResourceId = requestCertificateResponse.CertificateArn; var describeCertificateRequest = new DescribeCertificateRequest { CertificateArn = PhysicalResourceId }; var tasks = new List <Task>(); Thread.Sleep(500); bool foundValidationOptions = false; List <DomainValidation> validationOptions = new List <DomainValidation>(); // For some reason, the domain validation options aren't immediately populated. while (!foundValidationOptions) { var describeCertificateResponse = await acmClient.DescribeCertificateAsync(describeCertificateRequest); Console.WriteLine($"Got Describe Certificate Response: {JsonSerializer.Serialize(describeCertificateResponse)}"); validationOptions = describeCertificateResponse.Certificate.DomainValidationOptions; foundValidationOptions = true; if (validationOptions.Count() == 0) { foundValidationOptions = false; } foreach (var option in validationOptions) { if (option.ResourceRecord?.Name == null) { foundValidationOptions = false; } } Thread.Sleep(1000); } if (props.Tags != null) { tasks.Add(Task.Run(async delegate { var addTagsResponse = await acmClient.AddTagsToCertificateAsync(new AddTagsToCertificateRequest { Tags = props.Tags, CertificateArn = PhysicalResourceId, }); Console.WriteLine($"Got Add Tags Response: {JsonSerializer.Serialize(addTagsResponse)}"); })); } // add DNS validation records if applicable var names = new HashSet <string>(); var changes = new List <Change>(); if (props.ValidationMethod == ValidationMethod.DNS) { foreach (var option in validationOptions) { var query = from name in names where name == option.ResourceRecord.Name select name; if (query.Count() != 0) { continue; } names.Add(option.ResourceRecord.Name); changes.Add(new Change { Action = ChangeAction.UPSERT, ResourceRecordSet = new ResourceRecordSet { Name = option.ResourceRecord.Name, Type = new RRType(option.ResourceRecord.Type.Value), SetIdentifier = PhysicalResourceId, Weight = 1, TTL = 60, ResourceRecords = new List <ResourceRecord> { new ResourceRecord { Value = option.ResourceRecord.Value } } } }); } tasks.Add( Task.Run(async delegate { var changeRecordsResponse = await route53Client.ChangeResourceRecordSetsAsync(new ChangeResourceRecordSetsRequest { HostedZoneId = props.HostedZoneId, ChangeBatch = new ChangeBatch { Changes = changes } }); Console.WriteLine($"Got Change Record Sets Response: {JsonSerializer.Serialize(changeRecordsResponse)}"); }) ); } Task.WaitAll(tasks.ToArray()); Request.PhysicalResourceId = PhysicalResourceId; Request.RequestType = RequestType.Wait; return(await Wait()); }