private static void EnableKeyRotation(KmsClient kmsClient)
 {
     try
     {
         if (GetKeyRotationStatus(kmsClient).KeyRotationEnabled.GetValueOrDefault())
         {
             DisableKeyRotation(kmsClient);
         }
         var request = new EnableKeyRotationRequest
         {
             VersionId = "v1.0",
             Body      = new OperateKeyRequestBody()
             {
                 KeyId = GetKeyByStatus.GetKeyByKeyStatus(kmsClient, "2")
             }
         };
         var resp = kmsClient.EnableKeyRotation(request);
         Console.WriteLine(resp);
     }
     catch (RequestTimeoutException requestTimeoutException)
     {
         Console.WriteLine(requestTimeoutException.ErrorMessage);
     }
     catch (ServiceResponseException clientRequestException)
     {
         Console.WriteLine(clientRequestException.HttpStatusCode);
         Console.WriteLine(clientRequestException.ErrorCode);
         Console.WriteLine(clientRequestException.ErrorMsg);
     }
     catch (ConnectionException connectionException)
     {
         Console.WriteLine(connectionException.ErrorMessage);
     }
 }
Example #2
0
        internal EnableKeyRotationResponse EnableKeyRotation(EnableKeyRotationRequest request)
        {
            var marshaller   = new EnableKeyRotationRequestMarshaller();
            var unmarshaller = EnableKeyRotationResponseUnmarshaller.Instance;

            return(Invoke <EnableKeyRotationRequest, EnableKeyRotationResponse>(request, marshaller, unmarshaller));
        }
Example #3
0
        /// <summary>
        /// Initiates the asynchronous execution of the EnableKeyRotation operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the EnableKeyRotation 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 <EnableKeyRotationResponse> EnableKeyRotationAsync(EnableKeyRotationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = new EnableKeyRotationRequestMarshaller();
            var unmarshaller = EnableKeyRotationResponseUnmarshaller.Instance;

            return(InvokeAsync <EnableKeyRotationRequest, EnableKeyRotationResponse>(request, marshaller,
                                                                                     unmarshaller, cancellationToken));
        }
Example #4
0
        /// <summary>
        /// 开启密钥轮换
        /// </summary>
        public async Task <EnableKeyRotationResponse> EnableKeyRotationAsync(EnableKeyRotationRequest enableKeyRotationRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();

            urlParam.Add("version_id", enableKeyRotationRequest.VersionId.ToString());
            string              urlPath  = HttpUtils.AddUrlPath("/{version_id}/{project_id}/kms/enable-key-rotation", urlParam);
            SdkRequest          request  = HttpUtils.InitSdkRequest(urlPath, "application/json;charset=UTF-8", enableKeyRotationRequest);
            HttpResponseMessage response = await DoHttpRequestAsync("POST", request);

            return(JsonUtils.DeSerializeNull <EnableKeyRotationResponse>(response));
        }
Example #5
0
        /// <summary>
        /// 对指定的CMK开启密钥轮换功能。
        /// </summary>
        /// <param name="req"><see cref="EnableKeyRotationRequest"/></param>
        /// <returns><see cref="EnableKeyRotationResponse"/></returns>
        public EnableKeyRotationResponse EnableKeyRotationSync(EnableKeyRotationRequest req)
        {
            JsonResponseModel <EnableKeyRotationResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "EnableKeyRotation");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <EnableKeyRotationResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }