private static void KeystoneAssociateGroupWithProjectPermission(IamClient iamClient) { var keystoneGrantPermissionToGroupOnProjectRequest = new KeystoneAssociateGroupWithProjectPermissionRequest() { ProjectId = "", GroupId = "", RoleId = "", }; try { var keystoneGrantPermissionToGroupOnProjectResponse = iamClient.KeystoneAssociateGroupWithProjectPermission(keystoneGrantPermissionToGroupOnProjectRequest); Console.WriteLine( JsonConvert.SerializeObject(keystoneGrantPermissionToGroupOnProjectResponse.HttpStatusCode)); } 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); } }
private static void KeystoneListProjectPermissionsForGroup(IamClient iamClient) { var keystoneListProjectPermissionsForGroupRequest = new KeystoneListProjectPermissionsForGroupRequest() { ProjectId = "", GroupId = "" }; try { var keystoneListProjectPermissionsForGroupResponse = iamClient.KeystoneListProjectPermissionsForGroup(keystoneListProjectPermissionsForGroupRequest); foreach (var role in keystoneListProjectPermissionsForGroupResponse.Roles) { Console.WriteLine(JsonConvert.SerializeObject(role)); } } 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); } }
static void Main1(string[] args) { // 华为云 const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string domainId = "{your domainID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, null, domainId); var iamDomainClient = IamClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); // Credential管理 // 通过委托获取临时访问秘钥和securitytoken POST /v3.0/OS-CREDENTIAL/securitytokens CreateTemporaryAccessKeyByAgency(iamDomainClient); // 通过token来获取临时AK/SK和securitytoken POST /v3.0/OS-CREDENTIAL/securitytokens CreateTemporaryAccessKeyByToken(iamDomainClient); }
private static void KeystoneShowGroup(IamClient iamClient) { var keystoneShowGroupRequest = new KeystoneShowGroupRequest() { GroupId = "" }; try { var keystoneShowGroupResponse = iamClient.KeystoneShowGroup(keystoneShowGroupRequest); Console.WriteLine(JsonConvert.SerializeObject(keystoneShowGroupResponse.Group)); } 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); } }
private static void KeystoneListUsers(IamClient iamClient) { var keystoneListUsersRequest = new KeystoneListUsersRequest() { Enabled = true, Name = "", PasswordExpiresAt = "" }; try { var keystoneListUsersResponse = iamClient.KeystoneListUsers(keystoneListUsersRequest); foreach (var user in keystoneListUsersResponse.Users) { Console.WriteLine(JsonConvert.SerializeObject(user)); } } 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); } }
private static void KeystoneRemoveUserFromGroup(IamClient iamClient) { var keystoneRemoveUserFromGroupRequest = new KeystoneRemoveUserFromGroupRequest() { UserId = "", GroupId = "" }; try { var keystoneRemoveUserFromGroupResponse = iamClient.KeystoneRemoveUserFromGroup(keystoneRemoveUserFromGroupRequest); Console.WriteLine(keystoneRemoveUserFromGroupResponse.HttpStatusCode); } 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); } }
private static void KeystoneCreateGroup(IamClient iamClient) { var keystoneCreateGroupRequest = new KeystoneCreateGroupRequest() { Body = new KeystoneCreateGroupRequestBody() { Group = new KeystoneCreateGroupOption() { Description = "", DomainId = "", Name = "" } } }; try { var keystoneCreateGroupResponse = iamClient.KeystoneCreateGroup(keystoneCreateGroupRequest); Console.WriteLine(JsonConvert.SerializeObject(keystoneCreateGroupResponse.Group)); } 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); } }
private static void ListAgencies(IamClient iamClient) { var listAgenciesRequest = new ListAgenciesRequest() { DomainId = "", TrustDomainId = "", Name = "" }; try { var listAgenciesResponse = iamClient.ListAgencies(listAgenciesRequest); foreach (var agency in listAgenciesResponse.Agencies) { Console.WriteLine(JsonConvert.SerializeObject(agency)); } } 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); } }
private static void KeystoneListGroups(IamClient iamClient) { var keystoneListGroupsRequest = new KeystoneListGroupsRequest() { DomainId = "", Name = "" }; try { var keystoneListGroupsResponse = iamClient.KeystoneListGroups(keystoneListGroupsRequest); foreach (var group in keystoneListGroupsResponse.Groups) { Console.WriteLine(JsonConvert.SerializeObject(group)); } } 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); } }
private static void CheckDomainPermissionForAgency(IamClient iamV3Client) { var checkPermissionForAgencyOnDomainRequest = new CheckDomainPermissionForAgencyRequest() { DomainId = "", AgencyId = "", RoleId = "" }; try { var checkPermissionForAgencyOnDomainResponse = iamV3Client.CheckDomainPermissionForAgency(checkPermissionForAgencyOnDomainRequest); Console.WriteLine(JsonConvert.SerializeObject(checkPermissionForAgencyOnDomainResponse.HttpStatusCode)); } 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); } }
private static void RemoveProjectPermissionFromAgency(IamClient iamClient) { var removePermissionFromAgencyOnProjectRequest = new RemoveProjectPermissionFromAgencyRequest() { ProjectId = "", AgencyId = "", RoleId = "" }; try { var removePermissionFromAgencyOnProjectResponse = iamClient.RemoveProjectPermissionFromAgency(removePermissionFromAgencyOnProjectRequest); Console.WriteLine(JsonConvert.SerializeObject(removePermissionFromAgencyOnProjectResponse.HttpStatusCode)); } 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); } }
private static void AssociateAgencyWithProjectPermission(IamClient iamClient) { var grantPermissionToAgencyOnProjectRequest = new AssociateAgencyWithProjectPermissionRequest() { ProjectId = "", AgencyId = "", RoleId = "" }; try { var grantPermissionToAgencyOnProjectResponse = iamClient.AssociateAgencyWithProjectPermission(grantPermissionToAgencyOnProjectRequest); Console.WriteLine(JsonConvert.SerializeObject(grantPermissionToAgencyOnProjectResponse.HttpStatusCode)); } 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); } }
private static void ListProjectPermissionsForAgency(IamClient iamClient) { var listPermissionsForAgencyOnProjectRequest = new ListProjectPermissionsForAgencyRequest() { ProjectId = "", AgencyId = "" }; try { var listPermissionsForAgencyOnProjectResponse = iamClient.ListProjectPermissionsForAgency(listPermissionsForAgencyOnProjectRequest); foreach (var role in listPermissionsForAgencyOnProjectResponse.Roles) { Console.WriteLine(JsonConvert.SerializeObject(role)); } } 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); } }
private static void DeleteAgency(IamClient iamV3Client) { var deleteAgencyRequest = new DeleteAgencyRequest() { AgencyId = "" }; try { var deleteAgencyResponse = iamV3Client.DeleteAgency(deleteAgencyRequest); Console.WriteLine(JsonConvert.SerializeObject(deleteAgencyResponse.HttpStatusCode)); } 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); } }
private static void KeystoneListUsersForGroupByAdmin(IamClient iamClient) { var keystoneListUsersForGroupByAdminRequest = new KeystoneListUsersForGroupByAdminRequest() { GroupId = "" }; try { var keystoneListUsersForGroupByAdminResponse = iamClient.KeystoneListUsersForGroupByAdmin(keystoneListUsersForGroupByAdminRequest); foreach (var user in keystoneListUsersForGroupByAdminResponse.Users) { Console.WriteLine(JsonConvert.SerializeObject(user)); } } 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); } }
private static void KeystoneRemoveDomainPermissionFromGroup(IamClient iamClient) { var keystoneRemovePermissionFromGroupOnDomainRequest = new KeystoneRemoveDomainPermissionFromGroupRequest() { DomainId = "", GroupId = "", RoleId = "" }; try { var keystoneRemovePermissionFromGroupOnDomainResponse = iamClient.KeystoneRemoveDomainPermissionFromGroup( keystoneRemovePermissionFromGroupOnDomainRequest); Console.WriteLine( JsonConvert.SerializeObject(keystoneRemovePermissionFromGroupOnDomainResponse.HttpStatusCode)); } 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); } }
static void Main1(string[] args) { // 华为云 const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string domainId = "{your domainID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, null, domainId); var iamDomainClient = IamClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); // 委托管理 // 查询指定条件下的委托列表 GET /v3.0/OS-AGENCY/agencies ListAgencies(iamDomainClient); // 查询委托详情 GET /v3.0/OS-AGENCY/agencies/{agency_id} ShowAgency(iamDomainClient); // 创建委托 POST /v3.0/OS-AGENCY/agencies CreateAgency(iamDomainClient); // 修改委托 PUT /v3.0/OS-AGENCY/agencies/{agency_id} UpdateAgency(iamDomainClient); // 删除委托 DELETE /v3.0/OS-AGENCY/agencies/{agency_id} DeleteAgency(iamDomainClient); // 查询全局服务中的委托权限 GET /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles ListDomainPermissionsForAgency(iamDomainClient); // 查询项目服务中的委托权限 GET /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles ListProjectPermissionsForAgency(iamDomainClient); // 为委托授予全局服务权限 PUT /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id} AssociateAgencyWithDomainPermission(iamDomainClient); // 为委托授予项目服务权限 PUT /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id} AssociateAgencyWithProjectPermission(iamDomainClient); // 查询委托是否拥有全局服务权限 HEAD /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id} CheckDomainPermissionForAgency(iamDomainClient); // 查询委托是否拥有项目服务权限 HEAD /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id} CheckProjectPermissionForAgency(iamDomainClient); // 移除委托的全局服务权限 DELETE /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id} RemoveDomainPermissionFromAgency(iamDomainClient); // 移除委托的项目服务权限 DELETE /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id} RemoveProjectPermissionFromAgency(iamDomainClient); }
// 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); } }
static void Main1(string[] args) { // 华为云 const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string domainId = "{your domainID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new GlobalCredentials(ak, sk, domainId); var iamDomainClient = IamClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); // 权限管理 // 查询权限列表 GET /v3/roles KeystoneListPermissions(iamDomainClient); // 查询权限详情 GET /v3/roles/{role_id} KeystoneShowPermission(iamDomainClient); // 查询全局服务中的用户组权限 GET /v3/domains/{domain_id}/groups/{group_id}/roles KeystoneListDomainPermissionsForGroup(iamDomainClient); // 查询项目服务中的用户组权限 GET /v3/projects/{project_id}/groups/{group_id}/roles KeystoneListProjectPermissionsForGroup(iamDomainClient); // 为用户组授予全局服务权限 PUT /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id} KeystoneAssociateGroupWithDomainPermission(iamDomainClient); // 为用户组授予项目服务权限 PUT /v3/projects/{project_id}/groups/{group_id}/roles/{role_id} KeystoneAssociateGroupWithProjectPermission(iamDomainClient); // 查询用户组是否拥有全局服务权限 HEAD /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id} KeystoneCheckDomainPermissionForGroup(iamDomainClient); // 查询用户组是否拥有项目服务权限 HEAD /v3/projects/{project_id}/groups/{group_id}/roles/{role_id} KeystoneCheckProjectPermissionForGroup(iamDomainClient); // 移除用户组的全局服务权限 DELETE /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id} KeystoneRemoveDomainPermissionFromGroup(iamDomainClient); // 移除用户组的项目服务权限 DELETE /v3/projects/{project_id}/groups/{group_id}/roles/{role_id} KeystoneRemoveProjectPermissionFromGroup(iamDomainClient); }
private static void CreateTemporaryAccessKeyByToken(IamClient iamClient) { var createTemporaryAccessKeyByTokenRequest = new CreateTemporaryAccessKeyByTokenRequest() { Body = new CreateTemporaryAccessKeyByTokenRequestBody() { Auth = new TokenAuth() { Identity = new TokenAuthIdentity() { Methods = new List <TokenAuthIdentity.MethodsEnum>() { TokenAuthIdentity.MethodsEnum.TOKEN }, Token = new IdentityToken() { Id = "", DurationSeconds = 900 } } } } }; try { var createTemporaryAccessKeyByTokenResponse = iamClient.CreateTemporaryAccessKeyByToken(createTemporaryAccessKeyByTokenRequest); Console.WriteLine(JsonConvert.SerializeObject(createTemporaryAccessKeyByTokenResponse.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); } }
static void Main1(string[] args) { // 华为云 const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string domainId = "{your domainID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new BasicCredentials(ak, sk, null, domainId); var iamDomainClient = IamClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); // 用户组管理 // 查询用户组列表 GET /v3/groups KeystoneListGroups(iamDomainClient); // 查询用户组详情 GET /v3/groups/{group_id} KeystoneShowGroup(iamDomainClient); // 创建用户组 POST /v3/groups KeystoneCreateGroup(iamDomainClient); // 更新用户组 PATCH /v3/groups/{group_id} KeystoneUpdateGroup(iamDomainClient); // 删除用户组 DELETE /v3/groups/{group_id} KeystoneDeleteGroup(iamDomainClient); // 查询IAM用户是否在用户组中 HEAD /v3/groups/{group_id}/users/{user_id} KeystoneCheckUserInGroup(iamDomainClient); // 添加IAM用户到用户组 PUT /v3/groups/{group_id}/users/{user_id} KeystoneAddUserToGroup(iamDomainClient); // 移除用户组中的IAM用户 DELETE /v3/groups/{group_id}/users/{user_id} KeystoneRemoveUserFromGroup(iamDomainClient); }
static void Main1(string[] args) { // 华为云 const string ak = "{your ak string}"; const string sk = "{your sk string}"; const string endpoint = "{your endpoint string}"; const string domainId = "{your domainID string}"; var config = HttpConfig.GetDefaultConfig(); config.IgnoreSslVerification = true; var auth = new GlobalCredentials(ak, sk, domainId); var iamDomainClient = IamClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config).Build(); // 用户管理 // 管理员查询IAM用户列表 GET /v3/users KeystoneListUsers(iamDomainClient); // 查询IAM用户详情 GET /v3/users/{user_id} KeystoneShowUser(iamDomainClient); // 查询IAM用户所属用户组 GET /v3/users/{user_id}/groups KeystoneListGroupsForUser(iamDomainClient); // 管理员查询用户组所包含的IAM用户 GET /v3/groups/{group_id}/users KeystoneListUsersForGroupByAdmin(iamDomainClient); // 管理员创建IAM用户 POST /v3/users KeystoneCreateUser(iamDomainClient); // 修改IAM用户密码 POST /v3/users/{user_id}/password KeystoneUpdateUserPassword(iamDomainClient); // 管理员修改IAM用户信息 PATCH /v3/users/{user_id} KeystoneUpdateUserByAdmin(iamDomainClient); // 管理员删除IAM用户 DELETE /v3/users/{user_id} KeystoneDeleteUser(iamDomainClient); }
private static void KeystoneUpdateUserByAdmin(IamClient iamClient) { var keystoneUpdateUserInformationByAdminRequest = new KeystoneUpdateUserByAdminRequest() { UserId = "", Body = new KeystoneUpdateUserByAdminRequestBody() { User = new KeystoneUpdateUserOption() { Name = "", DomainId = "", Enabled = true, Password = "", Description = "", PwdStatus = false } } }; try { var keystoneUpdateUserInformationByAdminResponse = iamClient.KeystoneUpdateUserByAdmin(keystoneUpdateUserInformationByAdminRequest); Console.WriteLine(JsonConvert.SerializeObject(keystoneUpdateUserInformationByAdminResponse.User)); } 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); } }
private static void CreateAgency(IamClient iamClient) { var createAgencyRequest = new CreateAgencyRequest() { Body = new CreateAgencyRequestBody() { Agency = new CreateAgencyOption() { Name = "", Description = "", TrustDomainId = "", TrustDomainName = "", Duration = CreateAgencyOption.DurationEnum.ONEDAY, DomainId = "" } } }; try { var createAgencyResponse = iamClient.CreateAgency(createAgencyRequest); Console.WriteLine(JsonConvert.SerializeObject(createAgencyResponse.Agency)); } 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); } }
private static void KeystoneUpdateUserPassword(IamClient iamClient) { var keystoneUpdateUserPasswordRequest = new KeystoneUpdateUserPasswordRequest() { UserId = "", Body = new KeystoneUpdateUserPasswordRequestBody() { User = new KeystoneUpdatePasswordOption() { OriginalPassword = "", Password = "" } } }; try { var keystoneUpdateUserPasswordResponse = iamClient.KeystoneUpdateUserPassword(keystoneUpdateUserPasswordRequest); Console.WriteLine(keystoneUpdateUserPasswordResponse.HttpStatusCode); } 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); } }