コード例 #1
0
        // Credential管理

        private static void CreateTemporaryAccessKeyByAgency(IamClient iamClient)
        {
            var createTemporaryAccessKeyByAgencyRequest = new CreateTemporaryAccessKeyByAgencyRequest()
            {
                Body = new CreateTemporaryAccessKeyByAgencyRequestBody()
                {
                    Auth = new AgencyAuth()
                    {
                        Identity = new AgencyAuthIdentity()
                        {
                            Methods = new List <AgencyAuthIdentity.MethodsEnum>()
                            {
                                AgencyAuthIdentity.MethodsEnum.ASSUME_ROLE
                            },
                            AssumeRole = new IdentityAssumerole()
                            {
                                DomainName      = "",
                                AgencyName      = "",
                                DomainId        = "",
                                DurationSeconds = 900,
                                SessionUser     = new AssumeroleSessionuser()
                                {
                                    Name = ""
                                }
                            }
                        }
                    }
                }
            };

            try
            {
                var createTemporaryAccessKeyByAgencyResponse =
                    iamClient.CreateTemporaryAccessKeyByAgency(createTemporaryAccessKeyByAgencyRequest);
                Console.WriteLine(JsonConvert.SerializeObject(createTemporaryAccessKeyByAgencyResponse.Credential));
            }
            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);
            }
        }
コード例 #2
0
        /// <summary>
        /// 通过委托获取临时访问密钥和securitytoken
        /// </summary>
        public CreateTemporaryAccessKeyByAgencyResponse CreateTemporaryAccessKeyByAgency(CreateTemporaryAccessKeyByAgencyRequest createTemporaryAccessKeyByAgencyRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();
            string      urlPath  = HttpUtils.AddUrlPath("/v3.0/OS-CREDENTIAL/securitytokens", urlParam);
            SdkRequest  request  = HttpUtils.InitSdkRequest(urlPath, "application/json;charset=UTF-8", createTemporaryAccessKeyByAgencyRequest);
            SdkResponse response = DoHttpRequest("POST", request);

            return(JsonUtils.DeSerialize <CreateTemporaryAccessKeyByAgencyResponse>(response));
        }