summaryrefslogtreecommitdiff
path: root/data/en_us/yundun-bastionhost
diff options
context:
space:
mode:
authorZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
committerZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
commit1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch)
tree5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/yundun-bastionhost
parent7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff)
downloadafterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz
afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip
update APIs 20260712
Diffstat (limited to 'data/en_us/yundun-bastionhost')
-rw-r--r--data/en_us/yundun-bastionhost/2019-09-10/api-docs.php213
-rw-r--r--data/en_us/yundun-bastionhost/2019-12-09/api-docs.php33262
2 files changed, 14921 insertions, 18554 deletions
diff --git a/data/en_us/yundun-bastionhost/2019-09-10/api-docs.php b/data/en_us/yundun-bastionhost/2019-09-10/api-docs.php
deleted file mode 100644
index f2bffe5..0000000
--- a/data/en_us/yundun-bastionhost/2019-09-10/api-docs.php
+++ /dev/null
@@ -1,213 +0,0 @@
-<?php return [
- 'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'Yundun-bastionhost',
- 'version' => '2019-09-10',
- ],
- 'directories' => [
- [
- 'id' => 0,
- 'title' => '其它',
- 'type' => 'directory',
- 'children' => [
- 'DescribeResume',
- ],
- ],
- ],
- 'components' => [
- 'schemas' => [],
- ],
- 'apis' => [
- 'DescribeResume' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'parameters' => [
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => true,
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'type' => 'string',
- ],
- 'Data' => [
- 'type' => 'object',
- 'properties' => [
- 'UserGroupCount' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
- 'AssetCount' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
- 'UserCount' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
- 'AssetGroupCount' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [],
- 'responseDemo' => null,
- ],
- ],
- 'endpoints' => [
- [
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'bastionhost.cn-zhangjiakou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhengzhou-jva',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'bastionhost.cn-huhehaote.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-heyuan',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'bastionhost.cn-hongkong.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'bastionhost.ap-northeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-2',
- 'endpoint' => 'bastionhost.ap-northeast-2.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'bastionhost.ap-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-2',
- 'endpoint' => 'bastionhost.ap-southeast-2.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'bastionhost.ap-southeast-3.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'bastionhost.ap-southeast-5.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'bastionhost.ap-southeast-6.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'bastionhost.us-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'bastionhost.us-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'bastionhost.eu-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'bastionhost.eu-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-south-1',
- 'endpoint' => 'bastionhost.ap-south-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-east-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing-finance-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-north-2-gov-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- ],
-];
diff --git a/data/en_us/yundun-bastionhost/2019-12-09/api-docs.php b/data/en_us/yundun-bastionhost/2019-12-09/api-docs.php
index 876ab82..aa13026 100644
--- a/data/en_us/yundun-bastionhost/2019-12-09/api-docs.php
+++ b/data/en_us/yundun-bastionhost/2019-12-09/api-docs.php
@@ -1,790 +1,257 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'Yundun-bastionhost',
- 'version' => '2019-12-09',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'Yundun-bastionhost', 'version' => '2019-12-09'],
'directories' => [
[
- 'id' => 267520,
- 'title' => null,
+ 'children' => ['DescribeInstanceAttribute', 'DescribeInstances', 'ConfigInstanceSecurityGroups', 'ConfigInstanceWhiteList', 'StartInstance', 'EnableInstancePublicAccess', 'DisableInstancePublicAccess', 'ModifyInstanceAttribute', 'MoveResourceGroup', 'AddInstanceRdMember', 'ListInstanceRdMembers', 'RemoveInstanceRdMember'],
'type' => 'directory',
- 'children' => [
- 'DescribeInstanceAttribute',
- 'DescribeInstances',
- 'ConfigInstanceSecurityGroups',
- 'ConfigInstanceWhiteList',
- 'StartInstance',
- 'EnableInstancePublicAccess',
- 'DisableInstancePublicAccess',
- 'ModifyInstanceAttribute',
- 'MoveResourceGroup',
- 'AddInstanceRdMember',
- 'ListInstanceRdMembers',
- 'RemoveInstanceRdMember',
- ],
+ 'title' => 'Bastionhost instances (supported only in V3.2.X)',
],
[
- 'id' => 267533,
- 'title' => null,
+ 'children' => ['ListTagKeys', 'ListTagResources', 'UntagResources', 'TagResources'],
'type' => 'directory',
- 'children' => [
- 'ListTagKeys',
- 'ListTagResources',
- 'UntagResources',
- 'TagResources',
- ],
+ 'title' => 'Tags (supported only in V3.2.X)',
],
[
- 'id' => 267538,
- 'title' => null,
+ 'children' => ['DescribeRegions'],
'type' => 'directory',
- 'children' => [
- 'DescribeRegions',
- ],
+ 'title' => 'Regions (supported only in V3.2.X)',
],
[
- 'id' => 267540,
- 'title' => null,
+ 'children' => ['CreateHost', 'GetHost', 'ListHosts', 'DeleteHost', 'ModifyHostsPort', 'ModifyHostsActiveAddressType', 'ModifyHost'],
'type' => 'directory',
- 'children' => [
- 'CreateHost',
- 'GetHost',
- 'ListHosts',
- 'DeleteHost',
- 'ModifyHostsPort',
- 'ModifyHostsActiveAddressType',
- 'ModifyHost',
- ],
+ 'title' => 'Hosts (supported only in V3.2.17 and later)',
],
[
- 'id' => 267548,
- 'title' => null,
+ 'children' => ['CreateDatabase', 'ModifyDatabase', 'GetDatabase', 'ListDatabases', 'DeleteDatabase'],
'type' => 'directory',
- 'children' => [
- 'CreateDatabase',
- 'ModifyDatabase',
- 'GetDatabase',
- 'ListDatabases',
- 'DeleteDatabase',
- ],
+ 'title' => 'Databases (supported only in V3.2.40 and later)',
],
[
- 'id' => 267554,
- 'title' => null,
+ 'children' => ['CreateNetworkDomain', 'GetNetworkDomain', 'ListNetworkDomains', 'DeleteNetworkDomain', 'ModifyNetworkDomain', 'MoveHostsToNetworkDomain', 'MoveDatabasesToNetworkDomain'],
'type' => 'directory',
- 'children' => [
- 'CreateNetworkDomain',
- 'GetNetworkDomain',
- 'ListNetworkDomains',
- 'DeleteNetworkDomain',
- 'ModifyNetworkDomain',
- 'MoveHostsToNetworkDomain',
- 'MoveDatabasesToNetworkDomain',
- ],
+ 'title' => 'Network domains (supported only in V3.2.40 and later)',
],
[
- 'id' => 267562,
- 'title' => null,
+ 'children' => ['CreateHostAccount', 'GetHostAccount', 'ListHostAccounts', 'ModifyHostAccount', 'DeleteHostAccount', 'ResetHostAccountCredential', 'ListImportableKMSSecretsForHost', 'ImportKMSSecretsForHost'],
'type' => 'directory',
- 'children' => [
- 'CreateHostAccount',
- 'GetHostAccount',
- 'ListHostAccounts',
- 'ModifyHostAccount',
- 'DeleteHostAccount',
- 'ResetHostAccountCredential',
- ],
+ 'title' => 'Host accounts (supported only in V3.2.17 and later)',
],
[
- 'id' => 267569,
- 'title' => null,
+ 'children' => ['CreateDatabaseAccount', 'ModifyDatabaseAccount', 'GetDatabaseAccount', 'ListDatabaseAccounts', 'ListDatabaseAccountsForUserGroup', 'DeleteDatabaseAccount'],
'type' => 'directory',
- 'children' => [
- 'CreateDatabaseAccount',
- 'ModifyDatabaseAccount',
- 'GetDatabaseAccount',
- 'ListDatabaseAccounts',
- 'ListDatabaseAccountsForUserGroup',
- 'DeleteDatabaseAccount',
- ],
+ 'title' => 'Database accounts (supported only in V3.2.40 and later)',
],
[
- 'id' => 267576,
- 'title' => null,
+ 'children' => ['CreateUser', 'GetUser', 'ListUsers', 'ModifyUser', 'DeleteUser', 'CreateUserPublicKey', 'ListUserPublicKeys', 'ModifyUserPublicKey', 'DeleteUserPublicKey', 'LockUsers', 'UnlockUsers'],
'type' => 'directory',
- 'children' => [
- 'CreateUser',
- 'GetUser',
- 'ListUsers',
- 'ModifyUser',
- 'DeleteUser',
- 'CreateUserPublicKey',
- 'ListUserPublicKeys',
- 'ModifyUserPublicKey',
- 'DeleteUserPublicKey',
- 'LockUsers',
- 'UnlockUsers',
- ],
+ 'title' => 'Users (supported only in V3.2.17 and later)',
],
[
- 'id' => 267588,
- 'title' => null,
+ 'children' => ['CreateUserGroup', 'GetUserGroup', 'ListUserGroups', 'ModifyUserGroup', 'DeleteUserGroup', 'AddUsersToGroup', 'RemoveUsersFromGroup'],
'type' => 'directory',
- 'children' => [
- 'CreateUserGroup',
- 'GetUserGroup',
- 'ListUserGroups',
- 'ModifyUserGroup',
- 'DeleteUserGroup',
- 'AddUsersToGroup',
- 'RemoveUsersFromGroup',
- ],
+ 'title' => 'User groups (supported only in V3.2.17 and later)',
],
[
- 'id' => 267596,
- 'title' => null,
+ 'children' => ['CreateHostGroup', 'AddDatabasesToGroup', 'AddHostsToGroup', 'RemoveDatabasesFromGroup', 'DeleteHostGroup', 'RemoveHostsFromGroup', 'ModifyHostGroup', 'GetHostGroup', 'ListHostGroups'],
'type' => 'directory',
- 'children' => [
- 'CreateHostGroup',
- 'AddDatabasesToGroup',
- 'AddHostsToGroup',
- 'RemoveDatabasesFromGroup',
- 'DeleteHostGroup',
- 'RemoveHostsFromGroup',
- 'ModifyHostGroup',
- 'GetHostGroup',
- 'ListHostGroups',
- ],
+ 'title' => 'Asset groups (supported only in V3.2.17 and later)',
],
[
- 'id' => 267606,
- 'title' => null,
+ 'children' => ['AttachHostAccountsToUser', 'ListHostsForUser', 'ListHostAccountsForUser', 'DetachHostAccountsFromUser', 'DetachHostAccountsFromUserGroup', 'DetachHostGroupAccountsFromUser', 'AttachHostAccountsToUserGroup', 'DetachHostGroupAccountsFromUserGroup', 'AttachHostGroupAccountsToUser', 'AttachHostGroupAccountsToUserGroup', 'ListHostAccountsForUserGroup', 'ListHostGroupAccountNamesForUser', 'ListHostGroupAccountNamesForUserGroup', 'ListHostGroupsForUser', 'ListHostGroupsForUserGroup', 'ListHostsForUserGroup'],
'type' => 'directory',
- 'children' => [
- 'AttachHostAccountsToUser',
- 'ListHostsForUser',
- 'ListHostAccountsForUser',
- 'DetachHostAccountsFromUser',
- 'DetachHostAccountsFromUserGroup',
- 'DetachHostGroupAccountsFromUser',
- 'AttachHostAccountsToUserGroup',
- 'DetachHostGroupAccountsFromUserGroup',
- 'AttachHostGroupAccountsToUser',
- 'AttachHostGroupAccountsToUserGroup',
- 'ListHostAccountsForUserGroup',
- 'ListHostGroupAccountNamesForUser',
- 'ListHostGroupAccountNamesForUserGroup',
- 'ListHostGroupsForUser',
- 'ListHostGroupsForUserGroup',
- 'ListHostsForUserGroup',
- ],
+ 'title' => 'Host authorization (supported only in V3.2.17 and later)',
],
[
- 'id' => 267623,
- 'title' => null,
+ 'children' => ['AttachDatabaseAccountsToUser', 'ListDatabasesForUser', 'DetachDatabaseAccountsFromUserGroup', 'ListDatabaseAccountsForUser', 'DetachDatabaseAccountsFromUser', 'AttachDatabaseAccountsToUserGroup', 'ListDatabasesForUserGroup'],
'type' => 'directory',
- 'children' => [
- 'AttachDatabaseAccountsToUser',
- 'ListDatabasesForUser',
- 'DetachDatabaseAccountsFromUserGroup',
- 'ListDatabaseAccountsForUser',
- 'DetachDatabaseAccountsFromUser',
- 'AttachDatabaseAccountsToUserGroup',
- 'ListDatabasesForUserGroup',
- ],
+ 'title' => 'Database authorization (supported only in V3.2.40 and later)',
],
[
- 'id' => 267631,
- 'title' => null,
+ 'children' => ['ListOperationDatabases', 'ListOperationHosts', 'ListOperationHostAccounts', 'ListOperationDatabaseAccounts', 'GenerateAssetOperationToken', 'RenewAssetOperationToken', 'CreateOperationTicket'],
'type' => 'directory',
- 'children' => [
- 'ListOperationDatabases',
- 'ListOperationHosts',
- 'ListOperationHostAccounts',
- 'ListOperationDatabaseAccounts',
- 'GenerateAssetOperationToken',
- 'RenewAssetOperationToken',
- 'CreateOperationTicket',
- ],
+ 'title' => 'O&M tokens (supported only in V3.2.40 and later)',
],
[
- 'id' => 267639,
- 'title' => null,
+ 'children' => ['CreateRule', 'ModifyRule', 'GetRule', 'ListRules', 'EnableRule', 'DisableRule', 'DeleteRule'],
'type' => 'directory',
- 'children' => [
- 'CreateRule',
- 'ModifyRule',
- 'GetRule',
- 'ListRules',
- 'EnableRule',
- 'DisableRule',
- 'DeleteRule',
- ],
+ 'title' => 'Authorization rules (supported only in V3.2.40 and later)',
],
[
- 'id' => 267647,
- 'title' => null,
+ 'children' => ['CreatePolicy', 'ModifyPolicy', 'GetPolicy', 'ListPolicies', 'GetPolicyAssetScope', 'SetPolicyProtocolConfig', 'SetPolicyCommandConfig', 'SetPolicyIPAclConfig', 'GetPolicyUserScope', 'SetPolicyAccessTimeRangeConfig', 'SetPolicyAssetScope', 'SetPolicyUserScope', 'SetPolicyApprovalConfig', 'DeletePolicy'],
'type' => 'directory',
- 'children' => [
- 'CreatePolicy',
- 'ModifyPolicy',
- 'GetPolicy',
- 'ListPolicies',
- 'GetPolicyAssetScope',
- 'SetPolicyProtocolConfig',
- 'SetPolicyCommandConfig',
- 'SetPolicyIPAclConfig',
- 'GetPolicyUserScope',
- 'SetPolicyAccessTimeRangeConfig',
- 'SetPolicyAssetScope',
- 'SetPolicyUserScope',
- 'SetPolicyApprovalConfig',
- 'DeletePolicy',
- ],
+ 'title' => 'Control policies (supported only in V3.2.40 and later)',
],
[
- 'id' => 267662,
- 'title' => null,
+ 'children' => ['ListApproveCommands', 'AcceptApproveCommand', 'RejectApproveCommand', 'ListOperationTickets', 'AcceptOperationTicket', 'RejectOperationTicket'],
'type' => 'directory',
- 'children' => [
- 'ListApproveCommands',
- 'AcceptApproveCommand',
- 'RejectApproveCommand',
- 'ListOperationTickets',
- 'AcceptOperationTicket',
- 'RejectOperationTicket',
- ],
+ 'title' => 'Approvals (supported only in V3.2.37 and later)',
],
[
- 'id' => 267669,
- 'title' => null,
+ 'children' => ['CreateHostShareKey', 'GetHostShareKey', 'ListHostShareKeys', 'ListHostAccountsForHostShareKey', 'ModifyHostShareKey', 'AttachHostAccountsToHostShareKey', 'DetachHostAccountsFromHostShareKey', 'DeleteHostShareKey'],
'type' => 'directory',
- 'children' => [
- 'CreateHostShareKey',
- 'GetHostShareKey',
- 'ListHostShareKeys',
- 'ListHostAccountsForHostShareKey',
- 'ModifyHostShareKey',
- 'AttachHostAccountsToHostShareKey',
- 'DetachHostAccountsFromHostShareKey',
- 'DeleteHostShareKey',
- ],
+ 'title' => 'Shared keys (supported only in V3.2.X)',
],
[
- 'id' => 267678,
- 'title' => null,
+ 'children' => ['GetInstanceADAuthServer', 'ModifyInstanceADAuthServer', 'GetInstanceTwoFactor', 'ModifyInstanceTwoFactor', 'ModifyInstanceLDAPAuthServer', 'GetInstanceLDAPAuthServer', 'GetInstanceStoreInfo', 'CreateExportConfigJob', 'GetExportConfigJob'],
'type' => 'directory',
- 'children' => [
- 'GetInstanceADAuthServer',
- 'ModifyInstanceADAuthServer',
- 'GetInstanceTwoFactor',
- 'ModifyInstanceTwoFactor',
- 'ModifyInstanceLDAPAuthServer',
- 'GetInstanceLDAPAuthServer',
- 'GetInstanceStoreInfo',
- 'CreateExportConfigJob',
- 'GetExportConfigJob',
- ],
+ 'title' => 'System settings (supported only in V3.2.X)',
],
[
- 'id' => 267688,
- 'title' => null,
+ 'children' => ['VerifyInstanceLDAPAuthServer', 'VerifyInstanceADAuthServer', 'AllowOperationTaskApproval', 'GetAutoOpsTask', 'ListTodoOpsTaskApprovals', 'RejectOperationTaskApproval'],
'type' => 'directory',
- 'children' => [
- 'VerifyInstanceLDAPAuthServer',
- 'VerifyInstanceADAuthServer',
- ],
+ 'title' => 'Others',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'DescribeInstanceAttribute' => [
- 'summary' => 'Queries the attribute information about the specified bastion host. The information includes the ID and remarks of the bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'AcceptApproveCommand' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '91488',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the DescribeInstances operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
+ ],
+ [
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'CommandId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Bastionhost instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1ghxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the command that you want to approve.'."\n"
+ ."\n"
+ .'> You can call the [ListApproveCommands](~~2584310~~) operation to query the IDs of all commands that need to be reviewed.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '082FAB35-6AB9-4FD5-8750-D36673548E76',
- ],
- 'InstanceAttribute' => [
- 'description' => 'The attribute information about the bastion host.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'VpcId' => [
- 'description' => 'The ID of the VPC to which the instance belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp1c85tzgqu1bf5bxxxxx',
- ],
- 'VswitchId' => [
- 'description' => 'The ID of the vSwitch to which the instance connects.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-bp1xfwzzfti0kjbfxxxxx',
- ],
- 'Description' => [
- 'description' => 'The description of the instance.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'ExpireTime' => [
- 'description' => 'The time when the instance expires.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1578326400000',
- ],
- 'ModifyPasswordModule' => [
- 'description' => 'The status of the automatic password change feature.'."\n"
- ."\n"
- .'- **Enable**'."\n"
- .'- **Disable**',
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'EniInstanceId' => [
- 'description' => 'The ID of the Elastic Network Interface (ENI).'."\n",
- 'type' => 'string',
- 'example' => 'eni-bp1455jrzwm7moaxxxxx',
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'bastionhost-cn-78v1ghxxxxx',
- ],
- 'InternetEndpoint' => [
- 'description' => 'The public endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'drawvxalwb-public.bastionhost.aliyuncs.com',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'IntranetEndpoint' => [
- 'description' => 'The private endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'drawvxalwb.bastionhost.aliyuncs.com',
- ],
- 'StartTime' => [
- 'description' => 'The time when the instance started.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1577681345000',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group to which the instance belongs.'."\n",
- 'type' => 'string',
- 'example' => 'rg-aekzc427dbl2shy',
- ],
- 'NetworkProxyModule' => [
- 'description' => 'The status of the network domain feature.'."\n"
- ."\n"
- .'- **Enable**'."\n"
- .'- **Disable**',
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'WebTerminalModule' => [
- 'description' => 'The status of the web terminal.'."\n"
- ."\n"
- .'- **Enable**'."\n"
- .'- **Disable**',
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'InstanceStatus' => [
- 'description' => 'The status of the instance. Valid values:'."\n"
- ."\n"
- .'* PENDING: The instance is not initialized.'."\n"
- .'* CREATING: The instance is being created.'."\n"
- .'* RUNNING: The instance is running.'."\n"
- .'* EXPIRED: The instance expired.'."\n"
- .'* CREATE_FAILED: The instance fails to be created.'."\n"
- .'* UPGRADING: The configurations of the instance are being changed.'."\n"
- .'* UPGRADE_FAILED: The configurations of the instance fail to be changed.'."\n",
- 'type' => 'string',
- 'example' => 'RUNNING',
- ],
- 'LicenseCode' => [
- 'description' => 'The license code.'."\n",
- 'type' => 'string',
- 'example' => 'bhah_ent_50_asset',
- ],
- 'PublicNetworkAccess' => [
- 'description' => 'Indicates whether the Bastionhost instance can be accessed over the Internet.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Storage' => [
- 'description' => 'The storage capacity of the bastion host. Unit: bytes.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2199023255552',
- ],
- 'Ports' => [
- 'description' => 'An array that consists of the O&M ports of the bastion host.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The O&M port of the bastion host.',
- 'type' => 'object',
- 'properties' => [
- 'StandardPort' => [
- 'description' => 'The standard port of the bastion host. Valid values:'."\n"
- ."\n"
- .'* **SSH**: 60022.'."\n"
- .'* **RDP**: 63389.'."\n"
- .'* **HTTPS**: 443.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '60022',
- ],
- 'CustomPort' => [
- 'description' => 'The custom port.'."\n"
- ."\n"
- .'> Only the SSH and RDP ports can be changed. If no custom O\\&M port is specified for the bastion host, the value of StandardPort is returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '600xx',
- ],
- ],
- ],
- ],
- 'PublicExportIps' => [
- 'description' => 'An array that consists of the egress public IP addresses of the bastion host.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The egress public IP address of the bastion host.',
- 'type' => 'string',
- 'example' => '[10.162.168.xx/32]',
- ],
- ],
- 'PublicWhiteList' => [
- 'description' => 'The public IP addresses that are allowed to access the instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'An array that consists of public IP addresses in a whitelist for the bastion host.',
- 'type' => 'string',
- 'example' => '[10.162.168.xx/32]',
- ],
- ],
- 'AuthorizedSecurityGroups' => [
- 'description' => 'The IDs of authorized security groups.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of authorized security group.',
- 'type' => 'string',
- 'example' => '[sg-bp14u00sh39jvw5xxxxx]',
- ],
- ],
- 'PrivateExportIps' => [
- 'description' => 'An array that consists of the egress private IP addresses of the bastion host.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The egress private IP address of the bastion host.',
- 'type' => 'string',
- 'example' => '192.168.xx.xx',
- ],
- ],
- 'PublicIps' => [
- 'description' => 'The public IP address.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The public IP address.',
- 'type' => 'string',
- 'example' => '116.62.xx.xx',
- ],
- ],
- 'SecurityGroupIds' => [
- 'description' => 'The IDs of the security groups to which the instance belongs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the security groups.',
- 'type' => 'string',
- 'example' => 'sg-bp15ed6xe1yxeycg7o****',
- ],
- ],
- 'PrivateWhiteList' => [
- 'description' => 'The private IP addresses that are allowed to access the instance.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The private IP address that is added to the whitelist of the bastion host.',
- 'type' => 'string',
- 'example' => '192.168.xx.xx',
- ],
- ],
- 'Bandwidth' => [
- 'description' => 'The total bandwidth of the bastion host.',
- 'type' => 'string',
- 'example' => '30',
- ],
- 'BandwidthPackage' => [
- 'description' => 'The bandwidth plan ID.'."\n",
- 'type' => 'string',
- 'example' => '5',
- ],
- 'DbOperationModule' => [
- 'description' => 'The status of the database O&M feature.',
- 'type' => 'string',
- 'example' => 'Disable',
- ],
- 'RouterRules' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- ],
- 'IDaaSModule' => [
- 'type' => 'string',
- ],
- 'SlaveVswitchId' => [
- 'type' => 'string',
- ],
- 'ScriptDeliverModule' => [
- 'type' => 'string',
- ],
- 'KmsSecretModule' => [
- 'type' => 'string',
- ],
- 'RDModule' => [
- 'type' => 'string',
- ],
- 'HSMModule' => [
- 'type' => 'string',
- ],
- 'WhiteListPolicies' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Entry' => [
- 'type' => 'string',
- ],
- 'Description' => [
- 'type' => 'string',
- ],
- ],
- ],
- ],
- 'AppOperationModule' => [
- 'type' => 'string',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"082FAB35-6AB9-4FD5-8750-D36673548E76\\",\\n \\"InstanceAttribute\\": {\\n \\"VpcId\\": \\"vpc-bp1c85tzgqu1bf5bxxxxx\\",\\n \\"VswitchId\\": \\"vsw-bp1xfwzzfti0kjbfxxxxx\\",\\n \\"Description\\": \\"测试API\\",\\n \\"ExpireTime\\": 1578326400000,\\n \\"ModifyPasswordModule\\": \\"Enable\\",\\n \\"EniInstanceId\\": \\"eni-bp1455jrzwm7moaxxxxx\\",\\n \\"InstanceId\\": \\"bastionhost-cn-78v1ghxxxxx\\",\\n \\"InternetEndpoint\\": \\"******lwb-public.bastionhost.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IntranetEndpoint\\": \\"******xalwb.bastionhost.aliyuncs.com\\",\\n \\"StartTime\\": 1577681345000,\\n \\"ResourceGroupId\\": \\"rg-aekzc427db******\\",\\n \\"NetworkProxyModule\\": \\"Enable\\",\\n \\"WebTerminalModule\\": \\"Enable\\",\\n \\"InstanceStatus\\": \\"RUNNING\\",\\n \\"LicenseCode\\": \\"bhah_ent_50_asset\\",\\n \\"PublicNetworkAccess\\": true,\\n \\"Storage\\": 2199023255552,\\n \\"Ports\\": [\\n {\\n \\"StandardPort\\": 60022,\\n \\"CustomPort\\": 0\\n }\\n ],\\n \\"PublicExportIps\\": [\\n \\"[10.162.168.xx/32]\\"\\n ],\\n \\"PublicWhiteList\\": [\\n \\"[10.162.168.xx/32]\\"\\n ],\\n \\"AuthorizedSecurityGroups\\": [\\n \\"[sg-bp14u00sh39jvw5xxxxx]\\"\\n ],\\n \\"PrivateExportIps\\": [\\n \\"192.168.xx.xx\\"\\n ],\\n \\"PublicIps\\": [\\n \\"116.62.xx.xx\\"\\n ],\\n \\"SecurityGroupIds\\": [\\n \\"sg-bp15ed6xe1yxeycg7o****\\"\\n ],\\n \\"PrivateWhiteList\\": [\\n \\"192.168.xx.xx\\"\\n ],\\n \\"Bandwidth\\": \\"30\\",\\n \\"BandwidthPackage\\": \\"5\\",\\n \\"DbOperationModule\\": \\"Disable\\",\\n \\"RouterRules\\": [\\n \\"\\"\\n ],\\n \\"IDaaSModule\\": \\"\\",\\n \\"SlaveVswitchId\\": \\"\\",\\n \\"ScriptDeliverModule\\": \\"\\",\\n \\"KmsSecretModule\\": \\"\\",\\n \\"RDModule\\": \\"\\",\\n \\"HSMModule\\": \\"\\",\\n \\"WhiteListPolicies\\": [\\n {\\n \\"Entry\\": \\"\\",\\n \\"Description\\": \\"\\"\\n }\\n ],\\n \\"AppOperationModule\\": \\"\\"\\n }\\n}","type":"json"}]',
- 'title' => 'DescribeInstanceAttribute',
- 'description' => '****'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeInstances' => [
- 'summary' => 'Queries bastion hosts.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'AcceptApproveCommand',
+ 'summary' => 'If an O\\\\\\\\\\\\&M engineer attempts to run a command specified in the Command Approval field on the Create Control Policy page, the administrator is notified to review the command in the Bastionhost console. The command can be run only after it is approved by the administrator.',
+ 'description' => 'Approves an O\\&M engineer\'s command execution request as a Bastionhost administrator.'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AcceptApproveCommand'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'AcceptOperationTicket' => [
+ 'summary' => 'Approves an O\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&M application.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '188193',
+ 'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- 'default' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '100',
- 'minimum' => '1',
- 'example' => '10',
- 'default' => '20',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'OperationTicketId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the O\\&M application that you want to approve. You can call the ListOperationTickets operation to query the IDs of all O\\&M applications that require review.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'InstanceStatus',
+ 'name' => 'EffectCount',
'in' => 'query',
+ 'allowEmptyValue' => false,
'schema' => [
- 'description' => 'The status of the bastion host. Valid values:'."\n"
+ 'description' => 'The maximum number of logons allowed. Valid values:'."\n"
."\n"
- .'* **PENDING**: The bastion host is not initialized.'."\n"
- .'* **CREATING**: The bastion host is being created.'."\n"
- .'* **RUNNING**: The bastion host is running.'."\n"
- .'* **EXPIRED**: The bastion host expired.'."\n"
- .'* **CREATE_FAILED**: The bastion host fails to be created.'."\n"
- .'* **UPGRADING**: The configurations of the bastion host are being changed.'."\n"
- .'* **UPGRADE_FAILED**: The configurations of the bastion host fail to be changed.'."\n",
+ .'- **0**: The number of logons is unlimited. The O\\&M engineer can log on to the specified asset for unlimited times during the validity period.'."\n"
+ ."\n"
+ .'- **1**: The O\\&M engineer can log on to the specified asset only once during the validity period.'."\n"
+ ."\n"
+ .'> * You can set this parameter only to 0 if you review an O\\&M application on a database.'."\n"
+ .'>'."\n"
+ .'> * If you do not specify this parameter, the default value 0 is used.',
'type' => 'string',
'required' => false,
- 'example' => 'RUNNING',
+ 'enum' => ['1', '0'],
+ 'example' => '1',
+ 'title' => '',
],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'EffectStartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the bastion host belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm26ougi****',
- ],
+ 'schema' => ['description' => 'The start time of the validity period. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'string', 'required' => false, 'example' => '1685600242', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'EffectEndTime',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'An array that consists of the IDs of the bastion hosts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
- 'required' => false,
- 'example' => 'bastionhost-cn-78v1ghxxxxx',
- 'maxItems' => 10,
- ],
+ 'schema' => ['description' => 'The end time of the validity period. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'string', 'required' => false, 'example' => '1679393152', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'Comment',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'An array consisting of the tags that are added to the bastion hosts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tag that is added to the bastion host.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => 'The value of the tag.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testapi',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ 'schema' => ['description' => 'The review description.', 'type' => 'string', 'required' => false, 'example' => 'Comment', 'title' => ''],
],
],
'responses' => [
@@ -792,382 +259,261 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of bastion hosts that are queried.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '4',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '61D36C55-AAFC-4678-8FAD-34FEF9E7182E',
- ],
- 'Instances' => [
- 'description' => 'An array that consists of the bastion hosts returned.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'VpcId' => [
- 'description' => 'The ID of the virtual private cloud (VPC) to which the bastion host belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-bp1c85tzgqu1bf5b****',
- ],
- 'VswitchId' => [
- 'description' => 'The ID of the vSwitch to which the bastion host belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-bp1xfwzzfti0kjbf****',
- ],
- 'ImageVersion' => [
- 'description' => 'The image version of the bastion host.'."\n",
- 'type' => 'string',
- 'example' => '3.0.0',
- ],
- 'PlanCode' => [
- 'description' => 'The edition of the bastion host. Valid values:'."\n"
- ."\n"
- .'* **cloudbastion**: Basic Edition.'."\n"
- .'* **cloudbastion_ha**: Enterprise Edition.'."\n",
- 'type' => 'string',
- 'example' => 'cloudbastion_ha',
- ],
- 'Description' => [
- 'description' => 'The remarks of the bastion host.'."\n",
- 'type' => 'string',
- 'example' => 'Test API'."\n",
- ],
- 'ExpireTime' => [
- 'description' => 'The timestamp when the bastion host expires. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1578326400000',
- ],
- 'Legacy' => [
- 'description' => 'Indicates whether the bastion host runs an earlier version. Valid values:'."\n"
- ."\n"
- .'* **true**: The bastion host runs V2 or V3.1.'."\n"
- .'* **false**: The bastion host runs V3.2.'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'InstanceId' => [
- 'description' => 'The bastion host ID.'."\n",
- 'type' => 'string',
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
- 'InternetEndpoint' => [
- 'description' => 'The public O\\&M address of the bastion host.'."\n",
- 'type' => 'string',
- 'example' => 'drawvxalwb-public.bastionhost.aliyuncs.com',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'IntranetEndpoint' => [
- 'description' => 'The private O\\&M address of the bastion host.'."\n",
- 'type' => 'string',
- 'example' => 'drawvxalwb.bastionhost.aliyuncs.com',
- ],
- 'StartTime' => [
- 'description' => 'The timestamp when the bastion host is purchased or renewed. Unit: milliseconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1577681345000',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group to which the bastion host belongs.'."\n",
- 'type' => 'string',
- 'example' => 'g-acfm26ougi****',
- ],
- 'InstanceStatus' => [
- 'description' => 'The status of the bastion host. Valid values:'."\n"
- ."\n"
- .'* **PENDING**: The bastion host is not initialized.'."\n"
- .'* **CREATING**: The bastion host is being created.'."\n"
- .'* **RUNNING**: The bastion host is running.'."\n"
- .'* **EXPIRED**: The bastion host expired.'."\n"
- .'* **CREATE_FAILED**: The bastion host fails to be created.'."\n"
- .'* **UPGRADING**: The configurations of the bastion host are being changed.'."\n"
- .'* **UPGRADE_FAILED**: The configurations of the bastion host fail to be changed.'."\n",
- 'type' => 'string',
- 'example' => 'RUNNING',
- ],
- 'LicenseCode' => [
- 'description' => 'The license code of the bastion host.'."\n",
- 'type' => 'string',
- 'example' => 'bhah_ent_50_asset',
- ],
- 'PublicNetworkAccess' => [
- 'description' => 'Indicates whether the bastion host can be accessed from the Internet. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'SlaveVswitchId' => [
- 'type' => 'string',
- ],
- 'BandWidth' => [
- 'type' => 'integer',
- 'format' => 'int64',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 4,\\n \\"RequestId\\": \\"61D36C55-AAFC-4678-8FAD-34FEF9E7182E\\",\\n \\"Instances\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1c85tzgqu1bf5b****\\",\\n \\"VswitchId\\": \\"vsw-bp1xfwzzfti0kjbf****\\",\\n \\"ImageVersion\\": \\"3.2.41\\",\\n \\"PlanCode\\": \\"cloudbastion_ha\\",\\n \\"Description\\": \\"测试API\\",\\n \\"ExpireTime\\": 1578326400000,\\n \\"Legacy\\": false,\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"InternetEndpoint\\": \\"******lwb-public.bastionhost.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IntranetEndpoint\\": \\"******lwb.bastionhost.aliyuncs.com\\",\\n \\"StartTime\\": 1577681345000,\\n \\"ResourceGroupId\\": \\"g-acfm26ougi****\\",\\n \\"InstanceStatus\\": \\"RUNNING\\",\\n \\"LicenseCode\\": \\"bhah_ent_50_asset\\",\\n \\"PublicNetworkAccess\\": true,\\n \\"SlaveVswitchId\\": \\"\\",\\n \\"BandWidth\\": 0\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstancesResponse>\\n <TotalCount>4</TotalCount>\\n <RequestId>61D36C55-AAFC-4678-8FAD-34FEF9E7182E</RequestId>\\n <Instances>\\n <VpcId>vpc-bp1c85tzgqu1bf5b****</VpcId>\\n <VswitchId>vsw-bp1xfwzzfti0kjbf****</VswitchId>\\n <ImageVersion>3.0.0</ImageVersion>\\n <PlanCode>cloudbastion_ha</PlanCode>\\n <Description>测试API</Description>\\n <ExpireTime>1578326400000</ExpireTime>\\n <Legacy>false</Legacy>\\n <InstanceId>bastionhost-cn-78v1gh****</InstanceId>\\n <InternetEndpoint>drawvxalwb-public.bastionhost.aliyuncs.com</InternetEndpoint>\\n <RegionId>cn-hangzhou</RegionId>\\n <IntranetEndpoint>drawvxalwb.bastionhost.aliyuncs.com</IntranetEndpoint>\\n <StartTime>1577681345000</StartTime>\\n <ResourceGroupId>g-acfm26ougi****</ResourceGroupId>\\n <InstanceStatus>RUNNING</InstanceStatus>\\n <LicenseCode>bhah_ent_50_asset</LicenseCode>\\n <PublicNetworkAccess>true</PublicNetworkAccess>\\n </Instances>\\n</DescribeInstancesResponse>","errorExample":""}]',
- 'title' => 'DescribeInstances',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ConfigInstanceSecurityGroups' => [
- 'summary' => 'Configures security groups for a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ 'title' => 'AcceptOperationTicket',
+ 'description' => 'Approves an O\\&M engineer\'s O\\&M application as a Bastionhost administrator.'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AcceptOperationTicket'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'AddDatabasesToGroup' => [
+ 'summary' => 'Adds multiple databases to a specified asset group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
- 'name' => 'Lang',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The language of the content within the request and response. Default value: **zh**. Valid values:'."\n"
- ."\n"
- .'* **zh**: Chinese'."\n"
- .'* **en**: English'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'zh',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'HostGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the asset group to which you want to add the databases.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the asset group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'AuthorizedSecurityGroups',
+ 'name' => 'DatabaseIds',
'in' => 'query',
- 'style' => 'repeatList',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'An array that consists of the IDs of authorized security groups.'."\n",
+ 'description' => 'An array that consists of the database IDs.',
'type' => 'array',
- 'items' => [
- 'description' => 'The ID of authorized security group N. Valid values of N: 1 to 100.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
+ 'items' => ['description' => 'The IDs of the databases that you want to add to the asset group. You can specify up to 100 IDs. You can call the [ListDatabases](~~2758822~~) operation to query the database IDs.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
'required' => true,
- 'example' => 'sg-bp14u00sh39jvw5****',
- 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'InstanceId' => [
- 'description' => 'The ID of the bastion host for which security groups were configured.'."\n",
- 'type' => 'string',
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '0ECCC399-4D35-48A7-8379-5C6180E66235',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The data returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code returned. If **OK** is returned, the operation was successful. If another error code is returned, the operation failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '9', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Message' => ['description' => 'The error message returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"0ECCC399-4D35-48A7-8379-5C6180E66235\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigInstanceSecurityGroupsResponse>\\n <InstanceId>bastionhost-cn-78v1gh****</InstanceId>\\n <RequestId>0ECCC399-4D35-48A7-8379-5C6180E66235</RequestId>\\n</ConfigInstanceSecurityGroupsResponse>","errorExample":""}]',
- 'title' => 'ConfigInstanceSecurityGroups',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ConfigInstanceWhiteList' => [
- 'summary' => 'Configures a whitelist of public IP addresses for a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseId\\": \\"9\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"Message\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'AddDatabasesToGroup',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddDatabasesToGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'AddHostsToGroup' => [
+ 'summary' => 'Adds one or more hosts to the specified host group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '91477',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to configure a whitelist of public IP addresses.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose asset group you want to add hosts to.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose asset group you want to add hosts to.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'WhiteList',
+ 'name' => 'HostGroupId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IP address whitelist that you want to configure.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IP addresses that you want to include in the whitelist. You can specify up to 50 IP addresses. To add multiple IP addresses to the whitelist, separate the IP addresses with commas (,).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10.162.XX.XX,192.168.XX.XX',
- ],
- 'required' => false,
- 'example' => '10.162.XX.XX',
- 'maxItems' => 50,
- ],
+ 'schema' => ['description' => 'The ID of the asset group to which you want to add hosts.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the asset group ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'WhiteListPolicies',
+ 'name' => 'HostIds',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Entry' => [
- 'type' => 'string',
- ],
- 'Description' => [
- 'type' => 'string',
- ],
- ],
- ],
- 'required' => false,
- 'maxItems' => 50,
- ],
+ 'schema' => ['description' => 'The IDs of the hosts that you want to add to the asset group. Specify a JSON string. You can specify up to 100 host IDs.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the host IDs.', 'type' => 'string', 'required' => true, 'example' => '["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'InstanceId' => [
- 'description' => 'The ID of the bastion host for which a whitelist of public IP addresses is configured.'."\n",
- 'type' => 'string',
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '47820E32-5968-45CF-982F-09CB80DC180B',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '81500666-d7f5-4143-8329-0223cc738105', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .' > Make sure that the request parameters are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .' > Make sure that the specified bastion host ID and host IDs are valid. Then, call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"47820E32-5968-45CF-982F-09CB80DC180B\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigInstanceWhiteListResponse>\\n<RequestId>47820E32-5968-45CF-982F-09CB80DC180B</RequestId>\\n<InstanceId>bastionhost-cn-78v1gh****</InstanceId>\\n</ConfigInstanceWhiteListResponse>","errorExample":""}]',
- 'title' => 'ConfigInstanceWhiteList',
- 'description' => '## Usage notes'."\n"
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'AddHostsToGroup',
+ 'description' => 'Adds multiple hosts to a host group. By adding multiple hosts to a host group, you can centrally manage these hosts and grant permissions in batch.'."\n"
."\n"
- .'You can call this operation to configure a whitelist of public IP addresses for a bastion host. By default, a bastion host is accessible from all public IP addresses. If you want to allow the requests from specific public IP addresses, you can call this operation to add trusted IP addresses to the whitelist of the bastion host. '."\n"
- ."\n\n"
- .'## Limits'."\n"
+ .'# Limits'."\n"
."\n"
- .'You can call this operation up to 30 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
- 'requestParamsDescription' => ' ',
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds a limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limits when you call this operation.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'StartInstance' => [
- 'summary' => 'Starts a bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddHostsToGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'AddInstanceRdMember' => [
+ 'summary' => 'Adds a Resource Directory (RD) member account to a Bastionhost instance so that you can import and manage the cloud assets of the member account through Bastionhost.',
+ 'path' => '',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -1176,202 +522,190 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '91530',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host that you want to enable.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
- ],
- [
- 'name' => 'VswitchId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the vSwitch to which the bastion host belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vsw-bp1xfwzzfti0kjbf****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-7mz2ve7h00a', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'SecurityGroupIds',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'An array consisting of the IDs of security groups to which the bastion host is added.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the security group to which the bastion host is added.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'sg-bp1aiupc4yjqgmm****',
- ],
- 'required' => true,
- 'example' => 'sg-bp1aiupc4yjqgmm****',
- 'maxItems' => 100,
- ],
- ],
- [
- 'name' => 'ClientSecurityGroupIds',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- 'maxItems' => 5,
- 'minItems' => 1,
- ],
- ],
- [
- 'name' => 'SlaveVswitchId',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
- ],
- [
- 'name' => 'EnablePortalPrivateAccess',
+ 'name' => 'MemberId',
'in' => 'query',
- 'schema' => [
- 'type' => 'boolean',
- ],
+ 'schema' => ['description' => 'The UID of the RD member account to add.', 'type' => 'string', 'required' => true, 'example' => '1857311509574932', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'InstanceId' => [
- 'description' => 'The ID of the bastion host that you enable.'."\n",
- 'type' => 'string',
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '0F85AE0A-6A87-48F3-A0C7-90B998788A36',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948'],
],
+ 'title' => '',
+ 'description' => 'The response parameters.',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"0F85AE0A-6A87-48F3-A0C7-90B998788A36\\"\\n}","errorExample":""},{"type":"xml","example":"<StartInstanceResponse>\\n <InstanceId>bastionhost-cn-78v1gh****</InstanceId>\\n <RequestId>0F85AE0A-6A87-48F3-A0C7-90B998788A36</RequestId>\\n</StartInstanceResponse>","errorExample":""}]',
- 'title' => 'StartInstance',
- 'extraInfo' => ' ',
- ],
- 'EnableInstancePublicAccess' => [
- 'summary' => 'Enables Internet access to a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'AddInstanceRdMember',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AddInstanceRdMember',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\"\\n}","type":"json"}]',
+ ],
+ 'AddUsersToGroup' => [
+ 'summary' => 'Add one or more users to a user group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to add users to the user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to add users to the user group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the user group to which you want to add users.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserIds',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the user that you want to add to the user group. The value is a JSON string. You can add up to 100 user IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => ' ["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'InstanceId' => [
- 'description' => 'The ID of the bastion host whose Internet access is enabled.'."\n",
- 'type' => 'string',
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'D47B5043-FDD6-4FBE-976E-5FC67A23578F',
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'> Make sure that the request parameters are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'> Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"D47B5043-FDD6-4FBE-976E-5FC67A23578F\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableInstancePublicAccessResponse>\\n <InstanceId>bastionhost-cn-78v1gh****</InstanceId>\\n <RequestId>D47B5043-FDD6-4FBE-976E-5FC67A23578F</RequestId>\\n</EnableInstancePublicAccessResponse>","errorExample":""}]',
- 'title' => 'EnableInstancePublicAccess',
- 'requestParamsDescription' => ' ',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'AddUsersToGroup',
+ 'description' => '#'."\n"
+ ."\n"
+ .'Adds one or more users to a user group. After creating a user group with the [CreateUserGroup](~~204596~~) operation, use this operation to add multiple users at once for centralized permission management.'."\n"
+ ."\n"
+ .'# Limit'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DisableInstancePublicAccess' => [
- 'summary' => 'Disables Internet access to a bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddUsersToGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'AllowOperationTaskApproval' => [
+ 'summary' => 'Approves an O&M task execution request.',
+ 'path' => '',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -1383,239 +717,386 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeCode' => '203614',
+ 'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose Internet access you want to disable.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host instance.'."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-lbj3bw4ma02', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ .'> For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'ApproveId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The approval ID of the O&M task.'."\n"
+ .'> You can call the ListTodoOpsTaskApprovals operation to query this parameter.', 'type' => 'string', 'required' => true, 'example' => '1'],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'InstanceId' => [
- 'description' => 'The ID of the bastion host whose Internet access is disabled.'."\n",
- 'type' => 'string',
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '76FAAF15-D3A3-4099-9941-FC408D9FDB4C',
+ 'RequestId' => ['description' => 'The request ID generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The returned results.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code. OK indicates success. Other values indicate errors.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'TaskId' => ['description' => 'The O&M task ID.', 'type' => 'string', 'example' => '4', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"76FAAF15-D3A3-4099-9941-FC408D9FDB4C\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableInstancePublicAccessResponse>\\n <InstanceId>bastionhost-cn-78v1gh****</InstanceId>\\n <RequestId>76FAAF15-D3A3-4099-9941-FC408D9FDB4C</RequestId>\\n</DisableInstancePublicAccessResponse>","errorExample":""}]',
- 'title' => 'DisableInstancePublicAccess',
- 'extraInfo' => ' ',
- ],
- 'ModifyInstanceAttribute' => [
- 'summary' => 'Modifies the information about a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Approves an O&M task execution request',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"TaskId\\": \\"4\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'translator' => 'machine',
+ ],
+ 'AttachDatabaseAccountsToUser' => [
+ 'summary' => 'Authorizes a user to manage databases and database accounts.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose user you want to grant permissions.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-wwo36qbv601', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the bastion host.'."\n"
- ."\n"
- .'> The description must be up to 30 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Bastionhost demo',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'UserId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the user to be authorized.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'Databases',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
+ 'description' => 'An array that consists of database objects.'."\n"
."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
+ .'> You can specify up to 10 databases and 10 database accounts. The database accounts are not required. If you do not specify a database account, the user is authorized to manage only the databases.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseId' => ['description' => 'The ID of the database that you want to authorize the user to manage.', 'type' => 'string', 'required' => false, 'example' => '22', 'title' => ''],
+ 'DatabaseAccountIds' => [
+ 'description' => 'An array that consists of database account IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The database account ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'cn-hangzhou',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'E07158EA-D1A3-4BAA-84DA-2FE230D03884',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '23120B8E-8737-50BD-A3A3-902A7821F04D', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code that is returned. If **OK** is returned, the authorization was successful. If another error code is returned, the authorization failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseAccounts' => [
+ 'description' => 'A list that shows the authorization results of the database accounts.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code that is returned. If OK is returned, the authorization was successful. If another error code is returned, the authorization failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseAccountId' => ['description' => 'The database account ID.', 'type' => 'string', 'example' => '6', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '22', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E07158EA-D1A3-4BAA-84DA-2FE230D03884\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyInstanceAttributeResponse>\\n <RequestId>E07158EA-D1A3-4BAA-84DA-2FE230D03884</RequestId>\\n</ModifyInstanceAttributeResponse>","errorExample":""}]',
- 'title' => 'ModifyInstanceAttribute',
- ],
- 'MoveResourceGroup' => [
- 'summary' => 'Moves a bastion host from one resource group to another resource group.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"23120B8E-8737-50BD-A3A3-902A7821F04D\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccountId\\": \\"6\\",\\n \\"Message\\": \\"success\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"22\\",\\n \\"Message\\": \\"None\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'AttachDatabaseAccountsToUser',
+ 'requestParamsDescription' => 'Data structures of request parameters'."\n"
+ ."\n"
+ .'Databases'."\n"
+ ."\n"
+ .'| Field | Type | Description |'."\n"
+ .'| ------------------ | ------------- | ----------------------------------------------------------------------------- |'."\n"
+ .'| DatabaseId | string | The database ID. |'."\n"
+ .'| DatabaseAccountIds | array[string] | An array that consists of database account IDs. You can specify up to 10 IDs. |'."\n"
+ ."\n"
+ .'The following code provides example values of the Databases parameter:'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"DatabaseId":"1"} // Authorize the user to manage only the database.{"DatabaseId":"2","DatabaseAccountIds":["1","2","3",...]}, // Authorize the user to manage the database and database accounts.{"DatabaseId":"5","DatabaseAccountIds":[]} // Not supported.]'."\n"
+ .'```',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachDatabaseAccountsToUser'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'AttachDatabaseAccountsToUserGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
- 'name' => 'ResourceId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to change the resource group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zvp282aly06', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the bastion host is moved.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the resource group ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rg-aekznp3oyo****',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource. Set the value to **INSTANCE**, which indicates that the resource is a bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'INSTANCE',
- ],
+ 'schema' => ['description' => 'The ID of the user group to which to grant the permissions.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'Databases',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ 'description' => 'An array of database objects.'."\n"
+ ."\n"
+ .'> You can specify up to 10 databases and 10 database accounts. If you do not specify any database accounts, permissions are granted on the entire database.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseId' => ['description' => 'The ID of the database instance on which you want to grant permissions.', 'type' => 'string', 'required' => false, 'example' => '58', 'title' => ''],
+ 'DatabaseAccountIds' => [
+ 'description' => 'An array of database account IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of a database account.', 'type' => 'string', 'required' => false, 'example' => '["1","2","3"]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '1DEEC28D-27B1-4358-B6DC-E1285AE655C5',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '5D0EB759-CB0A-537D-A2CC-13A9854FA08D', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The results of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code. If the value is \\`OK\\`, the authorization was successful. Other values indicate that the authorization failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseAccounts' => [
+ 'description' => 'A list of database account information.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code. If the value is \\`OK\\`, the authorization was successful. Other values indicate that the authorization failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseAccountId' => ['description' => 'The ID of the database account.', 'type' => 'string', 'example' => '8', 'title' => ''],
+ 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'NULL', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'DatabaseId' => ['description' => 'The ID of the database instance.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'NULL', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the user group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1DEEC28D-27B1-4358-B6DC-E1285AE655C5\\"\\n}","errorExample":""},{"type":"xml","example":"<MoveResourceGroupResponse>\\n <RequestId>1DEEC28D-27B1-4358-B6DC-E1285AE655C5</RequestId>\\n</MoveResourceGroupResponse>","errorExample":""}]',
- 'title' => 'MoveResourceGroup',
- 'extraInfo' => ' ',
- ],
- 'AddInstanceRdMember' => [
- 'summary' => '添加RD成员账号',
- 'path' => '',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'title' => 'AttachDatabaseAccountsToUserGroup',
+ 'summary' => 'Grants permissions on databases and database accounts to a user group.',
+ 'requestParamsDescription' => 'Request parameter data structure'."\n"
+ ."\n"
+ .'An array of Database objects.'."\n"
+ ."\n"
+ .'| Field | Type | Description |'."\n"
+ .'| ------------------ | ------------- | -------------------------------------------------------------- |'."\n"
+ .'| DatabaseId | string | The ID of the database. |'."\n"
+ .'| DatabaseAccountIds | array[string] | An array of account IDs. You can specify up to 10 account IDs. |'."\n"
+ ."\n"
+ .'The following code shows an example of this parameter.'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"DatabaseId":"1"} // Grant permissions only on the database.'."\n"
+ .'{"DatabaseId":"2","DatabaseAccountIds":["1","2","3",...]}, // Grant permissions on the database and its accounts.'."\n"
+ .'{"DatabaseId":"5","DatabaseAccountIds":[]} // Not supported.'."\n"
+ .']'."\n"
+ .'```',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachDatabaseAccountsToUserGroup'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5D0EB759-CB0A-537D-A2CC-13A9854FA08D\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccountId\\": \\"8\\",\\n \\"Message\\": \\"NULL\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"2\\",\\n \\"Message\\": \\"NULL\\",\\n \\"UserGroupId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'AttachHostAccountsToHostShareKey' => [
+ 'summary' => 'Associates host accounts with a shared key.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1624,338 +1105,451 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-7mz2ve7h00a',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host. You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host. For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'MemberId',
+ 'name' => 'HostShareKeyId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '1857311509574932',
- ],
+ 'schema' => ['description' => 'The shared key ID.'."\n"
+ ."\n"
+ .'> You must specify this parameter. You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.', 'type' => 'string', 'required' => false, 'example' => '10267', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAccountIds',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The host account IDs.'."\n"
+ ."\n"
+ .'> You must specify this parameter. You can call the [ListHostAccounts](~~462937~~) operation to query the host account IDs.', 'type' => 'string', 'required' => false, 'example' => '["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => '',
- 'type' => 'string',
- 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code returned. If **OK** is returned, the association was successful. If another error code is returned, the association failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'The error message returned.', 'type' => 'string', 'example' => 'The host account does not exist', 'title' => ''],
+ 'HostShareKeyId' => ['description' => 'The ID of the shared key.', 'type' => 'string', 'example' => '10267', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1201', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\"\\n}","type":"json"}]',
- ],
- 'ListInstanceRdMembers' => [
- 'summary' => '获取RD成员账号列表',
- 'path' => '',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'AttachHostAccountsToHostShareKey',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostAccountsToHostShareKey'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AttachHostAccountsToHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"The host account does not exist\\",\\n \\"HostShareKeyId\\": \\"10267\\",\\n \\"HostAccountId\\": \\"1201\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'AttachHostAccountsToUser' => [
+ 'summary' => 'After you add a user to your bastion host, you must authorize the user to manage assets. Only authorized users can log on to the bastion host to perform O\\\\\\\\\\\\\\\\\\\\\\\\&M operations on the assets.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to authorize the user to manage the hosts and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to authorize the user to manage the hosts and host accounts.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****',
- ],
+ 'schema' => ['description' => 'The ID of the user that you want to authorize to manage the hosts and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'Hosts',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The IDs of the hosts and host accounts that you want to authorize the user to manage. You can specify up to 10 host IDs and up to 10 host account IDs for each host. You can specify only host IDs. In this case, the user is authorized to manage only the specified hosts. For more information about this parameter, see the "Description of the Hosts parameter" section of this topic.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host and the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.', 'type' => 'string', 'required' => true, 'example' => '[ {"HostId":"1"}, {"HostId":"2","HostAccountIds":["1","2","3"]}, {"HostId":"3","HostAccountIds":["4","5","6"]}, {"HostId":"4","HostAccountIds":["9","8","7"]} ]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
'type' => 'object',
'properties' => [
- 'Members' => [
- 'description' => '',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
'type' => 'array',
'items' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'MemberId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '1197234496852779',
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'> Make sure that the request parameters are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'> Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccounts' => [
+ 'description' => 'The result of authorizing the user to manage the host accounts.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the user was authorized to manage the host accounts. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'NextToken' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****',
- ],
- 'MaxResults' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Members\\": [\\n {\\n \\"MemberId\\": \\"1197234496852779\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"NextToken\\": \\"4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****\\",\\n \\"MaxResults\\": 20\\n}","type":"json"}]',
- ],
- 'RemoveInstanceRdMember' => [
- 'summary' => '移除RD成员账号',
- 'path' => '',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\",\\n \\"UserId\\": \\"1\\",\\n \\"HostAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountId\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'AttachHostAccountsToUser',
+ 'requestParamsDescription' => 'Description of Hosts'."\n"
+ ."\n"
+ .'| Field | Type | Example | Description |'."\n"
+ .'| -------------- | ------------- | -------------- | ---------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| HostId | string | 1 | The ID of the host. |'."\n"
+ .'| HostAccountIds | array[string] | \\["9","8","7"] | The ID of the host account. The value is a JSON string. You can specify up to 10 host account IDs for each host. |'."\n"
+ ."\n"
+ .'The following code provides an example on the settings of the Hosts parameter:'."\n"
+ ."\n"
+ .'````'."\n"
+ .'['."\n"
+ .'{"HostId":"1"},'."\n"
+ .'{"HostId":"2","HostAccountIds":["1","2","3",...]},'."\n"
+ .'{"HostId":"3","HostAccountIds":["4","5","6",...]},'."\n"
+ .'{"HostId":"4","HostAccountIds":["9","8","7",...]}'."\n"
+ .']```'."\n"
+ .'````',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostAccountsToUser'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'AttachHostAccountsToUserGroup' => [
+ 'summary' => 'Authorizes a user group to manage one or more hosts and host accounts.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host in which you want to authorize the user group to manage the specified hosts and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host in which you want to authorize the user group to manage the specified hosts and host accounts.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'MemberId',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '1597141696147832',
- ],
+ 'schema' => ['description' => 'The ID of the user group that you want to authorize to manage the specified hosts and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'Hosts',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The IDs of the host and host account that you want to authorize the user group to manage. You can specify up to 10 host IDs and up to 10 host account IDs for each host. You can specify only host IDs. In this case, the user group is authorized to manage only the specified hosts. For more information about this parameter, see the "Description of the Hosts parameter" section of this topic.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host and the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.', 'type' => 'string', 'required' => true, 'example' => '[ {"HostId":"1"}, {"HostId":"2","HostAccountIds":["1","2","3",...]}, {"HostId":"3","HostAccountIds":["4","5","6",...]}, {"HostId":"4","HostAccountIds":["9","8","7",...]} ... ]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => '',
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the user group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccounts' => [
+ 'description' => 'The result of authorizing the specified user group to manage the specified host accounts.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the user group was authorized to manage the specified host account. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- ],
- 'ListTagKeys' => [
- 'summary' => 'Queries the tags that are added to a resource.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"HostAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountId\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'AttachHostAccountsToUserGroup',
+ 'description' => 'After you authorize a user group to manage specific hosts and host accounts, all the users in the user group have access to the authorized hosts and host accounts.',
+ 'requestParamsDescription' => 'Description of the Hosts parameter'."\n"
+ ."\n"
+ .'| Field | Type | Example | Description |'."\n"
+ .'| -------------- | ------------- | -------------- | ---------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| HostId | string | 1 | The ID of the host. |'."\n"
+ .'| HostAccountIds | array[string] | \\["9","8","7"] | The ID of the host account. The value is a JSON string. You can specify up to 10 host account IDs for each host. |'."\n"
+ ."\n"
+ .'The following code provides an example on the settings of the Hosts parameter:'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"HostId":"1"},'."\n"
+ .'{"HostId":"2","HostAccountIds":["1","2","3",...]},'."\n"
+ .'{"HostId":"3","HostAccountIds":["4","5","6",...]},'."\n"
+ .'{"HostId":"4","HostAccountIds":["9","8","7",...]}'."\n"
+ .']'."\n"
+ .'```'."\n"
+ ."\n"
+ .'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostAccountsToUserGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'AttachHostGroupAccountsToUser' => [
+ 'summary' => 'Authorizes a user to manage one or more host groups and host accounts.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '91513',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to authorize the user to manage the host groups and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource.'."\n"
- ."\n"
- .'Set the value to INSTANCE, which indicates that the resource is a bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'INSTANCE',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to authorize the user to manage the host groups and host accounts.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the user that you want to authorize to manage the host groups and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
+ 'name' => 'HostGroups',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the host group and the name of the host account that you want to authorize the user to manage. You can specify up to 10 host group IDs and up to 10 host account names for each host group. You can specify only host group IDs. In this case, the user is authorized to manage only the specified host groups. For more information about this parameter, see the "Description of the HostGroups parameter" section of this topic.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group and the [ListHostAccounts](~~204372~~) operation to query the name of the host account.', 'type' => 'string', 'required' => true, 'pattern' => '^[^\';<>=|\\(\\)]+$', 'example' => '[ {"HostGroupId":"1"}, {"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"4","HostAccountNames":["root","111","abc"]} ]', 'title' => ''],
],
],
'responses' => [
@@ -1963,247 +1557,264 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '50177258-E817-4D2F-A5C6-3FD7BC4806E3',
- ],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of tags returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'TagKeys' => [
- 'description' => 'An array that consists of tags.'."\n",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'TagCount' => [
- 'description' => 'The total number of tag keys.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'TagKey' => [
- 'description' => 'The name of the tag key.'."\n",
- 'type' => 'string',
- 'example' => 'key2',
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The ID of the host group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccountNames' => [
+ 'description' => 'The result of authorizing the user to manage the host accounts.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the user was authorized to manage the host account. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"50177258-E817-4D2F-A5C6-3FD7BC4806E3\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 5,\\n \\"TagKeys\\": [\\n {\\n \\"TagCount\\": 2,\\n \\"TagKey\\": \\"key2\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTagKeysResponse>\\n <TotalCount>5</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>50177258-E817-4D2F-A5C6-3FD7BC4806E3</RequestId>\\n <PageNumber>1</PageNumber>\\n <TagKeys>\\n <TagCount>2</TagCount>\\n <TagKey>1</TagKey>\\n </TagKeys>\\n <TagKeys>\\n <TagCount>2</TagCount>\\n <TagKey>1234567890按时AAAaaa</TagKey>\\n </TagKeys>\\n <TagKeys>\\n <TagCount>1</TagCount>\\n <TagKey>das</TagKey>\\n </TagKeys>\\n <TagKeys>\\n <TagCount>3</TagCount>\\n <TagKey>key1</TagKey>\\n </TagKeys>\\n <TagKeys>\\n <TagCount>2</TagCount>\\n <TagKey>key2</TagKey>\\n </TagKeys>\\n</ListTagKeysResponse>","errorExample":""}]',
- 'title' => 'ListTagKeys',
- 'extraInfo' => ' ',
- ],
- 'ListTagResources' => [
- 'summary' => 'Queries the tags that are added for one or more bastion hosts.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"UserId\\": \\"1\\",\\n \\"HostAccountNames\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountName\\": \\"root\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'AttachHostGroupAccountsToUser',
+ 'requestParamsDescription' => 'Description of HostGroups'."\n"
+ ."\n"
+ .'| Field | Type | Example | Description |'."\n"
+ .'| ---------------- | ------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| HostGroupId | string | 1 | The ID of the host group. |'."\n"
+ .'| HostAccountNames | array[string] | \\["root","111","abc"] | The name of the host account. The value is a JSON string. You can specify up to 10 host account names for each host group. |'."\n"
+ ."\n"
+ .'The following code provides an example on the settings of the HostGroups parameter:'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"HostGroupId":"1"}, '."\n"
+ .'{"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, '."\n"
+ .'{"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, '."\n"
+ .'{"HostGroupId":"4","HostAccountNames":["root","111","abc"]} '."\n"
+ .']'."\n"
+ .'```'."\n"
+ ."\n"
+ .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostGroupAccountsToUser'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'AttachHostGroupAccountsToUserGroup' => [
+ 'summary' => 'Authorizes a user to manage one or more host groups and host accounts.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '91514',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the Bastionhost instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource.'."\n"
- ."\n"
- .'Set the value to INSTANCE, which indicates that the resource is a Bastionhost instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'INSTANCE',
- ],
- ],
- [
- 'name' => 'NextToken',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The token for starting the next query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '6EwFJmScBXFFC3nf.9Rq7HzA7APx7GWLbkZbjHrR6Pq39w',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to authorize the user group to manage the specified host groups and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of instances.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of instance.The ID is up to 20.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to obtain the ID of the Bastionhost instance.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
- 'required' => false,
- 'example' => 'bastionhost-cn-78v1gcxxxxx',
- 'maxItems' => 51,
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to authorize the user group to manage the specified host groups and host accounts.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The key of tag N.'."\n"
- ."\n"
- .'Valid values of N: 1 to 20.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'Value' => [
- 'description' => 'The value of tag N.'."\n"
- ."\n"
- .'Valid values of N: 1 to 20.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'testapi',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 21,
- ],
+ 'schema' => ['description' => 'The ID of the user group that you want to authorize to manage the specified host groups and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'HostGroups',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the host group and the name of the host account that you want to authorize the user group to manage. You can specify up to 10 host group IDs and up to 10 host account names for each host group. You can specify only host group IDs. In this case, the user group is authorized to manage only the specified host groups. For more information about this parameter, see the "Description of the HostGroups parameter" section of this topic.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group and the [ListHostAccounts](~~204372~~) operation to query the name of the host account.', 'type' => 'string', 'required' => true, 'pattern' => '^[^\';<>=|\\(\\)]+$', 'example' => '[ {"HostGroupId":"1"}, {"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"4","HostAccountNames":["root","111","abc"]}]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The token for starting the next query.'."\n",
- 'type' => 'string',
- 'example' => '4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '134D6018-EB68-4B7C-BABF-4DB09023E014',
- ],
- 'TagResources' => [
- 'description' => 'The information about Bastionhost instances and the tags bound to Bastionhost instances.'."\n"
- ."\n"
- .'The following information is included: instance ID, resource type, tag key, and tag value.'."\n",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'TagValue' => [
- 'description' => 'The value of the tag.'."\n",
- 'type' => 'string',
- 'example' => 'testapi',
- ],
- 'ResourceType' => [
- 'description' => 'The type of the resource.'."\n"
- ."\n"
- .'The returned value is INSTANCE, which indicates that the resource is a Bastionhost instance.'."\n",
- 'type' => 'string',
- 'example' => 'INSTANCE',
- ],
- 'ResourceId' => [
- 'description' => 'The ID of the instance.'."\n",
- 'type' => 'string',
- 'example' => 'bastionhost-cn-78v1gc****',
- ],
- 'TagKey' => [
- 'description' => 'The key of the tag.'."\n",
- 'type' => 'string',
- 'example' => 'test',
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The ID of the host group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the user group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccountNames' => [
+ 'description' => 'The result of authorizing the user group to manage the specified host accounts.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the user group was authorized to manage the specified host account. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'abc', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****\\",\\n \\"RequestId\\": \\"134D6018-EB68-4B7C-BABF-4DB09023E014\\",\\n \\"TagResources\\": [\\n {\\n \\"TagValue\\": \\"testapi\\",\\n \\"ResourceType\\": \\"INSTANCE\\",\\n \\"ResourceId\\": \\"bastionhost-cn-78v1gc****\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <NextToken>6EwFJmScBXFFC3nf.9Rq7HzA7APx7GWLbkZbjHrR6P****</NextToken>\\n <RequestId>134D6018-EB68-4B7C-BABF-4DB09023E014</RequestId>\\n <TagResources>\\n <ResourceId>bastionhost-cn-78v1gc****</ResourceId>\\n <TagKey>test</TagKey>\\n <ResourceType>INSTANCE</ResourceType>\\n <TagValue>testapi</TagValue>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]',
- 'title' => 'ListTagResources',
- 'requestParamsDescription' => ' ',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"HostAccountNames\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountName\\": \\"abc\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'AttachHostGroupAccountsToUserGroup',
+ 'requestParamsDescription' => 'Description of HostGroups'."\n"
+ ."\n"
+ .'| Field | Type | Example | Description |'."\n"
+ .'| ---------------- | ------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| HostGroupId | string | 1 | The ID of the host group. |'."\n"
+ .'| HostAccountNames | array[string] | \\["root","111","abc"] | The name of the host account. The value is a JSON string. You can specify up to 10 host account names for each host group. |'."\n"
+ ."\n"
+ .'The following code provides an example on the settings of HostGroups:'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"HostGroupId":"1"}, '."\n"
+ .'{"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, '."\n"
+ .'{"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, '."\n"
+ .'{"HostGroupId":"4","HostAccountNames":["root","111","abc"]} '."\n"
+ .']'."\n"
+ .'```'."\n"
+ ."\n"
+ .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'UntagResources' => [
- 'summary' => 'Removes tags from the specified bastion host and deletes the tags at a time.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostGroupAccountsToUserGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'ConfigInstanceSecurityGroups' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2212,126 +1823,93 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '91533',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'Lang',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to query.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The language of the request and response. The default value is **zh**. Valid values:'."\n"
+ ."\n"
+ .'- **zh**: Chinese'."\n"
+ ."\n"
+ .'- **en**: English', 'type' => 'string', 'required' => false, 'example' => 'zh', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource.'."\n"
- ."\n"
- .'Set the value to **INSTANCE**, which indicates that the resource is a bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'INSTANCE',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
],
[
- 'name' => 'All',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to delete all tags that are added to the bastion host.'."\n"
- ."\n"
- .'* If you specify TagKey.N, the value of this parameter can only be **false**, which indicates that only a specified tag is deleted.'."\n"
- .'* If you do not specify TagKey.N and the value of this parameter is **true**, all tags are deleted. If you do not specify TagKey.N and the value of this parameter is **false**, no tags are deleted.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'AuthorizedSecurityGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'An array that consists of IDs of bastion hosts.'."\n"
- ."\n"
- .'Valid values: 1 to 20.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
+ 'description' => 'A list of authorized security group IDs.',
'type' => 'array',
- 'items' => [
- 'description' => 'The ID of bastion host N.'."\n"
- ."\n"
- .'Valid values of N: 1 to 20.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'bastionhost-cn-78v1gc****',
- ],
+ 'items' => ['description' => 'The ID of the authorized security group. You can specify up to 100 security group IDs.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
'required' => true,
- 'maxItems' => 51,
- ],
- ],
- [
- 'name' => 'TagKey',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The key of tag N.'."\n"
- ."\n"
- .'Valid values of N: 1 to 20.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The key of tag N.'."\n"
- ."\n"
- .'Valid values of N: 1 to 20.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'required' => false,
- 'maxItems' => 21,
+ 'example' => 'sg-bp14u00sh39jvw5****',
+ 'maxItems' => 100,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'A8A665B9-8550-4942-9DEE-73198051856B',
- ],
+ 'InstanceId' => ['description' => 'The ID of the Bastionhost instance for which the security groups are configured.', 'type' => 'string', 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request. This is a unique identifier generated by Alibaba Cloud for the request. You can use this ID to troubleshoot and locate issues.', 'type' => 'string', 'example' => '0ECCC399-4D35-48A7-8379-5C6180E66235', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A8A665B9-8550-4942-9DEE-73198051856B\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>A8A665B9-8550-4942-9DEE-73198051856B</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]',
- 'title' => 'UntagResources',
- ],
- 'TagResources' => [
- 'summary' => 'Creates and adds tags to specified bastion hosts.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ConfigInstanceSecurityGroups',
+ 'summary' => 'Configures the security groups that control inbound and outbound network traffic for a Bastionhost instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConfigInstanceSecurityGroups'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ConfigInstanceSecurityGroups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"0ECCC399-4D35-48A7-8379-5C6180E66235\\"\\n}","type":"json"}]',
+ ],
+ 'ConfigInstanceWhiteList' => [
+ 'summary' => 'After enabling public network access for a Bastionhost instance, you can add IP addresses to a whitelist to control access.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2343,225 +1921,270 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
- ],
+ 'abilityTreeCode' => '91477',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion hosts to which you want to create and add tags.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance to configure.'."\n"
+ ."\n"
+ .'> To obtain the instance ID, call the [DescribeInstances](~~153281~~) operation.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource.'."\n"
- ."\n"
- .'Set the value to **INSTANCE**, which indicates that the resource is a bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'INSTANCE',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'WhiteList',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'An array that consists of IDs of bastion hosts.'."\n"
- ."\n"
- .'Valid values: 1 to 20.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query IDs of bastion hosts.'."\n",
+ 'description' => 'The list of IP addresses to add to the whitelist.',
'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'bastionhost-cn-78v1gc****',
- ],
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gc****',
- 'maxItems' => 51,
+ 'items' => ['description' => 'The IP addresses to add to the whitelist. You can specify up to 50 IP addresses, separated by a comma.', 'type' => 'string', 'required' => false, 'example' => '10.162.XX.XX,192.168.XX.XX', 'title' => ''],
+ 'required' => false,
+ 'example' => '10.162.XX.XX',
+ 'maxItems' => 50,
+ 'title' => '',
],
],
[
- 'name' => 'Tag',
+ 'name' => 'WhiteListPolicies',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The tags.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The tag that you want to create and add.'."\n",
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The tag key of the bastion host. You can specify up to 20 tags for the bastion host.'."\n"
- ."\n"
- .'> - Thekey cannot be an empty string. The key can be up to 128 characters in length. '."\n"
- .'> - It cannot start with **aliyun** or **acs:**, and cannot contain **http://** or **https://**.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'operation',
- ],
- 'Value' => [
- 'description' => 'The tag value of the bastion host.\\'."\n"
- .'You can specify up to 20 tags for the bastion host.'."\n"
- ."\n"
- .'> * The value can be a string of up to 128 characters or an empty string.'."\n"
- .'> * It cannot start with **aliyun** or **acs:**, and cannot contain **http://** or **https://**.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'operation_test',
- ],
+ 'Entry' => ['description' => 'The IP addresses to add to the whitelist. You can specify up to 50 IP addresses, separated by a comma.', 'type' => 'string', 'required' => false, 'example' => '10.162.XX.XX,192.168.XX.XX', 'title' => ''],
+ 'Description' => ['description' => 'The description of this whitelist rule.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''],
],
'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
- 'maxItems' => 21,
+ 'maxItems' => 50,
+ 'description' => 'The policies for the public IP address whitelist.',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '2F24F0A8-4C69-4E89-9392-457D107E2D4A',
- ],
+ 'InstanceId' => ['description' => 'The ID of the Bastionhost instance whose whitelist was configured.', 'type' => 'string', 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
+ 'RequestId' => ['description' => 'A unique request ID generated by Alibaba Cloud. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '47820E32-5968-45CF-982F-09CB80DC180B', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2F24F0A8-4C69-4E89-9392-457D107E2D4A\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>2F24F0A8-4C69-4E89-9392-457D107E2D4A</RequestId>\\n</TagResourcesResponse>","errorExample":""}]',
- 'title' => 'TagResources',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"47820E32-5968-45CF-982F-09CB80DC180B\\"\\n}","type":"json"}]',
+ 'title' => 'ConfigInstanceWhiteList',
+ 'description' => 'This operation configures a public IP address whitelist for a Bastionhost instance. By default, instances accept traffic from all public IP addresses. To restrict access, add IP addresses to the whitelist. This ensures only traffic from whitelisted IP addresses can reach the instance.'."\n"
+ ."\n"
+ .'Each user is limited to 30 queries per second (QPS) for this operation. The system throttles API calls that exceed this limit. This may affect your services, so plan your calls accordingly.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeRegions' => [
- 'summary' => 'Queries available regions where you can create bastion hosts.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConfigInstanceWhiteList'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'CreateDatabase' => [
+ 'summary' => 'Imports a database into a Bastionhost instance for centralized O&M management. Supported databases include ApsaraDB RDS, PolarDB, and self-managed MySQL, SQL Server, PostgreSQL, and Oracle databases.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '91490',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
- 'name' => 'AcceptLanguage',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The natural language in which responses are returned. Valid values:'."\n"
- ."\n"
- .'* **zh-CN**: Chinese. This is the default value.'."\n"
- .'* **en-US**: English.'."\n"
- .'* **ja**: Japanese.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'zh-CN',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-7mz2g5hu20e', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shenzhen',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For a list of region IDs and their corresponding region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the network domain for the new database.'."\n"
+ ."\n"
+ .'> Call the [ListNetworkDomains](~~2758827~~) operation to obtain this parameter.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of the database. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'required' => true, 'example' => 'MySQL', 'title' => ''],
+ ],
+ [
+ 'name' => 'ActiveAddressType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The address type of the new database. Valid values:'."\n"
+ ."\n"
+ .'- Public: a public endpoint'."\n"
+ ."\n"
+ .'- Private: a private endpoint', 'type' => 'string', 'required' => true, 'example' => 'Public', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabasePrivateAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The private endpoint of the database. You can use an IPv4 address or a domain name.'."\n"
+ ."\n"
+ .'> This parameter is required if you set ActiveAddressType to Private.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabasePublicAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The public endpoint of the database. You can use an IPv4 address or a domain name.'."\n"
+ ."\n"
+ .'> This parameter is required if you set ActiveAddressType to Public.', 'type' => 'string', 'required' => false, 'example' => 'www.example.com', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabasePort',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The port used to connect to the database. This parameter is required if you set Source to **Local**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5433', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the new database instance. This parameter is required if you set Source to **Local**.', 'type' => 'string', 'required' => false, 'example' => 'Test01', 'title' => ''],
+ ],
+ [
+ 'name' => 'SourceInstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the database instance.'."\n"
+ ."\n"
+ .'> This parameter is required if you set **Source** to **Rds** or **PolarDB**.', 'type' => 'string', 'required' => false, 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Source',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The source of the new database. Valid values:'."\n"
+ ."\n"
+ .'- Local: a local database instance'."\n"
+ ."\n"
+ .'- Rds: an RDS database instance'."\n"
+ ."\n"
+ .'- PolarDB: a PolarDB database instance', 'type' => 'string', 'required' => true, 'example' => 'Local', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The comments on the new database. The comments can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'cpp', 'title' => ''],
+ ],
+ [
+ 'name' => 'SourceInstanceRegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the database instance.'."\n"
+ ."\n"
+ .'> This parameter is required if **Source** is set to **Rds** or **PolarDB**.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
+ ],
+ [
+ 'name' => 'PolarDBEndpointType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'This parameter is required if you set Source to PolarDB. This parameter specifies the endpoint type of the PolarDB database. Valid values:'."\n"
+ ."\n"
+ .'- Cluster: a cluster endpoint'."\n"
+ ."\n"
+ .'- Primary: a primary endpoint', 'type' => 'string', 'required' => false, 'example' => 'Cluster', 'title' => ''],
+ ],
+ [
+ 'name' => 'InstanceMemberId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the new RDS or PolarDB database instance belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1605494xxxx', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of request.'."\n",
- 'type' => 'string',
- 'example' => 'B7281856-F27D-4ECE-B4F1-50511E550xxx',
- ],
- 'Regions' => [
- 'description' => 'The information about regions where you can create bastion hosts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'RegionEndpoint' => [
- 'description' => 'The endpoint of the region.'."\n",
- 'type' => 'string',
- 'example' => 'yundun-bastionhost.aliyuncs.com',
- ],
- 'LocalName' => [
- 'description' => 'The name of the region.'."\n",
- 'type' => 'string',
- 'example' => 'China (Hangzhou)',
- ],
- 'RegionId' => [
- 'description' => 'The ID of the region.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- ],
+ 'DatabaseId' => ['description' => 'The ID of the database instance.', 'type' => 'string', 'example' => '334', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '98EDD923-236C-5A88-88E7-4979A91B9325', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B7281856-F27D-4ECE-B4F1-50511E550xxx\\",\\n \\"Regions\\": [\\n {\\n \\"RegionEndpoint\\": \\"yundun-bastionhost.aliyuncs.com\\",\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <RequestId>B7281856-F27D-4ECE-B4F1-50511E550xxx</RequestId>\\n <Regions>\\n <RegionId>cn-hangzhou</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>华东1(杭州)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-shanghai</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>华东2(上海)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-qingdao</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北1(青岛)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-beijing</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北2(北京)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-zhangjiakou</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北3(张家口)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-huhehaote</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北5(呼和浩特)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-shenzhen</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>华南1(深圳)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-chengdu</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>西南1(成都)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-hongkong</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>中国香港</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-1</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>新加坡</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-2</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>澳大利亚(悉尼)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-3</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>马来西亚(吉隆坡)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-5</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>印度尼西亚(雅加达)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-northeast-1</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>日本(东京)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-south-1</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>印度(孟买)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>eu-central-1</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>德国(法兰克福)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>eu-west-1</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>英国(伦敦)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>us-west-1</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>美国(硅谷)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>us-east-1</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>美国(弗吉尼亚)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>me-east-1</RegionId>\\n <RegionEndpoint>yundun-bastionhost.aliyuncs.com</RegionEndpoint>\\n <LocalName>阿联酋(迪拜)</LocalName>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]',
- 'title' => 'DescribeRegions',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateHost' => [
- 'summary' => 'Bastionhost allows you to perform O\\\\\\&M operations on hosts from different sources, such as Alibaba Cloud Elastic Compute Service (ECS) instances, servers in on-premises data centers, and servers on other cloud platforms. Before you perform O\\\\\\&M operations on hosts by using a bastion host, you must import the hosts to the bastion host. You can call this operation to import a host to a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'LicenseOutOfLimit', 'errorMessage' => 'The maximum number of hosts exceeds the license limit.', 'description' => 'The maximum number of hosts exceeds the license limit.'],
+ ['errorCode' => 'DatabaseAlreadyExists', 'errorMessage' => 'The database already exists.', 'description' => 'The database already exists.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'CreateDatabase',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDatabase'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateDatabase',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseId\\": \\"334\\",\\n \\"RequestId\\": \\"98EDD923-236C-5A88-88E7-4979A91B9325\\"\\n}","type":"json"}]',
+ ],
+ 'CreateDatabaseAccount' => [
+ 'summary' => 'After a database is created, you can create a database account for the database. After the account is created, O\\\\\\\\\\\\&M engineers can use the account to log on to and perform O\\\\\\\\\\\\&M operations on the database.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2572,164 +2195,53 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to create the host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to create a database account.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-5yd34ol020a', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which you want to import the host.'."\n"
- ."\n"
- .'> For information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostPrivateAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The internal endpoint of the host that you want to create. You can set this parameter to a domain name or an IP address.'."\n"
- ."\n"
- .'> This parameter is required if the **ActiveAddressType** parameter is set to **Private**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.XX.XX',
- ],
- ],
- [
- 'name' => 'HostPublicAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The public endpoint of the host that you want to create. You can set this parameter to a domain name or an IP address.'."\n"
- ."\n"
- .'> This parameter is required if the **ActiveAddressType** parameter is set to **Public**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '172.16.XX.XX',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to create a database account.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
- 'name' => 'ActiveAddressType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint type of the host that you want to create. Valid values:'."\n"
- ."\n"
- .'* **Public**: public endpoint'."\n"
- .'* **Private**: internal endpoint'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Public',
- ],
- ],
- [
- 'name' => 'HostName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host that you want to create. The name can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'host01',
- ],
- ],
- [
- 'name' => 'Source',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The source of the host that you want to create. Valid values:'."\n"
- ."\n"
- .'* **Local**: a host in a data center'."\n"
- .'* **Ecs**: an Elastic Compute Service (ECS) instance'."\n"
- .'* **Rds**: a host in an ApsaraDB MyBase dedicated cluster'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Local',
- ],
- ],
- [
- 'name' => 'OSType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The operating system of the host that you want to create. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Linux',
- ],
- ],
- [
- 'name' => 'Comment',
+ 'name' => 'DatabaseId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the host that you want to create. The value can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Local Host',
- ],
+ 'schema' => ['description' => 'The ID of the database for which you want to create a database account.'."\n"
+ ."\n"
+ .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
[
- 'name' => 'SourceInstanceId',
+ 'name' => 'DatabaseAccountName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ECS instance or the host in an ApsaraDB MyBase dedicated cluster.'."\n"
- ."\n"
- .'> This parameter is required if the **Source** parameter is set to **Ecs** or **Rds**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'i-dfabfda',
- ],
+ 'schema' => ['description' => 'The username of the database account to be created. The username can be up to 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'root', 'title' => ''],
],
[
- 'name' => 'InstanceRegionId',
+ 'name' => 'Password',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region to which the ECS instance or the host in an ApsaraDB MyBase dedicated cluster belongs.'."\n"
- ."\n"
- .'> This parameter is required if the **Source** parameter is set to **Ecs** or **Rds**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The password of the database account to be created.', 'type' => 'string', 'required' => false, 'example' => 'MCQ******', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
+ 'name' => 'DatabaseSchema',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain to which the host to be imported belongs.'."\n"
- ."\n"
- .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The name of the database. This parameter is required for PostgreSQL and Oracle databases.', 'type' => 'string', 'required' => false, 'example' => 'orcl', 'title' => ''],
],
[
- 'name' => 'InstanceMemberId',
+ 'name' => 'LoginAttribute',
'in' => 'query',
- 'schema' => [
- 'title' => '主机实例所属实例成员ID',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The logon attribute. This parameter is required for Oracle databases. Valid values:'."\n"
+ ."\n"
+ .'- SERVICENAME'."\n"
+ ."\n"
+ .'- SID', 'type' => 'string', 'required' => false, 'example' => 'SID', 'title' => ''],
],
],
'responses' => [
@@ -2737,103 +2249,77 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'DatabaseAccountId' => ['description' => 'The ID of the database account.', 'type' => 'string', 'example' => '40', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B07C465D-B09F-54DD-8FEC-90788BEABAFC', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'LicenseOutOfLimit',
- 'errorMessage' => 'The host count is out of limit.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'DatabaseAccountAlreadyExists', 'errorMessage' => 'The database account already exists.', 'description' => 'The database account already exists.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"HostId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateHostResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostId>1</HostId>\\n</CreateHostResponse>","errorExample":""}]',
- 'title' => 'CreateHost',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'GetHost' => [
- 'summary' => 'Queries the details of a host, such as the name, source, address, protocol, and service port of the host.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'CreateDatabaseAccount',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDatabaseAccount'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateDatabaseAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccountId\\": \\"40\\",\\n \\"RequestId\\": \\"B07C465D-B09F-54DD-8FEC-90788BEABAFC\\"\\n}","type":"json"}]',
+ ],
+ 'CreateExportConfigJob' => [
+ 'summary' => 'Creates a configuration backup export task. Only one configuration backup export task can run at a time for a Bastionhost instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeCode' => '245225',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to query the host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain the Bastionhost instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to query the host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host that you want to query. You can specify only one host ID.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance for which you want to export the configuration backup.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
@@ -2841,305 +2327,148 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Host' => [
- 'description' => 'The returned information about the host.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Comment' => [
- 'description' => 'The description of the host.'."\n",
- 'type' => 'string',
- 'example' => 'host',
- ],
- 'ActiveAddressType' => [
- 'description' => 'The address type of the host. Valid values:'."\n"
- ."\n"
- .'* **Public**: a public address'."\n"
- .'* **Private**: a private address'."\n",
- 'type' => 'string',
- 'example' => 'Public',
- ],
- 'HostPublicAddress' => [
- 'description' => 'The public address of the host. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => '1.1.XX.XX',
- ],
- 'HostName' => [
- 'description' => 'The hostname.'."\n",
- 'type' => 'string',
- 'example' => 'host',
- ],
- 'Source' => [
- 'description' => 'The source of the host. Valid values:'."\n"
- ."\n"
- .'* **Local**: a host in a data center'."\n"
- .'* **Ecs**: an Elastic Compute Service (ECS) instance'."\n"
- .'* **Rds**: a host in an ApsaraDB MyBase dedicated cluster'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'HostPrivateAddress' => [
- 'description' => 'The internal endpoint of the host. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => '192.168.XX.XX',
- ],
- 'OSType' => [
- 'description' => 'The operating system of the host. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'example' => 'Linux',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'SourceInstanceState' => [
- 'description' => 'The status of the host. Valid values:'."\n"
- ."\n"
- .'* **Normal**: normal'."\n"
- .'* **Release**: released'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'SourceInstanceId' => [
- 'description' => 'The ID of the ECS instance or the host in an ApsaraDB MyBase dedicated cluster.'."\n"
- ."\n"
- .'> If **Local** is returned for the **Source** parameter, no value is returned for this parameter.'."\n",
- 'type' => 'string',
- 'example' => 'i-bp19ienyt0yax748****',
- ],
- 'Protocols' => [
- 'description' => 'The protocol information about the host.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HostFingerPrint' => [
- 'description' => 'The fingerprint of the host. This parameter uniquely identifies a host. A value is returned for this parameter only if you have performed O\\&M operations on the host by using the bastion host. Otherwise, no value is returned.'."\n",
- 'type' => 'string',
- 'example' => 'ssh-ed25519|3e:46:5a:e1:1f:0d:39:7e:61:35:d5:fa:7b:2b:**:**',
- ],
- 'Port' => [
- 'description' => 'The service port of the host.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '22',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol that is used to connect to the host. Valid values:'."\n"
- ."\n"
- .'* **SSH**'."\n"
- .'* **RDP**'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- ],
- ],
- ],
- 'NetworkDomainId' => [
- 'description' => 'The ID of the network domain to which the host belongs.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'PrefKex' => [
- 'description' => 'The preferred key exchange algorithm of the host. The value of this parameter is returned if OSType is set to Linux. Valid values:'."\n"
- ."\n"
- .'* **default**'."\n"
- .'* **diffie-hellman-group1-sha1**'."\n"
- .'* **diffie-hellman-group14-sha1**'."\n"
- .'* **diffie-hellman-group-exchange-sha1**'."\n",
- 'type' => 'string',
- 'example' => 'default',
- ],
- ],
- ],
+ 'JobId' => ['description' => 'The ID of the configuration backup export task.'."\n"
+ ."\n"
+ .'> You can call the GetExportConfigJob operation to obtain the details of this task. Make sure to record the task ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'HostNotFound',
- 'errorMessage' => 'The host is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Host\\": {\\n \\"Comment\\": \\"host\\",\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"HostPublicAddress\\": \\"1.1.XX.XX\\",\\n \\"HostName\\": \\"host\\",\\n \\"Source\\": \\"Local\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"HostId\\": \\"1\\",\\n \\"SourceInstanceState\\": \\"Normal\\",\\n \\"SourceInstanceId\\": \\"i-bp19ienyt0yax748****\\",\\n \\"Protocols\\": [\\n {\\n \\"HostFingerPrint\\": \\"ssh-ed25519|3e:46:5a:e1:1f:0d:39:7e:61:35:d5:fa:7b:2b:**:**\\",\\n \\"Port\\": 22,\\n \\"ProtocolName\\": \\"SSH\\"\\n }\\n ],\\n \\"NetworkDomainId\\": \\"1\\",\\n \\"PrefKex\\": \\"default\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetHostResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Host>\\n <Comment>host</Comment>\\n <Protocols>\\n <ProtocolName>SSH</ProtocolName>\\n <HostFingerPrint/>\\n <Port>22</Port>\\n </Protocols>\\n <ActiveAddressType>Public</ActiveAddressType>\\n <HostPrivateAddress>192.168.XX.XX</HostPrivateAddress>\\n <HostPublicAddress>1.1.XX.XX</HostPublicAddress>\\n <OSType>Linux</OSType>\\n <HostId>1</HostId>\\n <SourceInstanceId>i-bp19ienyt0yax748****</SourceInstanceId>\\n <HostName>host</HostName>\\n <SourceInstanceState>Normal</SourceInstanceState>\\n <Source>Local</Source>\\n </Host>\\n</GetHostResponse>","errorExample":""}]',
- 'title' => 'GetHost',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListHosts' => [
- 'summary' => 'Queries the hosts in a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'CreateExportConfigJob',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateExportConfigJob'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'CreateHost' => [
+ 'summary' => 'Creates a host in a Bastionhost instance. You can import Elastic Compute Service (ECS) instances, on-premises servers, and third-party cloud servers as hosts for centralized O&M management.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to query hosts.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance where you want to create the host.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to query hosts.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance where you want to create the host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'HostPrivateAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The private address of the host. You can use a domain name or an IP address.'."\n"
+ ."\n"
+ .'> This parameter is required when **ActiveAddressType** is set to **Private**.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'HostPublicAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **10**.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The public address of the host. You can use a domain name or an IP address.'."\n"
+ ."\n"
+ .'> This parameter is required when **ActiveAddressType** is set to **Public**.', 'type' => 'string', 'required' => false, 'example' => '172.16.XX.XX', 'title' => ''],
],
[
- 'name' => 'OSType',
+ 'name' => 'ActiveAddressType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The operating system of the host that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Linux',
- ],
+ 'schema' => ['description' => 'The address type of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Public**: a public address'."\n"
+ ."\n"
+ .'- **Private**: a private address', 'type' => 'string', 'required' => true, 'example' => 'Public', 'title' => ''],
],
[
'name' => 'HostName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'host',
- ],
+ 'schema' => ['description' => 'The name of the host. The name can be up to 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'host01', 'title' => ''],
],
[
- 'name' => 'HostAddress',
+ 'name' => 'Source',
'in' => 'query',
- 'schema' => [
- 'description' => 'The address of the host that you want to query. You can set this parameter to a domain name or an IP address. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1.1.XX.XX',
- ],
+ 'schema' => ['description' => 'The source of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a local host'."\n"
+ ."\n"
+ .'- **Ecs**: an ECS instance'."\n"
+ ."\n"
+ .'- **Rds**: a host in an ApsaraDB RDS dedicated cluster', 'type' => 'string', 'required' => true, 'example' => 'Local', 'title' => ''],
],
[
- 'name' => 'Source',
+ 'name' => 'OSType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The source of the host that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Local**: a host in a data center'."\n"
- .'* **Ecs**: an Elastic Compute Service (ECS) instance'."\n"
- .'* **Rds**: a host in an ApsaraDB MyBase dedicated cluster'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Local',
- ],
+ 'schema' => ['description' => 'The operating system of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'required' => true, 'example' => 'Linux', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The comment for the host. The comment can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Local Host', 'title' => ''],
],
[
'name' => 'SourceInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ECS instance or the host in an ApsaraDB MyBase dedicated cluster that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'i-bp19ienyt0yax748****',
- ],
+ 'schema' => ['description' => 'The ID of the ECS instance or the host in the dedicated cluster.'."\n"
+ ."\n"
+ .'> This parameter is required when **Source** is set to **Ecs** or **Rds**.', 'type' => 'string', 'required' => false, 'example' => 'i-dfabfda', 'title' => ''],
],
[
- 'name' => 'SourceInstanceState',
+ 'name' => 'InstanceRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The status of the host that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Normal**: normal'."\n"
- .'* **Release**: released'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Normal',
- ],
+ 'schema' => ['description' => 'The region ID of the ECS instance or the host in the dedicated cluster.'."\n"
+ ."\n"
+ .'> This parameter is required when **Source** is set to **Ecs** or **Rds**.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostGroupId',
+ 'name' => 'NetworkDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host group to which the host to be queried belongs.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the network domain to which the host belongs.'."\n"
+ ."\n"
+ .'> Call the [ListNetworkDomains ](~~2758827~~)operation to obtain this parameter.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'InstanceMemberId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the ECS instance belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1605494xxxx', 'title' => '', 'required' => false],
],
],
'responses' => [
@@ -3147,130 +2476,52 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of hosts returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Hosts' => [
- 'description' => 'An array that consists of the hosts returned.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Comment' => [
- 'description' => 'The description of the host.'."\n",
- 'type' => 'string',
- 'example' => 'host',
- ],
- 'ActiveAddressType' => [
- 'description' => 'The address type of the host. Valid values:'."\n"
- ."\n"
- .'* **Public**: a public address'."\n"
- .'* **Private**: a private address'."\n",
- 'type' => 'string',
- 'example' => 'Public',
- ],
- 'HostPublicAddress' => [
- 'description' => 'The public address of the host. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => '1.1.XX.XX',
- ],
- 'HostName' => [
- 'description' => 'The name of the host.'."\n",
- 'type' => 'string',
- 'example' => 'name',
- ],
- 'HostAccountCount' => [
- 'description' => 'The number of host accounts.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Source' => [
- 'description' => 'The source of the host. Valid values:'."\n"
- ."\n"
- .'* **Local**: a host in a data center'."\n"
- .'* **Ecs**: an ECS instance'."\n"
- .'* **Rds**: a host in an ApsaraDB MyBase dedicated cluster'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'HostPrivateAddress' => [
- 'description' => 'The private address of the host. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => '192.168.XX.XX',
- ],
- 'OSType' => [
- 'description' => 'The operating system of the host. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'example' => 'Linux',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'SourceInstanceState' => [
- 'description' => 'The status of the host. Valid values:'."\n"
- ."\n"
- .'* **Normal**: normal'."\n"
- .'* **Release**: released'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'SourceInstanceId' => [
- 'description' => 'The ID of the ECS instance or the host in an ApsaraDB MyBase dedicated cluster.'."\n"
- ."\n"
- .'> No value is returned for this parameter if the **Source** parameter is set to **Local**.'."\n",
- 'type' => 'string',
- 'example' => 'i-bp19ienyt0yax748****',
- ],
- ],
- ],
- ],
+ 'HostId' => ['description' => 'The ID of the new host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'LicenseOutOfLimit', 'errorMessage' => 'The host count is out of limit.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Hosts\\": [\\n {\\n \\"Comment\\": \\"host\\",\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"HostPublicAddress\\": \\"1.1.XX.XX\\",\\n \\"HostName\\": \\"name\\",\\n \\"HostAccountCount\\": 1,\\n \\"Source\\": \\"Local\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"HostId\\": \\"1\\",\\n \\"SourceInstanceState\\": \\"Normal\\",\\n \\"SourceInstanceId\\": \\"i-bp19ienyt0yax748****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostsResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Hosts>\\n <Comment>host</Comment>\\n <ActiveAddressType>Public</ActiveAddressType>\\n <HostPublicAddress>1.1.XX.XX</HostPublicAddress>\\n <HostName>name</HostName>\\n <HostAccountCount>1</HostAccountCount>\\n <Source>Local</Source>\\n <HostPrivateAddress>192.168.XX.XX</HostPrivateAddress>\\n <OSType>Linux</OSType>\\n <HostId>1</HostId>\\n <SourceInstanceState>Normal</SourceInstanceState>\\n <SourceInstanceId>i-bp19ienyt0yax748****</SourceInstanceId>\\n </Hosts>\\n</ListHostsResponse>","errorExample":""}]',
- 'title' => 'ListHosts',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HostId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ 'title' => 'CreateHost',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeleteHost' => [
- 'summary' => 'Deletes a host.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHost'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateHost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'CreateHostAccount' => [
+ 'summary' => 'Creates a host account for a host managed by a Bastionhost instance. After you create the host account, Operations and Maintenance (O&M) engineers can use it to log on to the host through Bastionhost.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3278,49 +2529,92 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to delete the host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance where you want to create the host account.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to delete the host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance where you want to create the host account.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host that you want to delete.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host for which you want to create a host account.'."\n"
+ ."\n"
+ .'> Call the [ListHosts](~~200665~~) operation to obtain the host ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'ProtocolName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The protocol of the new host account. <br>Valid values:<br>'."\n"
+ ."\n"
+ .'- SSH'."\n"
+ ."\n"
+ .'- RDP', 'type' => 'string', 'required' => true, 'example' => 'SSH', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAccountName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the new host account. The name can be up to 128 characters long.', 'type' => 'string', 'required' => true, 'example' => 'accountname', 'title' => ''],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The password of the new host account.', 'type' => 'string', 'required' => false, 'example' => '123456', 'title' => ''],
+ ],
+ [
+ 'name' => 'PrivateKey',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The private key of the new host account. The value is a Base64-encoded string.'."\n"
+ ."\n"
+ .'> This parameter is used only when ProtocolName is set to SSH. You do not need to set this parameter if ProtocolName is set to RDP. You can set both a password and a private key for the host account. When connecting to the asset, Bastionhost prioritizes the private key for the connection.', 'type' => 'string', 'required' => false, 'example' => 'LS0tLS1******RCBSU0tLQ==', 'title' => ''],
+ ],
+ [
+ 'name' => 'PassPhrase',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The passphrase for the private key of the new host account.'."\n"
+ ."\n"
+ .'> You can set this parameter only when ProtocolName is set to SSH. You do not need to set this parameter if ProtocolName is set to RDP.', 'type' => 'string', 'required' => false, 'example' => '123456', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostShareKeyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the shared key for the host.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PrivilegeType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The permission type of the account. If you do not set this parameter, the default value is Normal.'."\n"
+ ."\n"
+ .'- **Privileged**: privileged account'."\n"
+ ."\n"
+ .'- **Normal**: normal account'."\n"
+ ."\n"
+ .'> This parameter is supported only in Bastionhost V3.2.47 and later.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''],
+ ],
+ [
+ 'name' => 'RotationMode',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The password change mode for the account. If you do not set this parameter, the default value is Self.'."\n"
+ ."\n"
+ .'- **Privileged**: Use a privileged account to change the password.'."\n"
+ ."\n"
+ .'- **Self**: Do not use a privileged account to change the password.'."\n"
+ ."\n"
+ .'> This parameter is supported only in Bastionhost V3.2.47 and later.', 'type' => 'string', 'required' => false, 'example' => 'Self', 'title' => ''],
],
],
'responses' => [
@@ -3328,47 +2622,50 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'HostNotFound',
- 'errorMessage' => 'The host is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'HostAccountAlreadyExists', 'errorMessage' => 'The host account already exists.', 'description' => 'The host account already exists.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteHostResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</DeleteHostResponse>","errorExample":""}]',
- 'title' => 'DeleteHost',
- 'extraInfo' => ' ',
- ],
- 'ModifyHostsPort' => [
- 'summary' => 'Changes the port for the O\\\\\\\\\\\\&M protocol on one or more hosts.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'CreateHostAccount',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHostAccount'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateHostAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HostAccountId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'CreateHostGroup' => [
+ 'summary' => 'You can create asset groups based on your business requirements and add assets of the same type to an asset group. This allows you to classify assets and manage multiple assets at a time.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3376,72 +2673,35 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to change the port of the host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to create an asset group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to change the port of the host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostIds',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host for which you want to change the port. The value is a JSON string. You can add up to 100 host IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the IDs of hosts.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '["1","2","3"]',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to create an asset group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ProtocolName',
+ 'name' => 'HostGroupName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The protocol that is used to connect to the host. Valid values:'."\n"
- ."\n"
- .'* **SSH**'."\n"
- .'* **RDP**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SSH',
- ],
+ 'schema' => ['description' => 'The name of the asset group. The name can be up to 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'HostGroup01', 'title' => ''],
],
[
- 'name' => 'Port',
+ 'name' => 'Comment',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new port of the host. The port number must be an integer. Valid values: 22 to 65535.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '22',
- ],
+ 'schema' => ['description' => 'The remarks of the asset group. The remarks can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Local host group', 'title' => ''],
],
],
'responses' => [
@@ -3449,360 +2709,229 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .' > Make sure that the request parameters are valid and call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- ."\n"
- .' > Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
- ."\n"
- .'* **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '-',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'HostGroupAlreadyExists', 'errorMessage' => 'The host group already exists.', 'description' => 'The host group already exists.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ModifyHostsPortResponse>\\n<RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n<Results>\\n <Message>无</Message>\\n <HostId>1</HostId>\\n <Code>OK</Code>\\n</Results>\\n</ModifyHostsPortResponse>","errorExample":""}]',
- 'title' => 'ModifyHostsPort',
- 'description' => '## Usage notes'."\n"
- ."\n"
- .'You can call this operation to change the port for the O&M protocol on one or more hosts. If the standard port for the O&M protocol on your host is vulnerable to attacks, you can call this operation to specify a custom port. For example, the standard port for SSH is port 22. '."\n"
- ."\n"
- .'> Ports 0 to 1024 are reserved for Bastionhost. Do not change the port for the O&M protocol to a reserved port. '."\n"
- ."\n"
- .'## QPS limit'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~).'."\n"
- ."\n"
- .'For more information about sample requests, see the "Examples" section of this topic.',
+ 'title' => 'CreateHostGroup',
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ModifyHostsActiveAddressType' => [
- 'summary' => 'Changes the endpoint type of one or more hosts for O\\\\\\&M. Public and private IP addresses are supported.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHostGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateHostGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HostGroupId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'CreateHostShareKey' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to change the portal type of the host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw***',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to change the portal type of the host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostIds',
+ 'name' => 'HostShareKeyName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host for which you want to change the portal type. The value is a JSON string. You can add up to 100 host IDs.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '["1","2"]',
- ],
+ 'schema' => ['description' => 'The name of the shared key that you want to create. The name can be a maximum of 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'name', 'title' => ''],
],
[
- 'name' => 'ActiveAddressType',
+ 'name' => 'PrivateKey',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new portal type of the host. Valid values:'."\n"
- ."\n"
- .'* **Public**: public portal'."\n"
- .'* **Private**: internal portal'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Private',
- ],
+ 'schema' => ['description' => 'The private key. The value is a Base64-encoded string.'."\n"
+ ."\n"
+ .'> You can specify a Rivest-Shamir-Adleman (RSA) key that is generated by using the ssh-keygen command or a key that is generated by using the Ed25519 algorithm.', 'type' => 'string', 'required' => true, 'example' => 'LBYTnpR3Jmd2hMbmNBMGRmdWV2RW5oVXpCUmp3VkM0dGoKa0J2QlNRSHU2bytrMFBudlZvdlMzdGlBbXo5NkRzdUJDcDFFZVFJREFRQUJBb0lCQUNPZGNjK0lGUnNJd3VkYQpjT3VOSm5SK1BxWnlNZGVIaWFOcDc4SUxFd2NLZDNMZmlUWlYxc0d2Q21uTW0vQ3ZiS2NrZ0U1VjZxQVExRGZQCnI******', 'title' => ''],
+ ],
+ [
+ 'name' => 'PassPhrase',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The password of the private key. The value is a Base64-encoded string.', 'type' => 'string', 'required' => false, 'example' => 'MTIzN******', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'HostShareKeyId' => ['description' => 'The ID of the shared key.', 'type' => 'integer', 'format' => 'int64', 'example' => '10235', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'HostShareKeyAlreadyExists', 'errorMessage' => 'The host share key already exists. ', 'description' => ''],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ModifyHostsActiveAddressTypeResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <HostId>1</HostId>\\n <Code>OK</Code>\\n </Results>\\n</ModifyHostsActiveAddressTypeResponse>","errorExample":""}]',
- 'title' => 'ModifyHostsActiveAddressType',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~).'."\n"
- ."\n"
- .'For more information about sample requests, see the "Examples" section of this topic.'."\n",
- ],
- 'ModifyHost' => [
- 'summary' => 'Modifies information about a host. The information includes the address, name, and description of the host and the operating system that the host runs.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'CreateHostShareKey',
+ 'summary' => 'Bastionhost provides the shared key feature. This feature allows you to manage the private key that is used to log on to a host in a bastion host. This way, you can associate the private key with multiple accounts of the host to make host account management more efficient.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHostShareKey'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostShareKeyId\\": 10235\\n}","type":"json"}]',
+ ],
+ 'CreateNetworkDomain' => [
+ 'summary' => 'If you want to perform O\\\\\\\\\\\\\\\\\\\\\\\\&M operations on assets that reside in different networks or assets that cannot communicate with the virtual private cloud (VPC) of your bastion host in a centralized manner, we recommend that you use the network domain feature of Bastionhost. You can configure a proxy server for these assets, create a network domain for a bastion host, and then connect the network domain to the proxy server. This way, you can perform O\\\\\\\\\\\\\\\\\\\\\\\\&M operations on the assets by using the bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to modify the information about the host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to create a network domain.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-lbj3bw4ma02', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to modify the information about the host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to create a network domain.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostPrivateAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new internal endpoint of the host. You can set this parameter to a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '193.168.XX.XX',
- ],
- ],
- [
- 'name' => 'HostPublicAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new public endpoint of the host. You can set this parameter to a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '200.1.XX.XX',
- ],
- ],
- [
- 'name' => 'OSType',
+ 'name' => 'NetworkDomainName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new operating system of the host. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Linux',
- ],
+ 'schema' => ['description' => 'The name of the network domain that you want to create. The name can be up to 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'SSH Proxy', 'title' => ''],
],
[
- 'name' => 'HostName',
+ 'name' => 'NetworkDomainType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the host. The name can be up to 128 characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestHost',
- ],
+ 'schema' => ['description' => 'The connection mode of the network domain to be created. Valid values:'."\n"
+ ."\n"
+ .'- Direct'."\n"
+ ."\n"
+ .'- Proxy', 'type' => 'string', 'required' => true, 'example' => 'Proxy', 'title' => ''],
],
[
'name' => 'Comment',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new description of the host. The description can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Host for test.',
- ],
+ 'schema' => ['description' => 'The remarks of the network domain. The remarks can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the new network domain to which the host belongs.'."\n"
- ."\n"
- .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PrefKex',
+ 'name' => 'Proxies',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The preferred key exchange algorithm of the host. If you set OSType to Linux, you can modify this parameter. Valid values:'."\n"
- ."\n"
- .'* **default**'."\n"
- .'* **diffie-hellman-group1-sha1**'."\n"
- .'* **diffie-hellman-group14-sha1**'."\n"
- .'* **diffie-hellman-group-exchange-sha1**'."\n",
- 'type' => 'string',
+ 'description' => 'The information about the proxy servers.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'User' => ['description' => 'The username of the proxy server.', 'type' => 'string', 'required' => false, 'example' => 'root', 'title' => ''],
+ 'Address' => ['description' => 'The IP address of the proxy server.', 'type' => 'string', 'required' => false, 'example' => '47.104.**.**', 'title' => ''],
+ 'ProxyType' => ['description' => 'The proxy type. Valid values:'."\n"
+ ."\n"
+ .'- **SSHProxy**'."\n"
+ ."\n"
+ .'- **HTTPProxy**'."\n"
+ ."\n"
+ .'- **Socks5Proxy**', 'type' => 'string', 'required' => false, 'example' => 'SSHProxy', 'title' => ''],
+ 'NodeType' => ['description' => 'The node type of the proxy server. Valid values:'."\n"
+ ."\n"
+ .'- **Master**: primary proxy server.'."\n"
+ ."\n"
+ .'- **Slave**: secondary proxy server.', 'type' => 'string', 'required' => false, 'example' => 'Master', 'title' => ''],
+ 'Password' => ['description' => 'The Base64-encoded password of the proxy server.', 'type' => 'string', 'required' => false, 'example' => 'UWdi******Ng==', 'title' => ''],
+ 'Port' => ['description' => 'The port of the proxy server.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'default',
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -3811,51 +2940,38 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'NetworkDomainId' => ['description' => 'The ID of the network domain.', 'type' => 'string', 'example' => '31', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A2873E9C-A7EA-5735-845C-65D3792623D2', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'HostNotFound',
- 'errorMessage' => 'The host is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'NetworkDomainAlreadyExists', 'errorMessage' => 'The network domain already exists.', 'description' => 'The network domain already exists.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyHostResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</ModifyHostResponse>","errorExample":""}]',
- 'title' => 'ModifyHost',
- 'description' => 'You can call the ModifyHost operation to modify the basic information about a host in a data center, an Elastic Compute Service (ECS) instance, or a host in an ApsaraDB MyBase dedicated cluster.'."\n"
- ."\n"
- .'> The basic information about ECS instances and hosts in ApsaraDB MyBase dedicated clusters within your Alibaba Cloud account is synchronized to Bastionhost on a regular basis. After you modify the basic information about an ECS instance or a host in an ApsaraDB MyBase dedicated cluster, the modification result may be overwritten by the synchronized information.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateDatabase' => [
- 'summary' => 'Imports an ApsaraDB RDS for MySQL instance, ApsaraDB RDS for SQL Server instance, ApsaraDB RDS for PostgreSQL instance, PolarDB for MySQL cluster, PolarDB for PostgreSQL cluster, PolarDB for PostgreSQL (Compatible with Oracle) cluster, self-managed MySQL database, self-managed SQL Server database, self-managed PostgreSQL database, or self-managed Oracle database to a bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NetworkDomainId\\": \\"31\\",\\n \\"RequestId\\": \\"A2873E9C-A7EA-5735-845C-65D3792623D2\\"\\n}","type":"json"}]',
+ 'title' => 'CreateNetworkDomain',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetworkDomain'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'CreateOperationTicket' => [
+ 'summary' => 'Creates an O&M ticket for a host or database that requires approval before access. If a control policy requires O&M approval, you must create and get a ticket approved before you can perform O&M operations.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -3866,190 +2982,176 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeCode' => '245215',
+ 'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-7mz2g5hu20e',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about regions and zones, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
+ 'name' => 'AssetId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain to which the database to add belongs.'."\n"
- ."\n"
- .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the asset for which to request O\\&M.'."\n"
+ ."\n"
+ .'> Call the [ListOperationDatabases](~~2758856~~) and [ListOperationHosts](~~2758857~~) operations to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
- 'name' => 'DatabaseType',
+ 'name' => 'ProtocolName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the database engine. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'MySQL',
- ],
+ 'schema' => ['description' => 'The name of the protocol for the O\\&M request. Valid values:'."\n"
+ ."\n"
+ .'- SSH'."\n"
+ ."\n"
+ .'- RDP'."\n"
+ ."\n"
+ .'- MySQL'."\n"
+ ."\n"
+ .'- PostgreSQL'."\n"
+ ."\n"
+ .'- Oracle'."\n"
+ ."\n"
+ .'- SQLServer', 'type' => 'string', 'required' => true, 'example' => 'SSH', 'title' => ''],
],
[
- 'name' => 'ActiveAddressType',
+ 'name' => 'AssetAccountName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The address type of the database to add. Valid values:'."\n"
- ."\n"
- .'* Public'."\n"
- .'* Private'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Public',
- ],
+ 'schema' => ['description' => 'The logon name of the asset account for the O\\&M request.', 'type' => 'string', 'required' => true, 'example' => 'root', 'title' => ''],
],
[
- 'name' => 'DatabasePrivateAddress',
+ 'name' => 'IsOneTimeEffect',
'in' => 'query',
- 'schema' => [
- 'description' => 'The internal IP address of the database. Specify an IPv4 address or a domain name.'."\n"
- ."\n"
- .'> This parameter is required if ActiveAddressType is set to Private.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'pgm-uf6o******',
- ],
+ 'schema' => ['description' => 'Specifies whether the ticket is valid for a single logon. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The ticket is valid for a single logon.'."\n"
+ ."\n"
+ .'- **false**: The ticket is valid for multiple logons within the validity period.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'DatabasePublicAddress',
+ 'name' => 'EffectStartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The public IP address of the database. Specify an IPv4 address or a domain name.'."\n"
- ."\n"
- .'> This parameter is required if ActiveAddressType is set to Public.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rm-uf65251k51******',
- ],
+ 'schema' => ['description' => 'The start time of the validity period for the logon request. This value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1685600242', 'title' => ''],
],
[
- 'name' => 'DatabasePort',
+ 'name' => 'EffectEndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The port of the database. This parameter is required if Source is set to **Local**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '5433',
- ],
+ 'schema' => ['description' => 'The end time of the validity period for the logon request. This value is a UNIX timestamp. Unit: seconds.'."\n"
+ ."\n"
+ .'> The end time must be later than the start time.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1679393152', 'title' => ''],
],
[
- 'name' => 'DatabaseName',
+ 'name' => 'ApproveComment',
'in' => 'query',
+ 'schema' => ['description' => 'The comments on the ticket.', 'type' => 'string', 'required' => true, 'example' => 'Comment', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The name of the database to add. This parameter is required if Source is set to **Local**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Oracle',
+ 'type' => 'object',
+ 'properties' => [
+ 'OperationTicketId' => ['description' => 'The ID of the O\\&M ticket.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0ECCC399-4D35-48A7-8379-5C6180E66235', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'CreateOperationTicket',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOperationTicket'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'SourceInstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The instance ID of the database to add.'."\n"
- ."\n"
- .'> This parameter is required if **Source** is set to **Rds** or **PolarDB**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'i-bp19ienyt0yax748****',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateOperationTicket',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OperationTicketId\\": \\"2\\",\\n \\"RequestId\\": \\"0ECCC399-4D35-48A7-8379-5C6180E66235\\"\\n}","type":"json"}]',
+ ],
+ 'CreatePolicy' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'Source',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the database to add. Valid values:'."\n"
- ."\n"
- .'* Local: on-premises database.'."\n"
- .'* Rds: ApsaraDB RDS instance.'."\n"
- .'* PolarDB: PolarDB cluster.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Local',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to create a control policy.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-20p364c1w0g', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The remarks of the database to add. The remarks can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cpp',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to create a control policy.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
- 'name' => 'SourceInstanceRegionId',
+ 'name' => 'PolicyName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the database to add.'."\n"
- ."\n"
- .'> This parameter is required if **Source** is set to **Rds** or **PolarDB**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
+ 'schema' => ['description' => 'The name of the control policy. The name can be up to 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'policytest', 'title' => ''],
],
[
- 'name' => 'PolarDBEndpointType',
+ 'name' => 'Comment',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint type of the PolarDB database. This parameter is required if Source is set to PolarDB. Valid values:'."\n"
- ."\n"
- .'* Cluster'."\n"
- .'* Primary'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Cluster',
- ],
+ 'schema' => ['description' => 'The remarks of the control policy. The remarks can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
[
- 'name' => 'InstanceMemberId',
+ 'name' => 'Priority',
'in' => 'query',
- 'schema' => [
- 'title' => '数据库实例所属成员ID',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The priority of the control policy.'."\n"
+ ."\n"
+ .'- Valid values: 1 to 100. The default value is 1, which indicates the highest priority.'."\n"
+ ."\n"
+ .'- You can configure the same priority for different control policies. If multiple control policies have the same priority, the control policy that is created at the latest point in time has the highest priority. If a command control policy and a command approval policy contain the same commands, the commands are prioritized in descending order: reject, allow, and approve. In access control policies, a blacklist has a higher priority than a whitelist.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -4057,56 +3159,51 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '334',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '98EDD923-236C-5A88-88E7-4979A91B9325',
- ],
+ 'PolicyId' => ['description' => 'The control policy ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7E68165E-1191-5CC2-B54B-5EF7390A5400', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'LicenseOutOfLimit',
- 'errorMessage' => 'The maximum number of hosts exceeds the license limit.',
- ],
- [
- 'errorCode' => 'DatabaseAlreadyExists',
- 'errorMessage' => 'The database already exists.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'PolicyAlreadyExists', 'errorMessage' => 'The policy already exists.', 'description' => 'The policy already exists.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'CreatePolicy',
+ 'summary' => 'Configures a command control, command approval, protocol control, or access control policy to manage O\\\\\\\\\\\\\\\\\\\\\\\\&M operations. This effectively prevents users from performing high-risk operations or accidental operations to ensure O\\\\\\\\\\\\\\\\\\\\\\\\&M security.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreatePolicy'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreatePolicy',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseId\\": \\"334\\",\\n \\"RequestId\\": \\"98EDD923-236C-5A88-88E7-4979A91B9325\\"\\n}","type":"json"}]',
- 'title' => 'CreateDatabase',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PolicyId\\": \\"1\\",\\n \\"RequestId\\": \\"7E68165E-1191-5CC2-B54B-5EF7390A5400\\"\\n}","type":"json"}]',
],
- 'ModifyDatabase' => [
- 'summary' => 'Modifies the basic information about a database.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateRule' => [
+ 'summary' => 'You can create authorization rules to authorize multiple users to manage assets. You can also specify a validity period for an authorization rule. This way, you can manage users and assets in a more efficient manner and limit the time periods during which users can access assets.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4114,133 +3211,164 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host that manages the database to modify.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-72137xe5n01',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-5yd2ymfsa0e', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host that manages the database to modify.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DatabaseId',
+ 'name' => 'RuleName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '11',
- ],
+ 'schema' => ['description' => 'The name of the authorization rule. The name can be up to 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'rule', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
+ 'name' => 'Comment',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the new network domain for the database.'."\n"
- ."\n"
- .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The remarks of the authorization rule. The remarks can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
[
- 'name' => 'ActiveAddressType',
+ 'name' => 'EffectiveStartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new address type of the database. Valid values:'."\n"
- ."\n"
- .'* **Public**'."\n"
- .'* **Private**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Public',
- ],
+ 'schema' => ['description' => 'The start time of the validity period of the authorization rule. Specify a UNIX timestamp representing the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1669630029', 'title' => ''],
],
[
- 'name' => 'DatabasePrivateAddress',
+ 'name' => 'EffectiveEndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new internal address of the database. Specify an IPv4 address or a domain name.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'pc-bp169******',
- ],
+ 'schema' => ['description' => 'The end time of the validity period of the authorization rule. Specify a UNIX timestamp representing the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1672502400', 'title' => ''],
],
[
- 'name' => 'DatabasePublicAddress',
+ 'name' => 'UserIds',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The new public address of the database. Specify an IPv4 address or a domain name.'."\n",
- 'type' => 'string',
+ 'description' => 'An array that consists of user IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The user ID.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
'required' => false,
- 'example' => 'pgm-uf6c******',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DatabasePort',
+ 'name' => 'UserGroupIds',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The new port of the database.'."\n",
- 'type' => 'string',
+ 'description' => 'An array that consists of user group IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The user group ID.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the user group ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
'required' => false,
- 'example' => '5433',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DatabaseName',
+ 'name' => 'Hosts',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The new name of the database.'."\n",
- 'type' => 'string',
+ 'description' => 'The host information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The host ID and the host account ID that you want to authorize to manage.',
+ 'type' => 'object',
+ 'properties' => [
+ 'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ 'HostAccountIds' => [
+ 'description' => 'An array that consists of host account IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The host account ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'pgsql',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'SourceInstanceId',
+ 'name' => 'Databases',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the ApsaraDB for RDS instance or PolarDB cluster to modify.'."\n"
- ."\n"
- .'> This parameter is required if **Source** is set to **Rds** or **PolarDB**.'."\n",
- 'type' => 'string',
+ 'description' => 'The information about the database that runs on your server.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The database ID and the database account ID that you want to authorize to manage.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
+ 'DatabaseAccountIds' => [
+ 'description' => 'An array that consists of database account IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The database account ID.', 'type' => 'string', 'required' => false, 'example' => '4', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'i-wz99nexqd62z3bvuvpz5',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'Comment',
+ 'name' => 'HostGroups',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The new remarks of the database.'."\n",
- 'type' => 'string',
+ 'description' => 'The information about the asset group that you want to authorize to manage.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The asset group that you want to authorize to manage.',
+ 'type' => 'object',
+ 'properties' => [
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''],
+ 'HostAccountNames' => [
+ 'description' => 'An array that consists of asset account names.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The username of the asset account.', 'type' => 'string', 'required' => false, 'example' => 'root', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'tttttttt',
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -4249,494 +3377,341 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '162088A7-7D47-56A3-9D04-93DE7B6DBE1C',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BFA818E3-0A53-51F4-8DB5-AF2A62A6D042', 'title' => ''],
+ 'RuleId' => ['description' => 'The authorization rule ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'DatabaseAlreadyExists',
- 'errorMessage' => 'The database already exists.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'DatabaseNotFound',
- 'errorMessage' => 'The database is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'RuleAlreadyExists', 'errorMessage' => 'The rule already exists.', 'description' => 'The rule already exists.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'CreateRule',
+ 'requestParamsDescription' => '### Hosts array'."\n"
+ ."\n"
+ .'#### Host parameters'."\n"
+ ."\n"
+ .'| Parameter | Type | Description |'."\n"
+ .'| -------------- | ------------- | ------------------------------------------- |'."\n"
+ .'| HostId | string | The host ID. |'."\n"
+ .'| HostAccountIds | array[string] | An array that consists of host account IDs. |'."\n"
+ ."\n"
+ .'### HostGroups array'."\n"
+ ."\n"
+ .'#### HostGroup parameters'."\n"
+ ."\n"
+ .'| Parameter | Type | Description |'."\n"
+ .'| ---------------- | ------------- | ------------------------------------------------- |'."\n"
+ .'| HostGroupId | string | The host group ID. |'."\n"
+ .'| HostAccountNames | array[string] | An array that consists of host account usernames. |'."\n"
+ ."\n"
+ .'#### AssetGroup parameter'."\n"
+ ."\n"
+ .'| Parameter | Type | Description |'."\n"
+ .'| ----------------- | ------------- | -------------------------------------------------- |'."\n"
+ .'| AssetGroupId | string | The asset group ID. |'."\n"
+ .'| AssetAccountNames | array[string] | An array that consists of asset account usernames. |',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateRule'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"162088A7-7D47-56A3-9D04-93DE7B6DBE1C\\"\\n}","type":"json"}]',
- 'title' => 'ModifyDatabase',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BFA818E3-0A53-51F4-8DB5-AF2A62A6D042\\",\\n \\"RuleId\\": \\"1\\"\\n}","type":"json"}]',
],
- 'GetDatabase' => [
- 'summary' => 'Queries the detailed information about a database.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateUser' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host that manages the database to query.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-wwo36qbv601',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which you want to add a user.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host that manages the database to query.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which you want to add a user.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DatabaseId',
+ 'name' => 'Source',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database to query.'."\n"
- ."\n"
- .'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '21',
- ],
+ 'schema' => ['description' => 'The type of the user that you want to add. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a local user.'."\n"
+ ."\n"
+ .'- **Ram**: a RAM user.'."\n"
+ ."\n"
+ .'- **AD**: an AD-authenticated user.'."\n"
+ ."\n"
+ .'- **LDAP**: an LDAP-authenticated user.', 'type' => 'string', 'required' => true, 'example' => 'Local', 'title' => ''],
],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'Database' => [
- 'description' => 'The returned detailed information about the database.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'ActiveAddressType' => [
- 'description' => 'The address type of the database. Valid values:'."\n"
- ."\n"
- .'* Public'."\n"
- .'* Private'."\n",
- 'type' => 'string',
- 'example' => 'Public',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the database.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '22',
- ],
- 'DatabaseName' => [
- 'description' => 'The name of the database.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'DatabasePort' => [
- 'description' => 'The port of the database.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3306',
- ],
- 'DatabasePrivateAddress' => [
- 'description' => 'The internal endpoint of the database.'."\n",
- 'type' => 'string',
- 'example' => 'rm-bp1zq******',
- ],
- 'DatabasePublicAddress' => [
- 'description' => 'The public endpoint of the database.'."\n",
- 'type' => 'string',
- 'example' => 'rm-uf65******',
- ],
- 'DatabaseType' => [
- 'description' => 'The database engine. Valid values:'."\n"
- ."\n"
- .'* **mysql**'."\n"
- .'* **sqlserver**'."\n"
- .'* **postgresql**'."\n"
- .'* **oracle**'."\n",
- 'type' => 'string',
- 'example' => 'MySQL',
- ],
- 'NetworkDomainId' => [
- 'description' => 'The ID of the network domain to which the database belongs.'."\n",
- 'type' => 'string',
- 'example' => '45',
- ],
- 'Source' => [
- 'description' => 'The database type. Valid values:'."\n"
- ."\n"
- .'* **Local**: on-premises database.'."\n"
- .'* **Rds**: ApsaraDB RDS instance.'."\n"
- .'* **PolarDB**: PolarDB cluster.'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'SourceInstanceId' => [
- 'description' => 'The ID of the ApsaraDB RDS instance or PolarDB cluster.'."\n"
- ."\n"
- .'> If **Source** is set to **Local**, this parameter is empty.'."\n",
- 'type' => 'string',
- 'example' => 'i-wz9527ob0e0nftcsffke',
- ],
- 'SourceInstanceRegionId' => [
- 'description' => 'The region ID of the ApsaraDB RDS instance or PolarDB cluster.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'SourceInstanceState' => [
- 'description' => 'The status of the database. Valid values:'."\n"
- ."\n"
- .'* **Normal**'."\n"
- .'* **Release**'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- ],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '4D72B883-9D15-5B05-B987-DFD10EB1FFB4',
- ],
- ],
- 'description' => '',
- ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The logon name of the user that you want to add. The logon name must be 1 to 128 characters in length and can contain only letters, digits, and underscores (\\_).', 'type' => 'string', 'required' => true, 'example' => 'abc_def', 'title' => ''],
],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The logon password of the user that you want to add. The logon password must be 8 to 128 characters in length. It must contain uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ ."\n"
+ .'> This parameter is required if Source is set to Local.', 'type' => 'string', 'required' => false, 'example' => '213****', 'title' => ''],
],
- 404 => [
- [
- 'errorCode' => 'DatabaseNotFound',
- 'errorMessage' => 'The database is not found.',
- ],
+ [
+ 'name' => 'DisplayName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The display name of the user that you want to add. The display name can be up to 128 characters in length.'."\n"
+ ."\n"
+ .'> If you leave this parameter empty, the logon name is used as the display name.', 'type' => 'string', 'required' => false, 'example' => 'Bob', 'title' => ''],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The remarks of the user that you want to add. The remarks can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Database\\": {\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"Comment\\": \\"comment\\",\\n \\"DatabaseId\\": \\"22\\",\\n \\"DatabaseName\\": \\"test\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"rm-bp1zq******\\",\\n \\"DatabasePublicAddress\\": \\"rm-uf65******\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"NetworkDomainId\\": \\"45\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9527ob0e0nftcsffke\\",\\n \\"SourceInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"SourceInstanceState\\": \\"Normal\\"\\n },\\n \\"RequestId\\": \\"4D72B883-9D15-5B05-B987-DFD10EB1FFB4\\"\\n}","type":"json"}]',
- 'title' => 'GetDatabase',
- ],
- 'ListDatabases' => [
- 'summary' => 'Queries the databases that are managed by a bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ 'name' => 'Email',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The email address of the user that you want to add.'."\n"
+ ."\n"
+ .'>'."\n"
+ ."\n"
+ .'- This parameter is required if TwoFactorStatus is set to Enable and TwoFactorMethods is set to email, or if TwoFactorStatus is set to Global and TwoFactorMethods is set to email in the global two-factor authentication settings.'."\n"
+ ."\n"
+ .'- You can call the [GetInstanceTwoFactor](~~462968~~) operation to query the global two-factor authentication settings.', 'type' => 'string', 'required' => false, 'example' => 'username@example.com', 'title' => ''],
],
- ],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
+ [
+ 'name' => 'Mobile',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The mobile phone number of the user that you want to add.'."\n"
+ ."\n"
+ .'>'."\n"
+ ."\n"
+ .'- This parameter is required if TwoFactorStatus is set to Enable and TwoFactorMethods is set to sms or dingtalk, or if TwoFactorStatus is set to Global and TwoFactorMethods is set to sms or dingtalk in the global two-factor authentication settings.'."\n"
+ ."\n"
+ .'- You can call the [GetInstanceTwoFactor](~~462968~~) operation to query the global two-factor authentication settings.', 'type' => 'string', 'required' => false, 'example' => '1359999****', 'title' => ''],
],
- ],
- 'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'SourceUserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to query.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-7mz28f5tk0o',
- ],
+ 'schema' => ['description' => 'The unique ID of the user that you want to add.'."\n"
+ ."\n"
+ .'>'."\n"
+ ."\n"
+ .'- This parameter uniquely identifies a RAM user of the bastion host. This parameter is required if Source is set to Ram. You can call the [ListUsers](~~28684~~) operation in RAM to obtain the unique ID of the user from the UserId response parameter.'."\n"
+ ."\n"
+ .'- This parameter is required if Source is set to AD or LDAP. Specify the distinguished name (DN) of the Active Directory (AD)-authenticated user or Lightweight Directory Access Protocol (LDAP)-authenticated user that you want to add.', 'type' => 'string', 'required' => false, 'example' => '122748924538****', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'MobileCountryCode',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to query.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The location where the mobile phone number of the user is registered. Default value: CN. Valid values:'."\n"
+ ."\n"
+ .'- **CN**: the Chinese mainland, whose international dialing code is +86.'."\n"
+ ."\n"
+ .'- **HK**: Hong Kong (China), whose international dialing code is +852.'."\n"
+ ."\n"
+ .'- **MO**: Macao (China), whose international dialing code is +853.'."\n"
+ ."\n"
+ .'- **TW**: Taiwan (China), whose international dialing code is +886.'."\n"
+ ."\n"
+ .'- **RU**: Russia, whose international dialing code is +7.'."\n"
+ ."\n"
+ .'- **SG**: Singapore, whose international dialing code is +65.'."\n"
+ ."\n"
+ .'- **MY**: Malaysia, whose international dialing code is +60.'."\n"
+ ."\n"
+ .'- **ID**: Indonesia, whose international dialing code is +62.'."\n"
+ ."\n"
+ .'- **DE**: Germany, whose international dialing code is +49.'."\n"
+ ."\n"
+ .'- **AU**: Australia, whose international dialing code is +61.'."\n"
+ ."\n"
+ .'- **US**: US, whose international dialing code is +1.'."\n"
+ ."\n"
+ .'- **AE**: United Arab Emirates, whose international dialing code is +971.'."\n"
+ ."\n"
+ .'- **JP**: Japan, whose international dialing code is +81.'."\n"
+ ."\n"
+ .'- **GB**: UK, whose international dialing code is +44.'."\n"
+ ."\n"
+ .'- **IN**: India, whose international dialing code is +91.'."\n"
+ ."\n"
+ .'- **KR**: Republic of Korea, whose international dialing code is +82.'."\n"
+ ."\n"
+ .'- **PH**: Philippines, whose international dialing code is +63.'."\n"
+ ."\n"
+ .'- **CH**: Switzerland, whose international dialing code is +41.'."\n"
+ ."\n"
+ .'- **SE:** Sweden, whose international dialing code is +46.'."\n"
+ ."\n"
+ .'- **SA:** Saudi Arabia, whose international dialing code is +966.', 'type' => 'string', 'required' => false, 'example' => 'CN', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'EffectiveStartTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: 1.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The start time of the validity period of the user. Specify a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1669630029', 'title' => '', 'required' => false],
],
[
- 'name' => 'PageSize',
+ 'name' => 'EffectiveEndTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.'."\n"
- .'Valid values: 1 to100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The end time of the validity period of the user. Specify a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1672502400', 'title' => '', 'required' => false],
],
[
- 'name' => 'DatabaseType',
+ 'name' => 'NeedResetPassword',
'in' => 'query',
- 'schema' => [
- 'description' => 'The engine of the database to query. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MySQL',
- ],
+ 'schema' => ['description' => 'Specifies whether password reset is required upon the next logon. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> If you leave this parameter empty, the default value false is used.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'true'],
],
[
- 'name' => 'NetworkDomainId',
+ 'name' => 'TwoFactorStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain where the database to query resides.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'Specifies whether two-factor authentication is enabled for the user. Valid values:'."\n"
+ ."\n"
+ .'- **Global**: The global settings apply.'."\n"
+ ."\n"
+ .'- **Disable**: Two-factor authentication is disabled.'."\n"
+ ."\n"
+ .'- **Enable**: Two-factor authentication is enabled and user-specific settings apply.'."\n"
+ ."\n"
+ .'> If you leave this parameter empty, the default value Global is used.', 'type' => 'string', 'required' => false, 'example' => 'Enable', 'title' => ''],
],
[
- 'name' => 'Source',
+ 'name' => 'TwoFactorMethods',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the database to query. Valid values:'."\n"
- ."\n"
- .'* **Local**: on-premises database.'."\n"
- .'* **Rds**: ApsaraDB for RDS instance.'."\n"
- .'* **PolarDB**: PolarDB cluster',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Local',
- ],
+ 'schema' => ['description' => 'The two-factor authentication method. You can select only one method. Valid values:'."\n"
+ ."\n"
+ .'- **sms**: text message-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **email**: email-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **dingtalk**: DingTalk-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **totp OTP**: one-time password (OTP) token-based two-factor authentication.'."\n"
+ ."\n"
+ .'> If TwoFactorStatus is set to Enable, you must select one of the preceding values for TwoFactorMethods.', 'type' => 'string', 'required' => false, 'example' => '["sms"]', 'title' => ''],
],
[
- 'name' => 'HostGroupId',
+ 'name' => 'LanguageStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset group to query. This operation returns the databases in the asset group.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the asset group.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'Specifies whether to send notifications in the language specified in the global settings or a custom language.'."\n"
+ ."\n"
+ .'- **Global**'."\n"
+ ."\n"
+ .'- **Custom**'."\n"
+ ."\n"
+ .'> If you leave this parameter empty, the default value Global is used.', 'type' => 'string', 'required' => false, 'example' => 'Custom', 'title' => ''],
+ ],
+ [
+ 'name' => 'Language',
+ 'in' => 'query',
+ 'schema' => ['description' => 'This parameter is required if LanguageStatus is set to Custom. Valid values:'."\n"
+ ."\n"
+ .'- **zh-cn**: simplified Chinese.'."\n"
+ ."\n"
+ .'- **en**: English.', 'type' => 'string', 'required' => false, 'example' => 'en', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'Databases' => [
- 'description' => 'The databases returned.',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ActiveAddressType' => [
- 'description' => 'The address type of the database. Valid values:'."\n"
- ."\n"
- .'* **Public**'."\n"
- .'* **Private**',
- 'type' => 'string',
- 'example' => 'Public',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the database.',
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.',
- 'type' => 'string',
- 'example' => '9',
- ],
- 'DatabaseName' => [
- 'description' => 'The name of the database.',
- 'type' => 'string',
- 'example' => 'MySQL0',
- ],
- 'DatabasePort' => [
- 'description' => 'The port of the database.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '3306',
- ],
- 'DatabasePrivateAddress' => [
- 'description' => 'The internal address of the database. The value is a domain name or an IP address.',
- 'type' => 'string',
- 'example' => 'rm-wz973w7******',
- ],
- 'DatabasePublicAddress' => [
- 'description' => 'The public address of the database. The value is a domain name or an IP address.',
- 'type' => 'string',
- 'example' => 'rm-uf65n2******',
- ],
- 'DatabaseType' => [
- 'description' => 'The database engine. Valid values:'."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**',
- 'type' => 'string',
- 'example' => 'MySQL',
- ],
- 'NetworkDomainId' => [
- 'description' => 'The ID of the network domain where the database resides.',
- 'type' => 'string',
- 'example' => '8',
- ],
- 'Source' => [
- 'description' => 'The type of the database. Valid values:'."\n"
- ."\n"
- .'* **Local**: on-premises database.'."\n"
- .'* **Rds**: ApsaraDB for RDS instance.'."\n"
- .'* **PolarDB**: PolarDB cluster',
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'SourceInstanceId' => [
- 'description' => 'The ID of the ApsaraDB for RDS instance or PolarDB cluster.'."\n"
- .'> No value is returned for this parameter if **Source** is set to **Local**.',
- 'type' => 'string',
- 'example' => 'i-wz9ejupczf41******',
- ],
- 'SourceInstanceRegionId' => [
- 'description' => 'The region ID of the ApsaraDB for RDS instance or PolarDB cluster.',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'SourceInstanceState' => [
- 'description' => 'The status of the database. Valid values:'."\n"
- ."\n"
- .'* **Normal**'."\n"
- .'* **Release**',
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- ],
- ],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of databases returned.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '4',
- ],
+ 'UserId' => ['description' => 'The ID of the user that is added.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'UserAlreadyExists', 'errorMessage' => 'The user already exists.', 'description' => 'The user already exists.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'CreateUser',
+ 'summary' => 'Adds a user to a bastion host.',
+ 'description' => 'Adds local users, Resource Access Management (RAM) users, Active Directory (AD)-authenticated users, or Lightweight Directory Access Protocol (LDAP)-authenticated users to a bastion host. After adding a user, O\\&M engineers can log on to the bastion host with that account to perform O\\&M operations on authorized hosts.'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds a limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limits when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~148139~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see Sample requests.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUser'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Databases\\": [\\n {\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"Comment\\": \\"comment\\",\\n \\"DatabaseId\\": \\"9\\",\\n \\"DatabaseName\\": \\"MySQL0\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"rm-wz973w7******\\",\\n \\"DatabasePublicAddress\\": \\"rm-uf65n2******\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"NetworkDomainId\\": \\"8\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9ejupczf41******\\",\\n \\"SourceInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"SourceInstanceState\\": \\"Normal\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 4\\n}","type":"json"}]',
- 'title' => 'ListDatabases',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"UserId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
],
- 'DeleteDatabase' => [
- 'summary' => 'Deletes a database.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateUserGroup' => [
+ 'summary' => 'Creates a user group for a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4744,99 +3719,79 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host from which you want to delete the database.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1ghxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to create a user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to create a user group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DatabaseId',
+ 'name' => 'UserGroupName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database that you want to delete.'."\n"
- ."\n"
- .'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '11',
- ],
+ 'schema' => ['description' => 'The name of the user group that you want to create. This name can be a up to 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'group', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The description of the user group. The description can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '81500666-d7f5-4143-8329-0223cc738105',
- ],
+ 'UserGroupId' => ['description' => 'The ID of the user group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'DatabaseNotFound',
- 'errorMessage' => 'The database is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'UserGroupAlreadyExists', 'errorMessage' => 'The user group already exists.', 'description' => 'The user group already exists.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\"\\n}","type":"json"}]',
- 'title' => 'DeleteDatabase',
- ],
- 'CreateNetworkDomain' => [
- 'summary' => 'If you want to perform O\\\\\\&M operations on assets that reside in different networks or assets that cannot communicate with the virtual private cloud (VPC) of your bastion host in a centralized manner, we recommend that you use the network domain feature of Bastionhost. You can configure a proxy server for these assets, create a network domain for a bastion host, and then connect the network domain to the proxy server. This way, you can perform O\\\\\\&M operations on the assets by using the bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'CreateUserGroup',
+ 'description' => 'Creates a user group for a bastion host as an administrator. After creating the group, use the [AddUsersToGroup](~~204600~~) operation to add multiple users at once, enabling centralized user authorization and management.'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUserGroup'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"UserGroupId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'CreateUserPublicKey' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4847,235 +3802,120 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostKFH6IG',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to create a network domain.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-lbj3bw4ma02',
- ],
+ 'schema' => ['description' => 'Specifies the region ID of the bastion host on which you want to create a public key for the user.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to create a network domain.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to create a public key for the user.'."\n"
+ ."\n"
+ .'> You can call the [listinstances](~~204522~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
- 'name' => 'NetworkDomainName',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the network domain that you want to create. The name can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '',
- ],
+ 'schema' => ['description' => 'The ID of the user for whom you want to create a public key.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'NetworkDomainType',
+ 'name' => 'PublicKeyName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The connection mode of the network domain to be created. Valid values:'."\n"
- ."\n"
- .'* Direct'."\n"
- .'* Proxy'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Proxy',
- ],
+ 'schema' => ['description' => 'The name of the public key.', 'type' => 'string', 'required' => true, 'example' => 'KeyName', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'PublicKey',
'in' => 'query',
- 'schema' => [
- 'description' => 'The remarks of the network domain. The remarks can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['description' => 'The public key. Encode the value by using the Base64 algorithm.', 'type' => 'string', 'required' => true, 'example' => 'c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUxGQnQxUUpyT3IxK2hTTGRkbERMZUx4WGRIZ3hBalBxWHJIbWNFNWxqSk8gbm93Y29kZXJAbm93Y29kZXJkZU1hY0Jvb2stUHJvLmxvY2Fs', 'title' => ''],
],
[
- 'name' => 'Proxies',
+ 'name' => 'Comment',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The information about the proxy servers.',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'User' => [
- 'description' => 'The username of the proxy server.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root',
- ],
- 'Address' => [
- 'description' => 'The IP address of the proxy server.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '47.104.**.**',
- ],
- 'ProxyType' => [
- 'description' => 'The proxy type. Valid values:'."\n"
- ."\n"
- .'- **SSHProxy**'."\n"
- .'- **HTTPProxy**'."\n"
- .'- **Socks5Proxy**',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SSHProxy',
- ],
- 'NodeType' => [
- 'description' => 'The node type of the proxy server. Valid values:'."\n"
- ."\n"
- .'- **Master**: primary proxy server.'."\n"
- .'- **Slave**: secondary proxy server.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Master',
- ],
- 'Password' => [
- 'description' => 'The Base64-encoded password of the proxy server.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '***',
- ],
- 'Port' => [
- 'description' => 'The port of the proxy server.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '22',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The description of the public key. The description can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'NetworkDomainId' => [
- 'description' => 'The ID of the network domain.'."\n",
- 'type' => 'string',
- 'example' => '31',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'A2873E9C-A7EA-5735-845C-65D3792623D2',
- ],
+ 'PublicKeyId' => ['description' => 'The ID of the public key.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => '5EAB922E-F476-5DFA-9290-313C608E724B', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'NetworkDomainAlreadyExists',
- 'errorMessage' => 'The network domain already exists.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ 'title' => 'CreateUserPublicKey',
+ 'summary' => 'Creates a public key for a bastion host user and hosts the public key in the bastion host. This way, O\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&M engineers can use the private key that corresponds to the public key to log on to the bastion host from an O\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&M client.',
+ 'description' => 'You can call the CreateUserPublicKey operation to create a public key for the specified user of a bastion host.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUserPublicKey'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateUserPublicKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NetworkDomainId\\": \\"31\\",\\n \\"RequestId\\": \\"A2873E9C-A7EA-5735-845C-65D3792623D2\\"\\n}","type":"json"}]',
- 'title' => 'CreateNetworkDomain',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PublicKeyId\\": \\"1\\",\\n \\"RequestId\\": \\"5EAB922E-F476-5DFA-9290-313C608E724B\\"\\n}","type":"json"}]',
],
- 'GetNetworkDomain' => [
- 'summary' => 'Queries the detailed information about a network domain.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteDatabase' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostKFH6IG',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- .'> You can call the [DescribeInstances ](~~153281~~)operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-i7m2btk6g48',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host from which you want to delete the database.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1ghxxxxx', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
+ 'name' => 'DatabaseId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain to query.'."\n"
- .'> You can call the [ListNetworkDomains ](~~2758827~~)operation to query the network domain ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
- ],
- [
- 'name' => 'CheckProxyState',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the database that you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.', 'type' => 'string', 'required' => true, 'example' => '11', 'title' => ''],
],
],
'responses' => [
@@ -5083,238 +3923,85 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'NetworkDomain' => [
- 'description' => 'The detailed information about the network domain.',
- 'type' => 'object',
- 'properties' => [
- 'Comment' => [
- 'description' => 'The remarks of the network domain.',
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'Default' => [
- 'description' => 'Indicates whether the network domain is a built-in network domain.'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'NetworkDomainId' => [
- 'description' => 'The network domain ID.',
- 'type' => 'string',
- 'example' => '2',
- ],
- 'NetworkDomainName' => [
- 'description' => 'The name of the network domain.',
- 'type' => 'string',
- 'example' => 'SSH Proxy',
- ],
- 'NetworkDomainType' => [
- 'description' => 'The connection mode of the network domain. Valid values:'."\n"
- ."\n"
- .'* Direct'."\n"
- .'* Proxy',
- 'type' => 'string',
- 'example' => 'Proxy',
- ],
- 'Proxies' => [
- 'description' => 'The information about the proxy servers.',
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'ProxyType' => [
- 'description' => 'The proxy type. Valid values:'."\n"
- ."\n"
- .'- **SSHProxy**'."\n"
- .'- **HTTPProxy**'."\n"
- .'- **Socks5Proxy**',
- 'type' => 'string',
- 'example' => 'HTTPProxy',
- ],
- 'NodeType' => [
- 'description' => 'The node type of the proxy server. Valid values:'."\n"
- .'- **Master**: primary proxy server.'."\n"
- .'- **Slave**: secondary proxy server.',
- 'type' => 'string',
- 'example' => 'Master',
- ],
- 'Address' => [
- 'description' => 'The IP address of the proxy server.',
- 'type' => 'string',
- 'example' => '47.102.**.**',
- ],
- 'Port' => [
- 'description' => 'The port of the proxy server.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '22',
- ],
- 'User' => [
- 'description' => 'The username of the proxy server.',
- 'type' => 'string',
- 'example' => 'root',
- ],
- 'HasPassword' => [
- 'description' => 'Indicates whether the proxy server has a password. Valid values:'."\n"
- ."\n"
- .'- **true**'."\n"
- .'- **false**',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ProxyState' => [
- 'description' => 'The status of the proxy server.'."\n"
- ."\n"
- .'- **Available**'."\n"
- .'- **Unavailable**',
- 'type' => 'string',
- 'example' => 'Unavailable',
- ],
- 'ProxyStateErrorCode' => [
- 'description' => 'The error code that indicates the status of the proxy server.'."\n"
- ."\n"
- .'- **CHECK_PWD_FAILED**: The password is invalid.'."\n"
- .'- **CHECK_PWD_TIMEOUT**: The password verification session timed out.'."\n"
- .'- **CHECK_PWD_NETWORK_ERR**: A network error occurred.'."\n"
- .'- **UNEXPECTED**: An unknown error occurred.',
- 'type' => 'string',
- 'example' => 'CHECK_PWD_TIMEOUT',
- ],
- ],
- ],
- ],
- ],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '05F59944-2E24-595C-B21A-8C9955E60FAF',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '81500666-d7f5-4143-8329-0223cc738105', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'NetworkDomainNotFound',
- 'errorMessage' => 'The network domain is not found.',
- ],
+ ['errorCode' => 'DatabaseNotFound', 'errorMessage' => 'The database is not found.', 'description' => 'The database is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NetworkDomain\\": {\\n \\"Comment\\": \\"comment\\",\\n \\"Default\\": false,\\n \\"NetworkDomainId\\": \\"2\\",\\n \\"NetworkDomainName\\": \\"SSH Proxy\\",\\n \\"NetworkDomainType\\": \\"Proxy\\",\\n \\"Proxies\\": [\\n {\\n \\"ProxyType\\": \\"HTTPProxy\\",\\n \\"NodeType\\": \\"Master\\",\\n \\"Address\\": \\"47.102.**.**\\",\\n \\"Port\\": 22,\\n \\"User\\": \\"root\\",\\n \\"HasPassword\\": true,\\n \\"ProxyState\\": \\"Unavailable\\",\\n \\"ProxyStateErrorCode\\": \\"CHECK_PWD_TIMEOUT\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"05F59944-2E24-595C-B21A-8C9955E60FAF\\"\\n}","type":"json"}]',
- 'title' => 'GetNetworkDomain',
- ],
- 'ListNetworkDomains' => [
- 'summary' => 'Queries the network domains created in a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeleteDatabase',
+ 'summary' => 'Deletes a database.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDatabase'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteDatabase',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteDatabaseAccount' => [
+ 'summary' => 'Deletes a database account.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostKFH6IG',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-tl329pvu70x',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host from which you want to delete the database account.'."\n"
+ ."\n"
+ .'> You can call the DescribeInstances operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'NetworkDomainName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the network domain.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host from which you want to delete the database account.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, [see Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NetworkDomainType',
+ 'name' => 'DatabaseAccountId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The connection mode of the network domain. Valid values:'."\n"
- ."\n"
- .'* **Direct**'."\n"
- .'* **Proxy**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Proxy',
- ],
+ 'schema' => ['description' => 'The ID of the database account that you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.', 'type' => 'string', 'required' => true, 'example' => '9', 'title' => ''],
],
],
'responses' => [
@@ -5322,114 +4009,50 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'NetworkDomains' => [
- 'description' => 'The network domains that are returned.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Comment' => [
- 'description' => 'The remarks of the network domain.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'Default' => [
- 'description' => 'Indicates whether the network domain is built-in.'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'NetworkDomainId' => [
- 'description' => 'The network domain ID.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- 'NetworkDomainName' => [
- 'description' => 'The name of the network domain.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'NetworkDomainType' => [
- 'description' => 'The connection mode of the network domain. Valid values:'."\n"
- ."\n"
- .'* **Direct**'."\n"
- .'* **Proxy**'."\n",
- 'type' => 'string',
- 'example' => 'Proxy',
- ],
- 'ProxiesState' => [
- 'description' => '',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'NodeType' => [
- 'description' => 'The node type of the proxy server. Valid values:'."\n"
- ."\n"
- .'* **Master**: primary proxy server.'."\n"
- .'* **Slave**: secondary proxy server.'."\n",
- 'type' => 'string',
- 'example' => 'Master',
- ],
- 'ProxyState' => [
- 'description' => 'The status of the proxy server.'."\n"
- ."\n"
- .'* **Available**'."\n"
- .'* **Unavailable**'."\n",
- 'type' => 'string',
- 'example' => 'Available',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of network domains that are returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '5',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '81500666-d7f5-4143-8329-0223cc738105', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'DatabaseAccountNotFound', 'errorMessage' => 'The database account is not found.', 'description' => 'The database account is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NetworkDomains\\": [\\n {\\n \\"Comment\\": \\"comment\\",\\n \\"Default\\": true,\\n \\"NetworkDomainId\\": \\"2\\",\\n \\"NetworkDomainName\\": \\"test\\",\\n \\"NetworkDomainType\\": \\"Proxy\\",\\n \\"ProxiesState\\": [\\n {\\n \\"NodeType\\": \\"Master\\",\\n \\"ProxyState\\": \\"Available\\"\\n }\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
- 'title' => 'ListNetworkDomains',
- ],
- 'DeleteNetworkDomain' => [
- 'summary' => 'Deletes a network domain.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeleteDatabaseAccount',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDatabaseAccount'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteDatabaseAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteHost' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5440,44 +4063,29 @@
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostKFH6IG',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose network domain you want to delete.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost_std_intl-sg-uq833e2dz02',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to delete the host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose network domain you want to delete.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to delete the host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
+ 'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain to be deleted.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The ID of the host that you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -5485,49 +4093,51 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '66B9D942-E3C8-5068-A479-5A7B7BF3DE35',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'NetworkDomainNotFound',
- 'errorMessage' => 'The network domain is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'HostNotFound', 'errorMessage' => 'The host is not found.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"66B9D942-E3C8-5068-A479-5A7B7BF3DE35\\"\\n}","type":"json"}]',
- 'title' => 'DeleteNetworkDomain',
- ],
- 'ModifyNetworkDomain' => [
- 'summary' => 'Modifies the basic information about a network domain.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeleteHost',
+ 'summary' => 'Deletes a host.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHost'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteHost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteHostAccount' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5535,140 +4145,32 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostKFH6IG',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the network domain to modify belongs.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-x0r3hyr3f09',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host from which you want to remove the host account.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the network domain to modify belongs.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'NetworkDomainId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
- ],
- [
- 'name' => 'NetworkDomainName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the network domain.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host from which you want to remove the host account.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NetworkDomainType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new connection mode of the network domain. Valid values:'."\n"
- ."\n"
- .'* **Direct**'."\n"
- .'* **Proxy**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Proxy',
- ],
- ],
- [
- 'name' => 'Comment',
+ 'name' => 'HostAccountId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new remarks of the network domain.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'xxx',
- ],
- ],
- [
- 'name' => 'Proxies',
- 'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The information about the proxy servers in the network domain.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'User' => [
- 'description' => 'The new username of the proxy server account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- 'NodeType' => [
- 'description' => 'The node type of the proxy server to modify. Valid values:'."\n"
- ."\n"
- .'* **Master**: primary proxy server.'."\n"
- .'* **Slave**: secondary proxy server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Slave',
- ],
- 'ProxyType' => [
- 'description' => 'The new proxy mode. Valid values:'."\n"
- ."\n"
- .'* **SSHProxy**'."\n"
- .'* **HTTPProxy**'."\n"
- .'* **Socks5Proxy**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'HTTPProxy',
- ],
- 'Address' => [
- 'description' => 'The new IP address of the proxy server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '114.21**.**',
- ],
- 'Password' => [
- 'description' => 'The new password of the proxy server account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '***',
- ],
- 'Port' => [
- 'description' => 'The new port of the proxy server.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '22',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The ID of the host account that you want to remove.'."\n"
+ ."\n"
+ .'> You can call the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -5676,53 +4178,63 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'ED49CD1E-3510-5E5C-9133-E2067B656501',
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'NetworkDomainAlreadyExists',
- 'errorMessage' => 'The network domain already exists.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'NetworkDomainNotFound',
- 'errorMessage' => 'The network domain is not found.',
- ],
+ ['errorCode' => 'HostAccountNotFound', 'errorMessage' => 'The host account is not found.', 'description' => 'The host account is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ED49CD1E-3510-5E5C-9133-E2067B656501\\"\\n}","type":"json"}]',
- 'title' => 'ModifyNetworkDomain',
- ],
- 'MoveHostsToNetworkDomain' => [
- 'summary' => 'Adds multiple hosts to a network domain at a time.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeleteHostAccount',
+ 'summary' => 'Removes a host account.',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'This interface is used to delete individual host accounts. If a host account is no longer in use, you can invoke this interface to delete the host account for that host that has been configured on the bastion.'."\n"
+ ."\n"
+ .'> After you remove the host account, you must enter the username and password of the host when you log on to the host in Bastionhost.'."\n"
+ ."\n"
+ .'## QPS Limit'."\n"
+ ."\n"
+ .'The single-user QPS limit of this interface is 10 times/second. If the limit is exceeded, the API call will be stream-limited, which may affect your business, please call reasonably.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHostAccount'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteHostAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteHostGroup' => [
+ 'summary' => 'Deletes a host group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5730,67 +4242,32 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostKFH6IG',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-uax2zmx8005',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose asset group you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'NetworkDomainId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain to which you want to add hosts.'."\n"
- ."\n"
- .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose asset group you want to delete.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostIds',
+ 'name' => 'HostGroupId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The IDs of the hosts that you want to add to the network domain.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The host ID.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the host ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1", "2", "3"]',
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'The ID of the asset group that you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the asset group ID.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
],
'responses' => [
@@ -5798,206 +4275,130 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'F9B9E190-9C8E-5FEE-B963-7E9F1FD7FB4E',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the host is added to the network domain.'."\n"
- ."\n"
- .'> The code LICENSE_OUT_OF_LIMIT indicates that the network domain feature is not supported by the current Bastionhost edition.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HostId' => [
- 'description' => 'The host ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'HostGroupNotFound', 'errorMessage' => 'The host group is not found.', 'description' => 'The host group is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F9B9E190-9C8E-5FEE-B963-7E9F1FD7FB4E\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"HostId\\": \\"1\\",\\n \\"Message\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'MoveHostsToNetworkDomain',
- ],
- 'MoveDatabasesToNetworkDomain' => [
- 'summary' => 'Adds multiple databases to a network domain at a time.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteHostGroup',
+ 'description' => 'Deletes a single host group. If all hosts in a host group no longer need to be managed through Bastionhost, you can delete the host group using this operation.'."\n"
+ ."\n"
+ .'### Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'When you call this API operation, you must include the common request parameters of Alibaba Cloud API in your request in addition to the request parameters described in this topic. For more information about common request parameters, see [Common parameters](~~148139~~). For the request format, see the request examples in this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHostGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'DeleteHostShareKey' => [
+ 'summary' => 'Deletes a shared key.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostKFH6IG',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-zpr3h2zo60l',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain to which you want to add databases.'."\n"
- ."\n"
- .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
- ],
- [
- 'name' => 'DatabaseIds',
+ 'name' => 'HostShareKeyId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The IDs of the databases that you want to add to the network domain.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The database ID.'."\n"
- ."\n"
- .'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1", "2", "3"]',
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'The shared key ID.'."\n"
+ ."\n"
+ .'> You must specify this parameter. You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.', 'type' => 'string', 'required' => false, 'example' => '11206', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'E5B1BC32-72B2-5BFD-BF75-5D38261264D1',
- ],
- 'Results' => [
- 'description' => 'The results of the call.',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'Indicates whether the database is added to the network domain.'."\n"
- ."\n"
- .'> The code LICENSE_OUT_OF_LIMIT indicates that the network domain feature is not supported by the current Bastionhost edition.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.',
- 'type' => 'string',
- 'example' => '45',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned.',
- 'type' => 'string',
- 'example' => 'N/A',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E5B1BC32-72B2-5BFD-BF75-5D38261264D1\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseId\\": \\"45\\",\\n \\"Message\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'MoveDatabasesToNetworkDomain',
- ],
- 'CreateHostAccount' => [
- 'summary' => 'After you import a host to a bastion host, you must add an account of the host to the bastion host. This way, O\\\\\\&M engineers can use the account to log on to and perform O\\\\\\&M operations on the host by using the bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeleteHostShareKey',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHostShareKey'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteNetworkDomain' => [
+ 'summary' => 'Deletes a network domain.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6005,132 +4406,30 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to add a host account to the host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose network domain you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost_std_intl-sg-uq833e2dz02', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to add a host account to the host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose network domain you want to delete.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host to which you want to add a host account.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'ProtocolName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The protocol of the host to which you want to add a host account.'."\n"
- ."\n"
- .'Valid values:'."\n"
- ."\n"
- .'* SSH'."\n"
- .'* RDP',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SSH',
- ],
- ],
- [
- 'name' => 'HostAccountName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host account. The name can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'abc',
- ],
- ],
- [
- 'name' => 'Password',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The password of the host account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
- ],
- ],
- [
- 'name' => 'PrivateKey',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The private key of the host account. Specify a Base64-encoded string.'."\n"
- ."\n"
- .'> This parameter is valid only if ProtocolName is set to SSH. You do not need to configure this parameter if ProtocolName is set to RDP. You can configure a password and a private key for the host account at the same time. If both a password and a private key are configured for the host account, Bastionhost preferentially uses the private key for logon.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
- ],
- ],
- [
- 'name' => 'PassPhrase',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The passphrase for the private key of the host account.'."\n"
- ."\n"
- .'> You can configure this parameter only if ProtocolName is set to SSH. You do not need to configure this parameter if ProtocolName is set to RDP.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
- ],
- ],
- [
- 'name' => 'HostShareKeyId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the shared key.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PrivilegeType',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
- ],
- [
- 'name' => 'RotationMode',
+ 'name' => 'NetworkDomainId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the network domain to be deleted.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
],
'responses' => [
@@ -6138,315 +4437,169 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'HostAccountId' => [
- 'description' => 'The operation that you want to perform. Set the value to **CreateHostAccount**.',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.',
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '66B9D942-E3C8-5068-A479-5A7B7BF3DE35', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'HostAccountAlreadyExists',
- 'errorMessage' => 'The host account already exists.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'NetworkDomainNotFound', 'errorMessage' => 'The network domain is not found.', 'description' => 'The network domain is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"HostAccountId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateHostAccountResponse>\\n <HostAccountId>1</HostAccountId>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</CreateHostAccountResponse>","errorExample":""}]',
- 'title' => 'CreateHostAccount',
- ],
- 'GetHostAccount' => [
- 'summary' => 'Queries the details of a specified host account.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeleteNetworkDomain',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkDomain'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteNetworkDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"66B9D942-E3C8-5068-A479-5A7B7BF3DE35\\"\\n}","type":"json"}]',
+ ],
+ 'DeletePolicy' => [
+ 'summary' => 'Deletes a control policy.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to query the details of the host account.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose control policy you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to query the details of the host account.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostAccountId',
+ 'name' => 'PolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host account that you want to query.'."\n"
- ."\n"
- .'> You can call the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the control policy to be deleted.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'HostAccount' => [
- 'description' => 'The details of the host account that was queried.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'HasPassword' => [
- 'description' => 'Indicates whether a password is configured for the host account. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'PrivateKeyFingerprint' => [
- 'description' => 'The fingerprint of the private key.'."\n",
- 'type' => 'string',
- 'example' => 'fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol that is used by the host. Valid values:'."\n"
- ."\n"
- .'* **SSH**'."\n"
- .'* **RDP**'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'abc',
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host to which the host account belongs.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostShareKeyId' => [
- 'description' => 'The ID of the shared key.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RotationMode' => [
- 'type' => 'string',
- ],
- 'HostShareKeyName' => [
- 'description' => 'The name of the shared key.'."\n",
- 'type' => 'string',
- 'example' => 'name',
- ],
- 'PrivilegeType' => [
- 'type' => 'string',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'HostAccountNotFound',
- 'errorMessage' => 'The host account is not found.',
- ],
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccount\\": {\\n \\"HasPassword\\": true,\\n \\"PrivateKeyFingerprint\\": \\"fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"HostAccountName\\": \\"abc\\",\\n \\"HostAccountId\\": \\"1\\",\\n \\"HostId\\": \\"1\\",\\n \\"HostShareKeyId\\": \\"1\\",\\n \\"RotationMode\\": \\"Privileged\\",\\n \\"HostShareKeyName\\": \\"name\\",\\n \\"PrivilegeType\\": \\"Normal\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetHostAccountResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostAccount>\\n <HostAccountName>abc</HostAccountName>\\n <ProtocolName>SSH</ProtocolName>\\n <PrivateKeyFingerprint>fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**</PrivateKeyFingerprint>\\n <HostId>1</HostId>\\n <HasPassword>true</HasPassword>\\n <HostAccountId>1</HostAccountId>\\n </HostAccount>\\n</GetHostAccountResponse>","errorExample":""}]',
- 'title' => 'GetHostAccount',
- ],
- 'ListHostAccounts' => [
- 'summary' => 'Queries a list of host accounts.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeletePolicy',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeletePolicy'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeletePolicy',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteRule' => [
+ 'summary' => 'Deletes an authorization rule.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to query accounts of the specified host.'."\n"
- ."\n"
- .'> You can call the DescribeInstances operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host from which you want to delete the authorization rule.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to query accounts of the specified host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the specified host whose accounts you want to query.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page.'."\n"
- ."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'HostAccountName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host account that you want to query. The name can be up to 128 characters in length. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'abc',
- ],
- ],
- [
- 'name' => 'ProtocolName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The protocol used by the host whose accounts you want to query.'."\n"
- ."\n"
- .'Valid values:'."\n"
- ."\n"
- .'* SSH'."\n"
- .'* RDP'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SSH',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host from which you want to delete the authorization rule.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostIds',
+ 'name' => 'RuleId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the authorization rule that you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [ListRules](~~2758868~~) operation to query the authorization rule ID.', 'type' => 'string', 'required' => true, 'example' => '5', 'title' => ''],
],
],
'responses' => [
@@ -6454,113 +4607,51 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of host accounts that are queried.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'HostAccounts' => [
- 'description' => 'An array that consists of the queried host accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HasPassword' => [
- 'description' => 'Indicates whether a password is configured for the host account.'."\n"
- ."\n"
- .'Valid values:'."\n"
- ."\n"
- .'* true: A password is configured for the host account.'."\n"
- .'* false: No passwords are configured for the host account.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'PrivateKeyFingerprint' => [
- 'description' => 'The fingerprint of the private key for the host account.'."\n",
- 'type' => 'string',
- 'example' => 'fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol that is used by the host.'."\n"
- ."\n"
- .'Valid values:'."\n"
- ."\n"
- .'* SSH'."\n"
- .'* RDP'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'abc',
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostShareKeyId' => [
- 'description' => 'The ID of the shared key.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RotationMode' => [
- 'type' => 'string',
- ],
- 'HostShareKeyName' => [
- 'description' => 'The name of the shared key.'."\n",
- 'type' => 'string',
- 'example' => 'name',
- ],
- 'PrivilegeType' => [
- 'type' => 'string',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'RuleNotFound', 'errorMessage' => 'The rule is not found.', 'description' => 'The rule is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccounts\\": [\\n {\\n \\"HasPassword\\": true,\\n \\"PrivateKeyFingerprint\\": \\"fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"HostAccountName\\": \\"abc\\",\\n \\"HostAccountId\\": \\"1\\",\\n \\"HostId\\": \\"1\\",\\n \\"HostShareKeyId\\": \\"1\\",\\n \\"RotationMode\\": \\"Privileged\\",\\n \\"HostShareKeyName\\": \\"name\\",\\n \\"PrivilegeType\\": \\"Normal\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostAccountsResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostAccounts>\\n <HasPassword>true</HasPassword>\\n <PrivateKeyFingerprint>fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**</PrivateKeyFingerprint>\\n <ProtocolName>SSH</ProtocolName>\\n <HostAccountName>abc</HostAccountName>\\n <HostAccountId>1</HostAccountId>\\n <HostId>1</HostId>\\n <HostShareKeyId>1</HostShareKeyId>\\n <HostShareKeyName>name</HostShareKeyName>\\n </HostAccounts>\\n</ListHostAccountsResponse>","errorExample":""}]',
- 'title' => 'ListHostAccounts',
- ],
- 'ModifyHostAccount' => [
- 'summary' => 'Modifies the information about a host account, such as the username, password, and private key of the host account.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeleteRule',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRule'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteUser' => [
+ 'summary' => 'Deletes a bastion host user.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6568,168 +4659,84 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to modify the information about the host account.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which the user to be deleted belongs.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to query the details of the host account.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostAccountId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host account whose information you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'HostAccountName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the host account. The name can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'abc',
- ],
- ],
- [
- 'name' => 'Password',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new password of the host account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
- ],
- ],
- [
- 'name' => 'PrivateKey',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new private key of the host account. Specify a Base64-encoded string.'."\n"
- ."\n"
- .'> This parameter takes effect only if the protocol used by the host is SSH. You do not need to configure this parameter if the protocol used by the host is Remote Desktop Protocol (RDP). You can call the [GetHostAccount](~~204391~~) operation to query the protocol used by the host. You can configure a password and a private key for the host account at the same time. If both a password and a private key are configured for the host account, Bastionhost preferentially uses the private key for logon.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
- ],
- ],
- [
- 'name' => 'PassPhrase',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The passphrase for the new private key of the host account.'."\n"
- ."\n"
- .'> This parameter is valid only if the protocol used by the host is SSH. You do not need to configure this parameter if the protocol used by the host is Remote Desktop Protocol (RDP).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
- ],
- ],
- [
- 'name' => 'HostShareKeyId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the shared key that is associated with the host.'."\n"
- ."\n"
- .'> You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PrivilegeType',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the user to be deleted belongs.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RotationMode',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the user to be deleted.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'HostAccountNotFound',
- 'errorMessage' => 'The host account is not found.',
- ],
+ ['errorCode' => 'UserNotFound', 'errorMessage' => 'The user is not found.', 'description' => 'The user is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyHostAccountResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</ModifyHostAccountResponse>","errorExample":""}]',
- 'title' => 'ModifyHostAccount',
- ],
- 'DeleteHostAccount' => [
- 'summary' => 'Removes a host account.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DeleteUser',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUser'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteUserGroup' => [
+ 'summary' => 'Deletes a user group from a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6740,110 +4747,72 @@
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host from which you want to remove the host account.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to delete the user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host from which you want to remove the host account.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to delete the user group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostAccountId',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host account that you want to remove.'."\n"
- ."\n"
- .'> You can call the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user group that you want to delete.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'HostAccountNotFound',
- 'errorMessage' => 'The host account is not found.',
- ],
+ ['errorCode' => 'UserGroupNotFound', 'errorMessage' => 'The user group is not found.', 'description' => 'The user group is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteHostAccountResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</DeleteHostAccountResponse>","errorExample":""}]',
- 'title' => 'DeleteHostAccount',
- 'description' => '## Usage notes'."\n"
- ."\n"
- .'This interface is used to delete individual host accounts. If a host account is no longer in use, you can invoke this interface to delete the host account for that host that has been configured on the bastion.'."\n"
- ."\n"
- .'> After you remove the host account, you must enter the username and password of the host when you log on to the host in Bastionhost. '."\n"
- ."\n"
- .'## QPS Limit'."\n"
- ."\n"
- .'The single-user QPS limit of this interface is 10 times/second. If the limit is exceeded, the API call will be stream-limited, which may affect your business, please call reasonably.',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~).'."\n"
- ."\n"
- .'For more information about sample requests, see the "Examples" section of this topic.',
+ 'title' => 'DeleteUserGroup',
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ResetHostAccountCredential' => [
- 'summary' => 'Deletes the logon credential of a specified host account. The logon credential can be the password or Secure Shell (SSH) private key.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUserGroup'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteUserPublicKey' => [
+ 'summary' => 'Deletes a public key from the specified user.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6851,346 +4820,411 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host from which you want to delete the logon credential for the host account.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance to which the users to be queried belong.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host from which you want to delete the logon credential for the host account.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostAccountId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host account for which the logon credential is to be deleted.'."\n"
- ."\n"
- .'> You can call the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host. For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'CredentialType',
+ 'name' => 'PublicKeyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the logon credential that you want to delete. Valid values:'."\n"
- ."\n"
- .'* **Password**'."\n"
- .'* **PrivateKey**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Password',
- ],
+ 'schema' => ['description' => 'The public key ID.'."\n"
+ ."\n"
+ .'> You can call the [ListUserPublicKeys](~~477555~~) operation to query the public key ID.', 'type' => 'string', 'required' => true, 'example' => '11', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8783-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'HostAccountNotFound',
- 'errorMessage' => 'The host account is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'DeleteUserPublicKey',
+ 'description' => 'You can call the DeleteUserPublicKey operation to delete a public key from the specified user of a bastion host.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUserPublicKey'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteUserPublicKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetHostAccountCredentialResponse>\\r\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\r\\n</ResetHostAccountCredentialResponse>","errorExample":""}]',
- 'title' => 'ResetHostAccountCredential',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
],
- 'CreateDatabaseAccount' => [
- 'summary' => 'After a database is created, you can create a database account for the database. After the account is created, O\\\\\\&M engineers can use the account to log on to and perform O\\\\\\&M operations on the database.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DescribeInstanceAttribute' => [
+ 'summary' => 'Returns all instance attributes, such as its instance ID and description.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeCode' => '91488',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to create a database account.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-5yd34ol020a',
- ],
- ],
- [
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to create a database account.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
- ],
- [
- 'name' => 'DatabaseId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database for which you want to create a database account.'."\n"
- ."\n"
- .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
- ],
- [
- 'name' => 'DatabaseAccountName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The username of the database account to be created. The username can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'root',
- ],
- ],
- [
- 'name' => 'Password',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The password of the database account to be created.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MCQ******',
- ],
+ 'schema' => ['description' => 'The ID of the region in which the Bastionhost instance resides.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DatabaseSchema',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the database. This parameter is required for PostgreSQL and Oracle databases.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'orcl',
- ],
- ],
- [
- 'name' => 'LoginAttribute',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The logon attribute. This parameter is required for Oracle databases. Valid values:'."\n"
- ."\n"
- .'* SERVICENAME'."\n"
- .'* SID'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SID',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain the ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1ghxxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'DatabaseAccountId' => [
- 'description' => 'The ID of the database account.'."\n",
- 'type' => 'string',
- 'example' => '40',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'B07C465D-B09F-54DD-8FEC-90788BEABAFC',
+ 'RequestId' => ['description' => 'The unique ID of the request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '082FAB35-6AB9-4FD5-8750-D36673548E76', 'title' => ''],
+ 'InstanceAttribute' => [
+ 'description' => 'The attributes of the instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'VpcId' => ['description' => 'The ID of the instance\'s Virtual Private Cloud (VPC).', 'type' => 'string', 'example' => 'vpc-bp1c85tzgqu1bf5bxxxxx', 'title' => ''],
+ 'VswitchId' => ['description' => 'The ID of the instance\'s VSwitch.', 'type' => 'string', 'example' => 'vsw-bp1xfwzzfti0kjbfxxxxx', 'title' => ''],
+ 'Description' => ['description' => 'The description of the instance.', 'type' => 'string', 'example' => 'Test API', 'title' => ''],
+ 'ExpireTime' => ['description' => 'The expiration timestamp, in milliseconds, of the Bastionhost instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1578326400000', 'title' => ''],
+ 'ModifyPasswordModule' => ['description' => 'The status of the password change feature.'."\n"
+ ."\n"
+ .'- **Enable**: The feature is enabled.'."\n"
+ ."\n"
+ .'- **Disable**: The feature is disabled.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'EniInstanceId' => ['description' => 'The ID of the elastic network interface (ENI).', 'type' => 'string', 'example' => 'eni-bp1455jrzwm7moaxxxxx', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'bastionhost-cn-78v1ghxxxxx', 'title' => ''],
+ 'InternetEndpoint' => ['description' => 'The public domain name of the instance.', 'type' => 'string', 'example' => '******lwb-public.bastionhost.aliyuncs.com', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region where the Bastionhost instance is located.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'IntranetEndpoint' => ['description' => 'The internal endpoint of the instance.', 'type' => 'string', 'example' => '******xalwb.bastionhost.aliyuncs.com', 'title' => ''],
+ 'StartTime' => ['description' => 'The timestamp, in milliseconds, when the Bastionhost instance was purchased or renewed.', 'type' => 'integer', 'format' => 'int64', 'example' => '1577681345000', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the instance\'s resource group.', 'type' => 'string', 'example' => 'rg-aekzc427db******', 'title' => ''],
+ 'NetworkProxyModule' => ['description' => 'The status of the network domain proxy feature.'."\n"
+ ."\n"
+ .'- **Enable**: The network domain proxy feature is enabled.'."\n"
+ ."\n"
+ .'- **Disable**: The network domain proxy feature is disabled.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'WebTerminalModule' => ['description' => 'The status of the web terminal.'."\n"
+ ."\n"
+ .'- **Enable**: Supports web-based remote connections.'."\n"
+ ."\n"
+ .'- **Disable**: Does not support web-based remote connections.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'InstanceStatus' => ['description' => 'The status of the instance. Valid values:'."\n"
+ ."\n"
+ .'- **PENDING**: The instance is being initialized.'."\n"
+ ."\n"
+ .'- **CREATING**: The instance is being created.'."\n"
+ ."\n"
+ .'- **RUNNING**: The instance is running.'."\n"
+ ."\n"
+ .'- **EXPIRED**: The instance has expired.'."\n"
+ ."\n"
+ .'- **CREATE\\_FAILED**: Instance creation failed.'."\n"
+ ."\n"
+ .'- **UPGRADING**: The instance is being upgraded.'."\n"
+ ."\n"
+ .'- **UPGRADE\\_FAILED**: Instance upgrade failed.', 'type' => 'string', 'example' => 'RUNNING', 'title' => ''],
+ 'LicenseCode' => ['description' => 'The license code.', 'type' => 'string', 'example' => 'bhah_ent_50_asset', 'title' => ''],
+ 'PublicNetworkAccess' => ['description' => 'Indicates whether the Bastionhost instance is accessible over the public network. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The Bastionhost instance is accessible over the public network.'."\n"
+ ."\n"
+ .'- **false**: The Bastionhost instance is not accessible over the public network.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Storage' => ['description' => 'The total storage capacity of the Bastionhost instance, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '2199023255552', 'title' => ''],
+ 'Ports' => [
+ 'description' => 'The O\\&M ports of the Bastionhost instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'An O\\&M port of the Bastionhost instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'StandardPort' => ['description' => 'The standard O\\&M port number. The following are the default standard ports for specific protocols:'."\n"
+ ."\n"
+ .'- **SSH**: 60022'."\n"
+ ."\n"
+ .'- **RDP**: 63389'."\n"
+ ."\n"
+ .'- **HTTPS**: 443', 'type' => 'integer', 'format' => 'int32', 'example' => '60022', 'title' => ''],
+ 'CustomPort' => ['description' => 'The custom O\\&M port.'."\n"
+ ."\n"
+ .'> Only SSH and RDP ports can be customized. If no custom port is set, this parameter returns the value of the `StandardPort` parameter.', 'type' => 'integer', 'format' => 'int32', 'example' => '600xx', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PublicExportIps' => [
+ 'description' => 'A list of public egress IP addresses of the Bastionhost instance.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A public egress IP address.', 'type' => 'string', 'example' => '[10.162.168.xx/32]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PublicWhiteList' => [
+ 'description' => 'The public whitelist of the Bastionhost instance.',
+ 'type' => 'array',
+ 'items' => ['description' => 'An IP address on the public whitelist.', 'type' => 'string', 'example' => '[10.162.168.xx/32]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AuthorizedSecurityGroups' => [
+ 'description' => 'A list of authorized security group IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of an authorized security group.', 'type' => 'string', 'example' => '[sg-bp14u00sh39jvw5xxxxx]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PrivateExportIps' => [
+ 'description' => 'A list of private egress IP addresses of the Bastionhost instance.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A private egress IP address.', 'type' => 'string', 'example' => '192.168.xx.xx', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PublicIps' => [
+ 'description' => 'A list of public IP addresses of the Bastionhost instance.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A public IP address.', 'type' => 'string', 'example' => '116.62.xx.xx', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'SecurityGroupIds' => [
+ 'description' => 'A list of the instance\'s security group IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of a security group that contains the instance.', 'type' => 'string', 'example' => 'sg-bp15ed6xe1yxeycg7o****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PrivateWhiteList' => [
+ 'description' => 'The private whitelist of the instance.',
+ 'type' => 'array',
+ 'items' => ['description' => 'An IP address on the private whitelist.', 'type' => 'string', 'example' => '192.168.xx.xx', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Bandwidth' => ['description' => 'The total bandwidth of the Bastionhost instance, in Mbit/s.', 'type' => 'string', 'example' => '30', 'title' => ''],
+ 'BandwidthPackage' => ['description' => 'The extra bandwidth package of the Bastionhost instance, in Mbit/s.', 'type' => 'string', 'example' => '5', 'title' => ''],
+ 'DbOperationModule' => ['description' => 'The status of the database O\\&M feature.'."\n"
+ ."\n"
+ .'- **Enable**: The database O\\&M feature is enabled.'."\n"
+ ."\n"
+ .'- **Disable**: The database O\\&M feature is disabled.', 'type' => 'string', 'example' => 'Disable', 'title' => ''],
+ 'RouterRules' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'description' => 'A list of routing rules for the Bastionhost instance.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'IDaaSModule' => ['description' => 'Indicates whether the IDaaS integration module is enabled. Valid values are `Enable` and `Disable`.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SlaveVswitchId' => ['description' => 'The ID of the standby VSwitch for the Bastionhost instance.', 'type' => 'string', 'example' => 'vsw-uf6cmnae7hu5****', 'title' => ''],
+ 'ScriptDeliverModule' => ['description' => 'Indicates whether the script-based O\\&M module is enabled. Valid values are `Enable` and `Disable`.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'KmsSecretModule' => ['description' => 'Indicates whether the instance is integrated with Key Management Service (KMS) and Secrets Manager. Valid values are `Enable` and `Disable`.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'RDModule' => ['description' => 'Indicates whether the multi-account module is enabled. Valid values are `Enable` and `Disable`.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'HSMModule' => ['description' => 'Indicates whether the Bastionhost instance is integrated with a Hardware Security Module (HSM).', 'type' => 'string', 'title' => '', 'example' => ''],
+ 'WhiteListPolicies' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Entry' => ['description' => 'An IP address or CIDR block in the whitelist.', 'type' => 'string', 'example' => '94.74.xx.xx/32', 'title' => ''],
+ 'Description' => ['description' => 'The description of the whitelist rule.', 'type' => 'string', 'example' => 'description', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The configured IP address whitelist policies.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AppOperationModule' => ['description' => 'Indicates whether the application O\\&M module is enabled. Valid values are `Enable` and `Disable`.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'DatabaseAccountAlreadyExists',
- 'errorMessage' => 'The database account already exists.',
- ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"082FAB35-6AB9-4FD5-8750-D36673548E76\\",\\n \\"InstanceAttribute\\": {\\n \\"VpcId\\": \\"vpc-bp1c85tzgqu1bf5bxxxxx\\",\\n \\"VswitchId\\": \\"vsw-bp1xfwzzfti0kjbfxxxxx\\",\\n \\"Description\\": \\"Test API\\",\\n \\"ExpireTime\\": 1578326400000,\\n \\"ModifyPasswordModule\\": \\"Enable\\",\\n \\"EniInstanceId\\": \\"eni-bp1455jrzwm7moaxxxxx\\",\\n \\"InstanceId\\": \\"bastionhost-cn-78v1ghxxxxx\\",\\n \\"InternetEndpoint\\": \\"******lwb-public.bastionhost.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IntranetEndpoint\\": \\"******xalwb.bastionhost.aliyuncs.com\\",\\n \\"StartTime\\": 1577681345000,\\n \\"ResourceGroupId\\": \\"rg-aekzc427db******\\",\\n \\"NetworkProxyModule\\": \\"Enable\\",\\n \\"WebTerminalModule\\": \\"Enable\\",\\n \\"InstanceStatus\\": \\"RUNNING\\",\\n \\"LicenseCode\\": \\"bhah_ent_50_asset\\",\\n \\"PublicNetworkAccess\\": true,\\n \\"Storage\\": 2199023255552,\\n \\"Ports\\": [\\n {\\n \\"StandardPort\\": 60022,\\n \\"CustomPort\\": 0\\n }\\n ],\\n \\"PublicExportIps\\": [\\n \\"[10.162.168.xx/32]\\"\\n ],\\n \\"PublicWhiteList\\": [\\n \\"[10.162.168.xx/32]\\"\\n ],\\n \\"AuthorizedSecurityGroups\\": [\\n \\"[sg-bp14u00sh39jvw5xxxxx]\\"\\n ],\\n \\"PrivateExportIps\\": [\\n \\"192.168.xx.xx\\"\\n ],\\n \\"PublicIps\\": [\\n \\"116.62.xx.xx\\"\\n ],\\n \\"SecurityGroupIds\\": [\\n \\"sg-bp15ed6xe1yxeycg7o****\\"\\n ],\\n \\"PrivateWhiteList\\": [\\n \\"192.168.xx.xx\\"\\n ],\\n \\"Bandwidth\\": \\"30\\",\\n \\"BandwidthPackage\\": \\"5\\",\\n \\"DbOperationModule\\": \\"Disable\\",\\n \\"RouterRules\\": [\\n \\"\\"\\n ],\\n \\"IDaaSModule\\": \\"Enable\\",\\n \\"SlaveVswitchId\\": \\"vsw-uf6cmnae7hu5****\\",\\n \\"ScriptDeliverModule\\": \\"Enable\\",\\n \\"KmsSecretModule\\": \\"Enable\\",\\n \\"RDModule\\": \\"Enable\\",\\n \\"HSMModule\\": \\"\\",\\n \\"WhiteListPolicies\\": [\\n {\\n \\"Entry\\": \\"94.74.xx.xx/32\\",\\n \\"Description\\": \\"description\\"\\n }\\n ],\\n \\"AppOperationModule\\": \\"Enable\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'DescribeInstanceAttribute',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceAttribute'],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DescribeInstanceAttribute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccountId\\": \\"40\\",\\n \\"RequestId\\": \\"B07C465D-B09F-54DD-8FEC-90788BEABAFC\\"\\n}","type":"json"}]',
- 'title' => 'CreateDatabaseAccount',
- 'requestParamsDescription' => 'Extend structure'."\n"
- ."\n"
- .'|Parameter|Type|Description|'."\n"
- .'|---|---|---|'."\n"
- .'|LoginAttribute|string|The logon attribute. This parameter is required for Oracle databases. Valid values:\\- SERVICENAME\\- SID|'."\n"
- .'|Role|string|The role used to connect to Oracle databases. Valid values:\\- NORMAL\\- SYSDBA\\- SYSOPRE\\- SYSASM|',
+ 'extraInfo' => ' ',
+ 'translator' => 'machine',
],
- 'ModifyDatabaseAccount' => [
- 'summary' => 'Modifies the basic information about a database account.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DescribeInstances' => [
+ 'summary' => 'Retrieves a list of Bastionhost instances.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host that manages the database account to modify.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-zpr2zyqx603',
- ],
+ 'schema' => ['description' => 'The page number to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of bastion host instances to return on each page. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '20', 'example' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host that manages the database account to modify.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region in which the bastion host instances reside.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DatabaseAccountId',
+ 'name' => 'InstanceStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database account to modify.'."\n"
- ."\n"
- .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The status of the bastion host instance. Valid values:'."\n"
+ ."\n"
+ .'- **PENDING**: The instance is not initialized.'."\n"
+ ."\n"
+ .'- **CREATING**: The instance is being created.'."\n"
+ ."\n"
+ .'- **RUNNING**: The instance is running.'."\n"
+ ."\n"
+ .'- **EXPIRED**: The instance is expired.'."\n"
+ ."\n"
+ .'- **CREATE\\_FAILED**: The instance creation failed.'."\n"
+ ."\n"
+ .'- **UPGRADING**: The instance is being upgraded.'."\n"
+ ."\n"
+ .'- **UPGRADE\\_FAILED**: The instance upgrade failed.', 'type' => 'string', 'required' => false, 'example' => 'RUNNING', 'title' => ''],
],
[
- 'name' => 'Password',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new password of the database account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '14SZ!******',
- ],
+ 'schema' => ['description' => 'The ID of the resource group to which the bastion host instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm26ougi****', 'title' => ''],
],
[
- 'name' => 'DatabaseAccountName',
+ 'name' => 'InstanceId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The new username of the database account. The username can be up to 128 characters in length.'."\n",
- 'type' => 'string',
+ 'description' => 'The IDs of the bastion host instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of a bastion host instance.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
'required' => false,
- 'example' => 'aaa',
+ 'example' => 'bastionhost-cn-78v1ghxxxxx',
+ 'maxItems' => 10,
+ 'title' => '',
],
],
[
- 'name' => 'DatabaseSchema',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The new name of the database. This parameter is required if the database engine is PostgreSQL or Oracle.'."\n",
- 'type' => 'string',
+ 'description' => 'The tags attached to the bastion host instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A tag, which consists of a key-value pair.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'example' => 'testapi', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'orcl',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -7199,270 +5233,245 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '850FA4B4-5BD2-5269-903E-3B7E07E6C975',
+ 'TotalCount' => ['description' => 'The total number of Bastionhost instances returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates this unique ID for troubleshooting purposes.', 'type' => 'string', 'example' => '61D36C55-AAFC-4678-8FAD-34FEF9E7182E', 'title' => ''],
+ 'Instances' => [
+ 'description' => 'An array of Bastionhost instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'VpcId' => ['description' => 'The ID of the VPC to which the Bastionhost instance is attached.', 'type' => 'string', 'example' => 'vpc-bp1c85tzgqu1bf5b****', 'title' => ''],
+ 'VswitchId' => ['description' => 'The ID of the vSwitch to which the Bastionhost instance is attached.', 'type' => 'string', 'example' => 'vsw-bp1xfwzzfti0kjbf****', 'title' => ''],
+ 'ImageVersion' => ['description' => 'The image version of the Bastionhost instance.', 'type' => 'string', 'example' => '3.2.41', 'title' => ''],
+ 'PlanCode' => ['description' => 'The edition of the Bastionhost instance. Valid values:'."\n"
+ ."\n"
+ .'- **cloudbastion**: Basic Edition'."\n"
+ ."\n"
+ .'- **cloudbastion\\_ha**: Enterprise Edition', 'type' => 'string', 'example' => 'cloudbastion_ha', 'title' => ''],
+ 'Description' => ['description' => 'The custom description of the Bastionhost instance.', 'type' => 'string', 'example' => 'Test API', 'title' => ''],
+ 'ExpireTime' => ['description' => 'The expiration time of the Bastionhost instance, specified as a timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1578326400000', 'title' => ''],
+ 'Legacy' => ['description' => 'Indicates whether the Bastionhost instance is a legacy instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance is of the V2 or V3.1 series.'."\n"
+ ."\n"
+ .'- **false**: The instance is of the V3.2 series.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the Bastionhost instance.', 'type' => 'string', 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
+ 'InternetEndpoint' => ['description' => 'The public domain name of the Bastionhost instance.', 'type' => 'string', 'example' => '******lwb-public.bastionhost.aliyuncs.com', 'title' => ''],
+ 'RegionId' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'IntranetEndpoint' => ['description' => 'The private domain name of the Bastionhost instance.', 'type' => 'string', 'example' => '******lwb.bastionhost.aliyuncs.com', 'title' => ''],
+ 'StartTime' => ['description' => 'The purchase or renewal time of the Bastionhost instance, specified as a timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1577681345000', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the Bastionhost instance belongs.', 'type' => 'string', 'example' => 'g-acfm26ougi****', 'title' => ''],
+ 'InstanceStatus' => ['description' => 'The status of the Bastionhost instance. Valid values:'."\n"
+ ."\n"
+ .'- **PENDING**: Not initialized'."\n"
+ ."\n"
+ .'- **CREATING**: The instance is being created.'."\n"
+ ."\n"
+ .'- **RUNNING**: The instance is running.'."\n"
+ ."\n"
+ .'- **EXPIRED**: The instance has expired.'."\n"
+ ."\n"
+ .'- **CREATE\\_FAILED**: Instance creation failed.'."\n"
+ ."\n"
+ .'- **UPGRADING**: The instance is being upgraded.'."\n"
+ ."\n"
+ .'- **UPGRADE\\_FAILED**: Instance upgrade failed.', 'type' => 'string', 'example' => 'RUNNING', 'title' => ''],
+ 'LicenseCode' => ['description' => 'The license code of the Bastionhost instance.', 'type' => 'string', 'example' => 'bhah_ent_50_asset', 'title' => ''],
+ 'PublicNetworkAccess' => ['description' => 'Indicates whether the Bastionhost instance is accessible over the Internet. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance is accessible over the Internet.'."\n"
+ ."\n"
+ .'- **false**: The instance is not accessible over the Internet.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'SlaveVswitchId' => ['description' => 'The ID of the standby vSwitch to which the Bastionhost instance is attached.', 'type' => 'string', 'example' => 'vsw-uf6j0u49poi8qr****', 'title' => ''],
+ 'BandWidth' => ['description' => 'The default bandwidth of the instance, in Mbit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '60M', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'DatabaseAccountAlreadyExists',
- 'errorMessage' => 'The database account already exists.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'DatabaseAccountNotFound',
- 'errorMessage' => 'The database account is not found.',
- ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 4,\\n \\"RequestId\\": \\"61D36C55-AAFC-4678-8FAD-34FEF9E7182E\\",\\n \\"Instances\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1c85tzgqu1bf5b****\\",\\n \\"VswitchId\\": \\"vsw-bp1xfwzzfti0kjbf****\\",\\n \\"ImageVersion\\": \\"3.2.41\\",\\n \\"PlanCode\\": \\"cloudbastion_ha\\",\\n \\"Description\\": \\"Test API\\",\\n \\"ExpireTime\\": 1578326400000,\\n \\"Legacy\\": false,\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"InternetEndpoint\\": \\"******lwb-public.bastionhost.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IntranetEndpoint\\": \\"******lwb.bastionhost.aliyuncs.com\\",\\n \\"StartTime\\": 1577681345000,\\n \\"ResourceGroupId\\": \\"g-acfm26ougi****\\",\\n \\"InstanceStatus\\": \\"RUNNING\\",\\n \\"LicenseCode\\": \\"bhah_ent_50_asset\\",\\n \\"PublicNetworkAccess\\": true,\\n \\"SlaveVswitchId\\": \\"vsw-uf6j0u49poi8qr****\\",\\n \\"BandWidth\\": 0\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeInstances',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstances'],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DescribeInstanceBastionhost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"850FA4B4-5BD2-5269-903E-3B7E07E6C975\\"\\n}","type":"json"}]',
- 'title' => 'ModifyDatabaseAccount',
+ 'translator' => 'machine',
],
- 'GetDatabaseAccount' => [
- 'summary' => 'Queries the detailed information about a database account.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DescribeRegions' => [
+ 'summary' => 'Queries the Alibaba Cloud regions that support Bastionhost instances.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeCode' => '91490',
+ 'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'AcceptLanguage',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-i7m2d7zrw11',
- ],
+ 'schema' => ['description' => 'The language of the response. Valid values:'."\n"
+ ."\n"
+ .'- **zh-CN** (default): Chinese'."\n"
+ ."\n"
+ .'- **en-US**: English'."\n"
+ ."\n"
+ .'- **ja**: Japanese', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
- ],
- ],
- [
- 'name' => 'DatabaseAccountId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database account to query.'."\n"
- ."\n"
- .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '9',
- ],
+ 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'DatabaseAccount' => [
- 'description' => 'The returned information about the database account.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'DatabaseAccountId' => [
- 'description' => 'The database account ID.',
- 'type' => 'string',
- 'example' => '9',
- ],
- 'DatabaseAccountName' => [
- 'description' => 'The name of the database account.',
- 'type' => 'string',
- 'example' => 'uac',
- ],
- 'DatabaseSchema' => [
- 'description' => 'The database name. A value is returned for this parameter if the database engine is PostgreSQL or Oracle.'."\n",
- 'type' => 'string',
- 'example' => 'orcl',
- ],
- 'HasPassword' => [
- 'description' => 'Indicates whether the database account has a password.'."\n"
- .'Valid values:'."\n"
- .'* true'."\n"
- .'* false',
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'LoginAttribute' => [
- 'description' => 'The logon attribute. A value is returned for this parameter if the database engine is Oracle. Valid values:'."\n"
- ."\n"
- .'* SERVICENAME'."\n"
- .'* SID',
- 'type' => 'string',
- 'example' => 'SID',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B7281856-F27D-4ECE-B4F1-50511E550xxx', 'title' => ''],
+ 'Regions' => [
+ 'description' => 'The regions that support Bastionhost instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RegionEndpoint' => ['description' => 'The endpoint of the region.', 'type' => 'string', 'example' => 'yundun-bastionhost.aliyuncs.com', 'title' => ''],
+ 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China (Hangzhou)', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'FA06D274-8D0A-59FB-8B7E-584C0EEBBFFF',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'DatabaseAccountNotFound',
- 'errorMessage' => 'The database account is not found.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B7281856-F27D-4ECE-B4F1-50511E550xxx\\",\\n \\"Regions\\": [\\n {\\n \\"RegionEndpoint\\": \\"yundun-bastionhost.aliyuncs.com\\",\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeRegions',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRegions'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccount\\": {\\n \\"DatabaseAccountId\\": \\"9\\",\\n \\"DatabaseAccountName\\": \\"uac\\",\\n \\"DatabaseSchema\\": \\"orcl\\",\\n \\"HasPassword\\": true,\\n \\"LoginAttribute\\": \\"SID\\"\\n },\\n \\"RequestId\\": \\"FA06D274-8D0A-59FB-8B7E-584C0EEBBFFF\\"\\n}","type":"json"}]',
- 'title' => 'GetDatabaseAccount',
+ 'ramActions' => [],
],
- 'ListDatabaseAccounts' => [
- 'summary' => 'Queries the database accounts of a database.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DetachDatabaseAccountsFromUser' => [
+ 'summary' => 'Revokes permissions on databases and database accounts from a user.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the DescribeInstances operation to query the bastion host ID.[](~~153281~~)'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-7mz2za0ro06',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the DescribeInstances operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-pe335ipfk01', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
- 'name' => 'DatabaseId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database whose database accounts you want to query.'."\n"
- ."\n"
- .'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '3',
- ],
- ],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The ID of the user from whom you want to revoke the permissions on databases and database accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'DatabaseAccountName',
+ 'name' => 'Databases',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The name of the database account to query. The name can be up to 128 characters in length. Only exact match is supported.'."\n",
- 'type' => 'string',
+ 'description' => 'The databases.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseId' => ['description' => 'The ID of the database on which you want to revoke permissions.', 'type' => 'string', 'required' => false, 'example' => '8', 'title' => ''],
+ 'DatabaseAccountIds' => [
+ 'description' => 'An array that consists of database account IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The IDs of the database accounts on which you want to revoke permissions.', 'type' => 'string', 'required' => false, 'example' => '["1","2","3"]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'test',
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -7471,180 +5480,152 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'DatabaseAccounts' => [
- 'description' => 'The returned database accounts.'."\n",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '79D7E114-CB52-5695-AB15-12776C308387', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'DatabaseAccountId' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'example' => '59',
- ],
- 'DatabaseAccountName' => [
- 'description' => 'The name of the database account.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '4',
- ],
- 'DatabaseSchema' => [
- 'description' => 'The name of the database. A value is returned for this parameter if the engine of the database with the specified database ID is PostgreSQL or Oracle.'."\n",
- 'type' => 'string',
- 'example' => 'orcl',
- ],
- 'HasPassword' => [
- 'description' => 'Indicates whether the database account has a password. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'string',
- 'example' => 'true',
+ 'Code' => ['description' => 'The error code that is returned. If **OK** is returned, the operation was successful. If another error code is returned, the operation failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseAccounts' => [
+ 'description' => 'A list that shows the operation results of the database accounts.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code that is returned. If OK is returned, the operation was successful. If another error code is returned, the operation failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseAccountId' => ['description' => 'The ID of the database account on which the permissions are revoked.', 'type' => 'string', 'example' => '9', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'DatabaseId' => ['description' => 'The ID of the database on which the permissions are revoked.', 'type' => 'string', 'example' => '4', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of database accounts returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DatabaseAccountId\\": \\"59\\",\\n \\"DatabaseAccountName\\": \\"test\\",\\n \\"DatabaseId\\": \\"4\\",\\n \\"DatabaseSchema\\": \\"orcl\\",\\n \\"HasPassword\\": \\"true\\"\\n }\\n ],\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\",\\n \\"TotalCount\\": 10\\n}","type":"json"}]',
- 'title' => 'ListDatabaseAccounts',
- ],
- 'ListDatabaseAccountsForUserGroup' => [
- 'summary' => 'Queries the database accounts of a database and whether a user group is authorized to manage each database account.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"79D7E114-CB52-5695-AB15-12776C308387\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccountId\\": \\"9\\",\\n \\"Message\\": \\"None\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"4\\",\\n \\"Message\\": \\"None\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DetachDatabaseAccountsFromUser',
+ 'requestParamsDescription' => 'Data structures of request parameters'."\n"
+ ."\n"
+ .'Databases'."\n"
+ ."\n"
+ .'| Parameter | Type | Description |'."\n"
+ .'| ------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| DatabaseId | string | The database ID. |'."\n"
+ .'| DatabaseAccountIds | array[string] | An array that consists of database account IDs. Specify a JSON string. You can specify up to 10 database account IDs. |'."\n"
+ ."\n"
+ .'The following code provides example values of Databases:'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"DatabaseId":"1"} // Revoke permissions on the database and the database accounts.'."\n"
+ .'{"DatabaseId":"2","DatabaseAccountIds":["1","2","3",...]}, // Revoke permissions on only the database accounts.'."\n"
+ .'{"DatabaseId":"5","DatabaseAccountIds":[]} // Not supported.'."\n"
+ .'...'."\n"
+ .']'."\n"
+ .'```',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachDatabaseAccountsFromUser'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'DetachDatabaseAccountsFromUserGroup' => [
+ 'summary' => 'Revokes permissions on databases and database accounts from a user group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-pe334a03o0h',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-7mz2v120f0y', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group to query. This operation returns whether the user group is authorized to manage each database account.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the user group ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
+ 'schema' => ['description' => 'The ID of the user group from which you want to revoke permissions on databases and database accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'DatabaseId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database whose database accounts you want to query.'."\n"
- ."\n"
- .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '36',
- ],
- ],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'DatabaseAccountName',
+ 'name' => 'Databases',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The name of the database account to query. The name can be up to 128 characters in length. Only exact match is supported.'."\n",
- 'type' => 'string',
+ 'description' => 'The information about the database.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseId' => ['description' => 'The ID of the database on which the permissions are to be revoked.', 'type' => 'string', 'required' => false, 'example' => '4', 'title' => ''],
+ 'DatabaseAccountIds' => [
+ 'description' => 'An array that consists of database account IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The IDs of the database accounts on which the permissions are to be revoked.', 'type' => 'string', 'required' => false, 'example' => '["1","2","3"]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'test',
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -7653,191 +5634,196 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'DatabaseAccounts' => [
- 'description' => 'The database accounts returned.'."\n",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AC528ED1-C302-56E5-9CB5-ADA625D64FF9', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'DatabaseAccountId' => [
- 'description' => 'The ID of the database account.'."\n",
- 'type' => 'string',
- 'example' => '4',
- ],
- 'DatabaseAccountName' => [
- 'description' => 'The name of the database account.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- 'DatabaseId' => [
- 'description' => 'The ID of the database to which the database account belongs.'."\n",
- 'type' => 'string',
- 'example' => '11',
- ],
- 'IsAuthorized' => [
- 'description' => 'Indicates whether the user group is authorized to manage the database account. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol used by the database account. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**'."\n",
- 'type' => 'string',
- 'example' => 'MySQL',
+ 'Code' => ['description' => 'The error code that is returned. If OK is returned, the operation was successful. If other error codes are returned, the operation failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseAccounts' => [
+ 'description' => 'A list that shows the authorization results of the database accounts.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code that is returned. If OK is returned, the operation was successful. If other error codes are returned, the operation failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseAccountId' => ['description' => 'The ID of the database account on which the permissions are revoked.', 'type' => 'string', 'example' => '5', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'DatabaseId' => ['description' => 'The ID of the database on which the permissions are revoked.', 'type' => 'string', 'example' => '27', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The user group ID.', 'type' => 'string', 'example' => '3', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of database accounts returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DatabaseAccountId\\": \\"4\\",\\n \\"DatabaseAccountName\\": \\"root\\",\\n \\"DatabaseId\\": \\"11\\",\\n \\"IsAuthorized\\": true,\\n \\"ProtocolName\\": \\"MySQL\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 10\\n}","type":"json"}]',
- 'title' => 'ListDatabaseAccountsForUserGroup',
- ],
- 'DeleteDatabaseAccount' => [
- 'summary' => 'Deletes a database account.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AC528ED1-C302-56E5-9CB5-ADA625D64FF9\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccountId\\": \\"5\\",\\n \\"Message\\": \\"None\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"27\\",\\n \\"Message\\": \\"None\\",\\n \\"UserGroupId\\": \\"3\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DetachDatabaseAccountsFromUserGroup',
+ 'requestParamsDescription' => 'Data structures of request parameters'."\n"
+ ."\n"
+ .'| Parameter | Type | Description |'."\n"
+ .'| ------------------ | ------------- | ------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| DatabaseId | string | The database ID. |'."\n"
+ .'| DatabaseAccountIds | array[string] | An array of database account IDs. Specify a JSON string. You can specify up to 10 database account IDs. |'."\n"
+ ."\n"
+ .'The following code provides example values of the Databases parameter:'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"DatabaseId":"1"} // Revoke the permissions on the database and database accounts.'."\n"
+ .'{"DatabaseId":"2","DatabaseAccountIds":["1","2","3",...]}, // Revoke the permissions on only database accounts.'."\n"
+ .'{"DatabaseId":"5","DatabaseAccountIds":[]} // Not supported.'."\n"
+ .'...'."\n"
+ .']'."\n"
+ .'```',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachDatabaseAccountsFromUserGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'DetachHostAccountsFromHostShareKey' => [
+ 'summary' => 'Disassociate host accounts from a shared key.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host from which you want to delete the database account.'."\n"
- ."\n"
- .'> You can call the DescribeInstances operation to query the ID of the bastion host.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host from which you want to delete the database account.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, [see Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DatabaseAccountId',
+ 'name' => 'HostShareKeyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database account that you want to delete.'."\n"
- ."\n"
- .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '9',
- ],
+ 'schema' => ['description' => 'The shared key ID.'."\n"
+ ."\n"
+ .'> You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.', 'type' => 'string', 'required' => true, 'example' => '11', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAccountIds',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The host account IDs.'."\n"
+ ."\n"
+ .'> You can call the [ListHostAccountsForHostShareKey](~~462975~~) operation to query the host account IDs.', 'type' => 'string', 'required' => true, 'example' => '["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '81500666-d7f5-4143-8329-0223cc738105',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code returned. If **OK** is returned, the disassociation was successful. If a different error code is returned, the disassociation failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'The error message returned.', 'type' => 'string', 'example' => 'The host account does not exist', 'title' => ''],
+ 'HostShareKeyId' => ['description' => 'The ID of the shared key.', 'type' => 'string', 'example' => '11', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '12407', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'DatabaseAccountNotFound',
- 'errorMessage' => 'The database account is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\"\\n}","type":"json"}]',
- 'title' => 'DeleteDatabaseAccount',
- ],
- 'CreateUser' => [
- 'summary' => 'Adds a user to a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'DetachHostAccountsFromHostShareKey',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostAccountsFromHostShareKey'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DetachHostAccountsFromHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"The host account does not exist\\",\\n \\"HostShareKeyId\\": \\"11\\",\\n \\"HostAccountId\\": \\"12407\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'DetachHostAccountsFromUser' => [
+ 'summary' => 'Revokes permissions on hosts and host accounts from a user.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -7845,1251 +5831,817 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostE6GSFF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which you want to add a user.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to revoke permissions on the specified hosts and host accounts from the user.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which you want to add a user.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'Source',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the user that you want to add. Valid values:'."\n"
- ."\n"
- .'* **Local**: a local user.'."\n"
- .'* **Ram**: a RAM user.'."\n"
- .'* **AD**: an AD-authenticated user.'."\n"
- .'* **LDAP**: an LDAP-authenticated user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'local',
- ],
- ],
- [
- 'name' => 'UserName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The logon name of the user that you want to add. The logon name must be 1 to 128 characters in length and can contain only letters, digits, and underscores (\\_).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'abc_def',
- ],
- ],
- [
- 'name' => 'Password',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The logon password of the user that you want to add. The logon password must be 8 to 128 characters in length. It must contain uppercase letters, lowercase letters, digits, and special characters.'."\n"
- ."\n"
- .'> This parameter is required if Source is set to Local.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '213****',
- ],
- ],
- [
- 'name' => 'DisplayName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The display name of the user that you want to add. The display name can be up to 128 characters in length.'."\n"
- ."\n"
- .'> If you leave this parameter empty, the logon name is used as the display name.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Bob',
- ],
- ],
- [
- 'name' => 'Comment',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The remarks of the user that you want to add. The remarks can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to revoke permissions on the specified hosts and host accounts from the user.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Email',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The email address of the user that you want to add.'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* This parameter is required if TwoFactorStatus is set to Enable and TwoFactorMethods is set to email, or if TwoFactorStatus is set to Global and TwoFactorMethods is set to email in the global two-factor authentication settings.'."\n"
- ."\n"
- .'* You can call the [GetInstanceTwoFactor](~~462968~~) operation to query the global two-factor authentication settings.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'username@example.com',
- ],
+ 'schema' => ['description' => 'The ID of the user from whom you want to revoke permissions on the specified hosts and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Mobile',
+ 'name' => 'Hosts',
'in' => 'query',
- 'schema' => [
- 'description' => 'The mobile phone number of the user that you want to add.'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* This parameter is required if TwoFactorStatus is set to Enable and TwoFactorMethods is set to sms or dingtalk, or if TwoFactorStatus is set to Global and TwoFactorMethods is set to sms or dingtalk in the global two-factor authentication settings.'."\n"
- ."\n"
- .'* You can call the [GetInstanceTwoFactor](~~462968~~) operation to query the global two-factor authentication settings.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1359999****',
- ],
+ 'schema' => ['description' => 'The IDs of the hosts and host accounts on which you want to revoke permissions from the user. You can specify up to 10 host IDs and up to 10 host account IDs for each host. You can specify only host IDs. In this case, the permissions on the specified hosts and all accounts of the hosts are revoked from the user. For more information about this parameter, see the Description of the Hosts parameter section of this topic.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the host IDs and the [ListHostAccountsForUser](~~466581~~) operation to query the host account IDs.', 'type' => 'string', 'required' => true, 'example' => '[ {"HostId":"1"}, {"HostId":"2","HostAccountIds":["1","2","3"]}, {"HostId":"3","HostAccountIds":["4","5","6"]}, {"HostId":"4","HostAccountIds":["9","8","7"]} ]', 'title' => ''],
],
- [
- 'name' => 'SourceUserId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The unique ID of the user that you want to add.'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* This parameter uniquely identifies a RAM user of the bastion host. This parameter is required if Source is set to Ram. You can call the [ListUsers](~~28684~~) operation in RAM to obtain the unique ID of the user from the UserId response parameter.'."\n"
- ."\n"
- .'* This parameter is required if Source is set to AD or LDAP. Specify the distinguished name (DN) of the Active Directory (AD)-authenticated user or Lightweight Directory Access Protocol (LDAP)-authenticated user that you want to add.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '122748924538****',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccounts' => [
+ 'description' => 'The result of revoking permissions on the specified host accounts from the user.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether permissions on the specified host accounts were revoked from the user. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The host account ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'MobileCountryCode',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The location where the mobile phone number of the user is registered. Default value: CN. Valid values:'."\n"
- ."\n"
- .'* **CN**: the Chinese mainland, whose international dialing code is +86.'."\n"
- .'* **HK**: Hong Kong (China), whose international dialing code is +852.'."\n"
- .'* **MO**: Macao (China), whose international dialing code is +853.'."\n"
- .'* **TW**: Taiwan (China), whose international dialing code is +886.'."\n"
- .'* **RU**: Russia, whose international dialing code is +7.'."\n"
- .'* **SG**: Singapore, whose international dialing code is +65.'."\n"
- .'* **MY**: Malaysia, whose international dialing code is +60.'."\n"
- .'* **ID**: Indonesia, whose international dialing code is +62.'."\n"
- .'* **DE**: Germany, whose international dialing code is +49.'."\n"
- .'* **AU**: Australia, whose international dialing code is +61.'."\n"
- .'* **US**: US, whose international dialing code is +1.'."\n"
- .'* **AE**: United Arab Emirates, whose international dialing code is +971.'."\n"
- .'* **JP**: Japan, whose international dialing code is +81.'."\n"
- .'* **GB**: UK, whose international dialing code is +44.'."\n"
- .'* **IN**: India, whose international dialing code is +91.'."\n"
- .'* **KR**: Republic of Korea, whose international dialing code is +82.'."\n"
- .'* **PH**: Philippines, whose international dialing code is +63.'."\n"
- .'* **CH**: Switzerland, whose international dialing code is +41.'."\n"
- .'* **SE:** Sweden, whose international dialing code is +46.'."\n"
- .'* **SA:** Saudi Arabia, whose international dialing code is +966.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'CN',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
- [
- 'name' => 'EffectiveStartTime',
- 'in' => 'query',
- 'schema' => [
- 'title' => '开始生效时间戳,单位秒',
- 'description' => 'The start time of the validity period of the user. Specify a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1669630029',
- ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
- [
- 'name' => 'EffectiveEndTime',
- 'in' => 'query',
- 'schema' => [
- 'title' => '有效期结束时间戳。单位秒',
- 'description' => 'The end time of the validity period of the user. Specify a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1672502400',
- ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\",\\n \\"UserId\\": \\"1\\",\\n \\"HostAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountId\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DetachHostAccountsFromUser',
+ 'requestParamsDescription' => 'Description of the Hosts parameter'."\n"
+ ."\n"
+ .'| Field | Type | Example | Description |'."\n"
+ .'| -------------- | ------------- | -------------- | --------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| HostId | string | 1 | The host ID. |'."\n"
+ .'| HostAccountIds | array[string] | \\["9","8","7"] | The host account ID. The value is a JSON string. You can specify up to 10 host account IDs for each host. |'."\n"
+ ."\n"
+ .'The following code provides an example value of the Hosts parameter:'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"HostId":"1"},'."\n"
+ .'{"HostId":"2","HostAccountIds":["1","2","3",...]},'."\n"
+ .'{"HostId":"3","HostAccountIds":["4","5","6",...]},'."\n"
+ .'{"HostId":"4","HostAccountIds":["9","8","7",...]}'."\n"
+ .']'."\n"
+ .'```'."\n"
+ ."\n"
+ .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~148139~~). For more information about sample requests, see Sample requests.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostAccountsFromUser'],
],
+ ],
+ 'ramActions' => [],
+ ],
+ 'DetachHostAccountsFromUserGroup' => [
+ 'summary' => 'Revokes the permissions on one or more hosts and host accounts from a user group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'NeedResetPassword',
- 'in' => 'query',
- 'schema' => [
- 'title' => '下次登录是否需要重置密码',
- 'description' => 'Specifies whether password reset is required upon the next logon. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n"
- ."\n"
- .'> If you leave this parameter empty, the default value false is used.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
+ ],
+ 'parameters' => [
[
- 'name' => 'TwoFactorStatus',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether two-factor authentication is enabled for the user. Valid values:'."\n"
- ."\n"
- .'* **Global**: The global settings apply.'."\n"
- .'* **Disable**: Two-factor authentication is disabled.'."\n"
- .'* **Enable**: Two-factor authentication is enabled and user-specific settings apply.'."\n"
- ."\n"
- .'> If you leave this parameter empty, the default value Global is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host in which you want to revoke permissions on the specified hosts and host accounts from the user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
- 'name' => 'TwoFactorMethods',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The two-factor authentication method. You can select only one method. Valid values:'."\n"
- ."\n"
- .'* **sms**: text message-based two-factor authentication.'."\n"
- .'* **email**: email-based two-factor authentication.'."\n"
- .'* **dingtalk**: DingTalk-based two-factor authentication.'."\n"
- .'* **totp OTP**: one-time password (OTP) token-based two-factor authentication.'."\n"
- ."\n"
- .'> If TwoFactorStatus is set to Enable, you must select one of the preceding values for TwoFactorMethods.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["sms"]',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host in which you want to revoke permissions on the specified hosts and host accounts from the user group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'LanguageStatus',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to send notifications in the language specified in the global settings or a custom language.'."\n"
- ."\n"
- .'* **Global**'."\n"
- .'* **Custom**'."\n"
- ."\n"
- .'> If you leave this parameter empty, the default value Global is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Custom',
- ],
+ 'schema' => ['description' => 'The ID of the user group from which you want to revoke permissions on the specified hosts and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Language',
+ 'name' => 'Hosts',
'in' => 'query',
- 'schema' => [
- 'description' => 'This parameter is required if LanguageStatus is set to Custom. Valid values:'."\n"
- ."\n"
- .'* **zh-cn**: simplified Chinese.'."\n"
- .'* **en**: English.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'en',
- ],
+ 'schema' => ['description' => 'The IDs of the host and host account on which you want to revoke permissions from the user group.'."\n"
+ ."\n"
+ .'You can specify up to 10 host IDs and up to 10 host account IDs for each host. You can specify only host IDs. In this case, the permissions on both the specified hosts and all host accounts of the hosts are revoked from the user group. For more information about this parameter, see the "Description of the Hosts parameter" section of this topic.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host and the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.', 'type' => 'string', 'required' => true, 'example' => '[ {"HostId":"1"}, {"HostId":"2","HostAccountIds":["1","2","3",...]}, {"HostId":"3","HostAccountIds":["4","5","6"]}, {"HostId":"4","HostAccountIds":["9","8","7"]} ]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response data.'."\n",
'type' => 'object',
'properties' => [
- 'UserId' => [
- 'description' => 'The ID of the user that is added.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccounts' => [
+ 'description' => 'The result of revoking permissions on the specified host accounts from the user group.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether permissions on the specified host account were revoked from the user group. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'UserAlreadyExists',
- 'errorMessage' => 'The user already exists.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateUserResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <UserId>1</UserId>\\n</CreateUserResponse>","errorExample":""}]',
- 'title' => 'CreateUser',
- 'description' => 'You can call the CreateUser operation to add local users, Resource Access Management (RAM) users, Active Directory (AD)-authenticated users, or Lightweight Directory Access Protocol (LDAP)-authenticated users to a bastion host. After a Bastionhost administrator adds a user to a bastion host, O\\&M engineers can log on to the bastion host as the user to perform O\\&M operations on the hosts that the user is authorized to manage.'."\n"
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"HostAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountId\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DetachHostAccountsFromUserGroup',
+ 'requestParamsDescription' => 'Description of the Hosts parameter'."\n"
."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds a limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limits when you call this operation.'."\n",
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~148139~~).'."\n"
+ .'| Field | Type | Example | Description |'."\n"
+ .'| ------------------------------------------------------------------------------ | ------------- | -------------- | ---------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| HostId | string | 1 | The ID of the host. |'."\n"
+ .'| HostAccountIds | array[string] | \\["9","8","7"] | The ID of the host account. The value is a JSON string. You can specify up to 10 host account IDs for each host. |'."\n"
+ .'| The following code provides an example on the settings of the Hosts parameter: | | | |'."\n"
."\n"
- .'For more information about sample requests, see Sample requests.'."\n",
- ],
- 'GetUser' => [
- 'summary' => 'Queries the details of a user of the specified bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'```'."\n"
+ .'['."\n"
+ .'{"HostId":"1"},'."\n"
+ .'{"HostId":"2","HostAccountIds":["1","2","3",...]},'."\n"
+ .'{"HostId":"3","HostAccountIds":["4","5","6",...]},'."\n"
+ .'{"HostId":"4","HostAccountIds":["9","8","7",...]}'."\n"
+ .']'."\n"
+ .'```'."\n"
+ ."\n"
+ .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostAccountsFromUserGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'DetachHostGroupAccountsFromUser' => [
+ 'summary' => 'Removes host groups and host accounts from the list of host groups and host accounts that a user is authorized to manage.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostE6GSFF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to query the user.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to revoke permissions on the specified host groups and host accounts from the user.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to query the user.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to revoke permissions on the specified host groups and host accounts from the user.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user from which you want to revoke permissions on the specified host groups and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostGroups',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the host group and the name of the host account on which you want to revoke permissions from the user. You can specify up to 10 host group IDs and up to 10 host account names for each host group. You can specify only host group IDs. In this case, the permissions on the specified host groups and all host accounts in the host groups are revoked from the user. For more information about this parameter, see the "Description of the HostGroups parameter" section of this topic.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group and the [ListHostAccounts](~~204372~~) operation to query the name of the host account.', 'type' => 'string', 'required' => true, 'example' => '[ {"HostGroupId":"1"}, {"HostGroupId":"2","HostAccountNames":["root","111","abc"]}]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response data.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'User' => [
- 'description' => 'The detailed information about the queried user.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'DisplayName' => [
- 'description' => 'The display name of the user.'."\n",
- 'type' => 'string',
- 'example' => 'Bob',
- ],
- 'Comment' => [
- 'description' => 'The description of the user.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'Email' => [
- 'description' => 'The email address of the user.'."\n",
- 'type' => 'string',
- 'example' => '1099**@qq.com',
- ],
- 'Mobile' => [
- 'description' => 'The mobile phone number of the user.'."\n",
- 'type' => 'string',
- 'example' => '1359999****',
- ],
- 'MobileCountryCode' => [
- 'description' => 'The location in which the mobile number of the user is registered. Valid values:'."\n"
- ."\n"
- .'* **CN**: the Chinese mainland, whose country calling code is +86'."\n"
- .'* **HK**: Hong Kong (China), whose country calling code is +852'."\n"
- .'* **MO**: Macao (China), whose country calling code is +853'."\n"
- .'* **TW**: Taiwan (China), whose country calling code is +886'."\n"
- .'* **RU**: Russia, whose country calling code is +7'."\n"
- .'* **SG**: Singapore, whose country calling code is +65'."\n"
- .'* **MY**: Malaysia, whose country calling code is +60'."\n"
- .'* **ID**: Indonesia, whose country calling code is +62'."\n"
- .'* **DE**: Germany, whose country calling code is +49'."\n"
- .'* **AU**: Australia, whose country calling code is +61'."\n"
- .'* **US**: US, whose country calling code is +1'."\n"
- .'* **AE**: United Arab Emirates, whose country calling code is +971'."\n"
- .'* **JP:** Japan, whose country calling code is +81'."\n"
- .'* **GB**: UK, whose country calling code is +44'."\n"
- .'* **IN**: India, whose country calling code is +91'."\n"
- .'* **KR**: Republic of Korea, whose country calling code is +82'."\n"
- .'* **PH**: Philippines, whose country calling code is +63'."\n"
- .'* **CH**: Switzerland, whose country calling code is +41'."\n"
- .'* **SE**: Sweden, whose country calling code is +46'."\n",
- 'type' => 'string',
- 'example' => 'CN',
- ],
- 'UserId' => [
- 'description' => 'The ID of the user.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Source' => [
- 'description' => 'The source of the user. Valid values:'."\n"
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
."\n"
- .'* **Local**: a local user'."\n"
- .'* **Ram**: a RAM user'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'UserName' => [
- 'description' => 'The logon name of the user.'."\n",
- 'type' => 'string',
- 'example' => 'abcabc_def',
- ],
- 'SourceUserId' => [
- 'description' => 'The unique ID of the user.'."\n"
+ .'- **OK**: The call was successful.'."\n"
."\n"
- .'> This parameter uniquely identifies a RAM user of the bastion host. A value is returned for this parameter if the **Source** parameter is set to **Ram**. No value is returned for this parameter if the **Source** parameter is set to **Local**.'."\n",
- 'type' => 'string',
- 'example' => '122748924538****',
- ],
- 'UserState' => [
- 'description' => 'An array that consists of the details of the user status.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The status of the user. Valid values:'."\n"
- ."\n"
- .'* **Normal**: active'."\n"
- .'* **Frozen**: locked'."\n"
- .'* **Expired**: expired'."\n",
- 'type' => 'string',
- 'example' => '["Normal"]',
- ],
- ],
- 'EffectiveStartTime' => [
- 'description' => 'The beginning of the validity period of the user. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1669630029',
- ],
- 'EffectiveEndTime' => [
- 'description' => 'The end of the validity period of the user. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1672502400',
- ],
- 'NeedResetPassword' => [
- 'description' => 'Specifies whether password reset is required upon the next logon. Valid values:'."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'TwoFactorMethods' => [
- 'description' => 'An array that consists of the details of the two-factor authentication method.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The two-factor authentication method. You can select only one method. Valid values:'."\n"
- ."\n"
- .'* **sms:** text message'."\n"
- .'* **email:** email'."\n"
- .'* **dingtalk:** DingTalk'."\n"
- .'* **totp OTP:** time-based one-time password (TOTP) app'."\n",
- 'type' => 'string',
- 'example' => '['."\n"
- .' "sms"'."\n"
- .']',
- ],
- ],
- 'TwoFactorStatus' => [
- 'description' => 'The two-factor authentication status of the user. Valid values:'."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
."\n"
- .'* **Global**: The global settings are used.'."\n"
- .'* **Disable**: The two-factor authentication is disabled.'."\n"
- .'* **Enable**: The two-factor authentication is enabled and the user-specific setting is used.'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'LanguageStatus' => [
- 'description' => 'Indicates whether notifications are sent in the language specified in the global settings or a custom language.'."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
."\n"
- .'* **Global**: Global'."\n"
- .'* **Custom**: Custom',
- 'type' => 'string',
- 'example' => 'Custom',
- ],
- 'Language' => [
- 'description' => 'This parameter is required if LanguageStatus is set to Custom.'."\n"
- ."\n"
- .'- **zh-cn**: simplified Chinese.'."\n"
- .'- **en**: English.',
- 'type' => 'string',
- 'example' => 'en',
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The ID of the host group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccountNames' => [
+ 'description' => 'The result of revoking permissions on the specified host accounts from the user.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether permissions on the specified host account were revoked from the user. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'UserNotFound',
- 'errorMessage' => 'The user is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"User\\": {\\n \\"DisplayName\\": \\"Bob\\",\\n \\"Comment\\": \\"commet\\",\\n \\"Email\\": \\"1099**@qq.com\\",\\n \\"Mobile\\": \\"1359999****\\",\\n \\"MobileCountryCode\\": \\"CN\\",\\n \\"UserId\\": \\"1\\",\\n \\"Source\\": \\"Local\\",\\n \\"UserName\\": \\"abcabc_def\\",\\n \\"SourceUserId\\": \\"122748924538****\\",\\n \\"UserState\\": [\\n \\"[\\\\\\"Normal\\\\\\"]\\"\\n ],\\n \\"EffectiveStartTime\\": 1669630029,\\n \\"EffectiveEndTime\\": 1672502400,\\n \\"NeedResetPassword\\": true,\\n \\"TwoFactorMethods\\": [\\n \\"[\\\\n \\\\\\"sms\\\\\\"\\\\n]\\"\\n ],\\n \\"TwoFactorStatus\\": \\"Enable\\",\\n \\"LanguageStatus\\": \\"Custom\\",\\n \\"Language\\": \\"en\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetUserResponse>\\n <User>\\n <Comment>commet</Comment>\\n <Email>1099**@qq.com</Email>\\n <UserName>abcabc_def</UserName>\\n <UserId>1</UserId>\\n <SourceUserId>122748924538****</SourceUserId>\\n <DisplayName>Bob</DisplayName>\\n <MobileCountryCode>CN</MobileCountryCode>\\n <Mobile>1359999****</Mobile>\\n <Source>Local</Source>\\n <UserState>Normal</UserState>\\n </User>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</GetUserResponse>","errorExample":""}]',
- 'title' => 'GetUser',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"UserId\\": \\"1\\",\\n \\"HostAccountNames\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountName\\": \\"root\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DetachHostGroupAccountsFromUser',
+ 'requestParamsDescription' => 'Structure of the HostGroups parameter'."\n"
+ ."\n"
+ .'| Parameter | Type | Example | Description |'."\n"
+ .'| ---------------- | ------------- | --------------------- | --------------------------------------------------------------------------------------------------- |'."\n"
+ .'| HostGroupId | string | 1 | The host group ID. |'."\n"
+ .'| HostAccountNames | array[string] | \\["root","111","abc"] | The names of the host accounts. Specify a JSON string. You can specify up to 10 host account names. |'."\n"
+ ."\n"
+ .'The following code provides an example:'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"HostGroupId":"1"}, '."\n"
+ .'{"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, '."\n"
+ .'{"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, '."\n"
+ .'{"HostGroupId":"4","HostAccountNames":["root","111","abc"]} '."\n"
+ .']'."\n"
+ .'```'."\n"
+ ."\n"
+ .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the Sample requests section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListUsers' => [
- 'summary' => 'Queries a list of users of a bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostGroupAccountsFromUser'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'DetachHostGroupAccountsFromUserGroup' => [
+ 'summary' => 'Revokes permissions on one or more host groups and host accounts from a user group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostE6GSFF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose users you want to query.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to revoke permissions on the specified host groups and host accounts from the user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose users you want to query.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to revoke permissions on the specified host groups and host accounts from the user group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The logon name of the user that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'abc',
- ],
- ],
- [
- 'name' => 'DisplayName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The display name of the user that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'abc',
- ],
- ],
- [
- 'name' => 'Source',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the user that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Local**: a local user.'."\n"
- .'* **Ram**: a Resource Access Management (RAM) user.'."\n"
- .'* **AD**: an Active Directory (AD)-authenticated user.'."\n"
- .'* **LDAP**: a Lightweight Directory Access Protocol (LDAP)-authenticated user.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Local',
- ],
- ],
- [
- 'name' => 'Mobile',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The mobile phone number of the user that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1359999****',
- ],
- ],
- [
- 'name' => 'UserState',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The state of the user that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The user is in normal state.'."\n"
- .'* **Frozen**: The user is locked.'."\n"
- .'* **Expired**: The user has expired.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Normal',
- ],
+ 'schema' => ['description' => 'The ID of the user group from which you want to revoke permissions on the specified host groups and host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'SourceUserId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The unique ID of the user that you want to query. Only exact match is supported.'."\n"
- ."\n"
- .'> This parameter uniquely identifies a RAM user of the bastion host. This parameter is valid if **Source** is set to **Ram**. You can call the [ListUsers](~~28684~~) operation in RAM to obtain the unique ID of the user from the **UserId** response parameter.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '122748924538****',
- ],
- ],
- [
- 'name' => 'UserGroupId',
+ 'name' => 'HostGroups',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group to which the user you want to query belongs.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the user group ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host group and the name of host account on which you want to revoke permissions from the user group. You can specify up to 10 host group IDs and up to 10 host account names for each host group. You can specify only host group IDs. In this case, the permissions on the specified host groups and all host accounts in the host groups are revoked from the user group. For more information about this parameter, see the "Description of the HostGroups parameter" section of this topic.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group and the [ListHostAccounts](~~204372~~) operation to query the name of the host account.', 'type' => 'string', 'required' => true, 'example' => '[ {"HostGroupId":"1"}, {"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"4","HostAccountNames":["root","111","abc"]}]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of users returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Users' => [
- 'description' => 'The users returned.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'DisplayName' => [
- 'description' => 'The display name of the user.'."\n",
- 'type' => 'string',
- 'example' => 'Bob',
- ],
- 'Email' => [
- 'description' => 'The email address of the user.'."\n",
- 'type' => 'string',
- 'example' => '1099**@qq.com',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the user.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'MobileCountryCode' => [
- 'description' => 'The location where the mobile phone number of the user is registered. Valid values:'."\n"
- ."\n"
- .'* **CN**: the Chinese mainland, whose international dialing code is +86.'."\n"
- .'* **HK**: Hong Kong (China), whose international dialing code is +852.'."\n"
- .'* **MO**: Macao (China), whose international dialing code is +853.'."\n"
- .'* **TW**: Taiwan (China), whose international dialing code is +886.'."\n"
- .'* **RU**: Russia, whose international dialing code is +7.'."\n"
- .'* **SG**: Singapore, whose international dialing code is +65.'."\n"
- .'* **MY**: Malaysia, whose international dialing code is +60.'."\n"
- .'* **ID**: Indonesia, whose international dialing code is +62.'."\n"
- .'* **DE**: Germany, whose international dialing code is +49.'."\n"
- .'* **AU**: Australia, whose international dialing code is +61.'."\n"
- .'* **US**: US, whose international dialing code is +1.'."\n"
- .'* **AE**: United Arab Emirates, whose international dialing code is +971.'."\n"
- .'* **JP:** Japan, whose international dialing code is +81.'."\n"
- .'* **GB**: UK, whose international dialing code is +44.'."\n"
- .'* **IN**: India, whose international dialing code is +91.'."\n"
- .'* **KR**: Republic of Korea, whose international dialing code is +82.'."\n"
- .'* **PH**: Philippines, whose international dialing code is +63.'."\n"
- .'* **CH**: Switzerland, whose international dialing code is +41.'."\n"
- .'* **SE**: Sweden, whose international dialing code is +46.'."\n",
- 'type' => 'string',
- 'example' => 'CN',
- ],
- 'Mobile' => [
- 'description' => 'The mobile phone number of the user.'."\n",
- 'type' => 'string',
- 'example' => '1359999****',
- ],
- 'UserId' => [
- 'description' => 'The user ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Source' => [
- 'description' => 'The type of the user. Valid values:'."\n"
- ."\n"
- .'* **Local**: a local user.'."\n"
- .'* **Ram**: a RAM user.'."\n"
- .'* **AD**: an AD-authenticated user.'."\n"
- .'* **LDAP**: an LDAP-authenticated user.'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'UserName' => [
- 'description' => 'The logon name of the user.'."\n",
- 'type' => 'string',
- 'example' => 'abc_def',
- ],
- 'SourceUserId' => [
- 'description' => 'The unique ID of the user.'."\n"
- ."\n"
- .'> This parameter uniquely identifies a RAM user of the bastion host. A value is returned for this parameter if **Source** is set to **Ram**. No value is returned for this parameter if **Source** is set to **Local**.'."\n",
- 'type' => 'string',
- 'example' => '122748924538****',
- ],
- 'UserState' => [
- 'description' => 'An array that lists the states of users.'."\n",
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The ID of the host group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccountNames' => [
+ 'description' => 'The result of revoking permissions on the specified host accounts from the user group.',
'type' => 'array',
'items' => [
- 'description' => 'The state of the user. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The user is in normal state.'."\n"
- .'* **Frozen**: The user is locked.'."\n"
- .'* **Expired**: The user has expired.'."\n",
- 'type' => 'string',
- 'example' => '["Normal"]',
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether permissions on the specified host account were revoked from the specified user group. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'EffectiveStartTime' => [
'title' => '',
- 'description' => 'The start time of the validity period of the user. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1669630029',
- ],
- 'EffectiveEndTime' => [
- 'description' => 'The end time of the validity period of the user. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1672502400',
- ],
- 'NeedResetPassword' => [
- 'description' => 'Indicates whether password reset is required upon the next logon. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'TwoFactorStatus' => [
- 'description' => 'Indicates whether two-factor authentication is enabled for the user. Valid values:'."\n"
- ."\n"
- .'* **Global**: The global setting applies.'."\n"
- .'* **Disable**: Two-factor authentication is disabled.'."\n"
- .'* **Enable**: Two-factor authentication is enabled. The user-specific setting for the authentication method applies.'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'TwoFactorMethods' => [
- 'description' => 'An array of the enabled two-factor authentication methods.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The enabled two-factor authentication method. Only one method is supported for each user. Valid values:'."\n"
- ."\n"
- .'* **sms:** text message-based two-factor authentication.'."\n"
- .'* **email:** email-based two-factor authentication.'."\n"
- .'* **dingtalk**: DingTalk-based two-factor authentication.'."\n"
- .'* **totp**: one-time password (OTP) token-based two-factor authentication.'."\n"
- .'* **gmusbkey**: two-factor authentication based on the SM-based USB key.'."\n",
- 'type' => 'string',
- 'example' => '['."\n"
- .' "sms"'."\n"
- .']',
- ],
- ],
- 'LanguageStatus' => [
- 'description' => 'Indicates whether notifications are sent in the language specified in the global settings or a custom language.'."\n"
- ."\n"
- .'* **Global**'."\n"
- .'* **Custom**'."\n",
- 'type' => 'string',
- 'example' => 'Custom',
- ],
- 'Language' => [
- 'description' => 'This parameter is required if LanguageStatus is set to Custom. Valid values:'."\n"
- ."\n"
- .'* **zh-cn**: simplified Chinese.'."\n"
- .'* **en**: English.'."\n",
- 'type' => 'string',
- 'example' => 'en',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Users\\": [\\n {\\n \\"DisplayName\\": \\"Bob\\",\\n \\"Email\\": \\"1099**@qq.com\\",\\n \\"Comment\\": \\"comment\\",\\n \\"MobileCountryCode\\": \\"CN\\",\\n \\"Mobile\\": \\"1359999****\\",\\n \\"UserId\\": \\"1\\",\\n \\"Source\\": \\"Local\\",\\n \\"UserName\\": \\"abc_def\\",\\n \\"SourceUserId\\": \\"122748924538****\\",\\n \\"UserState\\": [\\n \\"[\\\\\\"Normal\\\\\\"]\\"\\n ],\\n \\"EffectiveStartTime\\": 1669630029,\\n \\"EffectiveEndTime\\": 1672502400,\\n \\"NeedResetPassword\\": true,\\n \\"TwoFactorStatus\\": \\"Enable\\",\\n \\"TwoFactorMethods\\": [\\n \\"[\\\\n \\\\\\"sms\\\\\\"\\\\n]\\"\\n ],\\n \\"LanguageStatus\\": \\"Custom\\",\\n \\"Language\\": \\"en\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListUsersResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Users>\\n <Comment>comment</Comment>\\n <UserName>abc_def</UserName>\\n <Email>1099**@qq.com</Email>\\n <UserId>1</UserId>\\n <SourceUserId>122748924538****</SourceUserId>\\n <MobileCountryCode>CN</MobileCountryCode>\\n <DisplayName>Bob</DisplayName>\\n <Mobile>1359999****</Mobile>\\n <Source>Local</Source>\\n <UserState>Normal</UserState>\\n </Users>\\n</ListUsersResponse>","errorExample":""}]',
- 'title' => 'ListUsers',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~315526~~). For more information about sample requests, see Sample requests.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"HostAccountNames\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountName\\": \\"root\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DetachHostGroupAccountsFromUserGroup',
+ 'requestParamsDescription' => 'Description of the HostGroups parameter'."\n"
+ ."\n"
+ .'| Field | Type | Example | Description |'."\n"
+ .'| ----------------------------------------------------------------------------------- | ------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------- |'."\n"
+ .'| HostGroupId | string | 1 | The ID of the host group. |'."\n"
+ .'| HostAccountNames | array[string] | \\["root","111","abc"] | The name of the host account. The value is a JSON string. You can specify up to 10 host account names for each host group. |'."\n"
+ .'| The following code provides an example on the settings of the HostGroups parameter: | | | |'."\n"
+ ."\n"
+ .'```'."\n"
+ .'['."\n"
+ .'{"HostGroupId":"1"}, '."\n"
+ .'{"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, '."\n"
+ .'{"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, '."\n"
+ .'{"HostGroupId":"4","HostAccountNames":["root","111","abc"]} '."\n"
+ .']'."\n"
+ .'```'."\n"
+ ."\n"
+ .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ModifyUser' => [
- 'summary' => 'Modifies the information about a user of a bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostGroupAccountsFromUserGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'DisableInstancePublicAccess' => [
+ 'summary' => 'Disables public network access for a Bastionhost instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostE6GSFF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to modify the information about the user.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance for which you want to disable public network access.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to modify the information about the user.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
- [
- 'name' => 'UserId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [],
'schema' => [
- 'description' => 'The ID of the user whose information you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => ['description' => 'The ID of the Bastionhost instance for which public network access is disabled.', 'type' => 'string', 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request. This ID is a unique identifier generated by Alibaba Cloud for the request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '76FAAF15-D3A3-4099-9941-FC408D9FDB4C', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'Password',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new password of the user. The password must be 8 to 128 characters in length. It must contain uppercase letters, lowercase letters, digits, and special characters.'."\n"
- ."\n"
- .'> Leave this parameter empty if you do not want to change the password of the user.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '321****',
- ],
+ ],
+ 'title' => 'DisableInstancePublicAccess',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableInstancePublicAccess'],
],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"76FAAF15-D3A3-4099-9941-FC408D9FDB4C\\"\\n}","type":"json"}]',
+ ],
+ 'DisableRule' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'DisplayName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new display name of the user. The display name can be up to 128 characters in length.'."\n"
- ."\n"
- .'> Leave this parameter empty if you do not want to change the display name of the user.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Bob',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
+ ],
+ 'parameters' => [
[
- 'name' => 'Comment',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new remarks of the user. The remarks can be up to 500 characters in length.'."\n"
- ."\n"
- .'> Leave this parameter empty if you do not want to change the remarks of the user.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
],
[
- 'name' => 'Email',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new email address of the user.'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* This parameter is required if TwoFactorStatus is set to Enable and TwoFactorMethods is set to email, or if TwoFactorStatus is set to Global and TwoFactorMethods is set to email in the global two-factor authentication settings.'."\n"
- ."\n"
- .'* You can call the [GetInstanceTwoFactor](~~462968~~) operation to query the global two-factor authentication settings.'."\n"
- ."\n"
- .'* Leave this parameter empty if you do not want to change the email address of the user.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'username@example.com',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Mobile',
+ 'name' => 'RuleId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new mobile phone number of the user.'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* This parameter is required if TwoFactorStatus is set to Enable and TwoFactorMethods is set to sms or dingtalk, or if TwoFactorStatus is set to Global and TwoFactorMethods is set to sms or dingtalk in the global two-factor authentication settings.'."\n"
- ."\n"
- .'* You can call the [GetInstanceTwoFactor](~~462968~~) operation to query the global two-factor authentication settings.'."\n"
- ."\n"
- .'* Leave this parameter empty if you do not want to change the mobile phone number of the user.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1358888****',
- ],
+ 'schema' => ['description' => 'The ID of the authorization rule to be disabled.'."\n"
+ ."\n"
+ .'> You can call the [ListRules](~~2758868~~) operation to query the authorization rule ID to be disabled.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
- [
- 'name' => 'MobileCountryCode',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The country where the new mobile number of the user is registered. Valid values:'."\n"
- ."\n"
- .'* **CN:** the Chinese mainland, whose country calling code is +86'."\n"
- .'* **HK:** Hong Kong (China), whose country calling code is +852'."\n"
- .'* **MO:** Macao (China), whose country calling code is +853'."\n"
- .'* **TW:** Taiwan (China), whose country calling code is +886'."\n"
- .'* **RU:** Russia, whose country calling code is +7'."\n"
- .'* **SG:** Singapore, whose country calling code is +65'."\n"
- .'* **MY:** Malaysia, whose country calling code is +60'."\n"
- .'* **ID:** Indonesia, whose country calling code is +62'."\n"
- .'* **DE:** Germany, whose country calling code is +49'."\n"
- .'* **AU:** Australia, whose country calling code is +61'."\n"
- .'* **US:** US, whose country calling code is +1'."\n"
- .'* **AE:** United Arab Emirates, whose country calling code is +971'."\n"
- .'* **JP:** Japan, whose country calling code is +81'."\n"
- .'* **GB:** UK, whose country calling code is +44'."\n"
- .'* **IN:** India, whose country calling code is +91'."\n"
- .'* **KR:** Republic of Korea, whose country calling code is +82'."\n"
- .'* **PH:** Philippines, whose country calling code is +63'."\n"
- .'* **CH:** Switzerland, whose country calling code is +41'."\n"
- .'* **SE:** Sweden, whose country calling code is +46'."\n"
- .'* **SA:** Saudi Arabia, whose country calling code is +966'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'CN',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '98DBE5C2-7D7A-5393-9E5A-71074336D33B', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'EffectiveStartTime',
- 'in' => 'query',
- 'schema' => [
- 'title' => '用户开始生效时间戳,单位秒',
- 'description' => 'The start time of the validity period of the user. Specify a UNIX timestamp. Unit: seconds.'."\n"
- ."\n"
- .'> Leave this parameter empty if you do not want to change the start time of the validity period.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1669630029',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
- [
- 'name' => 'EffectiveEndTime',
- 'in' => 'query',
- 'schema' => [
- 'title' => '用户结束生效时间戳,单位秒',
- 'description' => 'The end time of the validity period of the user. Specify a UNIX timestamp. Unit: seconds.'."\n"
- ."\n"
- .'> Leave this parameter empty if you do not want to change the end time of the validity period.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1672502400',
- ],
+ 404 => [
+ ['errorCode' => 'RuleNotFound', 'errorMessage' => 'The rule is not found.', 'description' => 'The rule is not found.'],
],
- [
- 'name' => 'NeedResetPassword',
- 'in' => 'query',
- 'schema' => [
- 'title' => '用户下次登录强制修改密码',
- 'description' => 'Specifies whether password reset is required upon the next logon. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n"
- ."\n"
- .'> Leave this parameter empty if you do not want to change the password reset settings for the user.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
+ ],
+ 'title' => 'DisableRule',
+ 'summary' => 'Disables an authorization rule.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableRule'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'TwoFactorStatus',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether two-factor authentication is enabled for the user. Valid values:'."\n"
- ."\n"
- .'* **Global**: The global settings apply.'."\n"
- .'* **Disable**: Two-factor authentication is disabled.'."\n"
- .'* **Enable**: Two-factor authentication is enabled and user-specific settings apply.'."\n"
- ."\n"
- .'> Leave this parameter empty if you do not want to change the two-factory authentication settings for the user.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DisableRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98DBE5C2-7D7A-5393-9E5A-71074336D33B\\"\\n}","type":"json"}]',
+ ],
+ 'EnableInstancePublicAccess' => [
+ 'summary' => 'Enables the public access switch for a specified Bastionhost instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'TwoFactorMethods',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The two-factor authentication method. You can select only one method. Valid values:'."\n"
- ."\n"
- .'* **sms**: text message-based two-factor authentication.'."\n"
- .'* **email**: email-based two-factor authentication.'."\n"
- .'* **dingtalk**: DingTalk-based two-factor authentication.'."\n"
- .'* **totp OTP:** one-time password (OTP) token-based two-factor authentication.'."\n"
- ."\n"
- .'> If TwoFactorStatus is set to Enable, you must specify one of the valid values as TwoFactorMethods.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'sms',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
+ ],
+ 'parameters' => [
[
- 'name' => 'LanguageStatus',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to send notifications in the language specified in the global settings or a custom language.'."\n"
- ."\n"
- .'* **Global**'."\n"
- .'* **Custom**'."\n"
- ."\n"
- .'> Leave this parameter empty if you do not want to change the natural language used to notify the user.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Custom',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the Bastionhost instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
],
[
- 'name' => 'Language',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'This parameter is required if LanguageStatus is set to Custom.'."\n"
- ."\n"
- .'- **zh-cn**: simplified Chinese'."\n"
- .'- **en**: English',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'en',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response data.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'InstanceId' => ['description' => 'The ID of the Bastionhost instance for which the public access switch has been enabled.', 'type' => 'string', 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID, which is a unique identifier generated by Alibaba Cloud for the request. You can use the ID for troubleshooting.', 'type' => 'string', 'example' => 'D47B5043-FDD6-4FBE-976E-5FC67A23578F', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'UserNotFound',
- 'errorMessage' => 'The user is not found.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"D47B5043-FDD6-4FBE-976E-5FC67A23578F\\"\\n}","type":"json"}]',
+ 'title' => 'Enable the public access switch for a specified Bastionhost instance',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableInstancePublicAccess'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'ModifyUser',
+ 'ramActions' => [],
],
- 'DeleteUser' => [
- 'summary' => 'Deletes a bastion host user.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'EnableRule' => [
+ 'summary' => 'Enables an authorization rule.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -9097,642 +6649,564 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostE6GSFF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the user to be deleted belongs.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1ghxxxxx', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the user to be deleted belongs.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'RuleId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user to be deleted.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the authorization rule that you want to enable.'."\n"
+ ."\n"
+ .'> You can call the [ListRules](~~2758868~~) operation to query the authorization rule ID.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'UserNotFound',
- 'errorMessage' => 'The user is not found.',
- ],
+ ['errorCode' => 'RuleNotFound', 'errorMessage' => 'The rule is not found.', 'description' => 'The rule is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'DeleteUser',
- ],
- 'CreateUserPublicKey' => [
- 'summary' => 'Creates a public key for a bastion host user and hosts the public key in the bastion host. This way, O\\\\\\&M engineers can use the private key that corresponds to the public key to log on to the bastion host from an O\\\\\\&M client.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'EnableRule',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableRule'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:EnableRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\"\\n}","type":"json"}]',
+ ],
+ 'GenerateAssetOperationToken' => [
+ 'summary' => 'Call this operation to request O&M tokens for bastions or databases, which allows you to manage assets.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
+ 'operationType' => 'get',
+ 'riskType' => 'high',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeCode' => '204184',
+ 'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies the region ID of the bastion host on which you want to create a public key for the user.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to create a public key for the user.'."\n"
- ."\n"
- .'> You can call the [listinstances](~~204522~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host instance.'."\n"
+ ."\n"
+ .'> For more information about region IDs, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'AssetType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user for whom you want to create a public key.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The type of the asset for which you want to generate an O\\&M token. Valid values:'."\n"
+ ."\n"
+ .'- **Host**'."\n"
+ ."\n"
+ .'- **Database**', 'type' => 'string', 'required' => true, 'example' => 'Host', 'title' => ''],
],
[
- 'name' => 'PublicKeyName',
+ 'name' => 'AssetId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the public key.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Public key of a user'."\n",
- ],
+ 'schema' => ['description' => 'The ID of the asset.', 'type' => 'string', 'required' => true, 'example' => '11', 'title' => ''],
],
[
- 'name' => 'PublicKey',
+ 'name' => 'AssetAccountId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The public key. Encode the value by using the Base64 algorithm.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUxGQnQxUUpyT3IxK2hTTGRkbERMZUx4WGRIZ3hBalBxWHJIbWNFNWxqSk8gbm93Y29kZXJAbm93Y29kZXJkZU1hY0Jvb2stUHJvLmxvY2Fs',
- ],
+ 'schema' => ['description' => 'The ID of the asset account.'."\n"
+ ."\n"
+ .'> You must specify at least one of `AssetAccountId` and `AssetAccountName`. If you specify both parameters, `AssetAccountId` is used.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'AssetAccountName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the public key. The description can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'description' => 'The data returned.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'PublicKeyId' => [
- 'description' => 'The ID of the public key.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '5EAB922E-F476-5DFA-9290-313C608E724B',
- ],
- ],
- ],
+ 'schema' => ['description' => 'The name of the asset account. If this parameter specifies a custom account, you must enter the actual account name.'."\n"
+ ."\n"
+ .'> If you specify both `AssetAccountId` and `AssetAccountName`, `AssetAccountId` is used.', 'type' => 'string', 'required' => false, 'example' => 'root', 'title' => ''],
],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PublicKeyId\\": \\"1\\",\\n \\"RequestId\\": \\"5EAB922E-F476-5DFA-9290-313C608E724B\\"\\n}","type":"json"}]',
- 'title' => 'CreateUserPublicKey',
- 'description' => 'You can call the CreateUserPublicKey operation to create a public key for the specified user of a bastion host.'."\n",
- ],
- 'ListUserPublicKeys' => [
- 'summary' => 'Queries all public keys of the specified user.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ 'name' => 'AssetAccountPassword',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The password that is encoded in Base64. This parameter is required if you want to generate an O\\&M token for a custom account.', 'type' => 'string', 'required' => false, 'example' => 'dGVzdHBhc3N3b3Jk', 'title' => ''],
],
- ],
- 'operationType' => 'read',
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
+ [
+ 'name' => 'AssetAccountProtocolName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The protocol that is used to connect to the asset. Valid values:'."\n"
+ ."\n"
+ .'- **SSH**'."\n"
+ ."\n"
+ .'- **RDP**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **SQLServer**'."\n"
+ ."\n"
+ .'> This parameter is required if you want to generate an O\\&M token for a custom account.', 'type' => 'string', 'required' => false, 'example' => 'SSH', 'title' => ''],
],
- ],
- 'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'OperationMode',
'in' => 'query',
+ 'allowEmptyValue' => true,
'schema' => [
- 'description' => 'The ID of the bastion host on which you want to query all public keys of the user.'."\n"
+ 'description' => 'The O\\&M mode. Valid values:'."\n"
."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
+ .'- **WebToken**: generates an O\\&M token.'."\n"
+ ."\n"
+ .'- **Sso**: logs on to the client.'."\n"
+ ."\n"
+ .'> This parameter is supported only by bastion hosts of V3.2.44 or later. If you do not specify this parameter, WebToken is used.',
'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****'."\n",
+ 'default' => 'WebToken',
+ 'enum' => ['Sso', 'WebToken', 'WebTerminal'],
+ 'required' => false,
+ 'example' => 'Sso',
+ 'title' => '',
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'LoginAttribute',
'in' => 'query',
+ 'allowEmptyValue' => true,
'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to query all public keys of the user.'."\n"
+ 'description' => 'The logon attribute. This parameter is required if you set OperationMode to Sso and use a custom Oracle account. Valid values:'."\n"
+ ."\n"
+ .'- **SERVICENAME**'."\n"
+ ."\n"
+ .'- **SID**'."\n"
."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
+ .'> This parameter is supported only by bastion hosts of V3.2.44 or later.',
'type' => 'string',
+ 'enum' => ['SID', 'SERVICENAME'],
'required' => false,
- 'example' => 'cn-shanghai',
+ 'example' => 'SID',
+ 'title' => '',
],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'DatabaseSchema',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => 'The name of the database. This parameter is required for a custom account if you set OperationMode to Sso and AssetAccountProtocolName to PostgreSQL or Oracle.'."\n"
+ ."\n"
+ .'> This parameter is supported only by bastion hosts of V3.2.44 or later.', 'type' => 'string', 'required' => false, 'example' => 'orcl', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'SsoClient',
'in' => 'query',
'schema' => [
- 'description' => 'The number of entries to return on each page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ 'description' => 'The type of the client that you want to use for O\\&M on a Linux asset. This parameter is required if you set OperationMode to Sso and the asset protocol to SSH. Valid values:'."\n"
."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
+ .'- **ssh**: opens a client that supports the SSH protocol to perform O\\&M with SSH permissions.'."\n"
+ ."\n"
+ .'- **sftp**: opens a client that supports the SFTP protocol to perform O\\&M with SFTP permissions.'."\n"
+ ."\n"
+ .'> This parameter is supported only by bastion hosts of V3.2.44 or later.',
'type' => 'string',
+ 'enum' => ['ssh', 'sftp'],
'required' => false,
- 'example' => '50',
+ 'example' => 'ssh',
+ 'title' => '',
],
],
[
- 'name' => 'UserId',
+ 'name' => 'OperationNote',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user whose public keys you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The remarks for the logon. This parameter is required if your administrator enables logon remarks in the control policy.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
- 'description' => 'The response data.'."\n",
'type' => 'object',
'properties' => [
- 'PublicKeys' => [
- 'description' => 'An array that consists of the public keys of the user.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The public keys of the user.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'FingerPrint' => [
- 'description' => 'The fingerprint of the public key.'."\n",
- 'type' => 'string',
- 'example' => 'd8:7d:b6:27:70:2d:07:fb:c6:b6:66:0a:86:7b:0f:9a',
- ],
- 'PublicKeyId' => [
- 'description' => 'The ID of the public key.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'PublicKeyName' => [
- 'description' => 'The name of the public key.'."\n",
- 'type' => 'string',
- 'example' => 'Keyname',
- ],
- 'UserId' => [
- 'description' => 'The ID of the user to which the public key belongs.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Comment' => [
- 'description' => 'The description of the public key.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- ],
+ 'AssetOperationToken' => [
+ 'description' => 'The asset operation token.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CountLeft' => ['description' => 'The number of remaining uses for the token.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'ExpireTime' => ['description' => 'The expiration time of the token. This value is a UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1709110797', 'title' => ''],
+ 'HasCountLimit' => ['description' => 'Indicates whether the token has a use limit.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'MaxRenewCount' => ['description' => 'The maximum number of times the token can be renewed. A value of 0 indicates that the token cannot be renewed.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
+ 'RenewCount' => ['description' => 'The number of times the token has been renewed.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'Token' => ['description' => 'The O\\&M token that is requested.', 'type' => 'string', 'example' => 'NmYyMmEzNmMwYzljNGY******', 'title' => ''],
+ 'TokenId' => ['description' => 'The ID of the O\\&M token.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'SsoUrl' => ['description' => 'The single sign-on (SSO) URL.', 'type' => 'string', 'example' => 'sso://eyJOT0RFX0NPTU1PTiI6eyJNb2R******', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of public keys.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '5',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PublicKeys\\": [\\n {\\n \\"FingerPrint\\": \\"d8:7d:b6:27:70:2d:07:fb:c6:b6:66:0a:86:7b:0f:9a\\",\\n \\"PublicKeyId\\": \\"1\\",\\n \\"PublicKeyName\\": \\"Keyname\\",\\n \\"UserId\\": \\"1\\",\\n \\"Comment\\": \\"comment\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
- ],
- 'ModifyUserPublicKey' => [
- 'summary' => 'Modifies the public key of the user.',
- 'methods' => [
- 'post',
- 'get',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AssetOperationToken\\": {\\n \\"CountLeft\\": 1,\\n \\"ExpireTime\\": 1709110797,\\n \\"HasCountLimit\\": true,\\n \\"MaxRenewCount\\": 10,\\n \\"RenewCount\\": 1,\\n \\"Token\\": \\"NmYyMmEzNmMwYzljNGY******\\",\\n \\"TokenId\\": \\"1\\",\\n \\"SsoUrl\\": \\"sso://eyJOT0RFX0NPTU1PTiI6eyJNb2R******\\"\\n },\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ 'title' => 'GenerateAssetOperationToken',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateAssetOperationToken'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GenerateAssetOperationToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'GetAutoOpsTask' => [
+ 'summary' => 'Queries the details of a specified O&M task.',
+ 'path' => '',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostH08E1Y'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to modify the public key of a user.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-nif236pmc1u',
- ],
+ 'schema' => ['description' => 'The instance ID of the bastion host.'."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query this parameter.', 'type' => 'string', 'required' => false, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host that is used to modify the public key of the user.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'PublicKeyId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the public key that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListUserPublicKeys](~~477555~~) operation to query the public key ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
- ],
- [
- 'name' => 'PublicKeyName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the public key that you want to modify. This name can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'name',
- ],
- ],
- [
- 'name' => 'PublicKey',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new public key.'."\n"
- ."\n"
- .'> Specify a Base64-encoded string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUhVcjY4UENFYWFzZjFYRVpNYTVsMlNBQytHV3FpeXVsRVpndkV4dmlPM28gcm9vdEA5NjBkMmNhOTcwYjU=',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ .'> For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Comment',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new description of the user group. The description can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'name' => 'TaskId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the O&M task that you want to query.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
- 'description' => 'The response data.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'AAB631FB-ABD0-5783-99F3-F29573B129E4',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '81500666-d7f5-4143-8329-0223cc738105', 'title' => ''],
+ 'Task' => [
+ 'description' => 'The details of the O&M task.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AllowedOverTime' => ['description' => 'The time when the approval of the O&M task was completed. This value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1669965908'."\n", 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the O&M task.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'Name' => ['description' => 'The name of the O&M task.', 'type' => 'string', 'example' => 'taskname', 'title' => ''],
+ 'ScheduleTimeInfo' => ['description' => 'The execution plan of the O&M task.'."\n"
+ .'- **ExecAt**: If the value of ScheduleType is Manual, this parameter is not meaningful. If the value of ScheduleType is FixTime, this parameter indicates the scheduled execution time in seconds as a UNIX timestamp. If the value of ScheduleType is CycleInterval, this parameter indicates the first execution time in seconds as a UNIX timestamp.'."\n"
+ ."\n"
+ .'- **PeriodNum**: If the value of ScheduleType is Manual or FixTime, this parameter is not meaningful. If the value of ScheduleType is CycleInterval, this parameter indicates the interval for periodic execution.'."\n"
+ ."\n"
+ .'- **PeriodUnit**: If the value of ScheduleType is Manual or FixTime, this parameter is not meaningful. If the value of ScheduleType is CycleInterval, this parameter indicates the unit of the periodic execution interval. Valid values: hour and day.', 'type' => 'string', 'example' => '{"ExecAt":0,"PeriodNum":0,"PeriodUnit":""}', 'title' => ''],
+ 'ScheduleType' => ['description' => 'The scheduling type of the task.'."\n"
+ .'- **FixTime**: scheduled execution.'."\n"
+ .'- **CycleInterval**: periodic execution.'."\n"
+ .'- **Manual**: manual execution triggered by the user.', 'type' => 'string', 'example' => 'FixTime', 'title' => ''],
+ 'Script' => ['description' => 'The content of the script to be executed by the O&M task. The value is Base64-encoded.', 'type' => 'string', 'example' => 'bHM=', 'title' => ''],
+ 'ScriptId' => ['description' => 'The ID of the script associated with the O&M task. This parameter is returned only when ScriptType is set to SpecificScript.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ 'ScriptName' => ['description' => 'The name of the script associated with the O&M task.', 'type' => 'string', 'example' => 'name', 'title' => ''],
+ 'ScriptType' => ['description' => 'The script type of the O&M task.'."\n"
+ ."\n"
+ .'- **HandInput**: manually entered script.'."\n"
+ ."\n"
+ .'- **SpecificScript**: associated existing script.', 'type' => 'string', 'example' => 'HandInput', 'title' => ''],
+ 'TaskId' => ['description' => 'The ID of the O&M task.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'TaskState' => ['description' => 'The status of the O&M task.'."\n"
+ ."\n"
+ .'- **PendingApproval**: pending approval.'."\n"
+ .'- **Rejected**: rejected.'."\n"
+ .'- **Cancelled**: cancelled.'."\n"
+ .'- **PendingExecution**: approved and waiting for execution.'."\n"
+ .'- **PrepareRun**: preparing to execute.'."\n"
+ .'- **Running**: executing.'."\n"
+ .'- **Completed**: execution completed.'."\n"
+ .'- **Failed**: execution failed.', 'type' => 'string', 'example' => 'PendingApproval', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Queries the details of a specified O&M task (supported only in V3.2.50 and later)',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAB631FB-ABD0-5783-99F3-F29573B129E4\\"\\n}","type":"json"}]',
- 'title' => 'ModifyUserPublicKey',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\",\\n \\"Task\\": {\\n \\"AllowedOverTime\\": 1669965908,\\n \\"Comment\\": \\"comment\\",\\n \\"Name\\": \\"taskname\\",\\n \\"ScheduleTimeInfo\\": \\"{\\\\\\"ExecAt\\\\\\":0,\\\\\\"PeriodNum\\\\\\":0,\\\\\\"PeriodUnit\\\\\\":\\\\\\"\\\\\\"}\\",\\n \\"ScheduleType\\": \\"FixTime\\",\\n \\"Script\\": \\"bHM=\\",\\n \\"ScriptId\\": 2,\\n \\"ScriptName\\": \\"name\\",\\n \\"ScriptType\\": \\"HandInput\\",\\n \\"TaskId\\": \\"1\\",\\n \\"TaskState\\": \\"PendingApproval\\"\\n }\\n}","type":"json"}]',
],
- 'DeleteUserPublicKey' => [
- 'summary' => 'Deletes a public key from the specified user.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetDatabase' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Bastionhost instance to which the users to be queried belong.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the Bastionhost instance.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host that manages the database to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-wwo36qbv601', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host. For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host that manages the database to query.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PublicKeyId',
+ 'name' => 'DatabaseId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The public key ID.'."\n"
- ."\n"
- .'> You can call the [ListUserPublicKeys](~~477555~~) operation to query the public key ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '11',
- ],
+ 'schema' => ['description' => 'The ID of the database to query.'."\n"
+ ."\n"
+ .'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.', 'type' => 'string', 'required' => true, 'example' => '21', 'title' => ''],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'Database' => [
+ 'description' => 'The returned detailed information about the database.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ActiveAddressType' => ['description' => 'The address type of the database. Valid values:'."\n"
+ ."\n"
+ .'- Public'."\n"
+ ."\n"
+ .'- Private', 'type' => 'string', 'example' => 'Public', 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the database.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '22', 'title' => ''],
+ 'DatabaseName' => ['description' => 'The name of the database.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'DatabasePort' => ['description' => 'The port of the database.', 'type' => 'integer', 'format' => 'int64', 'example' => '3306', 'title' => ''],
+ 'DatabasePrivateAddress' => ['description' => 'The internal endpoint of the database.', 'type' => 'string', 'example' => 'rm-bp1zq******', 'title' => ''],
+ 'DatabasePublicAddress' => ['description' => 'The public endpoint of the database.', 'type' => 'string', 'example' => 'rm-uf65******', 'title' => ''],
+ 'DatabaseType' => ['description' => 'The database engine. Valid values:'."\n"
+ ."\n"
+ .'- **mysql**'."\n"
+ ."\n"
+ .'- **sqlserver**'."\n"
+ ."\n"
+ .'- **postgresql**'."\n"
+ ."\n"
+ .'- **oracle**', 'type' => 'string', 'example' => 'MySQL', 'title' => ''],
+ 'NetworkDomainId' => ['description' => 'The ID of the network domain to which the database belongs.', 'type' => 'string', 'example' => '45', 'title' => ''],
+ 'Source' => ['description' => 'The database type. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: on-premises database.'."\n"
+ ."\n"
+ .'- **Rds**: ApsaraDB RDS instance.'."\n"
+ ."\n"
+ .'- **PolarDB**: PolarDB cluster.', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'SourceInstanceId' => ['description' => 'The ID of the ApsaraDB RDS instance or PolarDB cluster.'."\n"
+ ."\n"
+ .'> If **Source** is set to **Local**, this parameter is empty.', 'type' => 'string', 'example' => 'i-wz9527ob0e0nftcsffke', 'title' => ''],
+ 'SourceInstanceRegionId' => ['description' => 'The region ID of the ApsaraDB RDS instance or PolarDB cluster.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'SourceInstanceState' => ['description' => 'The status of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**'."\n"
+ ."\n"
+ .'- **Release**', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4D72B883-9D15-5B05-B987-DFD10EB1FFB4', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'DatabaseNotFound', 'errorMessage' => 'The database is not found.', 'description' => 'The database is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'DeleteUserPublicKey',
- 'description' => 'You can call the DeleteUserPublicKey operation to delete a public key from the specified user of a bastion host.'."\n",
- ],
- 'LockUsers' => [
- 'summary' => 'Locks one or more users of a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'GetDatabase',
+ 'summary' => 'Queries the detailed information about a database.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDatabase'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetDatabase',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Database\\": {\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"Comment\\": \\"comment\\",\\n \\"DatabaseId\\": \\"22\\",\\n \\"DatabaseName\\": \\"test\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"rm-bp1zq******\\",\\n \\"DatabasePublicAddress\\": \\"rm-uf65******\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"NetworkDomainId\\": \\"45\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9527ob0e0nftcsffke\\",\\n \\"SourceInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"SourceInstanceState\\": \\"Normal\\"\\n },\\n \\"RequestId\\": \\"4D72B883-9D15-5B05-B987-DFD10EB1FFB4\\"\\n}","type":"json"}]',
+ ],
+ 'GetDatabaseAccount' => [
+ 'summary' => 'Queries the detailed information about a database account.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostE6GSFF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the users to be locked belong.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-i7m2d7zrw11', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the users to be locked belong.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
],
[
- 'name' => 'UserIds',
+ 'name' => 'DatabaseAccountId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user to be locked. The value is a JSON string. You can add up to 100 user IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => ' ["1","2","3"]',
- ],
+ 'schema' => ['description' => 'The ID of the database account to query.'."\n"
+ ."\n"
+ .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.', 'type' => 'string', 'required' => true, 'example' => '9', 'title' => ''],
],
],
'responses' => [
@@ -9740,140 +7214,107 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- ."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- ."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- ."\n"
- .'>Make sure that the request parameters are valid and call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- ."\n"
- .'>Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => 'N/A'."\n",
- ],
- 'UserId' => [
- 'description' => 'The ID of the user.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
+ 'DatabaseAccount' => [
+ 'description' => 'The returned information about the database account.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseAccountId' => ['description' => 'The database account ID.', 'type' => 'string', 'example' => '9', 'title' => ''],
+ 'DatabaseAccountName' => ['description' => 'The name of the database account.', 'type' => 'string', 'example' => 'uac', 'title' => ''],
+ 'DatabaseSchema' => ['description' => 'The database name. A value is returned for this parameter if the database engine is PostgreSQL or Oracle.', 'type' => 'string', 'example' => 'orcl', 'title' => ''],
+ 'HasPassword' => ['description' => 'Indicates whether the database account has a password.'."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'- true'."\n"
+ ."\n"
+ .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'LoginAttribute' => ['description' => 'The logon attribute. A value is returned for this parameter if the database engine is Oracle. Valid values:'."\n"
+ ."\n"
+ .'- SERVICENAME'."\n"
+ ."\n"
+ .'- SID', 'type' => 'string', 'example' => 'SID', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FA06D274-8D0A-59FB-8B7E-584C0EEBBFFF', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'DatabaseAccountNotFound', 'errorMessage' => 'The database account is not found.', 'description' => 'The database account is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<LockUsersResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <UserId>1</UserId>\\n <Code>OK</Code>\\n </Results>\\n</LockUsersResponse>","errorExample":""}]',
- 'title' => 'LockUsers',
- 'description' => '# Description'."\n"
- ."\n"
- .'You can call this operation to lock one or more users of a bastion host. If a user does not need to use a bastion host to perform O\\&M operations within a specific period of time, you can lock the user. The locked user can no longer log on to or perform O\\&M operations on the hosts on which the user is granted permissions. If you want to unlock the user later, you can call the [UnlockUsers](~~204590~~) operation.'."\n"
- ."\n"
- .'# Limits'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'UnlockUsers' => [
- 'summary' => 'Unlocks one or more users of a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'GetDatabaseAccount',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDatabaseAccount'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetDatabaseAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccount\\": {\\n \\"DatabaseAccountId\\": \\"9\\",\\n \\"DatabaseAccountName\\": \\"uac\\",\\n \\"DatabaseSchema\\": \\"orcl\\",\\n \\"HasPassword\\": true,\\n \\"LoginAttribute\\": \\"SID\\"\\n },\\n \\"RequestId\\": \\"FA06D274-8D0A-59FB-8B7E-584C0EEBBFFF\\"\\n}","type":"json"}]',
+ ],
+ 'GetExportConfigJob' => [
+ 'summary' => 'Retrieves the details of a configuration export task for a Bastionhost instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostE6GSFF',
- ],
+ 'abilityTreeCode' => '245226',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the users to be unlocked belong.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the users to be unlocked belong.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserIds',
+ 'name' => 'JobId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user that you want to unlock. The value is a JSON string. You can add up to 100 user IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '["1","2"]',
- ],
+ 'schema' => ['description' => 'The ID of the configuration backup export job.'."\n"
+ ."\n"
+ .'> This parameter is the JobId returned after you successfully call the CreateExportConfigJob operation to create a configuration backup export job.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
],
'responses' => [
@@ -9881,208 +7322,187 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'An array that consists of information about the result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The result of the call. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- ."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- ."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- ."\n"
- .' **'."\n"
- ."\n"
- .' **Note**Make sure that the request parameters are valid and call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- ."\n"
- .' **'."\n"
- ."\n"
- .' **Note**Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => 'N/A'."\n",
- ],
- 'UserId' => [
- 'description' => 'The ID of the user.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
+ 'DownloadUrl' => ['description' => 'The download link of the configuration backup file.', 'type' => 'string', 'example' => 'https://bastionhost-cn-hangzhou-164***.oss-cn-hangzhou.aliyuncs.com/bastionhost-cn-2******', 'title' => ''],
+ 'JobId' => ['description' => 'The ID of the configuration backup export job.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'message', 'title' => ''],
+ 'RequestId' => ['description' => 'The unique identifier that Alibaba Cloud generates for this request.', 'type' => 'string', 'example' => '98DBE5C2-7D7A-5393-9E5A-71074336D33B', 'title' => ''],
+ 'Status' => ['description' => 'The status of the configuration backup export job.', 'type' => 'string', 'example' => 'Success', 'title' => ''],
+ 'ExpireTime' => ['description' => 'The expiration time of the configuration backup download link. (In seconds, UNIX timestamp format)', 'type' => 'integer', 'format' => 'int64', 'example' => '1679393152', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UnlockUsersResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message></Message>\\n <UserId>1</UserId>\\n <Code>OK</Code>\\n </Results>\\n</UnlockUsersResponse>","errorExample":""}]',
- 'title' => 'UnlockUsers',
- 'description' => 'After you call the [LockUsers](~~204591~~) operation to lock one or more users of a bastion host, you can call this operation to unlock the users. After the users are unlocked, the users can perform O\\&M operations by using the bastion host.'."\n"
- ."\n"
- .'# Limits'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateUserGroup' => [
- 'summary' => 'Creates a user group for a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'GetExportConfigJob',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetExportConfigJob'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DownloadUrl\\": \\"https://bastionhost-cn-hangzhou-164***.oss-cn-hangzhou.aliyuncs.com/bastionhost-cn-2******\\",\\n \\"JobId\\": \\"2\\",\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"98DBE5C2-7D7A-5393-9E5A-71074336D33B\\",\\n \\"Status\\": \\"Success\\",\\n \\"ExpireTime\\": 1679393152\\n}","type":"json"}]',
+ ],
+ 'GetHost' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost8REEA2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to create a user group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host in which you want to query the host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to create a user group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host in which you want to query the host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserGroupName',
+ 'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the user group that you want to create. This name can be a up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'group',
- ],
- ],
- [
- 'name' => 'Comment',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the user group. The description can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['description' => 'The ID of the host that you want to query. You can specify only one host ID.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'UserGroupId' => [
- 'description' => 'The ID of the user group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Host' => [
+ 'description' => 'The returned information about the host.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Comment' => ['description' => 'The description of the host.', 'type' => 'string', 'example' => 'host', 'title' => ''],
+ 'ActiveAddressType' => ['description' => 'The address type of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Public**: a public address'."\n"
+ ."\n"
+ .'- **Private**: a private address', 'type' => 'string', 'example' => 'Public', 'title' => ''],
+ 'HostPublicAddress' => ['description' => 'The public address of the host. The value is a domain name or an IP address.', 'type' => 'string', 'example' => '1.1.XX.XX', 'title' => ''],
+ 'HostName' => ['description' => 'The hostname.', 'type' => 'string', 'example' => 'host', 'title' => ''],
+ 'Source' => ['description' => 'The source of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a host in a data center'."\n"
+ ."\n"
+ .'- **Ecs**: an Elastic Compute Service (ECS) instance'."\n"
+ ."\n"
+ .'- **Rds**: a host in an ApsaraDB MyBase dedicated cluster', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'HostPrivateAddress' => ['description' => 'The internal endpoint of the host. The value is a domain name or an IP address.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ 'OSType' => ['description' => 'The operating system of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'example' => 'Linux', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'SourceInstanceState' => ['description' => 'The status of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: normal'."\n"
+ ."\n"
+ .'- **Release**: released', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'SourceInstanceId' => ['description' => 'The ID of the ECS instance or the host in an ApsaraDB MyBase dedicated cluster.'."\n"
+ ."\n"
+ .'> If **Local** is returned for the **Source** parameter, no value is returned for this parameter.', 'type' => 'string', 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
+ 'Protocols' => [
+ 'description' => 'The protocol information about the host.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HostFingerPrint' => ['description' => 'The fingerprint of the host. This parameter uniquely identifies a host. A value is returned for this parameter only if you have performed O\\&M operations on the host by using the bastion host. Otherwise, no value is returned.', 'type' => 'string', 'example' => 'ssh-ed25519|3e:46:5a:e1:1f:0d:39:7e:61:35:d5:fa:7b:2b:**:**', 'title' => ''],
+ 'Port' => ['description' => 'The service port of the host.', 'type' => 'integer', 'format' => 'int32', 'example' => '22', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol that is used to connect to the host. Valid values:'."\n"
+ ."\n"
+ .'- **SSH**'."\n"
+ ."\n"
+ .'- **RDP**', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NetworkDomainId' => ['description' => 'The ID of the network domain to which the host belongs.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'PrefKex' => ['description' => 'The preferred key exchange algorithm of the host. The value of this parameter is returned if OSType is set to Linux. Valid values:'."\n"
+ ."\n"
+ .'- **default**'."\n"
+ ."\n"
+ .'- **diffie-hellman-group1-sha1**'."\n"
+ ."\n"
+ .'- **diffie-hellman-group14-sha1**'."\n"
+ ."\n"
+ .'- **diffie-hellman-group-exchange-sha1**', 'type' => 'string', 'example' => 'default', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'UserGroupAlreadyExists',
- 'errorMessage' => 'The user group already exists.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'HostNotFound', 'errorMessage' => 'The host is not found.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserGroupId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateUserGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <UserGroupId>1</UserGroupId>\\n</CreateUserGroupResponse>","errorExample":""}]',
- 'title' => 'CreateUserGroup',
- 'description' => 'You can call this operation to create a user group for a bastion host as an administrator. Then, you can call the [AddUsersToGroup](~~204600~~) operation to add users to the user group at a time. After you add the users to the user group, you can authorize and manage the users in a centralized manner.'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
+ 'title' => 'GetHost',
+ 'summary' => 'Retrieves the details of a host, such as the name, source, address, protocol, and service port.',
+ 'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'GetUserGroup' => [
- 'summary' => 'Queries the details of a user group in a bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHost'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Host\\": {\\n \\"Comment\\": \\"host\\",\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"HostPublicAddress\\": \\"1.1.XX.XX\\",\\n \\"HostName\\": \\"host\\",\\n \\"Source\\": \\"Local\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"HostId\\": \\"1\\",\\n \\"SourceInstanceState\\": \\"Normal\\",\\n \\"SourceInstanceId\\": \\"i-bp19ienyt0yax748****\\",\\n \\"Protocols\\": [\\n {\\n \\"HostFingerPrint\\": \\"ssh-ed25519|3e:46:5a:e1:1f:0d:39:7e:61:35:d5:fa:7b:2b:**:**\\",\\n \\"Port\\": 22,\\n \\"ProtocolName\\": \\"SSH\\"\\n }\\n ],\\n \\"NetworkDomainId\\": \\"1\\",\\n \\"PrefKex\\": \\"default\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetHostAccount' => [
+ 'summary' => 'Retrieves the details of a host account on a host managed by a Bastionhost instance, such as the protocol type and account name.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -10093,120 +7513,107 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost8REEA2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to query the details of the user group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance where the host account that you want to query resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to query the details of the user group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance where the host account that you want to query resides.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserGroupId',
+ 'name' => 'HostAccountId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host account that you want to query.'."\n"
+ ."\n"
+ .'> You can call the [ListHostAccounts](~~204372~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'UserGroup' => [
- 'description' => 'The details of the user group returned.'."\n",
+ 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'HostAccount' => [
+ 'description' => 'The detailed information about the queried host account.',
'type' => 'object',
'properties' => [
- 'UserGroupName' => [
- 'description' => 'The name of the user group.'."\n",
- 'type' => 'string',
- 'example' => 'UserGroup01',
- ],
- 'Comment' => [
- 'description' => 'The description of the user group.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'UserGroupId' => [
- 'description' => 'The ID of the group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'HasPassword' => ['description' => 'Indicates whether a password is set for the host account. Valid values:'."\n"
+ ."\n"
+ .'- **true**: A password is set.'."\n"
+ ."\n"
+ .'- **false**: No password is set.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'PrivateKeyFingerprint' => ['description' => 'The fingerprint information of the private key.', 'type' => 'string', 'example' => 'fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol name of the host account. Valid values:'."\n"
+ ."\n"
+ .'- **SSH**'."\n"
+ ."\n"
+ .'- **RDP**', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'abc', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host to which the host account belongs.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostShareKeyId' => ['description' => 'The ID of the shared key for the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RotationMode' => ['description' => 'The password rotation mode of the account.'."\n"
+ ."\n"
+ .'- **Privileged**: Use a privileged account to rotate passwords'."\n"
+ ."\n"
+ .'- **Self**: Do not use a privileged account to rotate passwords'."\n"
+ ."\n"
+ .'> This parameter is supported only in V3.2.47 and later.', 'type' => 'string', 'example' => 'Privileged', 'title' => ''],
+ 'HostShareKeyName' => ['description' => 'The name of the shared key for the host.', 'type' => 'string', 'example' => 'name', 'title' => ''],
+ 'PrivilegeType' => ['description' => 'The permission type of the account.'."\n"
+ ."\n"
+ .'- **Privileged**: Privileged account'."\n"
+ ."\n"
+ .'- **Normal**: Regular account'."\n"
+ ."\n"
+ .'> This parameter is supported only in V3.2.47 and later.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'UserGroupNotFound',
- 'errorMessage' => 'The user group is not found.',
- ],
+ ['errorCode' => 'HostAccountNotFound', 'errorMessage' => 'The host account is not found.', 'description' => 'The host account is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"UserGroup\\": {\\n \\"UserGroupName\\": \\"UserGroup01\\",\\n \\"Comment\\": \\"comment\\",\\n \\"UserGroupId\\": \\"1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetUserGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <UserGroup>\\n <Comment>comment</Comment>\\n <UserGroupName>UserGroup01</UserGroupName>\\n <UserGroupId>1</UserGroupId>\\n </UserGroup>\\n</GetUserGroupResponse>","errorExample":""}]',
- 'title' => 'GetUserGroup',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListUserGroups' => [
- 'summary' => 'Queries a list of user groups on a bastion host.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'GetHostAccount',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHostAccount'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccount\\": {\\n \\"HasPassword\\": true,\\n \\"PrivateKeyFingerprint\\": \\"fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"HostAccountName\\": \\"abc\\",\\n \\"HostAccountId\\": \\"1\\",\\n \\"HostId\\": \\"1\\",\\n \\"HostShareKeyId\\": \\"1\\",\\n \\"RotationMode\\": \\"Privileged\\",\\n \\"HostShareKeyName\\": \\"name\\",\\n \\"PrivilegeType\\": \\"Normal\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetHostGroup' => [
+ 'summary' => 'Retrieves the details of a host group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -10217,867 +7624,597 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost8REEA2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to query user groups.'."\n"
- .' >You can call the [DescribeInstances ](~~462953~~)operation to query the ID of the bastion host.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose asset group you want to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to query user groups.'."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~462924~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose asset group you want to query.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, [see Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: 1.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page.'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'UserGroupName',
+ 'name' => 'HostGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the user group that you want to query. Only exact match is supported.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestGroup01',
- ],
+ 'schema' => ['description' => 'The ID of the asset group to query.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~204509~~) operation to query the asset group ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of user groups returned.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.',
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'UserGroups' => [
- 'description' => 'The user groups returned.',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'UserGroupName' => [
- 'description' => 'The name of the user group.',
- 'type' => 'string',
- 'example' => 'TestGroup01',
- ],
- 'MemberCount' => [
- 'description' => 'The number of users in the user group.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'Comment' => [
- 'description' => 'The description of the user group.',
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'UserGroupId' => [
- 'description' => 'The ID of the user group.',
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'HostGroup' => [
+ 'description' => 'The returned detailed information about the asset group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the asset group.', 'type' => 'string', 'example' => 'Comment', 'title' => ''],
+ 'HostGroupName' => ['description' => 'The name of the asset group.', 'type' => 'string', 'example' => 'Group1', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'HostGroupNotFound', 'errorMessage' => 'The host group is not found.', 'description' => 'The host group is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"UserGroups\\": [\\n {\\n \\"UserGroupName\\": \\"TestGroup01\\",\\n \\"MemberCount\\": 6,\\n \\"Comment\\": \\"comment\\",\\n \\"UserGroupId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListUserGroupsResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <UserGroups>\\n <Comment>comment</Comment>\\n <UserGroupName>TestGroup01</UserGroupName>\\n <UserGroupId>1</UserGroupId>\\n <MemberCount>5</MemberCount>\\n </UserGroups>\\n</ListUserGroupsResponse>","errorExample":""}]',
- 'title' => 'ListUserGroups',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostGroup\\": {\\n \\"HostGroupId\\": \\"1\\",\\n \\"Comment\\": \\"Comment\\",\\n \\"HostGroupName\\": \\"Group1\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'GetHostGroup',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ModifyUserGroup' => [
- 'summary' => 'Modifies the information about a user group.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHostGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'GetHostShareKey' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost8REEA2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to modify the information about the user group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to modify the information about the user group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'UserGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'UserGroupName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the user group. This name can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestUserGroup',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'HostShareKeyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new description of the user group. The description can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['description' => 'The ID of the shared key whose information you want to query.'."\n"
+ ."\n"
+ .'> You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.', 'type' => 'string', 'required' => true, 'example' => '10427', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'HostShareKey' => [
+ 'description' => 'The returned information about the shared key.',
+ 'type' => 'object',
+ 'properties' => [
+ 'HostShareKeyId' => ['description' => 'The ID of the shared key.', 'type' => 'string', 'example' => '10427', 'title' => ''],
+ 'HostShareKeyName' => ['description' => 'The name of the shared key.', 'type' => 'string', 'example' => 'name', 'title' => ''],
+ 'LastModifyKeyAt' => ['description' => 'The time when the information about the shared key was last modified. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1644287246', 'title' => ''],
+ 'PrivateKeyFingerPrint' => ['description' => 'The fingerprint of the private key.', 'type' => 'string', 'example' => 'aa:10:f5:21:7f:8b:3e:86:b0:8b:f0:******', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'UserGroupNotFound',
- 'errorMessage' => 'The user group is not found.',
- ],
+ ['errorCode' => 'HostShareKeyNotFound', 'errorMessage' => 'The host share key is not found.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyUserGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</ModifyUserGroupResponse>","errorExample":""}]',
- 'title' => 'ModifyUserGroup',
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'extraInfo' => ' ',
- ],
- 'DeleteUserGroup' => [
- 'summary' => 'Deletes a user group from a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'GetHostShareKey',
+ 'summary' => 'Queries the information about a shared key.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHostShareKey'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostShareKey\\": {\\n \\"HostShareKeyId\\": \\"10427\\",\\n \\"HostShareKeyName\\": \\"name\\",\\n \\"LastModifyKeyAt\\": 1644287246,\\n \\"PrivateKeyFingerPrint\\": \\"aa:10:f5:21:7f:8b:3e:86:b0:8b:f0:******\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetInstanceADAuthServer' => [
+ 'summary' => 'Queries the settings of Active Directory (AD) authentication on a bastion host.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost8REEA2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to delete the user group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to delete the user group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'UserGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group that you want to delete.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The data returned.'."\n",
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => '89398CFB-4EB6-4C7E-BB3C-EF213AC8FA50'],
+ 'AD' => [
+ 'description' => 'The settings of AD authentication.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Account' => ['description' => 'The distinguished name (DN) of the AD server account.', 'type' => 'string', 'example' => 'cn=Manager,dc=test,dc=com', 'title' => ''],
+ 'BaseDN' => ['description' => 'The Base DN of the AD server.', 'type' => 'string', 'example' => 'dc=test,dc=com', 'title' => ''],
+ 'Domain' => ['description' => 'The domain on the AD server.', 'type' => 'string', 'example' => 'domain', 'title' => ''],
+ 'EmailMapping' => ['description' => 'The field that is used to indicate the email address of a user on the AD server.', 'type' => 'string', 'example' => 'emailAttr', 'title' => ''],
+ 'Filter' => ['description' => 'The condition that is used to filter users.', 'type' => 'string', 'example' => '(&(objectClass=top))', 'title' => ''],
+ 'IsSSL' => ['description' => 'Indicates whether SSL is supported. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'MobileMapping' => ['description' => 'The field that is used to indicate the mobile phone number of a user on the AD server.', 'type' => 'string', 'example' => 'mobileAttr', 'title' => ''],
+ 'NameMapping' => ['description' => 'The field that is used to indicate the name of a user on the AD server.', 'type' => 'string', 'example' => 'nameAttr', 'title' => ''],
+ 'HasPassword' => ['description' => 'Indicates whether passwords are required. Valid values:'."\n"
+ ."\n"
+ .'- **true**:'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Port' => ['description' => 'The port that is used to access the AD server.', 'type' => 'integer', 'format' => 'int64', 'example' => '389', 'title' => ''],
+ 'Server' => ['description' => 'The address of the AD server.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ 'StandbyServer' => ['description' => 'The address of the secondary AD server.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'UserGroupNotFound',
- 'errorMessage' => 'The user group is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteUserGroupResponse>\\r\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\r\\n</DeleteUserGroupResponse>","errorExample":""}]',
- 'title' => 'DeleteUserGroup',
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'extraInfo' => ' ',
- ],
- 'AddUsersToGroup' => [
- 'summary' => 'Add one or more users to a user group.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'GetInstanceADAuthServer',
+ 'description' => '###'."\n"
+ ."\n"
+ .'Queries the Active Directory (AD) authentication settings of a bastion host. After you configure AD authentication, you can import AD-authenticated users into the bastion host. The imported users can then log on to the bastion host to perform O\\&M operations on servers.'."\n"
+ ."\n"
+ .'### Limit'."\n"
+ ."\n"
+ .'This operation can be called up to 10 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered and your business may be affected. Take note of this limit when you call this operation.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceADAuthServer'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89398CFB-4EB6-4C7E-BB3C-EF213AC8FA50\\",\\n \\"AD\\": {\\n \\"Account\\": \\"cn=Manager,dc=test,dc=com\\",\\n \\"BaseDN\\": \\"dc=test,dc=com\\",\\n \\"Domain\\": \\"domain\\",\\n \\"EmailMapping\\": \\"emailAttr\\",\\n \\"Filter\\": \\"(&(objectClass=top))\\",\\n \\"IsSSL\\": true,\\n \\"MobileMapping\\": \\"mobileAttr\\",\\n \\"NameMapping\\": \\"nameAttr\\",\\n \\"HasPassword\\": true,\\n \\"Port\\": 389,\\n \\"Server\\": \\"192.168.XX.XX\\",\\n \\"StandbyServer\\": \\"192.168.XX.XX\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetInstanceLDAPAuthServer' => [
+ 'summary' => 'Queries the settings of Lightweight Directory Access Protocol (LDAP) authentication on a bastion host.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost8REEA2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to add users to the user group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to add users to the user group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'UserGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group to which you want to add users.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'UserIds',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user that you want to add to the user group. The value is a JSON string. You can add up to 100 user IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => ' ["1","2","3"]',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response data.'."\n",
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- ."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- ."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- ."\n"
- .'> Make sure that the request parameters are valid and call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- ."\n"
- .'> Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'UserGroupId' => [
- 'description' => 'The ID of the group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserId' => [
- 'description' => 'The ID of the user.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => '1C60E741-102D-5E8F-9710-B06D3F0183FE'],
+ 'LDAP' => [
+ 'description' => 'The settings of LDAP authentication.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Account' => ['description' => 'The account of the LDAP server.', 'type' => 'string', 'example' => 'cn=Manager,dc=test,dc=com', 'title' => ''],
+ 'BaseDN' => ['description' => 'The Base distinguished name (DN).', 'type' => 'string', 'example' => 'dc=test,dc=com', 'title' => ''],
+ 'EmailMapping' => ['description' => 'The field that is used to indicate the email address of a user on the LDAP server.', 'type' => 'string', 'example' => 'emailAttr', 'title' => ''],
+ 'Filter' => ['description' => 'The condition that is used to filter users.', 'type' => 'string', 'example' => '(&(objectClass=top))', 'title' => ''],
+ 'IsSSL' => ['description' => 'Indicates whether SSL is supported. Valid values:'."\n"
+ ."\n"
+ .'- **true**: supported'."\n"
+ ."\n"
+ .'- **false**: not supported', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'LoginNameMapping' => ['description' => 'The field that is used to indicate the logon name of a user on the LDAP server.', 'type' => 'string', 'example' => 'userNameAttr', 'title' => ''],
+ 'MobileMapping' => ['description' => 'The field that is used to indicate the mobile phone number of a user on the LDAP server.', 'type' => 'string', 'example' => 'mobileAttr', 'title' => ''],
+ 'NameMapping' => ['description' => 'The field that is used to indicate the name of a user on the LDAP server.', 'type' => 'string', 'example' => 'nameAttr', 'title' => ''],
+ 'HasPassword' => ['description' => 'Indicates whether passwords are required. Valid values:'."\n"
+ ."\n"
+ .'- **true**: required'."\n"
+ ."\n"
+ .'- **false**: not required', 'type' => 'string', 'example' => 'true', 'title' => ''],
+ 'Port' => ['description' => 'The port that is used to access the LDAP server.', 'type' => 'integer', 'format' => 'int64', 'example' => '389', 'title' => ''],
+ 'Server' => ['description' => 'The address of the LDAP server.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ 'StandbyServer' => ['description' => 'The address of the secondary LDAP server.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<AddUsersToGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <Code>OK</Code>\\n <UserId>1</UserId>\\n <UserGroupId>1</UserGroupId>\\n </Results>\\n</AddUsersToGroupResponse>","errorExample":""}]',
- 'title' => 'AddUsersToGroup',
- 'description' => '#'."\n"
- ."\n"
- .'You can call this operation to add one or more users to a user group. After you call the [CreateUserGroup](~~204596~~) operation to create a user group, you can call the AddUsersToGroup operation to add multiple users to the user group. Then, you can manage and grant permissions to the users at a time.'."\n"
- ."\n"
- .'# Limit'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'RemoveUsersFromGroup' => [
- 'summary' => 'Removes one or more users from a user group.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'GetInstanceLDAPAuthServer',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceLDAPAuthServer'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetInstanceLDAPAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1C60E741-102D-5E8F-9710-B06D3F0183FE\\",\\n \\"LDAP\\": {\\n \\"Account\\": \\"cn=Manager,dc=test,dc=com\\",\\n \\"BaseDN\\": \\"dc=test,dc=com\\",\\n \\"EmailMapping\\": \\"emailAttr\\",\\n \\"Filter\\": \\"(&(objectClass=top))\\",\\n \\"IsSSL\\": true,\\n \\"LoginNameMapping\\": \\"userNameAttr\\",\\n \\"MobileMapping\\": \\"mobileAttr\\",\\n \\"NameMapping\\": \\"nameAttr\\",\\n \\"HasPassword\\": \\"true\\",\\n \\"Port\\": 389,\\n \\"Server\\": \\"192.168.XX.XX\\",\\n \\"StandbyServer\\": \\"192.168.XX.XX\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetInstanceStoreInfo' => [
+ 'summary' => 'Queries the storage usage of a Bastionhost instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost8REEA2',
- ],
+ 'abilityTreeCode' => '245216',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to remove users from the user group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to remove users from the user group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'UserGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group from which you want to remove users.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'UserIds',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user who you want to remove. The value is a JSON string. You can add up to 100 user IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the IDs of users.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '["1","2","3"]',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- ."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- ."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- ."\n"
- .'> Make sure that the request parameters are valid and call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- ."\n"
- .'> Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => 'success',
- ],
- 'UserGroupId' => [
- 'description' => 'The ID of the group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserId' => [
- 'description' => 'The ID of the user.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
+ 'Max' => ['description' => 'The maximum storage capacity of the current Bastionhost instance. Unit: bytes', 'type' => 'integer', 'format' => 'int64', 'example' => '102400', 'title' => ''],
+ 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '5EAB922E-F476-5DFA-9290-313C608E724B', 'title' => ''],
+ 'Usage' => ['description' => 'The used storage capacity of the current Bastionhost instance. Unit: bytes', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RemoveUsersFromGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <Code>OK</Code>\\n <UserId>1</UserId>\\n <UserGroupId>1</UserGroupId>\\n </Results>\\n</RemoveUsersFromGroupResponse>","errorExample":""}]',
- 'title' => 'RemoveUsersFromGroup',
- 'description' => 'You can call this operation to remove one or more users from a user group. When users in a user group are transferred to a new position, resign, or are switched to another user group, you can call this operation to remove the users from the current user group at a time. '."\n"
- ."\n\n"
- .'## QPS limit'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~).'."\n"
- ."\n"
- .'For more information about sample requests, see the "Examples" section of this topic.',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateHostGroup' => [
- 'summary' => 'You can create asset groups based on your business requirements and add assets of the same type to an asset group. This allows you to classify assets and manage multiple assets at a time.',
- 'methods' => [
- 'post',
- 'get',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'GetInstanceStoreInfo',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceStoreInfo'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Max\\": 102400,\\n \\"RequestId\\": \\"5EAB922E-F476-5DFA-9290-313C608E724B\\",\\n \\"Usage\\": 1024\\n}","type":"json"}]',
+ ],
+ 'GetInstanceTwoFactor' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to create an asset group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to create an asset group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostGroupName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the asset group. The name can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'HostGroup01',
- ],
- ],
- [
- 'name' => 'Comment',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The remarks of the asset group. The remarks can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Local host group.',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'HostGroupId' => [
- 'description' => 'The asset group ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'Config' => [
+ 'description' => 'The settings of two-factor authentication.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EnableTwoFactor' => ['description' => 'Indicates whether two-factor authentication is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'TwoFactorMethods' => [
+ 'description' => 'The two-factor authentication methods.',
+ 'type' => 'array',
+ 'items' => ['description' => 'Indicates one or more methods that are used to send verification codes if two-factor authentication is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **sms**: text message-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **email**: email-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **dingtalk**: DingTalk-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **totp**: one-time password (OTP) token-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **gmusbkey**: two-factor authentication by using SM-based USB keys.', 'type' => 'string', 'example' => 'sms', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'SkipTwoFactorTime' => ['description' => 'The duration within which two-factor authentication is not required after a local user passes two-factor authentication. Valid values: `0 to 168`. Unit: hours.'."\n"
+ ."\n"
+ .'> If 0 is returned, a local user must pass two-factor authentication every time the local user logs on to the bastion host.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'HostGroupAlreadyExists',
- 'errorMessage' => 'The host group already exists.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"HostGroupId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateHostGroupResponse>\\n <HostGroupId>1</HostGroupId>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</CreateHostGroupResponse>","errorExample":""}]',
- 'title' => 'CreateHostGroup',
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'AddDatabasesToGroup' => [
- 'summary' => 'Adds multiple databases to a specified asset group.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'GetInstanceTwoFactor',
+ 'summary' => 'Queries the settings of two-factor authentication on a bastion host.',
+ 'description' => 'Queries the two-factor authentication settings of a bastion host. When two-factor authentication is enabled, Bastionhost sends a verification code to a local user who logs on to the bastion host. The local user must enter a valid username, password, and verification code to log on, which reduces the security risks of account information leaks.'."\n"
+ ."\n"
+ .'### Limit'."\n"
+ ."\n"
+ .'This operation can be called up to 10 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered and your business may be affected. Take note of this limit when you call this operation.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceTwoFactor'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Config\\": {\\n \\"EnableTwoFactor\\": true,\\n \\"TwoFactorMethods\\": [\\n \\"sms\\"\\n ],\\n \\"SkipTwoFactorTime\\": 1\\n }\\n}","type":"json"}]',
+ ],
+ 'GetNetworkDomain' => [
+ 'summary' => 'Retrieves the details of a specified network domain.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to get this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-i7m2btk6g48', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about region IDs, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostGroupId',
+ 'name' => 'NetworkDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset group to which you want to add the databases.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the asset group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the network domain to query.'."\n"
+ ."\n"
+ .'> Call the [ListNetworkDomains](~~2758827~~) operation to get this parameter.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
[
- 'name' => 'DatabaseIds',
+ 'name' => 'CheckProxyState',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'An array that consists of the database IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the databases that you want to add to the asset group. You can specify up to 100 IDs. You can call the [ListDatabases](~~2758822~~) operation to query the database IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1","2","3"]',
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'Indicates whether to immediately recheck the status of the proxy server. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Immediately rechecks the status of the proxy server and returns the latest ProxyState and ProxyStateErrorCode.'."\n"
+ ."\n"
+ .'- **false**: (Default) Returns the currently recorded status without rechecking the proxy server.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
@@ -11085,134 +8222,141 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The data returned.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The error code returned. If **OK** is returned, the operation was successful. If another error code is returned, the operation failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '9',
- ],
- 'HostGroupId' => [
- 'description' => 'The asset group ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Message' => [
- 'description' => 'The error message returned.'."\n",
- 'type' => 'string',
+ 'NetworkDomain' => [
+ 'description' => 'The details of the network domain.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Comment' => ['description' => 'The comment for the network domain.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'Default' => ['description' => 'Specifies whether the network domain is built-in. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes'."\n"
+ ."\n"
+ .'- **false**: No', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'NetworkDomainId' => ['description' => 'The ID of the network domain.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'NetworkDomainName' => ['description' => 'The name of the network domain.', 'type' => 'string', 'example' => 'SSH Proxy', 'title' => ''],
+ 'NetworkDomainType' => ['description' => 'The type of the network domain. Valid values:'."\n"
+ ."\n"
+ .'- Direct: direct connection'."\n"
+ ."\n"
+ .'- Proxy: proxy', 'type' => 'string', 'example' => 'Proxy', 'title' => ''],
+ 'Proxies' => [
+ 'description' => 'A list of proxy servers.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A proxy server.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ProxyType' => ['description' => 'The proxy method. Valid values:'."\n"
+ ."\n"
+ .'- SSHProxy: SSH proxy'."\n"
+ ."\n"
+ .'- HTTPProxy: HTTP proxy'."\n"
+ ."\n"
+ .'- Socks5Proxy: SOCKS5 proxy', 'type' => 'string', 'example' => 'HTTPProxy', 'title' => ''],
+ 'NodeType' => ['description' => 'The node type of the proxy server. Valid values:'."\n"
+ ."\n"
+ .'- Master: primary proxy server'."\n"
+ ."\n"
+ .'- Slave: secondary proxy server', 'type' => 'string', 'example' => 'Master', 'title' => ''],
+ 'Address' => ['description' => 'The address of the proxy server.', 'type' => 'string', 'example' => '47.102.**.**', 'title' => ''],
+ 'Port' => ['description' => 'The port of the proxy server.', 'type' => 'integer', 'format' => 'int32', 'example' => '22', 'title' => ''],
+ 'User' => ['description' => 'The username of the proxy server.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ 'HasPassword' => ['description' => 'Specifies whether a password is set for the proxy server. Valid values:'."\n"
+ ."\n"
+ .'- **true**: A password is set.'."\n"
+ ."\n"
+ .'- **false**: No password is set.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ProxyState' => ['description' => 'The status of the proxy server. Valid values:'."\n"
+ ."\n"
+ .'- **Available**: available'."\n"
+ ."\n"
+ .'- **Unavailable**: unavailable', 'type' => 'string', 'example' => 'Unavailable', 'title' => ''],
+ 'ProxyStateErrorCode' => ['description' => 'The error code that is returned if the proxy server is unavailable. Valid values:'."\n"
+ ."\n"
+ .'- **CHECK\\_PWD\\_FAILED**: Incorrect password.'."\n"
+ ."\n"
+ .'- **CHECK\\_PWD\\_TIMEOUT**: Password verification timeout.'."\n"
+ ."\n"
+ .'- **CHECK\\_PWD\\_NETWORK\\_ERR**: Network error.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: Unknown error.', 'type' => 'string', 'example' => 'CHECK_PWD_TIMEOUT', 'title' => ''],
+ ],
+ 'title' => '',
'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '05F59944-2E24-595C-B21A-8C9955E60FAF', 'title' => ''],
],
- 'description' => '',
+ 'description' => 'The response parameters.',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'NetworkDomainNotFound', 'errorMessage' => 'The network domain is not found.', 'description' => 'The network domain is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseId\\": \\"9\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"Message\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'AddDatabasesToGroup',
- ],
- 'AddHostsToGroup' => [
- 'summary' => 'Adds one or more hosts to the specified host group.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NetworkDomain\\": {\\n \\"Comment\\": \\"comment\\",\\n \\"Default\\": false,\\n \\"NetworkDomainId\\": \\"2\\",\\n \\"NetworkDomainName\\": \\"SSH Proxy\\",\\n \\"NetworkDomainType\\": \\"Proxy\\",\\n \\"Proxies\\": [\\n {\\n \\"ProxyType\\": \\"HTTPProxy\\",\\n \\"NodeType\\": \\"Master\\",\\n \\"Address\\": \\"47.102.**.**\\",\\n \\"Port\\": 22,\\n \\"User\\": \\"root\\",\\n \\"HasPassword\\": true,\\n \\"ProxyState\\": \\"Unavailable\\",\\n \\"ProxyStateErrorCode\\": \\"CHECK_PWD_TIMEOUT\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"05F59944-2E24-595C-B21A-8C9955E60FAF\\"\\n}","type":"json"}]',
+ 'title' => 'GetNetworkDomain',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetNetworkDomain'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'GetPolicy' => [
+ 'summary' => 'Gets the details of a specified control policy.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose asset group you want to add hosts to.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to get this ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zvp2d3syb0g', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose asset group you want to add hosts to.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host instance.'."\n"
+ ."\n"
+ .'> For more information about region IDs, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset group to which you want to add hosts.'."\n"
- ."\n"
- .'>You can call the [ListHostGroups](~~201307~~) operation to query the asset group ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'HostIds',
+ 'name' => 'PolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IDs of the hosts that you want to add to the asset group. Specify a JSON string. You can specify up to 100 host IDs.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the host IDs.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '["1","2","3"]',
- ],
+ 'schema' => ['description' => 'The ID of the control policy that you want to query.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to get this ID.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
],
'responses' => [
@@ -11220,160 +8364,352 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '81500666-d7f5-4143-8329-0223cc738105',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- ."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- ."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .' >Make sure that the request parameters are valid and call the operation again.'."\n"
+ 'Policy' => [
+ 'description' => 'The details of the control policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessTimeRangeConfig' => [
+ 'description' => 'The time-based access control settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EffectiveTime' => [
+ 'description' => 'The allowed access time slots.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Days' => [
+ 'description' => 'The days of the week when access is allowed.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The day of the week. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Monday'."\n"
+ ."\n"
+ .'- **2**: Tuesday'."\n"
+ ."\n"
+ .'- **3**: Wednesday'."\n"
+ ."\n"
+ .'- **4**: Thursday'."\n"
+ ."\n"
+ .'- **5**: Friday'."\n"
+ ."\n"
+ .'- **6**: Saturday'."\n"
+ ."\n"
+ .'- **7**: Sunday', 'type' => 'string', 'example' => '[2]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Hours' => [
+ 'description' => 'The hours of the day when access is allowed.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The hour of the day. Valid values:'."\n"
+ ."\n"
+ .'- **0**: 00:00 to 01:00.'."\n"
+ ."\n"
+ .'- **1**: 01:00 to 02:00.'."\n"
+ ."\n"
+ .'- **2**: 02:00 to 03:00.'."\n"
+ ."\n"
+ .'- **3**: 03:00 to 04:00.'."\n"
+ ."\n"
+ .'- **4**: 04:00 to 05:00.'."\n"
+ ."\n"
+ .'- **5**: 05:00 to 06:00.'."\n"
+ ."\n"
+ .'- **6**: 06:00 to 07:00.'."\n"
+ ."\n"
+ .'- **7**: 07:00 to 08:00.'."\n"
+ ."\n"
+ .'- **8**: 08:00 to 09:00.'."\n"
+ ."\n"
+ .'- **9**: 09:00 to 10:00.'."\n"
+ ."\n"
+ .'- **10**: 10:00 to 11:00.'."\n"
+ ."\n"
+ .'- **11**: 11:00 to 12:00.'."\n"
+ ."\n"
+ .'- **12**: 12:00 to 13:00.'."\n"
+ ."\n"
+ .'- **13**: 13:00 to 14:00.'."\n"
+ ."\n"
+ .'- **14**: 14:00 to 15:00.'."\n"
+ ."\n"
+ .'- **15**: 15:00 to 16:00.'."\n"
+ ."\n"
+ .'- **16**: 16:00 to 17:00.'."\n"
+ ."\n"
+ .'- **17**: 17:00 to 18:00.'."\n"
+ ."\n"
+ .'- **18**: 18:00 to 19:00.'."\n"
+ ."\n"
+ .'- **19**: 19:00 to 20:00.'."\n"
+ ."\n"
+ .'- **20**: 20:00 to 21:00.'."\n"
+ ."\n"
+ .'- **21**: 21:00 to 22:00.'."\n"
+ ."\n"
+ .'- **22**: 22:00 to 23:00.'."\n"
+ ."\n"
+ .'- **23**: 23:00 to 00:00.', 'type' => 'string', 'example' => '[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'CommandConfig' => [
+ 'description' => 'The command control policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Approval' => [
+ 'description' => 'The command approval settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Commands' => [
+ 'description' => 'The commands that require approval.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A command that requires approval.', 'type' => 'string', 'example' => 'ls', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Deny' => [
+ 'description' => 'The command control settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AclType' => ['description' => 'The command control mode. Valid values:'."\n"
+ ."\n"
+ .'- `white`: allowlist.'."\n"
+ ."\n"
+ .'- `black`: denylist.', 'type' => 'string', 'example' => 'black', 'title' => ''],
+ 'Commands' => [
+ 'description' => 'The commands in the list.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The command.', 'type' => 'string', 'example' => 'ls', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Comment' => ['description' => 'The remarks on the policy.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'IPAclConfig' => [
+ 'description' => 'The source IP address-based access control settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AclType' => ['description' => 'The source IP address-based access control mode. Valid values:'."\n"
."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .' > Make sure that the specified bastion host ID and host IDs are valid. Then, call the operation again.'."\n"
+ .'- `white`: allowlist.'."\n"
."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => 'N/A'."\n",
+ .'- `black`: denylist.', 'type' => 'string', 'example' => 'black', 'title' => ''],
+ 'IPs' => [
+ 'description' => 'The IP addresses in the ACL.',
+ 'type' => 'array',
+ 'items' => ['description' => 'An IP address or CIDR block.', 'type' => 'string', 'example' => '[10.10.**.**]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
],
- 'HostGroupId' => [
- 'description' => 'The asset group ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PolicyName' => ['description' => 'The name of the control policy.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'PolicyId' => ['description' => 'The ID of the control policy.', 'type' => 'string', 'example' => '3', 'title' => ''],
+ 'Priority' => ['description' => 'The priority of the control policy. A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'ProtocolConfig' => [
+ 'description' => 'The protocol control settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RDP' => [
+ 'description' => 'The RDP security settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ClipboardDownload' => ['description' => 'Indicates whether clipboard download is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'ClipboardUpload' => ['description' => 'Indicates whether clipboard upload is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'DiskRedirection' => ['description' => 'Indicates whether drive redirection and printer mapping are enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'RecordKeyboard' => ['description' => 'Indicates whether keyboard recording is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'DiskRedirectionUpload' => ['type' => 'string', 'example' => 'Enable', 'description' => '', 'title' => ''],
+ 'DiskRedirectionDownload' => ['type' => 'string', 'example' => 'Enable', 'description' => '', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'SSH' => [
+ 'description' => 'The SSH and SFTP security settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ExecCommand' => ['description' => 'Indicates whether remote command execution is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SFTPChannel' => ['description' => 'Indicates whether the SFTP channel is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SFTPDownloadFile' => ['description' => 'Indicates whether file downloads over SFTP are enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SFTPMkdir' => ['description' => 'Indicates whether directory creation over SFTP is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SFTPRemoveFile' => ['description' => 'Indicates whether file deletion over SFTP is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SFTPRenameFile' => ['description' => 'Indicates whether file renaming over SFTP is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SFTPRmdir' => ['description' => 'Indicates whether directory deletion over SFTP is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SFTPUploadFile' => ['description' => 'Indicates whether file uploads over SFTP are enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'SSHChannel' => ['description' => 'Indicates whether the SSH channel is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'AllowDirectTcp' => ['type' => 'string', 'example' => 'Enable', 'description' => '', 'title' => ''],
+ 'X11Forwarding' => ['description' => 'Indicates whether X11 forwarding is enabled. Valid values:'."\n"
+ ."\n"
+ .'- `Enable`'."\n"
+ ."\n"
+ .'- `Disable`', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'TcpForwarding' => ['type' => 'string', 'example' => 'Enable', 'description' => '', 'title' => ''],
+ 'AllowTcpForwarding' => ['type' => 'string', 'example' => 'Enable', 'description' => '', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
],
- 'HostId' => [
- 'description' => 'The host ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ApprovalConfig' => [
+ 'description' => 'The O\\&M approval settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SwitchStatus' => ['description' => 'Indicates whether O\\&M approval is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **On**: O\\&M approval is enabled.'."\n"
+ ."\n"
+ .'- **Off**: O\\&M approval is disabled.', 'type' => 'string', 'example' => 'Off', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0D29F2C0-8B4B-5861-9474-F3F23D25594B', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<AddHostsToGroupResponse>\\n <RequestId>81500666-d7f5-4143-8329-0223cc738105</RequestId>\\n <Results>\\n <HostGroupId>1</HostGroupId>\\n <HostId>1</HostId>\\n <Code>OK</Code>\\n </Results>\\n</AddHostsToGroupResponse>","errorExample":""}]',
- 'title' => 'AddHostsToGroup',
- 'description' => 'You can call this operation to add one or more hosts to a host group. You can add multiple hosts to a host group to manage and grant permissions on the hosts in a centralized manner.'."\n"
- ."\n"
- .'# Limits'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds a limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limits when you call this operation.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'RemoveDatabasesFromGroup' => [
- 'summary' => 'Removes multiple databases from an asset group at a time.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'GetPolicy',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicy'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Policy\\": {\\n \\"AccessTimeRangeConfig\\": {\\n \\"EffectiveTime\\": [\\n {\\n \\"Days\\": [\\n \\"[2]\\"\\n ],\\n \\"Hours\\": [\\n \\"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]\\"\\n ]\\n }\\n ]\\n },\\n \\"CommandConfig\\": {\\n \\"Approval\\": {\\n \\"Commands\\": [\\n \\"ls\\"\\n ]\\n },\\n \\"Deny\\": {\\n \\"AclType\\": \\"black\\",\\n \\"Commands\\": [\\n \\"ls\\"\\n ]\\n }\\n },\\n \\"Comment\\": \\"comment\\",\\n \\"IPAclConfig\\": {\\n \\"AclType\\": \\"black\\",\\n \\"IPs\\": [\\n \\"[10.10.**.**]\\"\\n ]\\n },\\n \\"PolicyName\\": \\"test\\",\\n \\"PolicyId\\": \\"3\\",\\n \\"Priority\\": 1,\\n \\"ProtocolConfig\\": {\\n \\"RDP\\": {\\n \\"ClipboardDownload\\": \\"Enable\\",\\n \\"ClipboardUpload\\": \\"Enable\\",\\n \\"DiskRedirection\\": \\"Enable\\",\\n \\"RecordKeyboard\\": \\"Enable\\",\\n \\"DiskRedirectionUpload\\": \\"Enable\\",\\n \\"DiskRedirectionDownload\\": \\"Enable\\"\\n },\\n \\"SSH\\": {\\n \\"ExecCommand\\": \\"Enable\\",\\n \\"SFTPChannel\\": \\"Enable\\",\\n \\"SFTPDownloadFile\\": \\"Enable\\",\\n \\"SFTPMkdir\\": \\"Enable\\",\\n \\"SFTPRemoveFile\\": \\"Enable\\",\\n \\"SFTPRenameFile\\": \\"Enable\\",\\n \\"SFTPRmdir\\": \\"Enable\\",\\n \\"SFTPUploadFile\\": \\"Enable\\",\\n \\"SSHChannel\\": \\"Enable\\",\\n \\"AllowDirectTcp\\": \\"Enable\\",\\n \\"X11Forwarding\\": \\"Enable\\",\\n \\"TcpForwarding\\": \\"Enable\\",\\n \\"AllowTcpForwarding\\": \\"Enable\\"\\n }\\n },\\n \\"ApprovalConfig\\": {\\n \\"SwitchStatus\\": \\"Off\\"\\n }\\n },\\n \\"RequestId\\": \\"0D29F2C0-8B4B-5861-9474-F3F23D25594B\\"\\n}","type":"json"}]',
+ ],
+ 'GetPolicyAssetScope' => [
+ 'summary' => 'Queries the assets to which a control policy applies.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
- ],
+ 'operationType' => 'read',
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose asset group you want to manage.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1ghxxxxx',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose asset group you want to manage.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostGroupId',
+ 'name' => 'PolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset group from which you want to remove databases.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the asset group ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'DatabaseIds',
- 'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The IDs of the databases that you want to remove.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the database that you want to remove. Specify a JSON string. You can specify up to 100 database IDs.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~475822~~) operation to query the assets in an asset group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1","2","3"]'."\n",
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'The control policy ID.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''],
],
],
'responses' => [
@@ -11381,122 +8717,174 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The error code that is returned. If OK is returned, the operation was successful. If another error code is returned, the operation failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '20',
+ 'AssetScope' => [
+ 'description' => 'The assets to which the control policy applies.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Databases' => [
+ 'description' => 'The databases and database accounts to which the control policy applies.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AccountScopeType' => ['description' => 'The scope of database accounts to which the control policy applies. Valid values:'."\n"
+ ."\n"
+ .'- **All**: The control policy applies to all database accounts of the database.'."\n"
+ ."\n"
+ .'- **AccountId**: The control policy applies to specified database accounts of the database.', 'type' => 'string', 'example' => 'AccountId', 'title' => ''],
+ 'DatabaseAccountIds' => [
+ 'description' => 'The IDs of database accounts to which the control policy applies.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The database account ID.', 'type' => 'string', 'example' => '3'."\n", 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '17', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'HostGroupId' => [
- 'description' => 'The asset group ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'HostGroups' => [
+ 'description' => 'The asset groups and asset accounts to which the control policy applies.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AccountNames' => [
+ 'description' => 'The asset accounts to which the control policy applies.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The username of the asset account.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AccountScopeType' => ['description' => 'The scope of asset accounts to which the control policy applies. Valid values:'."\n"
+ ."\n"
+ .'- **All**: The control policy applies to all accounts in the asset group.'."\n"
+ ."\n"
+ .'- **AccountName**: The control policy applies to specified accounts in the asset group.', 'type' => 'string', 'example' => 'All', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'example' => '4', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'Message' => [
- 'description' => 'The error message that is returned.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Hosts' => [
+ 'description' => 'The hosts and host accounts to which the control policy applies.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AccountScopeType' => ['description' => 'The scope of host accounts to which the control policy applies. Valid values:'."\n"
+ ."\n"
+ .'- **All**: The control policy applies to all accounts of the host.'."\n"
+ ."\n"
+ .'- **AccountId**: The control policy applies to specified accounts of the host.', 'type' => 'string', 'example' => 'All', 'title' => ''],
+ 'HostAccountIds' => [
+ 'description' => 'The host accounts to which the control policy applies.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The host account IDs.', 'type' => 'string', 'example' => '3', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'ScopeType' => ['description' => 'The scope of assets to which the control policy applies.'."\n"
+ ."\n"
+ .'- If **All** is returned for this parameter, the control policy applies to all assets.'."\n"
+ ."\n"
+ .'- If no value is returned for this parameter, the control policy applies to the assets specified in the return values of Databases, HostGroups, and Hosts.', 'type' => 'string', 'example' => 'All', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseId\\": \\"20\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"Message\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'RemoveDatabasesFromGroup',
- ],
- 'DeleteHostGroup' => [
- 'summary' => 'Deletes a host group.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'GetPolicyAssetScope',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicyAssetScope'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetPolicyAssetScope',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AssetScope\\": {\\n \\"Databases\\": [\\n {\\n \\"AccountScopeType\\": \\"AccountId\\",\\n \\"DatabaseAccountIds\\": [\\n \\"3\\\\n\\"\\n ],\\n \\"DatabaseId\\": \\"17\\"\\n }\\n ],\\n \\"HostGroups\\": [\\n {\\n \\"AccountNames\\": [\\n \\"root\\"\\n ],\\n \\"AccountScopeType\\": \\"All\\",\\n \\"HostGroupId\\": \\"4\\"\\n }\\n ],\\n \\"Hosts\\": [\\n {\\n \\"AccountScopeType\\": \\"All\\",\\n \\"HostAccountIds\\": [\\n \\"3\\"\\n ],\\n \\"HostId\\": \\"1\\"\\n }\\n ],\\n \\"ScopeType\\": \\"All\\"\\n },\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'GetPolicyUserScope' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose asset group you want to delete.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which the control policy to query belongs.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastion-xxxx-xx', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose asset group you want to delete.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the control policy to query belongs.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostGroupId',
+ 'name' => 'PolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset group that you want to delete.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the asset group ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the control policy that you want to query.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -11504,117 +8892,108 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'UserScope' => [
+ 'description' => 'The users to whom the control policy applies.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ScopeType' => ['description' => 'The scope of users to whom the control policy applies.'."\n"
+ ."\n"
+ .'- If **All** is returned for this parameter, the control policy applies to all users.'."\n"
+ ."\n"
+ .'- If no value is returned for this parameter, the control policy applies to the assets specified in the return values of UserGroupIds and UserIds.', 'type' => 'string', 'example' => 'All', 'title' => ''],
+ 'UserGroupIds' => [
+ 'description' => 'The user groups to which the control policy applies.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The user group IDs.', 'type' => 'string', 'example' => '["1", "2", "3"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'UserIds' => [
+ 'description' => 'The users to whom the control policy applies.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The user IDs.', 'type' => 'string', 'example' => '["1", "2", "3"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'HostGroupNotFound',
- 'errorMessage' => 'The host group is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteHostGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</DeleteHostGroupResponse>","errorExample":""}]',
- 'title' => 'DeleteHostGroup',
- 'description' => 'You can call this operation to delete a single host group. If you no longer need to perform O\\&M operations on all hosts in a host group, you can call this operation to delete the host group.'."\n"
- ."\n"
- .'### Limits'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'RemoveHostsFromGroup' => [
- 'summary' => 'Removes multiple hosts from an asset group at a time.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'GetPolicyUserScope',
+ 'summary' => 'Queries the scope of users to whom a control policy applies.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicyUserScope'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetPolicyUserScope',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"UserScope\\": {\\n \\"ScopeType\\": \\"All\\",\\n \\"UserGroupIds\\": [\\n \\"[\\\\\\"1\\\\\\", \\\\\\"2\\\\\\", \\\\\\"3\\\\\\"]\\"\\n ],\\n \\"UserIds\\": [\\n \\"[\\\\\\"1\\\\\\", \\\\\\"2\\\\\\", \\\\\\"3\\\\\\"]\\"\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'GetRule' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose asset group you want to manage.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-wwo35essw07', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose asset group you want to manage.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
],
[
- 'name' => 'HostGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset group from which you want to remove hosts.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the asset group ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'HostIds',
+ 'name' => 'RuleId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IDs of the hosts that you want to remove from the host group. Specify a JSON string. You can specify up to 100 host IDs.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the host IDs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '["1","2","3"]',
- ],
+ 'schema' => ['description' => 'The ID of the authorization rule to query.'."\n"
+ ."\n"
+ .'> You can call the [ListRules](~~2758868~~) operation to query the authorization rule ID.', 'type' => 'string', 'required' => true, 'example' => '18', 'title' => ''],
],
],
'responses' => [
@@ -11622,215 +9001,380 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- ."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- ."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .' > Make sure that the request parameters are valid and call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .' > Make sure that the specified bastion host ID and host IDs are valid and call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.',
- 'type' => 'string',
- 'example' => 'OK',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Rule' => [
+ 'description' => 'The returned information about the authorization rule.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Comment' => ['description' => 'The remarks of the authorization rule.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'Databases' => [
+ 'description' => 'The databases on which permissions are granted by using the authorization rule.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseAccounts' => [
+ 'description' => 'The database accounts on which permissions are granted by using the authorization rule.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseAccountId' => ['description' => 'The ID of the database account that the policy authorizes users to manage.', 'type' => 'string', 'example' => '5', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'DatabaseId' => ['description' => 'The ID of the database that the policy authorizes users to manage.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '无',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EffectiveEndTime' => ['description' => 'The end time of the validity period of the authorization rule. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'string', 'example' => '1698720972', 'title' => ''],
+ 'EffectiveStartTime' => ['description' => 'The start time of the validity period of the authorization rule. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'string', 'example' => '1687140883', 'title' => ''],
+ 'HostGroups' => [
+ 'description' => 'The asset groups on which permissions are granted by using the authorization rule.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HostAccountNames' => [
+ 'description' => 'The asset accounts on which permissions are granted by using the authorization rule.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The username of the account that the policy authorizes users to manage in the asset group.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'HostGroupId' => ['description' => 'The ID of the asset group that the policy authorizes users to manage.', 'type' => 'string', 'example' => '7', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'HostGroupId' => [
- 'description' => 'The ID of the asset group.'."\n",
- 'type' => 'string',
- 'example' => '1',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Hosts' => [
+ 'description' => 'The information about the hosts that the policy authorizes users to manage.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HostAccounts' => [
+ 'description' => 'The host accounts that the policy authorizes users to manage.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HostAccountId' => ['description' => 'The ID of the host account that the policy authorizes users to manage.', 'type' => 'string', 'example' => '9', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'HostId' => ['description' => 'The ID of the host that the policy authorizes users to manage.', 'type' => 'string', 'example' => '52', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'RuleId' => ['description' => 'The ID of the authorization rule.', 'type' => 'string', 'example' => '3', 'title' => ''],
+ 'RuleName' => ['description' => 'The name of the authorization rule.', 'type' => 'string', 'example' => 'rule', 'title' => ''],
+ 'UserGroups' => [
+ 'description' => 'The authorized user groups.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserGroupId' => ['description' => 'The ID of the authorized user group.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Users' => [
+ 'description' => 'The authorized users.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserId' => ['description' => 'The ID of the authorized user.', 'type' => 'string', 'example' => '3', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'RuleNotFound', 'errorMessage' => 'The rule is not found.', 'description' => 'The rule is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RemoveHostsFromGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <HostGroupId>1</HostGroupId>\\n <Message/>\\n <HostId>1</HostId>\\n <Code>OK</Code>\\n </Results>\\n</RemoveHostsFromGroupResponse>","errorExample":""}]',
- 'title' => 'RemoveHostsFromGroup',
- 'description' => 'You can call the RemoveHostsFromGroup operation to remove multiple hosts from an asset group at a time. If you no longer need to manage some hosts in an asset group, you can call this operation to remove the hosts from the asset group.'."\n"
- ."\n"
- .'# [](#qps-)QPS limit'."\n"
- ."\n"
- .'You can call this API operation up to 10 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation.'."\n",
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~).'."\n"
- ."\n"
- .'For more information about sample requests, see the "Examples" section of this topic.',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ModifyHostGroup' => [
- 'summary' => 'Modifies the name or description of the specified host group.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'GetRule',
+ 'summary' => 'Queries the detailed information about an authorization rule.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetRule'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Rule\\": {\\n \\"Comment\\": \\"comment\\",\\n \\"Databases\\": [\\n {\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DatabaseAccountId\\": \\"5\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"2\\"\\n }\\n ],\\n \\"EffectiveEndTime\\": \\"1698720972\\",\\n \\"EffectiveStartTime\\": \\"1687140883\\",\\n \\"HostGroups\\": [\\n {\\n \\"HostAccountNames\\": [\\n \\"root\\"\\n ],\\n \\"HostGroupId\\": \\"7\\"\\n }\\n ],\\n \\"Hosts\\": [\\n {\\n \\"HostAccounts\\": [\\n {\\n \\"HostAccountId\\": \\"9\\"\\n }\\n ],\\n \\"HostId\\": \\"52\\"\\n }\\n ],\\n \\"RuleId\\": \\"3\\",\\n \\"RuleName\\": \\"rule\\",\\n \\"UserGroups\\": [\\n {\\n \\"UserGroupId\\": \\"2\\"\\n }\\n ],\\n \\"Users\\": [\\n {\\n \\"UserId\\": \\"3\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ ],
+ 'GetUser' => [
+ 'summary' => 'Retrieves the details of a user of a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose asset group you want to modify.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to query the user.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose asset group you want to modify.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset group that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to query the user.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostGroupName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the asset group. The name can be up to 128 characters in length.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Group01',
- ],
- ],
- [
- 'name' => 'Comment',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new remarks of the asset group. The remarks can be up to 500 characters in length.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['description' => 'The ID of the user.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'User' => [
+ 'description' => 'The detailed information about the queried user.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DisplayName' => ['description' => 'The display name of the user.', 'type' => 'string', 'example' => 'Bob', 'title' => ''],
+ 'Comment' => ['description' => 'The description of the user.', 'type' => 'string', 'example' => 'commet', 'title' => ''],
+ 'Email' => ['description' => 'The email address of the user.', 'type' => 'string', 'example' => '1099**@qq.com', 'title' => ''],
+ 'Mobile' => ['description' => 'The mobile phone number of the user.', 'type' => 'string', 'example' => '1359999****', 'title' => ''],
+ 'MobileCountryCode' => ['description' => 'The location in which the mobile number of the user is registered. Valid values:'."\n"
+ ."\n"
+ .'- **CN**: the Chinese mainland, whose country calling code is +86'."\n"
+ ."\n"
+ .'- **HK**: Hong Kong (China), whose country calling code is +852'."\n"
+ ."\n"
+ .'- **MO**: Macao (China), whose country calling code is +853'."\n"
+ ."\n"
+ .'- **TW**: Taiwan (China), whose country calling code is +886'."\n"
+ ."\n"
+ .'- **RU**: Russia, whose country calling code is +7'."\n"
+ ."\n"
+ .'- **SG**: Singapore, whose country calling code is +65'."\n"
+ ."\n"
+ .'- **MY**: Malaysia, whose country calling code is +60'."\n"
+ ."\n"
+ .'- **ID**: Indonesia, whose country calling code is +62'."\n"
+ ."\n"
+ .'- **DE**: Germany, whose country calling code is +49'."\n"
+ ."\n"
+ .'- **AU**: Australia, whose country calling code is +61'."\n"
+ ."\n"
+ .'- **US**: US, whose country calling code is +1'."\n"
+ ."\n"
+ .'- **AE**: United Arab Emirates, whose country calling code is +971'."\n"
+ ."\n"
+ .'- **JP:** Japan, whose country calling code is +81'."\n"
+ ."\n"
+ .'- **GB**: UK, whose country calling code is +44'."\n"
+ ."\n"
+ .'- **IN**: India, whose country calling code is +91'."\n"
+ ."\n"
+ .'- **KR**: Republic of Korea, whose country calling code is +82'."\n"
+ ."\n"
+ .'- **PH**: Philippines, whose country calling code is +63'."\n"
+ ."\n"
+ .'- **CH**: Switzerland, whose country calling code is +41'."\n"
+ ."\n"
+ .'- **SE**: Sweden, whose country calling code is +46', 'type' => 'string', 'example' => 'CN', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Source' => ['description' => 'The source of the user. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a local user'."\n"
+ ."\n"
+ .'- **Ram**: a RAM user', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'UserName' => ['description' => 'The logon name of the user.', 'type' => 'string', 'example' => 'abcabc_def', 'title' => ''],
+ 'SourceUserId' => ['description' => 'The unique ID of the user.'."\n"
+ ."\n"
+ .'> This parameter uniquely identifies a RAM user of the bastion host. A value is returned for this parameter if the **Source** parameter is set to **Ram**. No value is returned for this parameter if the **Source** parameter is set to **Local**.', 'type' => 'string', 'example' => '122748924538****', 'title' => ''],
+ 'UserState' => [
+ 'description' => 'An array that consists of the details of the user status.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The status of the user. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: active'."\n"
+ ."\n"
+ .'- **Frozen**: locked'."\n"
+ ."\n"
+ .'- **Expired**: expired', 'type' => 'string', 'example' => '["Normal"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EffectiveStartTime' => ['description' => 'The beginning of the validity period of the user. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1669630029', 'title' => ''],
+ 'EffectiveEndTime' => ['description' => 'The end of the validity period of the user. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1672502400', 'title' => ''],
+ 'NeedResetPassword' => ['description' => 'Specifies whether password reset is required upon the next logon. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes'."\n"
+ ."\n"
+ .'- **false**: no', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'TwoFactorMethods' => [
+ 'description' => 'An array that consists of the details of the two-factor authentication method.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The two-factor authentication method. You can select only one method. Valid values:'."\n"
+ ."\n"
+ .'- **sms:** text message'."\n"
+ ."\n"
+ .'- **email:** email'."\n"
+ ."\n"
+ .'- **dingtalk:** DingTalk'."\n"
+ ."\n"
+ .'- **totp OTP:** time-based one-time password (TOTP) app', 'type' => 'string', 'example' => '['."\n"
+ .' "sms"'."\n"
+ .']', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'TwoFactorStatus' => ['description' => 'The two-factor authentication status of the user. Valid values:'."\n"
+ ."\n"
+ .'- **Global**: The global settings are used.'."\n"
+ ."\n"
+ .'- **Disable**: The two-factor authentication is disabled.'."\n"
+ ."\n"
+ .'- **Enable**: The two-factor authentication is enabled and the user-specific setting is used.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'LanguageStatus' => ['description' => 'Indicates whether notifications are sent in the language specified in the global settings or a custom language.'."\n"
+ ."\n"
+ .'- **Global**: Global'."\n"
+ ."\n"
+ .'- **Custom**: Custom', 'type' => 'string', 'example' => 'Custom', 'title' => ''],
+ 'Language' => ['description' => 'This parameter is required if LanguageStatus is set to Custom.'."\n"
+ ."\n"
+ .'- **zh-cn**: simplified Chinese.'."\n"
+ ."\n"
+ .'- **en**: English.', 'type' => 'string', 'example' => 'en', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'HostGroupNotFound',
- 'errorMessage' => 'The host group is not found.',
- ],
+ ['errorCode' => 'UserNotFound', 'errorMessage' => 'The user is not found.', 'description' => 'The user is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyHostGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</ModifyHostGroupResponse>","errorExample":""}]',
- 'title' => 'ModifyHostGroup',
+ 'title' => 'GetUser',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'GetHostGroup' => [
- 'summary' => 'Queries the details of a specified host group.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUser'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"User\\": {\\n \\"DisplayName\\": \\"Bob\\",\\n \\"Comment\\": \\"commet\\",\\n \\"Email\\": \\"1099**@qq.com\\",\\n \\"Mobile\\": \\"1359999****\\",\\n \\"MobileCountryCode\\": \\"CN\\",\\n \\"UserId\\": \\"1\\",\\n \\"Source\\": \\"Local\\",\\n \\"UserName\\": \\"abcabc_def\\",\\n \\"SourceUserId\\": \\"122748924538****\\",\\n \\"UserState\\": [\\n \\"[\\\\\\"Normal\\\\\\"]\\"\\n ],\\n \\"EffectiveStartTime\\": 1669630029,\\n \\"EffectiveEndTime\\": 1672502400,\\n \\"NeedResetPassword\\": true,\\n \\"TwoFactorMethods\\": [\\n \\"[\\\\n \\\\\\"sms\\\\\\"\\\\n]\\"\\n ],\\n \\"TwoFactorStatus\\": \\"Enable\\",\\n \\"LanguageStatus\\": \\"Custom\\",\\n \\"Language\\": \\"en\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'GetUserGroup' => [
+ 'summary' => 'Retrieves the details of a user group in a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -11841,189 +9385,155 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose asset group you want to query.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host in which you want to query the details of the user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose asset group you want to query.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, [see Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host in which you want to query the details of the user group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostGroupId',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset group to query.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~204509~~) operation to query the asset group ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user group.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'HostGroup' => [
- 'description' => 'The returned detailed information about the asset group.',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'UserGroup' => [
+ 'description' => 'The details of the user group returned.',
'type' => 'object',
'properties' => [
- 'HostGroupId' => [
- 'description' => 'The asset group ID.',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the asset group.',
- 'type' => 'string',
- 'example' => 'Description'."\n",
- ],
- 'HostGroupName' => [
- 'description' => 'The name of the asset group.',
- 'type' => 'string',
- 'example' => 'Host group 1'."\n",
- ],
+ 'UserGroupName' => ['description' => 'The name of the user group.', 'type' => 'string', 'example' => 'UserGroup01', 'title' => ''],
+ 'Comment' => ['description' => 'The description of the user group.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the group.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'HostGroupNotFound',
- 'errorMessage' => 'The host group is not found.',
- ],
+ ['errorCode' => 'UserGroupNotFound', 'errorMessage' => 'The user group is not found.', 'description' => 'The user group is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostGroup\\": {\\n \\"HostGroupId\\": \\"1\\",\\n \\"Comment\\": \\"Comment\\",\\n \\"HostGroupName\\": \\"Group1\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetHostGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostGroup>\\n <Comment>备注</Comment>\\n <HostGroupId>1</HostGroupId>\\n <HostGroupName>主机组1</HostGroupName>\\n </HostGroup>\\n</GetHostGroupResponse>","errorExample":""}]',
- 'title' => 'GetHostGroup',
+ 'title' => 'GetUserGroup',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListHostGroups' => [
- 'summary' => 'Queries a list of asset groups that are managed by a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUserGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"UserGroup\\": {\\n \\"UserGroupName\\": \\"UserGroup01\\",\\n \\"Comment\\": \\"comment\\",\\n \\"UserGroupId\\": \\"1\\"\\n }\\n}","type":"json"}]',
+ ],
+ 'ImportKMSSecretsForHost' => [
+ 'summary' => 'Imports KMS secrets for a specified host.',
+ 'path' => '',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to query.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~462953~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => false, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to query the host group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about region IDs and names, see [Regions and availability zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'PageSize',
+ 'name' => 'Secrets',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The number of entries per page. Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SecretName' => ['description' => 'The name of the KMS secret.', 'type' => 'string', 'required' => false, 'example' => 'secret', 'title' => ''],
+ 'SecretType' => ['description' => 'The type of the KMS secret. Valid values:'."\n"
+ ."\n"
+ .'- **ECS**: an ECS credential.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The KMS secrets to import.',
'required' => false,
- 'example' => '20',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'HostGroupName',
+ 'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host group that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Host group 1'."\n",
- ],
+ 'schema' => ['description' => 'The ID of the host to import the KMS secrets to.'."\n"
+ ."\n"
+ .'> Only ECS hosts can import KMS secrets. You can call the [ListHosts](~~200665~~) operation to obtain this parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -12031,275 +9541,160 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of asset groups returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'HostGroups' => [
- 'description' => 'The asset groups returned.'."\n",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'SuccessCount' => ['description' => 'The number of secrets that were successfully imported.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'Results' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'MemberCount' => [
- 'description' => 'The number of hosts in the asset group.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'HostGroupId' => [
- 'description' => 'The asset group ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the asset group.'."\n",
- 'type' => 'string',
- 'example' => 'Description'."\n",
- ],
- 'HostGroupName' => [
- 'description' => 'The name of the asset group.'."\n",
- 'type' => 'string',
- 'example' => 'Host group 1'."\n",
- ],
+ 'SecretName' => ['description' => 'The name of the secret.', 'type' => 'string', 'example' => 'test1', 'title' => ''],
+ 'Code' => ['description' => 'The status code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ 'Message' => ['description' => 'The result message.', 'type' => 'string', 'example' => 'success', 'title' => ''],
],
+ 'description' => 'The import result for the secret.',
+ 'title' => '',
+ 'example' => '',
],
+ 'description' => 'The import result for each secret.',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'description' => 'The data returned by the request.',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ImportKMSSecretsForHost',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostGroups\\": [\\n {\\n \\"MemberCount\\": 1,\\n \\"HostGroupId\\": \\"1\\",\\n \\"Comment\\": \\"Comment\\",\\n \\"HostGroupName\\": \\"HostGroup1\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'ListHostGroups',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"SuccessCount\\": 1,\\n \\"Results\\": [\\n {\\n \\"SecretName\\": \\"test1\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\"\\n }\\n ]\\n}","type":"json"}]',
],
- 'AttachHostAccountsToUser' => [
- 'summary' => 'After you add a user to your bastion host, you must authorize the user to manage assets. Only authorized users can log on to the bastion host to perform O\\\\\\&M operations on the assets.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListApproveCommands' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to authorize the user to manage the hosts and host accounts.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zvp2xvysf08', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to authorize the user to manage the hosts and host accounts.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user that you want to authorize to manage the hosts and host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The number of the page. Default value: **1**.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Hosts',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IDs of the hosts and host accounts that you want to authorize the user to manage. You can specify up to 10 host IDs and up to 10 host account IDs for each host. You can specify only host IDs. In this case, the user is authorized to manage only the specified hosts. For more information about this parameter, see the "Description of the Hosts parameter" section of this topic.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host and the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[ {"HostId":"1"}, {"HostId":"2","HostAccountIds":["1","2","3"]}, {"HostId":"3","HostAccountIds":["4","5","6"]}, {"HostId":"4","HostAccountIds":["9","8","7"]} ]',
- ],
+ 'schema' => ['description' => 'The number of entries per page.<br> Maximum value: 1000. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => true, 'example' => '20', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'ApproveCommands' => [
+ 'description' => 'The commands to be reviewed.',
'type' => 'array',
'items' => [
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- ."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- ."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- ."\n"
- .'> Make sure that the request parameters are valid and call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- ."\n"
- .'> Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
- ."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserId' => [
- 'description' => 'The ID of the user.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccounts' => [
- 'description' => 'The result of authorizing the user to manage the host accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the user was authorized to manage the host accounts. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
- ],
+ 'ApproveCommandId' => ['description' => 'The ID of the command to be reviewed.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'AssetIp' => ['description' => 'The IP address of the asset for O\\&M.', 'type' => 'string', 'example' => '10.167.XX.XX', 'title' => ''],
+ 'ClientIp' => ['description' => 'The source IP address from which the application is submitted.', 'type' => 'string', 'example' => '172.18.XX.XX', 'title' => ''],
+ 'ClientUser' => ['description' => 'The Bastionhost user who submitted the O\\&M application.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Command' => ['description' => 'The command to be reviewed.', 'type' => 'string', 'example' => '/bin/bash', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the O\\&M application was submitted. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'string', 'example' => '1679393152', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The O\\&M protocol.', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
+ 'SessionId' => ['description' => 'The ID of the O\\&M session that triggered the review.', 'type' => 'string', 'example' => '95f873ab64a76d5b0000000000004d5e', 'title' => ''],
+ 'State' => ['description' => 'The status of the review. Valid values: **Wait**: The command is pending review.', 'type' => 'string', 'example' => 'Wait', 'title' => ''],
+ 'AssetAccountName' => ['description' => 'The username of the asset account that is used for O\\&M.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ 'AssetName' => ['description' => 'The name of the asset.', 'type' => 'string', 'example' => 'poros-test', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E3EF7711-766D-5888-997B-EFBA76809229', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of commands to be reviewed.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\",\\n \\"UserId\\": \\"1\\",\\n \\"HostAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountId\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<AttachHostAccountsToUserResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <HostId>1</HostId>\\n <Code>OK</Code>\\n <UserId>1</UserId>\\n </Results>\\n <Results>\\n <HostAccounts>\\n <Message/>\\n <Code>OK</Code>\\n <HostAccountId>1</HostAccountId>\\n </HostAccounts>\\n </Results>\\n</AttachHostAccountsToUserResponse>","errorExample":""}]',
- 'title' => 'AttachHostAccountsToUser',
- 'requestParamsDescription' => 'Description of Hosts'."\n"
- ."\n"
- .'|Field|Type|Example|Description|'."\n"
- .'|---|---|---|---|'."\n"
- .'|HostId|string|1|The ID of the host.|'."\n"
- .'|HostAccountIds|array\\[string\\]|\\["9","8","7"\\]|The ID of the host account. The value is a JSON string. You can specify up to 10 host account IDs for each host.|'."\n"
- ."\n"
- .'The following code provides an example on the settings of the Hosts parameter:'."\n"
+ 'title' => 'ListApproveCommands',
+ 'summary' => 'Queries commands to be reviewed.',
+ 'description' => 'Queries commands pending review as a Bastionhost administrator.'."\n"
."\n"
- .' ['."\n"
- .' {"HostId":"1"},'."\n"
- .' {"HostId":"2","HostAccountIds":["1","2","3",...]},'."\n"
- .' {"HostId":"3","HostAccountIds":["4","5","6",...]},'."\n"
- .' {"HostId":"4","HostAccountIds":["9","8","7",...]}'."\n"
- .' ]```',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListHostsForUser' => [
- 'summary' => 'Queries the hosts that a user group is authorized or not authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListApproveCommands'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListApproveCommands',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ApproveCommands\\": [\\n {\\n \\"ApproveCommandId\\": \\"1\\",\\n \\"AssetIp\\": \\"10.167.XX.XX\\",\\n \\"ClientIp\\": \\"172.18.XX.XX\\",\\n \\"ClientUser\\": \\"test\\",\\n \\"Command\\": \\"/bin/bash\\",\\n \\"CreateTime\\": \\"1679393152\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"SessionId\\": \\"95f873ab64a76d5b0000000000004d5e\\",\\n \\"State\\": \\"Wait\\",\\n \\"AssetAccountName\\": \\"root\\",\\n \\"AssetName\\": \\"poros-test\\"\\n }\\n ],\\n \\"RequestId\\": \\"E3EF7711-766D-5888-997B-EFBA76809229\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]',
+ ],
+ 'ListDatabaseAccounts' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -12307,118 +9702,50 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to query the hosts that the user is authorized or not authorized to manage.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the DescribeInstances operation to query the bastion host ID.[](~~153281~~)', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-7mz2za0ro06', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to query the hosts that the user is authorized or not authorized to manage.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'Mode',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies the category of the hosts that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Authorized**: queries the hosts that the user is authorized to manage. This is the default value.'."\n"
- .'* **Unauthorized**: queries the hosts that the user is not authorized to manage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Authorized',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'DatabaseId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the database whose database accounts you want to query.'."\n"
+ ."\n"
+ .'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page. Default value: 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned per page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'HostAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint of the host that you want to query. You can set this parameter to a domain name or an IP address. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.XX.XX',
- ],
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'HostName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'abc',
- ],
- ],
- [
- 'name' => 'OSType',
+ 'name' => 'DatabaseAccountName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The operating system of the host that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Linux',
- ],
+ 'schema' => ['description' => 'The name of the database account to query. The name can be up to 128 characters in length. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
@@ -12426,102 +9753,72 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of hosts returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE ',
- ],
- 'Hosts' => [
- 'description' => 'The hosts returned.'."\n",
+ 'DatabaseAccounts' => [
+ 'description' => 'The returned database accounts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Comment' => [
- 'description' => 'The description of the host.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'ActiveAddressType' => [
- 'description' => 'The endpoint type of the host. Valid values:'."\n"
- ."\n"
- .'* **Public**: public endpoint'."\n"
- .'* **Private**: internal endpoint'."\n",
- 'type' => 'string',
- 'example' => 'Public',
- ],
- 'HostPublicAddress' => [
- 'description' => 'The public endpoint of the host. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => '10.158.XX.XX',
- ],
- 'HostName' => [
- 'description' => 'The name of the host.'."\n",
- 'type' => 'string',
- 'example' => 'host01',
- ],
- 'HostPrivateAddress' => [
- 'description' => 'The internal endpoint of the host. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => '192.168.XX.XX',
- ],
- 'OSType' => [
- 'description' => 'The operating system of the host. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'example' => 'Linux',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'DatabaseAccountId' => ['description' => 'The database account ID.', 'type' => 'string', 'example' => '59', 'title' => ''],
+ 'DatabaseAccountName' => ['description' => 'The name of the database account.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '4', 'title' => ''],
+ 'DatabaseSchema' => ['description' => 'The name of the database. A value is returned for this parameter if the engine of the database with the specified database ID is PostgreSQL or Oracle.', 'type' => 'string', 'example' => 'orcl', 'title' => ''],
+ 'HasPassword' => ['description' => 'Indicates whether the database account has a password. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'string', 'example' => 'true', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of database accounts returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE \\",\\n \\"Hosts\\": [\\n {\\n \\"Comment\\": \\"comment\\",\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"HostPublicAddress\\": \\"10.158.XX.XX\\",\\n \\"HostName\\": \\"host01\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostsForUserResponse>\\n <Hosts>\\n <Comment>comment</Comment>\\n <ActiveAddressType>Public</ActiveAddressType>\\n <HostPrivateAddress>192.168.XX.XX</HostPrivateAddress>\\n <HostPublicAddress>10.158.XX.XX</HostPublicAddress>\\n <OSType>Linux</OSType>\\n <HostId>1</HostId>\\n <HostName>host01</HostName>\\n </Hosts>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE </RequestId>\\n</ListHostsForUserResponse>","errorExample":""}]',
- 'title' => 'ListHostsForUser',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListHostAccountsForUser' => [
- 'summary' => 'Queries the host accounts of a host and whether a user is authorized to manage each host account.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListDatabaseAccounts',
+ 'summary' => 'Queries the database accounts of a database.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabaseAccounts'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabaseAccounts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DatabaseAccountId\\": \\"59\\",\\n \\"DatabaseAccountName\\": \\"test\\",\\n \\"DatabaseId\\": \\"4\\",\\n \\"DatabaseSchema\\": \\"orcl\\",\\n \\"HasPassword\\": \\"true\\"\\n }\\n ],\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\",\\n \\"TotalCount\\": 10\\n}","type":"json"}]',
+ ],
+ 'ListDatabaseAccountsForUser' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -12529,94 +9826,55 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to perform the query. The host accounts that the specified user is authorized to manage on the specified host are queried.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zz42zoqql01', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to perform the query. The host accounts that the specified user is authorized to manage on the specified host are queried.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user for which you want to query authorized host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user to query. This operation returns whether the user is authorized to manage each database account.'."\n"
+ ."\n"
+ .'> You can call the ListUsers operation to query the ID of the user.[](~~204522~~)', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
- 'name' => 'HostId',
+ 'name' => 'DatabaseId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host to query.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the database whose accounts you want to query.', 'type' => 'string', 'required' => true, 'example' => '89', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'HostAccountName',
+ 'name' => 'DatabaseAccountName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host account that you want to query. Exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root',
- ],
+ 'schema' => ['description' => 'The name of the database account to query. The name can be up to 128 characters in length. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
@@ -12624,153 +9882,139 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of host accounts that were queried.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE ',
- ],
- 'HostAccounts' => [
- 'description' => 'An array that consists of the queried host accounts.'."\n",
+ 'DatabaseAccounts' => [
+ 'description' => 'The database accounts returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'IsAuthorized' => [
- 'description' => 'Indicates whether the user is authorized to manage the host account. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol that is used by the host. Valid values:'."\n"
- ."\n"
- .'* **SSH**'."\n"
- .'* **RDP**'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host for which the host accounts were queried.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'DatabaseAccountId' => ['description' => 'The database account ID.', 'type' => 'string', 'example' => '6', 'title' => ''],
+ 'DatabaseAccountName' => ['description' => 'The name of the database account.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The ID of the database to which the database account belongs.', 'type' => 'string', 'example' => '70', 'title' => ''],
+ 'IsAuthorized' => ['description' => 'Indicates whether the user is authorized to manage the database account. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol used by the database account. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'example' => 'MySQL', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '00E3701B-3616-55FE-93EC-E7CF5480B654', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of database accounts that are returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE \\",\\n \\"HostAccounts\\": [\\n {\\n \\"HostAccountName\\": \\"root\\",\\n \\"HostAccountId\\": \\"1\\",\\n \\"IsAuthorized\\": true,\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostAccountsForUserResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE </RequestId>\\n <HostAccounts>\\n <HostAccountName>root</HostAccountName>\\n <ProtocolName>SSH</ProtocolName>\\n <HostId>1</HostId>\\n <IsAuthorized>true</IsAuthorized>\\n <HostAccountId>1</HostAccountId>\\n </HostAccounts>\\n</ListHostAccountsForUserResponse>","errorExample":""}]',
- 'title' => 'ListHostAccountsForUser',
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DetachHostAccountsFromUser' => [
- 'summary' => 'Revokes permissions on hosts and host accounts from a user.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListDatabaseAccountsForUser',
+ 'summary' => 'Queries the database accounts of a database and whether a user is authorized to manage each database account.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabaseAccountsForUser'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabaseAccountsForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DatabaseAccountId\\": \\"6\\",\\n \\"DatabaseAccountName\\": \\"test\\",\\n \\"DatabaseId\\": \\"70\\",\\n \\"IsAuthorized\\": true,\\n \\"ProtocolName\\": \\"MySQL\\"\\n }\\n ],\\n \\"RequestId\\": \\"00E3701B-3616-55FE-93EC-E7CF5480B654\\",\\n \\"TotalCount\\": 3\\n}","type":"json"}]',
+ ],
+ 'ListDatabaseAccountsForUserGroup' => [
+ 'summary' => 'Queries the database accounts of a database and whether a user group is authorized to manage each database account.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to revoke permissions on the specified hosts and host accounts from the user.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-pe334a03o0h', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to revoke permissions on the specified hosts and host accounts from the user.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user from whom you want to revoke permissions on the specified hosts and host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user group to query. This operation returns whether the user group is authorized to manage each database account.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the user group ID.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
[
- 'name' => 'Hosts',
+ 'name' => 'DatabaseId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IDs of the hosts and host accounts on which you want to revoke permissions from the user. You can specify up to 10 host IDs and up to 10 host account IDs for each host. You can specify only host IDs. In this case, the permissions on the specified hosts and all accounts of the hosts are revoked from the user. For more information about this parameter, see the Description of the Hosts parameter section of this topic.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the host IDs and the [ListHostAccountsForUser](~~466581~~) operation to query the host account IDs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[ {"HostId":"1"}, {"HostId":"2","HostAccountIds":["1","2","3"]}, {"HostId":"3","HostAccountIds":["4","5","6"]}, {"HostId":"4","HostAccountIds":["9","8","7"]} ]',
- ],
+ 'schema' => ['description' => 'The ID of the database whose database accounts you want to query.'."\n"
+ ."\n"
+ .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.', 'type' => 'string', 'required' => true, 'example' => '36', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseAccountName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the database account to query. The name can be up to 128 characters in length. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
@@ -12778,193 +10022,154 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'DatabaseAccounts' => [
+ 'description' => 'The database accounts returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostId' => [
- 'description' => 'The host ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserId' => [
- 'description' => 'The user ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccounts' => [
- 'description' => 'The result of revoking permissions on the specified host accounts from the user.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether permissions on the specified host accounts were revoked from the user. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostAccountId' => [
- 'description' => 'The host account ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
+ 'DatabaseAccountId' => ['description' => 'The ID of the database account.', 'type' => 'string', 'example' => '4', 'title' => ''],
+ 'DatabaseAccountName' => ['description' => 'The name of the database account.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The ID of the database to which the database account belongs.', 'type' => 'string', 'example' => '11', 'title' => ''],
+ 'IsAuthorized' => ['description' => 'Indicates whether the user group is authorized to manage the database account. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol used by the database account. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'example' => 'MySQL', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of database accounts returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\",\\n \\"UserId\\": \\"1\\",\\n \\"HostAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountId\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DetachHostAccountsFromUserResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <HostId>1</HostId>\\n <Code>OK</Code>\\n <UserId>1</UserId>\\n </Results>\\n <Results>\\n <HostAccounts>\\n <Message/>\\n <Code>OK</Code>\\n <HostAccountId>1</HostAccountId>\\n </HostAccounts>\\n </Results>\\n</DetachHostAccountsFromUserResponse>","errorExample":""}]',
- 'title' => 'DetachHostAccountsFromUser',
- 'requestParamsDescription' => 'Description of the Hosts parameter'."\n"
- ."\n"
- .'|Field|Type|Example|Description|'."\n"
- .'|---|---|---|---|'."\n"
- .'|HostId|string|1|The host ID.|'."\n"
- .'|HostAccountIds|array\\[string\\]|\\["9","8","7"\\]|The host account ID. The value is a JSON string. You can specify up to 10 host account IDs for each host.|'."\n"
- ."\n"
- .'The following code provides an example value of the Hosts parameter:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"HostId":"1"},'."\n"
- .'{"HostId":"2","HostAccountIds":["1","2","3",...]},'."\n"
- .'{"HostId":"3","HostAccountIds":["4","5","6",...]},'."\n"
- .'{"HostId":"4","HostAccountIds":["9","8","7",...]}'."\n"
- .']'."\n"
- .'```'."\n"
- ."\n"
- .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~148139~~). For more information about sample requests, see Sample requests.',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DetachHostAccountsFromUserGroup' => [
- 'summary' => 'Revokes the permissions on one or more hosts and host accounts from a user group.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListDatabaseAccountsForUserGroup',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabaseAccountsForUserGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabaseAccountsForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DatabaseAccountId\\": \\"4\\",\\n \\"DatabaseAccountName\\": \\"root\\",\\n \\"DatabaseId\\": \\"11\\",\\n \\"IsAuthorized\\": true,\\n \\"ProtocolName\\": \\"MySQL\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 10\\n}","type":"json"}]',
+ ],
+ 'ListDatabases' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to revoke permissions on the specified hosts and host accounts from the user group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-7mz28f5tk0o', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to revoke permissions on the specified hosts and host accounts from the user group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to query.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserGroupId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group from which you want to revoke permissions on the specified hosts and host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Hosts',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IDs of the host and host account on which you want to revoke permissions from the user group.'."\n"
- ."\n"
- .'You can specify up to 10 host IDs and up to 10 host account IDs for each host. You can specify only host IDs. In this case, the permissions on both the specified hosts and all host accounts of the hosts are revoked from the user group. For more information about this parameter, see the "Description of the Hosts parameter" section of this topic.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host and the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[ {"HostId":"1"}, {"HostId":"2","HostAccountIds":["1","2","3",...]}, {"HostId":"3","HostAccountIds":["4","5","6"]}, {"HostId":"4","HostAccountIds":["9","8","7"]} ]',
- ],
+ 'schema' => ['description' => 'The number of entries per page.'."\n"
+ .'Valid values: 1 to100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The engine of the database to query. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'required' => false, 'example' => 'MySQL', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the network domain where the database to query resides.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'Source',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of the database to query. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: on-premises database.'."\n"
+ ."\n"
+ .'- **Rds**: ApsaraDB for RDS instance.'."\n"
+ ."\n"
+ .'- **PolarDB**: PolarDB cluster', 'type' => 'string', 'required' => false, 'example' => 'Local', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the asset group to query. This operation returns the databases in the asset group.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the asset group.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
],
'responses' => [
@@ -12972,191 +10177,173 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'Databases' => [
+ 'description' => 'The databases returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserGroupId' => [
- 'description' => 'The ID of the group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccounts' => [
- 'description' => 'The result of revoking permissions on the specified host accounts from the user group.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether permissions on the specified host account were revoked from the user group. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
+ 'ActiveAddressType' => ['description' => 'The address type of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Public**'."\n"
+ ."\n"
+ .'- **Private**', 'type' => 'string', 'example' => 'Public', 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the database.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '9', 'title' => ''],
+ 'DatabaseName' => ['description' => 'The name of the database.', 'type' => 'string', 'example' => 'MySQL0', 'title' => ''],
+ 'DatabasePort' => ['description' => 'The port of the database.', 'type' => 'integer', 'format' => 'int32', 'example' => '3306', 'title' => ''],
+ 'DatabasePrivateAddress' => ['description' => 'The internal address of the database. The value is a domain name or an IP address.', 'type' => 'string', 'example' => 'rm-wz973w7******', 'title' => ''],
+ 'DatabasePublicAddress' => ['description' => 'The public address of the database. The value is a domain name or an IP address.', 'type' => 'string', 'example' => 'rm-uf65n2******', 'title' => ''],
+ 'DatabaseType' => ['description' => 'The database engine. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'example' => 'MySQL', 'title' => ''],
+ 'NetworkDomainId' => ['description' => 'The ID of the network domain where the database resides.', 'type' => 'string', 'example' => '8', 'title' => ''],
+ 'Source' => ['description' => 'The type of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: on-premises database.'."\n"
+ ."\n"
+ .'- **Rds**: ApsaraDB for RDS instance.'."\n"
+ ."\n"
+ .'- **PolarDB**: PolarDB cluster', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'SourceInstanceId' => ['description' => 'The ID of the ApsaraDB for RDS instance or PolarDB cluster.'."\n"
+ ."\n"
+ .'> No value is returned for this parameter if **Source** is set to **Local**.', 'type' => 'string', 'example' => 'i-wz9ejupczf41******', 'title' => ''],
+ 'SourceInstanceRegionId' => ['description' => 'The region ID of the ApsaraDB for RDS instance or PolarDB cluster.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'SourceInstanceState' => ['description' => 'The status of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**'."\n"
+ ."\n"
+ .'- **Release**', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of databases returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"HostAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountId\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DetachHostAccountsFromUserGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <HostId>1</HostId>\\n <Code>OK</Code>\\n <UserGroupId>1</UserGroupId>\\n </Results>\\n <Results>\\n <HostAccounts>\\n <Message/>\\n <Code>OK</Code>\\n <HostAccountId>1</HostAccountId>\\n </HostAccounts>\\n </Results>\\n</DetachHostAccountsFromUserGroupResponse>","errorExample":""}]',
- 'title' => 'DetachHostAccountsFromUserGroup',
- 'requestParamsDescription' => 'Description of the Hosts parameter'."\n"
- ."\n"
- .'| Field | Type | Example | Description |'."\n"
- .'| ----- | ---- | ------- | ----------- |'."\n"
- .'| HostId | string | 1 | The ID of the host. |'."\n"
- .'| HostAccountIds | array[string] | ["9","8","7"] | The ID of the host account. The value is a JSON string. You can specify up to 10 host account IDs for each host. |'."\n"
- .'The following code provides an example on the settings of the Hosts parameter: '."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"HostId":"1"},'."\n"
- .'{"HostId":"2","HostAccountIds":["1","2","3",...]},'."\n"
- .'{"HostId":"3","HostAccountIds":["4","5","6",...]},'."\n"
- .'{"HostId":"4","HostAccountIds":["9","8","7",...]}'."\n"
- .']'."\n"
- .'```'."\n"
- .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~). '."\n"
- ."\n"
- .'For more information about sample requests, see the "Examples" section of this topic.',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DetachHostGroupAccountsFromUser' => [
- 'summary' => 'Removes host groups and host accounts from the list of host groups and host accounts that a user is authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListDatabases',
+ 'summary' => 'Queries the databases that are managed by a bastion host.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabases'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabases',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Databases\\": [\\n {\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"Comment\\": \\"comment\\",\\n \\"DatabaseId\\": \\"9\\",\\n \\"DatabaseName\\": \\"MySQL0\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"rm-wz973w7******\\",\\n \\"DatabasePublicAddress\\": \\"rm-uf65n2******\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"NetworkDomainId\\": \\"8\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9ejupczf41******\\",\\n \\"SourceInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"SourceInstanceState\\": \\"Normal\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 4\\n}","type":"json"}]',
+ ],
+ 'ListDatabasesForUser' => [
+ 'summary' => 'Queries the databases that a user is authorized to manage.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to revoke permissions on the specified host groups and host accounts from the user.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-tl32swayw7o', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to revoke permissions on the specified host groups and host accounts from the user.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user from which you want to revoke permissions on the specified host groups and host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user to query.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
[
- 'name' => 'HostGroups',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host group and the name of the host account on which you want to revoke permissions from the user. You can specify up to 10 host group IDs and up to 10 host account names for each host group. You can specify only host group IDs. In this case, the permissions on the specified host groups and all host accounts in the host groups are revoked from the user. For more information about this parameter, see the "Description of the HostGroups parameter" section of this topic.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group and the [ListHostAccounts](~~204372~~) operation to query the name of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[ {"HostGroupId":"1"}, {"HostGroupId":"2","HostAccountNames":["root","111","abc"]}]',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**. Pages start from page 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the database to query.', 'type' => 'string', 'required' => false, 'example' => 'MySQL-8.0', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The address of the database to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => '47.101.**.**', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The engine of the database to query. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'required' => false, 'example' => 'MySQL', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the network domain where the database to query resides.', 'type' => 'string', 'required' => false, 'example' => '5', 'title' => ''],
],
],
'responses' => [
@@ -13164,190 +10351,165 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'Databases' => [
+ 'description' => 'The databases returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => 'N/A'."\n",
- ],
- 'HostGroupId' => [
- 'description' => 'The ID of the host group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserId' => [
- 'description' => 'The ID of the user.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccountNames' => [
- 'description' => 'The result of revoking permissions on the specified host accounts from the user.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether permissions on the specified host account were revoked from the user. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => 'N/A'."\n",
- ],
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- ],
- ],
- ],
+ 'ActiveAddressType' => ['description' => 'The address type of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Public**'."\n"
+ ."\n"
+ .'- **Private**', 'type' => 'string', 'example' => 'Private', 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the database.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '36', 'title' => ''],
+ 'DatabaseName' => ['description' => 'The database name.', 'type' => 'string', 'example' => 'MySQL56', 'title' => ''],
+ 'DatabasePort' => ['description' => 'The database port.', 'type' => 'integer', 'format' => 'int64', 'example' => '3306', 'title' => ''],
+ 'DatabasePrivateAddress' => ['description' => 'The internal endpoint of the database. The value is a domain name or an IP address.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ 'DatabasePublicAddress' => ['description' => 'The public endpoint of the database. The value is a domain name or an IP address.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''],
+ 'DatabaseType' => ['description' => 'The database engine. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'example' => 'MySQL', 'title' => ''],
+ 'NetworkDomainId' => ['description' => 'The ID of the network domain where the database resides.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'Source' => ['description' => 'The database type. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: on-premises database.'."\n"
+ ."\n"
+ .'- **Rds**: ApsaraDB RDS instance.'."\n"
+ ."\n"
+ .'- **PolarDB**: PolarDB cluster.', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'SourceInstanceId' => ['description' => 'The ID of the ApsaraDB RDS instance or PolarDB cluster.'."\n"
+ ."\n"
+ .'> No value is returned for this parameter if **Source** is set to **Local**.', 'type' => 'string', 'example' => 'i-wz9fv2hwux78x9******', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A8A665B9-8550-4942-9DEE-73198051856B', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of databases returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"UserId\\": \\"1\\",\\n \\"HostAccountNames\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountName\\": \\"root\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DetachHostGroupAccountsFromUserResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <HostGroupId>1</HostGroupId>\\n <Message/>\\n <Code>OK</Code>\\n <UserId>1</UserId>\\n </Results>\\n <Results>\\n <HostAccountNames>\\n <HostAccountName>root</HostAccountName>\\n <Message/>\\n <Code>OK</Code>\\n </HostAccountNames>\\n </Results>\\n</DetachHostGroupAccountsFromUserResponse>","errorExample":""}]',
- 'title' => 'DetachHostGroupAccountsFromUser',
- 'requestParamsDescription' => 'Structure of the HostGroups parameter'."\n"
- ."\n"
- .'|Parameter|Type|Example|Description|'."\n"
- .'|---|---|---|---|'."\n"
- .'|HostGroupId|string|1|The host group ID.|'."\n"
- .'|HostAccountNames|array\\[string\\]|\\["root","111","abc"\\]|The names of the host accounts. Specify a JSON string. You can specify up to 10 host account names.|'."\n"
- ."\n"
- .'The following code provides an example:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"HostGroupId":"1"}, '."\n"
- .'{"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, '."\n"
- .'{"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, '."\n"
- .'{"HostGroupId":"4","HostAccountNames":["root","111","abc"]} '."\n"
- .']'."\n"
- .'```'."\n"
- ."\n"
- .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the Sample requests section of this topic.',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'AttachHostAccountsToUserGroup' => [
- 'summary' => 'Authorizes a user group to manage one or more hosts and host accounts.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListDatabasesForUser',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabasesForUser'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabasesForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Databases\\": [\\n {\\n \\"ActiveAddressType\\": \\"Private\\",\\n \\"Comment\\": \\"comment\\",\\n \\"DatabaseId\\": \\"36\\",\\n \\"DatabaseName\\": \\"MySQL56\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"DatabasePublicAddress\\": \\"www.example.com\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"NetworkDomainId\\": \\"2\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9fv2hwux78x9******\\"\\n }\\n ],\\n \\"RequestId\\": \\"A8A665B9-8550-4942-9DEE-73198051856B\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]',
+ ],
+ 'ListDatabasesForUserGroup' => [
+ 'summary' => 'Lists the databases that a user group is authorized to manage through a Bastionhost instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host in which you want to authorize the user group to manage the specified hosts and host accounts.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-7mz2ve7h00a', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host in which you want to authorize the user group to manage the specified hosts and host accounts.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group that you want to authorize to manage the specified hosts and host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user group for which you want to query authorized databases.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
- 'name' => 'Hosts',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IDs of the host and host account that you want to authorize the user group to manage. You can specify up to 10 host IDs and up to 10 host account IDs for each host. You can specify only host IDs. In this case, the user group is authorized to manage only the specified hosts. For more information about this parameter, see the "Description of the Hosts parameter" section of this topic.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host and the [ListHostAccounts](~~204372~~) operation to query the ID of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[ {"HostId":"1"}, {"HostId":"2","HostAccountIds":["1","2","3",...]}, {"HostId":"3","HostAccountIds":["4","5","6",...]}, {"HostId":"4","HostAccountIds":["9","8","7",...]} ... ]',
- ],
+ 'schema' => ['description' => 'The page number of the paged query. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of entries to return on each page for a paged query.<br> The maximum value of the PageSize parameter is 100. By default, 20 entries are returned on each page. If you leave the PageSize parameter empty, 20 entries are returned.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave the PageSize parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the database instance that you want to query.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The address of the database that you want to query. Only term query is supported.', 'type' => 'string', 'required' => false, 'example' => '47.101.**.**'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of the database that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'required' => false, 'example' => 'MySQL', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the network domain.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
],
],
'responses' => [
@@ -13355,191 +10517,160 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'Databases' => [
+ 'description' => 'The list of databases that are queried.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => 'N/A'."\n",
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserGroupId' => [
- 'description' => 'The ID of the user group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccounts' => [
- 'description' => 'The result of authorizing the specified user group to manage the specified host accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the user group was authorized to manage the specified host account. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => 'N/A'."\n",
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
+ 'ActiveAddressType' => ['description' => 'The type of the database address. Valid values:'."\n"
+ ."\n"
+ .'- **Public**: public address'."\n"
+ ."\n"
+ .'- **Private**: private address', 'type' => 'string', 'example' => 'Private', 'title' => ''],
+ 'Comment' => ['description' => 'The description of the database instance.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'DatabaseAccountCount' => ['description' => 'The total number of database accounts that are queried.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The ID of the database instance to which the database account belongs.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'DatabaseName' => ['description' => 'The name of the database instance.', 'type' => 'string', 'example' => 'MySQL0', 'title' => ''],
+ 'DatabasePort' => ['description' => 'The port of the database.', 'type' => 'integer', 'format' => 'int64', 'example' => '3306', 'title' => ''],
+ 'DatabasePrivateAddress' => ['description' => 'The private endpoint of the database, which can be a domain name or an IP address.', 'type' => 'string', 'example' => 'rm-bp1******', 'title' => ''],
+ 'DatabasePublicAddress' => ['description' => 'The public address of the database, which can be a domain name or an IP address.', 'type' => 'string', 'example' => 'rm-uf65******', 'title' => ''],
+ 'DatabaseType' => ['description' => 'The type of the database. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'example' => 'MySQL', 'title' => ''],
+ 'NetworkDomainId' => ['description' => 'The ID of the network domain to which the database belongs.', 'type' => 'string', 'example' => '5', 'title' => ''],
+ 'Source' => ['description' => 'The source of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: local database instance'."\n"
+ ."\n"
+ .'- **Rds**: RDS database instance'."\n"
+ ."\n"
+ .'- **PolarDB**: PolarDB database instance', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'SourceInstanceId' => ['description' => 'The ID of the RDS instance or PolarDB instance that corresponds to the database.'."\n"
+ ."\n"
+ .'> If **Source** is set to **Local**, this parameter is empty.', 'type' => 'string', 'example' => 'i-wz9c7mjxywmdmqk7q6e4', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The unique ID that Alibaba Cloud generates for the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of databases that are queried.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"HostAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountId\\": \\"1\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<AttachHostAccountsToUserGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <HostId>1</HostId>\\n <Code>OK</Code>\\n <UserGroupId>1</UserGroupId>\\n </Results>\\n <Results>\\n <HostAccounts>\\n <Message/>\\n <Code>OK</Code>\\n <HostAccountId>1</HostAccountId>\\n </HostAccounts>\\n </Results>\\n</AttachHostAccountsToUserGroupResponse>","errorExample":""}]',
- 'title' => 'AttachHostAccountsToUserGroup',
- 'description' => 'After you authorize a user group to manage specific hosts and host accounts, all the users in the user group have access to the authorized hosts and host accounts.'."\n",
- 'requestParamsDescription' => 'Description of the Hosts parameter'."\n"
- ."\n"
- .'|Field|Type|Example|Description|'."\n"
- .'|---|---|---|---|'."\n"
- .'|HostId|string|1|The ID of the host.|'."\n"
- .'|HostAccountIds|array\\[string\\]|\\["9","8","7"\\]|The ID of the host account. The value is a JSON string. You can specify up to 10 host account IDs for each host.|'."\n"
- ."\n\n"
- .'The following code provides an example on the settings of the Hosts parameter:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"HostId":"1"},'."\n"
- .'{"HostId":"2","HostAccountIds":["1","2","3",...]},'."\n"
- .'{"HostId":"3","HostAccountIds":["4","5","6",...]},'."\n"
- .'{"HostId":"4","HostAccountIds":["9","8","7",...]}'."\n"
- .']'."\n"
- .'```'."\n"
- ."\n"
- .'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~). For more information about sample requests, see the "Examples" section of this topic.',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DetachHostGroupAccountsFromUserGroup' => [
- 'summary' => 'Revokes permissions on one or more host groups and host accounts from a user group.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListDatabasesForUserGroup',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabasesForUserGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabasesForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Databases\\": [\\n {\\n \\"ActiveAddressType\\": \\"Private\\",\\n \\"Comment\\": \\"comment\\",\\n \\"DatabaseAccountCount\\": 2,\\n \\"DatabaseId\\": \\"2\\",\\n \\"DatabaseName\\": \\"MySQL0\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"rm-bp1******\\",\\n \\"DatabasePublicAddress\\": \\"rm-uf65******\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"NetworkDomainId\\": \\"5\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9c7mjxywmdmqk7q6e4\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]',
+ ],
+ 'ListHostAccounts' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to revoke permissions on the specified host groups and host accounts from the user group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to revoke permissions on the specified host groups and host accounts from the user group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserGroupId',
+ 'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group from which you want to revoke permissions on the specified host groups and host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host for which you want to query host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to obtain the host ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'HostGroups',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host group and the name of host account on which you want to revoke permissions from the user group. You can specify up to 10 host group IDs and up to 10 host account names for each host group. You can specify only host group IDs. In this case, the permissions on the specified host groups and all host accounts in the host groups are revoked from the user group. For more information about this parameter, see the "Description of the HostGroups parameter" section of this topic.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group and the [ListHostAccounts](~~204372~~) operation to query the name of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[ {"HostGroupId":"1"}, {"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"4","HostAccountNames":["root","111","abc"]}]',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page.<br> The maximum value of the PageSize parameter is 100. The default value is 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAccountName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the host account that you want to query. The name can be up to 128 characters in length. This parameter supports only term queries.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''],
+ ],
+ [
+ 'name' => 'ProtocolName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The protocol of the host account that you want to query.<br> Valid values:'."\n"
+ ."\n"
+ .'- SSH'."\n"
+ ."\n"
+ .'- RDP', 'type' => 'string', 'required' => false, 'example' => 'SSH', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostIds',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The array of host IDs for which you want to query host accounts.'."\n"
+ ."\n"
+ .'> This parameter takes effect only when the value of the HostId parameter is 0. If the HostId parameter is specified with a non-zero value, this parameter is ignored.', 'type' => 'string', 'required' => false, 'example' => '["2","3"]', 'title' => ''],
],
],
'responses' => [
@@ -13547,385 +10678,265 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'TotalCount' => ['description' => 'The total number of returned host accounts.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'HostAccounts' => [
+ 'description' => 'The list of the returned host accounts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostGroupId' => [
- 'description' => 'The ID of the host group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserGroupId' => [
- 'description' => 'The ID of the group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccountNames' => [
- 'description' => 'The result of revoking permissions on the specified host accounts from the user group.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether permissions on the specified host account were revoked from the specified user group. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- ],
- ],
- ],
+ 'HasPassword' => ['description' => 'Indicates whether a password is set for the host account.<br> Valid values:'."\n"
+ ."\n"
+ .'- **true**: A password is set.'."\n"
+ ."\n"
+ .'- **false**: No password is set.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'PrivateKeyFingerprint' => ['description' => 'The fingerprint of the private key of the host account.', 'type' => 'string', 'example' => 'fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol of the host account.<br> Valid values:'."\n"
+ ."\n"
+ .'- SSH'."\n"
+ ."\n"
+ .'- RDP', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'abc', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostShareKeyId' => ['description' => 'The ID of the shared key of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'RotationMode' => ['description' => 'The password change mode of the account.'."\n"
+ ."\n"
+ .'- **Privileged**: The password is changed using a privileged account.'."\n"
+ ."\n"
+ .'- **Self**: The password is changed without using a privileged account.'."\n"
+ ."\n"
+ .'> This parameter is available only for Bastionhost instances of V3.2.47 or later.', 'type' => 'string', 'example' => 'Privileged', 'title' => ''],
+ 'HostShareKeyName' => ['description' => 'The name of the shared key of the host.', 'type' => 'string', 'example' => 'name', 'title' => ''],
+ 'PrivilegeType' => ['description' => 'The permission type of the account.'."\n"
+ ."\n"
+ .'- **Privileged**: privileged account'."\n"
+ ."\n"
+ .'- **Normal**: regular account'."\n"
+ ."\n"
+ .'> This parameter is available only for Bastionhost instances of V3.2.47 or later.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'ListHostAccounts',
+ 'summary' => 'Lists the host accounts that are configured for a host in a Bastionhost instance. Host accounts are the credentials used by O&M engineers to log on to the host.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccounts'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostAccounts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"HostAccountNames\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountName\\": \\"root\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DetachHostGroupAccountsFromUserGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <HostGroupId>1</HostGroupId>\\n <Code>OK</Code>\\n <UserGroupId>1</UserGroupId>\\n </Results>\\n <Results>\\n <HostAccountNames>\\n <HostAccountName>root</HostAccountName>\\n <Message/>\\n <Code>OK</Code>\\n </HostAccountNames>\\n </Results>\\n</DetachHostGroupAccountsFromUserGroupResponse>","errorExample":""}]',
- 'title' => 'DetachHostGroupAccountsFromUserGroup',
- 'description' => '****',
- 'requestParamsDescription' => 'Description of the HostGroups parameter'."\n"
- ."\n"
- .'| Field | Type | Example | Description |'."\n"
- .'| ----- | ---- | ------- | ----------- |'."\n"
- .'| HostGroupId | string | 1 | The ID of the host group. |'."\n"
- .'| HostAccountNames | array[string] | ["root","111","abc"] | The name of the host account. The value is a JSON string. You can specify up to 10 host account names for each host group. |'."\n"
- .'The following code provides an example on the settings of the HostGroups parameter: '."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"HostGroupId":"1"}, '."\n"
- .'{"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, '."\n"
- .'{"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, '."\n"
- .'{"HostGroupId":"4","HostAccountNames":["root","111","abc"]} '."\n"
- .']'."\n"
- .'```'."\n"
- .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~). '."\n"
- ."\n"
- .'For more information about sample requests, see the "Examples" section of this topic.',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccounts\\": [\\n {\\n \\"HasPassword\\": true,\\n \\"PrivateKeyFingerprint\\": \\"fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"HostAccountName\\": \\"abc\\",\\n \\"HostAccountId\\": \\"1\\",\\n \\"HostId\\": \\"1\\",\\n \\"HostShareKeyId\\": \\"1\\",\\n \\"RotationMode\\": \\"Privileged\\",\\n \\"HostShareKeyName\\": \\"name\\",\\n \\"PrivilegeType\\": \\"Normal\\"\\n }\\n ]\\n}","type":"json"}]',
],
- 'AttachHostGroupAccountsToUser' => [
- 'summary' => 'Authorizes a user to manage one or more host groups and host accounts.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListHostAccountsForHostShareKey' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to authorize the user to manage the host groups and host accounts.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to authorize the user to manage the host groups and host accounts.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'HostShareKeyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user that you want to authorize to manage the host groups and host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The shared key ID.'."\n"
+ ."\n"
+ .'> You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.', 'type' => 'string', 'required' => true, 'example' => '1124', 'title' => ''],
],
[
- 'name' => 'HostGroups',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host group and the name of the host account that you want to authorize the user to manage. You can specify up to 10 host group IDs and up to 10 host account names for each host group. You can specify only host group IDs. In this case, the user is authorized to manage only the specified host groups. For more information about this parameter, see the "Description of the HostGroups parameter" section of this topic.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group and the [ListHostAccounts](~~204372~~) operation to query the name of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[ {"HostGroupId":"1"}, {"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"4","HostAccountNames":["root","111","abc"]} ]',
- 'pattern' => '^[^\';<>=|\\(\\)]+$',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. Default value: **10**.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'HostAccounts' => [
+ 'description' => 'An array that consists of the host accounts that are associated with the shared key.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostGroupId' => [
- 'description' => 'The ID of the host group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserId' => [
- 'description' => 'The ID of the user.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccountNames' => [
- 'description' => 'The result of authorizing the user to manage the host accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the user was authorized to manage the host account. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- ],
- ],
- ],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'root1234', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1113', 'title' => ''],
+ 'HostsAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1235', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The O\\&M protocol.', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'TotalCount' => ['description' => 'The total number of the host accounts that are associated with the shared key.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'HostShareKeyNotFound', 'errorMessage' => 'The host share key is not found.', 'description' => ''],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"UserId\\": \\"1\\",\\n \\"HostAccountNames\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountName\\": \\"root\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<AttachHostGroupAccountsToUserResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <HostGroupId>1</HostGroupId>\\n <Message/>\\n <Code>OK</Code>\\n <UserId>1</UserId>\\n </Results>\\n <Results>\\n <HostAccountNames>\\n <HostAccountName>root</HostAccountName>\\n <Message/>\\n <Code>OK</Code>\\n </HostAccountNames>\\n </Results>\\n</AttachHostGroupAccountsToUserResponse>","errorExample":""}]',
- 'title' => 'AttachHostGroupAccountsToUser',
- 'requestParamsDescription' => 'Description of HostGroups'."\n"
- ."\n"
- .'|Field|Type|Example|Description|'."\n"
- .'|---|---|---|---|'."\n"
- .'|HostGroupId|string|1|The ID of the host group.|'."\n"
- .'|HostAccountNames|array\\[string\\]|\\["root","111","abc"\\]|The name of the host account. The value is a JSON string. You can specify up to 10 host account names for each host group.|'."\n"
- ."\n"
- .'The following code provides an example on the settings of the HostGroups parameter:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"HostGroupId":"1"}, '."\n"
- .'{"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, '."\n"
- .'{"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, '."\n"
- .'{"HostGroupId":"4","HostAccountNames":["root","111","abc"]} '."\n"
- .']'."\n"
- .'```'."\n"
- ."\n"
- .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'AttachHostGroupAccountsToUserGroup' => [
- 'summary' => 'Authorizes a user to manage one or more host groups and host accounts.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListHostAccountsForHostShareKey',
+ 'summary' => 'Queries the host accounts that are associated with a shared key.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccountsForHostShareKey'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostAccountsForHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccounts\\": [\\n {\\n \\"HostAccountName\\": \\"root1234\\",\\n \\"HostId\\": \\"1113\\",\\n \\"HostsAccountId\\": \\"1235\\",\\n \\"ProtocolName\\": \\"SSH\\"\\n }\\n ],\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
+ ],
+ 'ListHostAccountsForUser' => [
+ 'summary' => 'Queries the host accounts of a host and whether a user is authorized to manage each host account.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to authorize the user group to manage the specified host groups and host accounts.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to perform the query. The host accounts that the specified user is authorized to manage on the specified host are queried.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to authorize the user group to manage the specified host groups and host accounts.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to perform the query. The host accounts that the specified user is authorized to manage on the specified host are queried.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserGroupId',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group that you want to authorize to manage the specified host groups and host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user for which you want to query authorized host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'HostGroups',
+ 'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host group and the name of the host account that you want to authorize the user group to manage. You can specify up to 10 host group IDs and up to 10 host account names for each host group. You can specify only host group IDs. In this case, the user group is authorized to manage only the specified host groups. For more information about this parameter, see the "Description of the HostGroups parameter" section of this topic.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group and the [ListHostAccounts](~~204372~~) operation to query the name of the host account.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[ {"HostGroupId":"1"}, {"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, {"HostGroupId":"4","HostAccountNames":["root","111","abc"]}]',
- 'pattern' => '^[^\';<>=|\\(\\)]+$',
- ],
+ 'schema' => ['description' => 'The ID of the host to query.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page.<br>'."\n"
+ .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAccountName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the host account that you want to query. Exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'root', 'title' => ''],
],
],
'responses' => [
@@ -13933,129 +10944,79 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'TotalCount' => ['description' => 'The total number of host accounts that were queried.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE ', 'title' => ''],
+ 'HostAccounts' => [
+ 'description' => 'An array that consists of the queried host accounts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostGroupId' => [
- 'description' => 'The ID of the host group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'UserGroupId' => [
- 'description' => 'The ID of the user group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccountNames' => [
- 'description' => 'The result of authorizing the user group to manage the specified host accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The return code that indicates whether the user group was authorized to manage the specified host account. Valid values:'."\n"
- ."\n"
- .'* **OK**: The call was successful.'."\n"
- .'* **UNEXPECTED**: An unknown error occurred.'."\n"
- .'* **INVALID_ARGUMENT**: A request parameter is invalid.'."\n"
- .'* **OBJECT_NOT_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
- .'* **OBJECT_AlREADY_EXISTS**: The specified object on which you want to perform the operation already exists.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'This parameter is deprecated.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'abc',
- ],
- ],
- ],
- ],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'IsAuthorized' => ['description' => 'Indicates whether the user is authorized to manage the host account. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes'."\n"
+ ."\n"
+ .'- **false**: no', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol that is used by the host. Valid values:'."\n"
+ ."\n"
+ .'- **SSH**'."\n"
+ ."\n"
+ .'- **RDP**', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host for which the host accounts were queried.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"HostAccountNames\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostAccountName\\": \\"abc\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<AttachHostGroupAccountsToUserGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Message/>\\n <HostGroupId>1</HostGroupId>\\n <Code>OK</Code>\\n <UserGroupId>1</UserGroupId>\\n </Results>\\n <Results>\\n <HostAccountNames>\\n <HostAccountName>abc</HostAccountName>\\n <Message/>\\n <Code>OK</Code>\\n </HostAccountNames>\\n </Results>\\n</AttachHostGroupAccountsToUserGroupResponse>","errorExample":""}]',
- 'title' => 'AttachHostGroupAccountsToUserGroup',
- 'requestParamsDescription' => 'Description of HostGroups'."\n"
- ."\n"
- .'|Field|Type|Example|Description|'."\n"
- .'|---|---|---|---|'."\n"
- .'|HostGroupId|string|1|The ID of the host group.|'."\n"
- .'|HostAccountNames|array\\[string\\]|\\["root","111","abc"\\]|The name of the host account. The value is a JSON string. You can specify up to 10 host account names for each host group.|'."\n"
- ."\n"
- .'The following code provides an example on the settings of HostGroups:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"HostGroupId":"1"}, '."\n"
- .'{"HostGroupId":"2","HostAccountNames":["root","111","abc"]}, '."\n"
- .'{"HostGroupId":"3","HostAccountNames":["root","111","abc"]}, '."\n"
- .'{"HostGroupId":"4","HostAccountNames":["root","111","abc"]} '."\n"
- .']'."\n"
- .'```'."\n"
- ."\n"
- .'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'title' => 'ListHostAccountsForUser',
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccountsForUser'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostAccountsForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE \\",\\n \\"HostAccounts\\": [\\n {\\n \\"HostAccountName\\": \\"root\\",\\n \\"HostAccountId\\": \\"1\\",\\n \\"IsAuthorized\\": true,\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListHostAccountsForUserGroup' => [
'summary' => 'Queries the host accounts of a host and whether a user group is authorized to manage each host account.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14066,91 +11027,53 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to query the host accounts to be managed by the specified user group on the specified host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to query the host accounts to be managed by the specified user group on the specified host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to query the host accounts to be managed by the specified user group on the specified host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to query the host accounts to be managed by the specified user group on the specified host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group for which you want to query authorized host accounts.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user group for which you want to query authorized host accounts.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host to query.'."\n"
- ."\n"
- .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host to query.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page.<br> Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'HostAccountName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host account that you want to query. Exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root',
- ],
+ 'schema' => ['description' => 'The name of the host account that you want to query. Exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'root', 'title' => ''],
],
],
'responses' => [
@@ -14158,90 +11081,79 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of host accounts that were queried.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'TotalCount' => ['description' => 'The total number of host accounts that were queried.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
'HostAccounts' => [
- 'description' => 'An array that consists of the queried host accounts.'."\n",
+ 'description' => 'An array that consists of the queried host accounts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'host1',
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'IsAuthorized' => [
- 'description' => 'Indicates whether the user group is authorized to manage the host account. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol that is used by the host. Valid values:'."\n"
- ."\n"
- .'* **SSH**'."\n"
- .'* **RDP**'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host for which the host accounts were queried.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'HostAccountName' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'host1', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The ID of the host account.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'IsAuthorized' => ['description' => 'Indicates whether the user group is authorized to manage the host account. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes'."\n"
+ ."\n"
+ .'- **false**: no', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol that is used by the host. Valid values:'."\n"
+ ."\n"
+ .'- **SSH**'."\n"
+ ."\n"
+ .'- **RDP**', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host for which the host accounts were queried.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccounts\\": [\\n {\\n \\"HostAccountName\\": \\"host1\\",\\n \\"HostAccountId\\": \\"1\\",\\n \\"IsAuthorized\\": true,\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostAccountsForUserGroupResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostAccounts>\\n <HostAccountName>host1</HostAccountName>\\n <ProtocolName>SSH</ProtocolName>\\n <IsAuthorized>true</IsAuthorized>\\n <HostId>1</HostId>\\n <HostAccountId>1</HostAccountId>\\n </HostAccounts>\\n</ListHostAccountsForUserGroupResponse>","errorExample":""}]',
'title' => 'ListHostAccountsForUserGroup',
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccountsForUserGroup'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostAccountsForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccounts\\": [\\n {\\n \\"HostAccountName\\": \\"host1\\",\\n \\"HostAccountId\\": \\"1\\",\\n \\"IsAuthorized\\": true,\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListHostGroupAccountNamesForUser' => [
'summary' => 'Queries the names of the host accounts that a specified user is authorized to manage in a specified host group.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14252,58 +11164,36 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the user belongs.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which the user belongs.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the user belongs.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the user belongs.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'HostGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host group.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host group.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -14311,53 +11201,57 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
'HostAccountNames' => [
- 'description' => 'An array that consists of the names of host accounts.'."\n",
+ 'description' => 'An array that consists of the names of host accounts.',
'type' => 'array',
- 'items' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'abc',
- ],
+ 'items' => ['description' => 'The name of the host account.', 'type' => 'string', 'example' => 'abc', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccountNames\\": [\\n \\"abc\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostGroupAccountNamesForUserResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostAccountNames>abc</HostAccountNames>\\n</ListHostGroupAccountNamesForUserResponse>","errorExample":""}]',
'title' => 'ListHostGroupAccountNamesForUser',
- 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListHostGroupAccountNamesForUserGroup' => [
- 'summary' => 'Queries the names of the host accounts that a user group is authorized to manage in a host group.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupAccountNamesForUser'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostGroupAccountNamesForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccountNames\\": [\\n \\"abc\\"\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListHostGroupAccountNamesForUserGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14368,114 +11262,96 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to query the host account names the user group is authorized to manage in a host group.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to query the host account names the user group is authorized to manage in a host group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to query the host account names the user group is authorized to manage in a host group.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to query the host account names the user group is authorized to manage in a host group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user group.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'HostGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host group.'."\n"
- ."\n"
- .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host group.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
'HostAccountNames' => [
- 'description' => 'The names of host accounts returned.'."\n",
+ 'description' => 'The names of host accounts returned.',
'type' => 'array',
- 'items' => [
- 'description' => 'The name of host account returned.'."\n",
- 'type' => 'string',
- 'example' => '["root","abc"]',
- ],
+ 'items' => ['description' => 'The name of host account returned.', 'type' => 'string', 'example' => '["root","abc"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccountNames\\": [\\n \\"[\\\\\\"root\\\\\\",\\\\\\"abc\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostGroupAccountNamesForUserGroupResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostAccountNames>root</HostAccountNames>\\n <HostAccountNames>abc</HostAccountNames>\\n</ListHostGroupAccountNamesForUserGroupResponse>","errorExample":""}]',
'title' => 'ListHostGroupAccountNamesForUserGroup',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
+ 'summary' => 'Queries the names of the host accounts that a user group is authorized to manage in a host group.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListHostGroupsForUser' => [
- 'summary' => 'Queries a list of host groups that a bastion host user is authorized or is not authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupAccountNamesForUserGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostGroupAccountNamesForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccountNames\\": [\\n \\"[\\\\\\"root\\\\\\",\\\\\\"abc\\\\\\"]\\"\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListHostGroups' => [
+ 'summary' => 'Queries a list of asset groups that are managed by a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14486,92 +11362,39 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostN06FHS',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose user you want to query.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~462953~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host whose user you want to query.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'Mode',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The category of the host groups to query. Valid values:'."\n"
- ."\n"
- .'* **Authorized** (default): queries the host groups that the user is authorized to manage.'."\n"
- .'* **Unauthorized**: queries the host groups that the user is not authorized to manage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Authorized',
- ],
- ],
- [
- 'name' => 'UserId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The user ID.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host in which you want to query the host group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The number of entries per page. Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'HostGroupName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host group to query. The name can be up to 128 characters in length. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'group',
- ],
+ 'schema' => ['description' => 'The name of the host group that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'HostGroup1', 'title' => ''],
],
],
'responses' => [
@@ -14579,76 +11402,55 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of host groups returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'TotalCount' => ['description' => 'The total number of asset groups returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
'HostGroups' => [
- 'description' => 'The host groups returned.'."\n",
+ 'description' => 'The asset groups returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'HostGroupId' => [
- 'description' => 'The host group ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the host group.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'HostGroupName' => [
- 'description' => 'The name of the host group.'."\n",
- 'type' => 'string',
- 'example' => 'group',
- ],
+ 'MemberCount' => ['description' => 'The number of hosts in the asset group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the asset group.', 'type' => 'string', 'example' => 'Comment', 'title' => ''],
+ 'HostGroupName' => ['description' => 'The name of the asset group.', 'type' => 'string', 'example' => 'HostGroup1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostGroups\\": [\\n {\\n \\"HostGroupId\\": \\"1\\",\\n \\"Comment\\": \\"comment\\",\\n \\"HostGroupName\\": \\"group\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostGroupsForUserResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostGroups>\\n <Comment>comment</Comment>\\n <HostGroupId>1</HostGroupId>\\n <HostGroupName>group</HostGroupName>\\n </HostGroups>\\n</ListHostGroupsForUserResponse>","errorExample":""}]',
- 'title' => 'ListHostGroupsForUser',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~148139~~). For more information about sample requests, see Sample requests.'."\n",
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListHostGroupsForUserGroup' => [
- 'summary' => 'Queries the hosts that a specified user group is authorized or not authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostGroups\\": [\\n {\\n \\"MemberCount\\": 1,\\n \\"HostGroupId\\": \\"1\\",\\n \\"Comment\\": \\"Comment\\",\\n \\"HostGroupName\\": \\"HostGroup1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ListHostGroups',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroups'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'ListHostGroupsForUser' => [
+ 'summary' => 'Queries a list of host groups that a bastion host user is authorized or is not authorized to manage.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14659,92 +11461,55 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost8REEA2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the user group belongs.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose user you want to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the user group belongs.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose user you want to query.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'Mode',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies the category of the host group that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Authorized**: queries the host groups that the user group is authorized to manage. This is the default value.'."\n"
- .'* **Unauthorized**: queries the host groups that the user group is not authorized to manage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Authorized',
- ],
+ 'schema' => ['description' => 'The category of the host groups to query. Valid values:'."\n"
+ ."\n"
+ .'- **Authorized** (default): queries the host groups that the user is authorized to manage.'."\n"
+ ."\n"
+ .'- **Unauthorized**: queries the host groups that the user is not authorized to manage.', 'type' => 'string', 'required' => false, 'example' => 'Authorized', 'title' => ''],
],
[
- 'name' => 'UserGroupId',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The user ID.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The number of entries per page.<br> Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'HostGroupName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host group that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'group',
- ],
+ 'schema' => ['description' => 'The name of the host group to query. The name can be up to 128 characters in length. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'group', 'title' => ''],
],
],
'responses' => [
@@ -14752,74 +11517,57 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of host groups returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'TotalCount' => ['description' => 'The total number of host groups returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
'HostGroups' => [
- 'description' => 'The host groups returned.'."\n",
+ 'description' => 'The host groups returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'HostGroupId' => [
- 'description' => 'The ID of the host group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'Comment' => [
- 'description' => 'The description of the host group.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'HostGroupName' => [
- 'description' => 'The name of the host group.'."\n",
- 'type' => 'string',
- 'example' => 'group',
- ],
+ 'HostGroupId' => ['description' => 'The host group ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the host group.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'HostGroupName' => ['description' => 'The name of the host group.', 'type' => 'string', 'example' => 'group', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostGroups\\": [\\n {\\n \\"HostGroupId\\": \\"1\\",\\n \\"Comment\\": \\"comment\\",\\n \\"HostGroupName\\": \\"group\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostGroupsForUserGroupResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostGroups>\\n <Comment>comment</Comment>\\n <HostGroupId>1</HostGroupId>\\n <HostGroupName>group</HostGroupName>\\n </HostGroups>\\n</ListHostGroupsForUserGroupResponse>","errorExample":""}]',
- 'title' => 'ListHostGroupsForUserGroup',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
+ 'title' => 'ListHostGroupsForUser',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~148139~~). For more information about sample requests, see Sample requests.',
+ 'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListHostsForUserGroup' => [
- 'summary' => 'Queries the hosts that a user group is authorized or not authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupsForUser'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostGroups\\": [\\n {\\n \\"HostGroupId\\": \\"1\\",\\n \\"Comment\\": \\"comment\\",\\n \\"HostGroupName\\": \\"group\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListHostGroupsForUserGroup' => [
+ 'summary' => 'Queries the hosts that a specified user group is authorized or not authorized to manage.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14830,115 +11578,56 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostQ6EM52',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host on which you want to query the hosts that the user group is authorized or not authorized to manage.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which the user group belongs.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host on which you want to query the hosts that the user group is authorized or not authorized to manage.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the user group belongs.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'Mode',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies the category of the hosts that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Authorized**: queries the hosts that the user group is authorized to manage. This is the default value.'."\n"
- .'* **Unauthorized**: queries the hosts that the user group is not authorized to manage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Authorized',
- ],
+ 'schema' => ['description' => 'Specifies the category of the host group that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **Authorized**: queries the host groups that the user group is authorized to manage. This is the default value.'."\n"
+ ."\n"
+ .'- **Unauthorized**: queries the host groups that the user group is not authorized to manage.', 'type' => 'string', 'required' => false, 'example' => 'Authorized', 'title' => ''],
],
[
'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group for which you want to query hosts.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user group.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page. Default value: 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned per page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'HostAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint of the host that you want to query. You can set this parameter to a domain name or an IP address. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.XX.XX',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page.<br>'."\n"
+ .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'HostName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'abc',
- ],
- ],
- [
- 'name' => 'OSType',
+ 'name' => 'HostGroupName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The operating system of the host that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Linux',
- ],
+ 'schema' => ['description' => 'The name of the host group that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'group', 'title' => ''],
],
],
'responses' => [
@@ -14946,299 +11635,174 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of hosts returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Hosts' => [
- 'description' => 'The hosts returned.'."\n",
+ 'TotalCount' => ['description' => 'The total number of host groups returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'HostGroups' => [
+ 'description' => 'The host groups returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Comment' => [
- 'description' => 'The description of the host.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'ActiveAddressType' => [
- 'description' => 'The address type of the host. Valid values:'."\n"
- ."\n"
- .'* **Public**: public endpoint'."\n"
- .'* **Private**: internal endpoint'."\n",
- 'type' => 'string',
- 'example' => 'Public',
- ],
- 'HostPublicAddress' => [
- 'description' => 'The public endpoint of the host. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => '10.158.XX.XX',
- ],
- 'HostName' => [
- 'description' => 'The name of the host.'."\n",
- 'type' => 'string',
- 'example' => 'host1',
- ],
- 'HostPrivateAddress' => [
- 'description' => 'The internal endpoint of the host. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => '192.168.XX.XX',
- ],
- 'OSType' => [
- 'description' => 'The operating system of the host. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'example' => 'Linux',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'HostGroupId' => ['description' => 'The ID of the host group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Comment' => ['description' => 'The description of the host group.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'HostGroupName' => ['description' => 'The name of the host group.', 'type' => 'string', 'example' => 'group', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Hosts\\": [\\n {\\n \\"Comment\\": \\"comment\\",\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"HostPublicAddress\\": \\"10.158.XX.XX\\",\\n \\"HostName\\": \\"host1\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostsForUserGroupResponse>\\n <Hosts>\\n <Comment>comment</Comment>\\n <ActiveAddressType>Public</ActiveAddressType>\\n <HostPrivateAddress>192.168.XX.XX</HostPrivateAddress>\\n <HostPublicAddress>10.158.XX.XX</HostPublicAddress>\\n <OSType>Linux</OSType>\\n <HostId>1</HostId>\\n <HostName>host1</HostName>\\n </Hosts>\\n <TotalCount>10</TotalCount>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</ListHostsForUserGroupResponse>","errorExample":""}]',
- 'title' => 'ListHostsForUserGroup',
- 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.'."\n",
+ 'title' => 'ListHostGroupsForUserGroup',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'AttachDatabaseAccountsToUser' => [
- 'summary' => 'Authorizes a user to manage databases and database accounts.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupsForUserGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostGroupsForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostGroups\\": [\\n {\\n \\"HostGroupId\\": \\"1\\",\\n \\"Comment\\": \\"comment\\",\\n \\"HostGroupName\\": \\"group\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListHostShareKeys' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose user you want to grant permissions.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-wwo36qbv601',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user to be authorized.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Databases',
+ 'name' => 'PageSize',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'An array that consists of database objects.'."\n"
- ."\n"
- .'> You can specify up to 10 databases and 10 database accounts. The database accounts are not required. If you do not specify a database account, the user is authorized to manage only the databases.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'DatabaseId' => [
- 'description' => 'The ID of the database that you want to authorize the user to manage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '22',
- ],
- 'DatabaseAccountIds' => [
- 'description' => 'An array that consists of database account IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1","2","3"]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '23120B8E-8737-50BD-A3A3-902A7821F04D',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'TotalCount' => ['description' => 'The total number of the shared keys.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
+ 'HostShareKeys' => [
+ 'description' => 'An array that consists of the shared keys.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The error code that is returned. If **OK** is returned, the authorization was successful. If another error code is returned, the authorization failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseAccounts' => [
- 'description' => 'A list that shows the authorization results of the database accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The error code that is returned. If OK is returned, the authorization was successful. If another error code is returned, the authorization failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseAccountId' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'example' => '6',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned.'."\n",
- 'type' => 'string',
- 'example' => 'success',
- ],
- ],
- ],
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '22',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'UserId' => [
- 'description' => 'The user ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'HostAccountCount' => ['description' => 'The number of the associated host accounts.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'LastModifyKeyAt' => ['description' => 'The time when the shared key was last modified. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1644806406', 'title' => ''],
+ 'HostShareKeyName' => ['description' => 'The name of the shared key.', 'type' => 'string', 'example' => 'name', 'title' => ''],
+ 'PrivateKeyFingerPrint' => ['description' => 'The fingerprint of the private key.', 'type' => 'string', 'example' => 'aa:10:f5:21:7f:8b:3e:86:b0:8b:f0:e0******', 'title' => ''],
+ 'HostShareKeyId' => ['description' => 'The shared key ID.', 'type' => 'string', 'example' => '10247', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"23120B8E-8737-50BD-A3A3-902A7821F04D\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccountId\\": \\"6\\",\\n \\"Message\\": \\"success\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"22\\",\\n \\"Message\\": \\"None\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'AttachDatabaseAccountsToUser',
- 'requestParamsDescription' => 'Data structures of request parameters'."\n"
- ."\n"
- .'Databases'."\n"
- ."\n"
- .'|Field|Type|Description|'."\n"
- .'|---|---|---|'."\n"
- .'|DatabaseId|string|The database ID.|'."\n"
- .'|DatabaseAccountIds|array\\[string\\]|An array that consists of database account IDs. You can specify up to 10 IDs.|'."\n"
- ."\n"
- .'The following code provides example values of the Databases parameter:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"DatabaseId":"1"} // Authorize the user to manage only the database.{"DatabaseId":"2","DatabaseAccountIds":["1","2","3",...]}, // Authorize the user to manage the database and database accounts.{"DatabaseId":"5","DatabaseAccountIds":[]} // Not supported.]'."\n"
- .'```',
- ],
- 'ListDatabasesForUser' => [
- 'summary' => 'Queries the databases that a user is authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListHostShareKeys',
+ 'summary' => 'Queries the shared keys that are associated with a host.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostShareKeys'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostShareKeys',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 10,\\n \\"HostShareKeys\\": [\\n {\\n \\"HostAccountCount\\": 1,\\n \\"LastModifyKeyAt\\": 1644806406,\\n \\"HostShareKeyName\\": \\"name\\",\\n \\"PrivateKeyFingerPrint\\": \\"aa:10:f5:21:7f:8b:3e:86:b0:8b:f0:e0******\\",\\n \\"HostShareKeyId\\": \\"10247\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListHosts' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -15249,112 +11813,85 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-tl32swayw7o',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to query hosts.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to query hosts.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**. Pages start from page 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Default value: **10**.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'OSType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The operating system of the host that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'required' => false, 'example' => 'Linux', 'title' => ''],
],
[
- 'name' => 'DatabaseName',
+ 'name' => 'HostName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the database to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MySQL-8.0',
- ],
+ 'schema' => ['description' => 'The name of the host that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'host', 'title' => ''],
],
[
- 'name' => 'DatabaseAddress',
+ 'name' => 'HostAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The address of the database to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '47.101.**.**',
- ],
+ 'schema' => ['description' => 'The address of the host that you want to query. You can set this parameter to a domain name or an IP address. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => '1.1.XX.XX', 'title' => ''],
],
[
- 'name' => 'DatabaseType',
+ 'name' => 'Source',
'in' => 'query',
- 'schema' => [
- 'description' => 'The engine of the database to query. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MySQL',
- ],
+ 'schema' => ['description' => 'The source of the host that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a host in a data center'."\n"
+ ."\n"
+ .'- **Ecs**: an Elastic Compute Service (ECS) instance'."\n"
+ ."\n"
+ .'- **Rds**: a host in an ApsaraDB MyBase dedicated cluster', 'type' => 'string', 'required' => false, 'example' => 'Local', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
+ 'name' => 'SourceInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the network domain where the database to query resides.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '5',
- ],
+ 'schema' => ['description' => 'The ID of the ECS instance or the host in an ApsaraDB MyBase dedicated cluster that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
+ ],
+ [
+ 'name' => 'SourceInstanceState',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The status of the host that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: normal'."\n"
+ ."\n"
+ .'- **Release**: released', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the host group to which the host to be queried belongs.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
@@ -15362,212 +11899,171 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Databases' => [
- 'description' => 'The databases returned.'."\n",
+ 'TotalCount' => ['description' => 'The total number of hosts returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Hosts' => [
+ 'description' => 'An array that consists of the hosts returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'ActiveAddressType' => [
- 'description' => 'The address type of the database. Valid values:'."\n"
- ."\n"
- .'* **Public**'."\n"
- .'* **Private**'."\n",
- 'type' => 'string',
- 'example' => 'Private',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the database.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '36',
- ],
- 'DatabaseName' => [
- 'description' => 'The database name.'."\n",
- 'type' => 'string',
- 'example' => 'MySQL56',
- ],
- 'DatabasePort' => [
- 'description' => 'The database port.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3306',
- ],
- 'DatabasePrivateAddress' => [
- 'description' => 'The internal endpoint of the database. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => 'rm-wz97******',
- ],
- 'DatabasePublicAddress' => [
- 'description' => 'The public endpoint of the database. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => 'rm-uf65******',
- ],
- 'DatabaseType' => [
- 'description' => 'The database engine. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**'."\n",
- 'type' => 'string',
- 'example' => 'MySQL',
- ],
- 'NetworkDomainId' => [
- 'description' => 'The ID of the network domain where the database resides.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- 'Source' => [
- 'description' => 'The database type. Valid values:'."\n"
- ."\n"
- .'* **Local**: on-premises database.'."\n"
- .'* **Rds**: ApsaraDB RDS instance.'."\n"
- .'* **PolarDB**: PolarDB cluster.'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'SourceInstanceId' => [
- 'description' => 'The ID of the ApsaraDB RDS instance or PolarDB cluster.'."\n"
- ."\n"
- .'> No value is returned for this parameter if **Source** is set to **Local**.'."\n",
- 'type' => 'string',
- 'example' => 'i-wz9fv2hwux78x9h1pmje',
- ],
+ 'Comment' => ['description' => 'The description of the host.', 'type' => 'string', 'example' => 'host', 'title' => ''],
+ 'ActiveAddressType' => ['description' => 'The address type of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Public**: a public address'."\n"
+ ."\n"
+ .'- **Private**: a private address', 'type' => 'string', 'example' => 'Public', 'title' => ''],
+ 'HostPublicAddress' => ['description' => 'The public address of the host. The value is a domain name or an IP address.', 'type' => 'string', 'example' => '1.1.XX.XX', 'title' => ''],
+ 'HostName' => ['description' => 'The name of the host.', 'type' => 'string', 'example' => 'name', 'title' => ''],
+ 'HostAccountCount' => ['description' => 'The number of host accounts.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'Source' => ['description' => 'The source of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a host in a data center'."\n"
+ ."\n"
+ .'- **Ecs**: an ECS instance'."\n"
+ ."\n"
+ .'- **Rds**: a host in an ApsaraDB MyBase dedicated cluster', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'HostPrivateAddress' => ['description' => 'The private address of the host. The value is a domain name or an IP address.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ 'OSType' => ['description' => 'The operating system of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'example' => 'Linux', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'SourceInstanceState' => ['description' => 'The status of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: normal'."\n"
+ ."\n"
+ .'- **Release**: released', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'SourceInstanceId' => ['description' => 'The ID of the ECS instance or the host in an ApsaraDB MyBase dedicated cluster.'."\n"
+ ."\n"
+ .'> No value is returned for this parameter if the **Source** parameter is set to **Local**.', 'type' => 'string', 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'A8A665B9-8550-4942-9DEE-73198051856B',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of databases returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '15',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Databases\\": [\\n {\\n \\"ActiveAddressType\\": \\"Private\\",\\n \\"Comment\\": \\"comment\\",\\n \\"DatabaseId\\": \\"36\\",\\n \\"DatabaseName\\": \\"MySQL56\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"DatabasePublicAddress\\": \\"www.example.com\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"NetworkDomainId\\": \\"2\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9fv2hwux78x9******\\"\\n }\\n ],\\n \\"RequestId\\": \\"A8A665B9-8550-4942-9DEE-73198051856B\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]',
- 'title' => 'ListDatabasesForUser',
- ],
- 'DetachDatabaseAccountsFromUserGroup' => [
- 'summary' => 'Revokes permissions on databases and database accounts from a user group.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListHosts',
+ 'summary' => 'Queries the hosts in a bastion host.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHosts'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHosts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Hosts\\": [\\n {\\n \\"Comment\\": \\"host\\",\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"HostPublicAddress\\": \\"1.1.XX.XX\\",\\n \\"HostName\\": \\"name\\",\\n \\"HostAccountCount\\": 1,\\n \\"Source\\": \\"Local\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"HostId\\": \\"1\\",\\n \\"SourceInstanceState\\": \\"Normal\\",\\n \\"SourceInstanceId\\": \\"i-bp19ienyt0yax748****\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListHostsForUser' => [
+ 'summary' => 'Queries the hosts that a user group is authorized or not authorized to manage.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-7mz2v120f0y',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to query the hosts that the user is authorized or not authorized to manage.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to query the hosts that the user is authorized or not authorized to manage.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserGroupId',
+ 'name' => 'Mode',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group from which you want to revoke permissions on databases and database accounts.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.',
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'Specifies the category of the hosts that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **Authorized**: queries the hosts that the user is authorized to manage. This is the default value.'."\n"
+ ."\n"
+ .'- **Unauthorized**: queries the hosts that the user is not authorized to manage.', 'type' => 'string', 'required' => false, 'example' => 'Authorized', 'title' => ''],
],
[
- 'name' => 'Databases',
+ 'name' => 'UserId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The information about the database.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'DatabaseId' => [
- 'description' => 'The ID of the database on which the permissions are to be revoked.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '4',
- ],
- 'DatabaseAccountIds' => [
- 'description' => 'An array that consists of database account IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the database accounts on which the permissions are to be revoked.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1","2","3"]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The ID of the user.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of the page. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned per page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint of the host that you want to query. You can set this parameter to a domain name or an IP address. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the host that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''],
+ ],
+ [
+ 'name' => 'OSType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The operating system of the host that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'required' => false, 'example' => 'Linux', 'title' => ''],
],
],
'responses' => [
@@ -15575,113 +12071,81 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'AC528ED1-C302-56E5-9CB5-ADA625D64FF9',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'TotalCount' => ['description' => 'The total number of hosts returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE ', 'title' => ''],
+ 'Hosts' => [
+ 'description' => 'The hosts returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The error code that is returned. If OK is returned, the operation was successful. If other error codes are returned, the operation failed.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseAccounts' => [
- 'description' => 'A list that shows the authorization results of the database accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The error code that is returned. If OK is returned, the operation was successful. If other error codes are returned, the operation failed.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseAccountId' => [
- 'description' => 'The ID of the database account on which the permissions are revoked.',
- 'type' => 'string',
- 'example' => '5',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned.',
- 'type' => 'string',
- 'example' => 'N/A',
- ],
- ],
- ],
- ],
- 'DatabaseId' => [
- 'description' => 'The ID of the database on which the permissions are revoked.',
- 'type' => 'string',
- 'example' => '27',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned.',
- 'type' => 'string',
- 'example' => 'N/A',
- ],
- 'UserGroupId' => [
- 'description' => 'The user group ID.',
- 'type' => 'string',
- 'example' => '3',
- ],
+ 'Comment' => ['description' => 'The description of the host.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'ActiveAddressType' => ['description' => 'The endpoint type of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Public**: public endpoint'."\n"
+ ."\n"
+ .'- **Private**: internal endpoint', 'type' => 'string', 'example' => 'Public', 'title' => ''],
+ 'HostPublicAddress' => ['description' => 'The public endpoint of the host. The value is a domain name or an IP address.', 'type' => 'string', 'example' => '10.158.XX.XX', 'title' => ''],
+ 'HostName' => ['description' => 'The name of the host.', 'type' => 'string', 'example' => 'host01', 'title' => ''],
+ 'HostPrivateAddress' => ['description' => 'The internal endpoint of the host. The value is a domain name or an IP address.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ 'OSType' => ['description' => 'The operating system of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'example' => 'Linux', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AC528ED1-C302-56E5-9CB5-ADA625D64FF9\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccountId\\": \\"5\\",\\n \\"Message\\": \\"None\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"27\\",\\n \\"Message\\": \\"None\\",\\n \\"UserGroupId\\": \\"3\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DetachDatabaseAccountsFromUserGroup',
- 'requestParamsDescription' => 'Data structures of request parameters'."\n"
- ."\n"
- .'| Parameter | Type | Description |'."\n"
- .'|-------|-------|-------|'."\n"
- .'| DatabaseId | string | The database ID.|'."\n"
- .'| DatabaseAccountIds | array[string] | An array of database account IDs. Specify a JSON string. You can specify up to 10 database account IDs. |'."\n"
- ."\n"
- .'The following code provides example values of the Databases parameter:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"DatabaseId":"1"} // Revoke the permissions on the database and database accounts.'."\n"
- .'{"DatabaseId":"2","DatabaseAccountIds":["1","2","3",...]}, // Revoke the permissions on only database accounts.'."\n"
- .'{"DatabaseId":"5","DatabaseAccountIds":[]} // Not supported.'."\n"
- .'...'."\n"
- .']'."\n"
- .'```',
- ],
- 'ListDatabaseAccountsForUser' => [
- 'summary' => 'Queries the database accounts of a database and whether a user is authorized to manage each database account.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListHostsForUser',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostsForUser'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostsForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE \\",\\n \\"Hosts\\": [\\n {\\n \\"Comment\\": \\"comment\\",\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"HostPublicAddress\\": \\"10.158.XX.XX\\",\\n \\"HostName\\": \\"host01\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListHostsForUserGroup' => [
+ 'summary' => 'Lists the authorized or unauthorized hosts for a bastion host user group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -15692,89 +12156,69 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-zz42zoqql01',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host instance that contains the user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
+ 'schema' => ['description' => 'The ID of the region where the bastion host instance is located.'."\n"
+ ."\n"
+ .'> For more information about regions and their corresponding IDs, see [regions and availability zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'Mode',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user to query. This operation returns whether the user is authorized to manage each database account.'."\n"
- ."\n"
- .'> You can call the ListUsers operation to query the ID of the user.[](~~204522~~)'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'Specifies whether to query for authorized or unauthorized hosts. Valid values:'."\n"
+ ."\n"
+ .'- **Authorized** (default)'."\n"
+ ."\n"
+ .'- **Unauthorized**', 'type' => 'string', 'required' => false, 'example' => 'Authorized', 'title' => ''],
],
[
- 'name' => 'DatabaseId',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the database whose accounts you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '89',
- ],
+ 'schema' => ['description' => 'The ID of the user group whose hosts you want to list.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to obtain the user group ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number of the page to return. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page.<br>Maximum value: 100. Default value: 20.<br>'."\n"
+ ."\n"
+ .'> We recommend that you specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'DatabaseAccountName',
+ 'name' => 'HostAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the database account to query. The name can be up to 128 characters in length. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The address of the host. You can set this parameter to a domain name or an IP address. Exact match is supported.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the host. Exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''],
+ ],
+ [
+ 'name' => 'OSType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The operating system of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'required' => false, 'example' => 'Linux', 'title' => ''],
],
],
'responses' => [
@@ -15782,175 +12226,135 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'DatabaseAccounts' => [
- 'description' => 'The database accounts returned.'."\n",
+ 'TotalCount' => ['description' => 'The total number of hosts.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Hosts' => [
+ 'description' => 'A list of hosts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'DatabaseAccountId' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'example' => '6',
- ],
- 'DatabaseAccountName' => [
- 'description' => 'The name of the database account.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'DatabaseId' => [
- 'description' => 'The ID of the database to which the database account belongs.'."\n",
- 'type' => 'string',
- 'example' => '70',
- ],
- 'IsAuthorized' => [
- 'description' => 'Indicates whether the user is authorized to manage the database account. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol used by the database account. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**'."\n",
- 'type' => 'string',
- 'example' => 'MySQL',
- ],
+ 'Comment' => ['description' => 'The remarks of the host.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'ActiveAddressType' => ['description' => 'The address type of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Public**: a public IP address'."\n"
+ ."\n"
+ .'- **Private**: a private IP address', 'type' => 'string', 'example' => 'Public', 'title' => ''],
+ 'HostPublicAddress' => ['description' => 'The public IP address of the host. This can be a domain name or an IP address.', 'type' => 'string', 'example' => '10.158.XX.XX', 'title' => ''],
+ 'HostName' => ['description' => 'The name of the host.', 'type' => 'string', 'example' => 'host1', 'title' => ''],
+ 'HostPrivateAddress' => ['description' => 'The private IP address of the host. This can be a domain name or an IP address.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ 'OSType' => ['description' => 'The OS type of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'example' => 'Linux', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => 'The information about the host.',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '00E3701B-3616-55FE-93EC-E7CF5480B654',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of database accounts that are returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3',
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'description' => 'The data returned.',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DatabaseAccountId\\": \\"6\\",\\n \\"DatabaseAccountName\\": \\"test\\",\\n \\"DatabaseId\\": \\"70\\",\\n \\"IsAuthorized\\": true,\\n \\"ProtocolName\\": \\"MySQL\\"\\n }\\n ],\\n \\"RequestId\\": \\"00E3701B-3616-55FE-93EC-E7CF5480B654\\",\\n \\"TotalCount\\": 3\\n}","type":"json"}]',
- 'title' => 'ListDatabaseAccountsForUser',
- ],
- 'DetachDatabaseAccountsFromUser' => [
- 'summary' => 'Revokes permissions on databases and database accounts from a user.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListHostsForUserGroup',
+ 'requestParamsDescription' => 'In addition to API-specific parameters, requests must include the common request parameters for Alibaba Cloud APIs. See [common parameters](~~148139~~) for a detailed description and the request example in this topic for the request format.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostsForUserGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostsForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Hosts\\": [\\n {\\n \\"Comment\\": \\"comment\\",\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"HostPublicAddress\\": \\"10.158.XX.XX\\",\\n \\"HostName\\": \\"host1\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'translator' => 'machine',
+ ],
+ 'ListImportableKMSSecretsForHost' => [
+ 'summary' => 'Lists all importable KMS secrets for a specified host.',
+ 'path' => '',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the DescribeInstances operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-pe335ipfk01',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to get this ID.', 'type' => 'string', 'required' => false, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For details about the mapping between region IDs and region names, see [Regions and availability zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user from whom you want to revoke the permissions on databases and database accounts.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => 'The ID of the host.'."\n"
+ ."\n"
+ .'> Call the [ListHosts](~~200665~~) operation to get this ID.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Databases',
+ 'name' => 'Keyword',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The databases.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'DatabaseId' => [
- 'description' => 'The ID of the database on which you want to revoke permissions.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '8',
- ],
- 'DatabaseAccountIds' => [
- 'description' => 'An array that consists of database account IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the database accounts on which you want to revoke permissions.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1","2","3"]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The name of the secret to search for. Fuzzy matching is supported.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token to retrieve the next page of results.'."\n"
+ ."\n"
+ .'> You do not need to specify this parameter for the first request. For subsequent requests, use the `NextToken` value from the previous response.', 'type' => 'string', 'required' => false, 'example' => '42bc833a0a0002dae0b5e8707e68181f', 'title' => ''],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
],
'responses' => [
@@ -15958,312 +12362,285 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '79D7E114-CB52-5695-AB15-12776C308387',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
+ 'MaxResults' => ['description' => 'The value of the `MaxResults` parameter in the request. If the parameter was not specified, the default value of 20 is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ 'Secrets' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The error code that is returned. If **OK** is returned, the operation was successful. If another error code is returned, the operation failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseAccounts' => [
- 'description' => 'A list that shows the operation results of the database accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The error code that is returned. If OK is returned, the operation was successful. If another error code is returned, the operation failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseAccountId' => [
- 'description' => 'The ID of the database account on which the permissions are revoked.'."\n",
- 'type' => 'string',
- 'example' => '9',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- ],
- ],
- ],
- 'DatabaseId' => [
- 'description' => 'The ID of the database on which the permissions are revoked.'."\n",
- 'type' => 'string',
- 'example' => '4',
- ],
- 'Message' => [
- 'description' => 'The error message that is returned.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'UserId' => [
- 'description' => 'The user ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'SecretName' => ['description' => 'The name of the secret.', 'type' => 'string', 'example' => 'test1', 'title' => ''],
+ 'SecretType' => ['description' => 'The type of the secret. Valid value:'."\n"
+ ."\n"
+ .'- `ECS`: an ECS secret.', 'type' => 'string', 'example' => 'ECS', 'title' => ''],
+ 'Tags' => ['description' => 'The tags associated with the secret.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
+ 'description' => 'Details of a secret.',
+ 'title' => '',
+ 'example' => '',
],
+ 'description' => 'A list of importable secrets.',
+ 'title' => '',
+ 'example' => '',
],
+ 'NextToken' => ['description' => 'The token to retrieve the next page of results. If this field is empty, all results have been returned.', 'type' => 'string', 'example' => '4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****', 'title' => ''],
],
- 'description' => '',
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ 'title' => '',
+ 'description' => 'The response object.',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"79D7E114-CB52-5695-AB15-12776C308387\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccountId\\": \\"9\\",\\n \\"Message\\": \\"None\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"4\\",\\n \\"Message\\": \\"None\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DetachDatabaseAccountsFromUser',
- 'requestParamsDescription' => 'Data structures of request parameters'."\n"
- ."\n"
- .'Databases'."\n"
- ."\n"
- .'|Parameter|Type|Description|'."\n"
- .'|---|---|---|'."\n"
- .'|DatabaseId|string|The database ID.|'."\n"
- .'|DatabaseAccountIds|array\\[string\\]|An array that consists of database account IDs. Specify a JSON string. You can specify up to 10 database account IDs.|'."\n"
- ."\n"
- .'The following code provides example values of Databases:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"DatabaseId":"1"} // Revoke permissions on the database and the database accounts.'."\n"
- .'{"DatabaseId":"2","DatabaseAccountIds":["1","2","3",...]}, // Revoke permissions on only the database accounts.'."\n"
- .'{"DatabaseId":"5","DatabaseAccountIds":[]} // Not supported.'."\n"
- .'...'."\n"
- .']'."\n"
- .'```',
+ 'errorCodes' => [],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ListImportableKMSSecretsForHost',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"MaxResults\\": 20,\\n \\"Secrets\\": [\\n {\\n \\"SecretName\\": \\"test1\\",\\n \\"SecretType\\": \\"ECS\\",\\n \\"Tags\\": \\"test\\"\\n }\\n ],\\n \\"NextToken\\": \\"4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****\\"\\n}","type":"json"}]',
],
- 'AttachDatabaseAccountsToUserGroup' => [
- 'summary' => 'Authorizes a user group to manage databases and database accounts.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListInstanceRdMembers' => [
+ 'path' => '',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-zvp282aly06',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserGroupId',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The token for a paged query. If this is your first query, leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****', 'title' => ''],
],
[
- 'name' => 'Databases',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'style' => 'flat',
+ 'schema' => ['description' => 'The maximum number of RD member accounts to return. Valid values: 1 to 100. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'An array that consists of the database objects.'."\n"
- ."\n"
- .'> You can specify up to 10 databases and 10 database accounts. The database accounts are not required. If you do not specify a database account, the user group is authorized to manage only the databases.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'DatabaseId' => [
- 'description' => 'The ID of the database that you want to authorize the user group to manage.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '58',
- ],
- 'DatabaseAccountIds' => [
- 'description' => 'An array that consists of database account IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of a database account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1","2","3"]',
+ 'type' => 'object',
+ 'properties' => [
+ 'Members' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'MemberId' => ['description' => 'The UID of the member account.', 'type' => 'string', 'example' => '1197234496852779', 'title' => ''],
],
- 'required' => false,
+ 'description' => 'A member account.',
+ 'title' => '',
+ 'example' => '',
],
+ 'description' => 'A list of member accounts.',
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'NextToken' => ['description' => 'The token for the next page of results. If the response is truncated, this parameter is returned. Use this token in your next request to retrieve the next page. If this parameter is empty, all results have been returned.', 'type' => 'string', 'example' => '4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****', 'title' => ''],
+ 'MaxResults' => ['description' => 'The value of MaxResults in the request. If you did not specify MaxResults, the default value is returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
],
- 'required' => false,
+ 'title' => '',
+ 'description' => 'The response parameters.',
+ 'example' => '',
],
],
],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ListInstanceRdMembers',
+ 'summary' => 'Lists the member accounts in a Resource Directory (RD).',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Members\\": [\\n {\\n \\"MemberId\\": \\"1197234496852779\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"NextToken\\": \\"4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****\\",\\n \\"MaxResults\\": 20\\n}","type":"json"}]',
+ ],
+ 'ListNetworkDomains' => [
+ 'summary' => 'Lists the network domains configured in a Bastionhost instance. Network domains define the connectivity between Bastionhost and the hosts or databases that it manages.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-tl329pvu70x', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about regions and zones, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page.<br> The maximum value is 100. The default value is 20. If you do not specify this parameter, 20 entries are returned on each page.<br>'."\n"
+ ."\n"
+ .'> Do not leave the PageSize value empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the network domain.', 'type' => 'string', 'required' => false, 'example' => 'SSH Proxy', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of the network domain. Valid values:'."\n"
+ ."\n"
+ .'- **Direct**: direct connection'."\n"
+ ."\n"
+ .'- **Proxy**: proxy connection', 'type' => 'string', 'required' => false, 'example' => 'Proxy', 'title' => ''],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '5D0EB759-CB0A-537D-A2CC-13A9854FA08D',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
+ 'NetworkDomains' => [
+ 'description' => 'The list of network domains.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The error code returned. If OK is returned, the authorization was successful. If another error code is returned, the authorization failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseAccounts' => [
- 'description' => 'A list that shows the authorization results of the database accounts.'."\n",
+ 'Comment' => ['description' => 'The comments on the network domain.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'Default' => ['description' => 'Indicates whether the network domain is a built-in domain.'."\n"
+ ."\n"
+ .'- **true**: yes'."\n"
+ ."\n"
+ .'- **false**: no', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'NetworkDomainId' => ['description' => 'The ID of the network domain.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'NetworkDomainName' => ['description' => 'The name of the network domain.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'NetworkDomainType' => ['description' => 'The type of the network domain. Valid values:'."\n"
+ ."\n"
+ .'- **Direct**: direct connection'."\n"
+ ."\n"
+ .'- **Proxy**: proxy connection', 'type' => 'string', 'example' => 'Proxy', 'title' => ''],
+ 'ProxiesState' => [
+ 'description' => 'The information about the proxy servers.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Code' => [
- 'description' => 'The error code returned. If OK is returned, the authorization was successful. If another error code is returned, the authorization failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'DatabaseAccountId' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'example' => '8',
- ],
- 'Message' => [
- 'description' => 'The error message returned.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
+ 'NodeType' => ['description' => 'The node type of the proxy server. Valid values:'."\n"
+ ."\n"
+ .'- **Master**: the master proxy server'."\n"
+ ."\n"
+ .'- **Slave**: the slave proxy server', 'type' => 'string', 'example' => 'Master', 'title' => ''],
+ 'ProxyState' => ['description' => 'The status of the proxy server. Valid values:'."\n"
+ ."\n"
+ .'- **Available**'."\n"
+ ."\n"
+ .'- **Unavailable**', 'type' => 'string', 'example' => 'Available', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- 'Message' => [
- 'description' => 'The error message returned.'."\n",
- 'type' => 'string',
+ 'title' => '',
'example' => '',
],
- 'UserGroupId' => [
- 'description' => 'The user group ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of network domains.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5D0EB759-CB0A-537D-A2CC-13A9854FA08D\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccounts\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseAccountId\\": \\"8\\",\\n \\"Message\\": \\"NULL\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"2\\",\\n \\"Message\\": \\"NULL\\",\\n \\"UserGroupId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'AttachDatabaseAccountsToUserGroup',
- 'requestParamsDescription' => 'Data structures of request parameters'."\n"
- ."\n"
- .'|Parameter|Type|Description|'."\n"
- .'|---|---|---|'."\n"
- .'|DatabaseId|string|The database ID.|'."\n"
- .'|DatabaseAccountIds|array\\[string\\]|An array that consists of database account IDs. You can specify up to 10 IDs.|'."\n"
- ."\n"
- .'The following code provides example values of the Databases parameter:'."\n"
- ."\n"
- .'```'."\n"
- .'['."\n"
- .'{"DatabaseId":"1"} // Authorize the user group to manage only the database.'."\n"
- .'{"DatabaseId":"2","DatabaseAccountIds":["1","2","3",...]}, // Authorize the user group to manage the database and database accounts.'."\n"
- .'{"DatabaseId":"5","DatabaseAccountIds":[]} // Not supported.'."\n"
- .']'."\n"
- .'```',
- ],
- 'ListDatabasesForUserGroup' => [
- 'summary' => 'Queries the databases that a user group is authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListNetworkDomains',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListNetworkDomains'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListNetworkDomains',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NetworkDomains\\": [\\n {\\n \\"Comment\\": \\"comment\\",\\n \\"Default\\": true,\\n \\"NetworkDomainId\\": \\"2\\",\\n \\"NetworkDomainName\\": \\"test\\",\\n \\"NetworkDomainType\\": \\"Proxy\\",\\n \\"ProxiesState\\": [\\n {\\n \\"NodeType\\": \\"Master\\",\\n \\"ProxyState\\": \\"Available\\"\\n }\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
+ ],
+ 'ListOperationDatabaseAccounts' => [
+ 'summary' => 'Queries a list of database accounts that the current Resource Access Management (RAM) user is authorized to manage.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -16274,112 +12651,47 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostXV4JIF',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostEW7NXQ'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-7mz2ve7h00a',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-2r42t9cvf0i', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
- 'name' => 'UserGroupId',
+ 'name' => 'DatabaseId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the user group to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The database ID.'."\n"
+ ."\n"
+ .'> You can call the [ListOperationDatabases](~~2758856~~) operation to query the database ID.', 'type' => 'string', 'required' => false, 'example' => '56', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'DatabaseName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the database to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- ],
- [
- 'name' => 'DatabaseAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The address of the database to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '47.101.**.**'."\n",
- ],
- ],
- [
- 'name' => 'DatabaseType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The engine of the database to query. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MySQL',
- ],
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'NetworkDomainId',
+ 'name' => 'DatabaseAccountName',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The name of the database account. Exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
@@ -16387,134 +12699,74 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Databases' => [
- 'description' => 'The databases returned.'."\n",
+ 'DatabaseAccounts' => [
+ 'description' => 'The database accounts returned.',
'type' => 'array',
'items' => [
+ 'description' => '',
'type' => 'object',
'properties' => [
- 'ActiveAddressType' => [
- 'description' => 'The address type of the database. Valid values:'."\n"
- ."\n"
- .'* **Public**'."\n"
- .'* **Private**'."\n",
- 'type' => 'string',
- 'example' => 'Private',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the database.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'DatabaseAccountCount' => [
- 'description' => 'The total number of database accounts returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2',
- ],
- 'DatabaseId' => [
- 'description' => 'The ID of the database to which the database account belongs.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- 'DatabaseName' => [
- 'description' => 'The name of the database.'."\n",
- 'type' => 'string',
- 'example' => 'MySQL0',
- ],
- 'DatabasePort' => [
- 'description' => 'The port of the database.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3306',
- ],
- 'DatabasePrivateAddress' => [
- 'description' => 'The internal address of the database. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => 'rm-bp1******',
- ],
- 'DatabasePublicAddress' => [
- 'description' => 'The public address of the database. The value is a domain name or an IP address.'."\n",
- 'type' => 'string',
- 'example' => 'rm-uf65******',
- ],
- 'DatabaseType' => [
- 'description' => 'The database engine. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **SQLServer**'."\n",
- 'type' => 'string',
- 'example' => 'MySQL',
- ],
- 'NetworkDomainId' => [
- 'description' => 'The ID of the network domain where the database resides.'."\n",
- 'type' => 'string',
- 'example' => '5',
- ],
- 'Source' => [
- 'description' => 'The type of the database. Valid values:'."\n"
- ."\n"
- .'* **Local**: on-premises database.'."\n"
- .'* **Rds**: ApsaraDB RDS instance.'."\n"
- .'* **PolarDB**: PolarDB cluster.'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'SourceInstanceId' => [
- 'description' => 'The ID of the ApsaraDB RDS instance or PolarDB cluster.'."\n"
- ."\n"
- .'> No value is returned for this parameter if **Source** is set to **Local**.'."\n",
- 'type' => 'string',
- 'example' => 'i-wz9c7mjxywmdmqk7q6e4',
- ],
+ 'DBName' => ['description' => 'The name of the PostgreSQL or Oracle database.', 'type' => 'string', 'example' => 'xe', 'title' => ''],
+ 'DatabaseAccountId' => ['description' => 'The database account ID.', 'type' => 'string', 'example' => '3', 'title' => ''],
+ 'DatabaseAccountName' => ['description' => 'The name of the database account.', 'type' => 'string', 'example' => 'system', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'HasPassword' => ['description' => 'Indicates whether a password is configured for the database host account.', 'type' => 'string', 'example' => 'true', 'title' => ''],
+ 'LoginAttribute' => ['description' => 'The logon attribute. One of the following values is returned if the database engine is Oracle:'."\n"
+ ."\n"
+ .'- **SERVICENAME**'."\n"
+ ."\n"
+ .'- **SID**', 'type' => 'string', 'example' => 'SID', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol that is used by the database account.', 'type' => 'string', 'example' => 'MySQL', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of databases returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '15',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'ListOperationDatabaseAccounts',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationDatabaseAccounts'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListOperationDatabaseAccounts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Databases\\": [\\n {\\n \\"ActiveAddressType\\": \\"Private\\",\\n \\"Comment\\": \\"comment\\",\\n \\"DatabaseAccountCount\\": 2,\\n \\"DatabaseId\\": \\"2\\",\\n \\"DatabaseName\\": \\"MySQL0\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"rm-bp1******\\",\\n \\"DatabasePublicAddress\\": \\"rm-uf65******\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"NetworkDomainId\\": \\"5\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9c7mjxywmdmqk7q6e4\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]',
- 'title' => 'ListDatabasesForUserGroup',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DBName\\": \\"xe\\",\\n \\"DatabaseAccountId\\": \\"3\\",\\n \\"DatabaseAccountName\\": \\"system\\",\\n \\"DatabaseId\\": \\"2\\",\\n \\"HasPassword\\": \\"true\\",\\n \\"LoginAttribute\\": \\"SID\\",\\n \\"ProtocolName\\": \\"MySQL\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
],
'ListOperationDatabases' => [
- 'summary' => 'Queries a list of databases that the current Resource Access Management (RAM) user is authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'summary' => 'Lists the databases that the current Resource Access Management (RAM) user is authorized to access.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -16525,129 +12777,82 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostEW7NXQ',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostEW7NXQ'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-tl32wloo90y',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-tl32wdd', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page.<br>The maximum value is 100. The default value is 20. If you do not specify this parameter, 20 entries are returned.<br>'."\n"
+ ."\n"
+ .'> Specify a value for this parameter.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'DatabaseType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the database. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **SQLServer**'."\n"
- .'* **Oracle**'."\n"
- .'* **PostgreSQL**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MySQL',
- ],
+ 'schema' => ['description' => 'The database type. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **SQLServer**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **PostgreSQL**', 'type' => 'string', 'required' => false, 'example' => 'MySQL', 'title' => ''],
],
[
'name' => 'DatabaseName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the database instance. The system supports exact search.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'aaa',
- ],
+ 'schema' => ['description' => 'The name of the database. This parameter supports only exact matches.', 'type' => 'string', 'required' => false, 'example' => 'aaa', 'title' => ''],
],
[
'name' => 'DatabaseAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The address of the database.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10.167.66.167',
- ],
+ 'schema' => ['description' => 'The address of the database.', 'type' => 'string', 'required' => false, 'example' => '10.167.XX.XX', 'title' => ''],
],
[
'name' => 'Source',
'in' => 'query',
- 'schema' => [
- 'description' => 'The source of the database instance. Valid values:'."\n"
- ."\n"
- .'* **Local**'."\n"
- .'* **Rds**'."\n"
- .'* **PolarDB**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Local',
- ],
+ 'schema' => ['description' => 'The source of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a local database'."\n"
+ ."\n"
+ .'- **Rds**: an ApsaraDB RDS database'."\n"
+ ."\n"
+ .'- **PolarDB**: a PolarDB database', 'type' => 'string', 'required' => false, 'example' => 'Local', 'title' => ''],
],
[
'name' => 'SourceInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the ApsaraDB RDS instance. The system supports exact search.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'i-bp19ienyt0yax748****',
- ],
+ 'schema' => ['description' => 'The ID of the source instance. This parameter supports only exact matches.', 'type' => 'string', 'required' => false, 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
],
[
'name' => 'SourceInstanceState',
'in' => 'query',
- 'schema' => [
- 'description' => 'The instance state.'."\n"
- ."\n"
- .'* **Normal**'."\n"
- .'* **RemoteRelease**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Normal',
- ],
+ 'schema' => ['description' => 'The status of the source instance. You can use this parameter to filter the results.'."\n"
+ ."\n"
+ .'- **Normal**: The instance is running.'."\n"
+ ."\n"
+ .'- **RemoteRelease**: The instance is released.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''],
],
],
'responses' => [
@@ -16656,133 +12861,211 @@
'type' => 'object',
'properties' => [
'Databases' => [
- 'description' => 'The databases returned.'."\n",
+ 'description' => 'The databases.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'ActiveAddressType' => [
- 'description' => 'The address type of the database. Valid values:'."\n"
- ."\n"
- .'* **Public**'."\n"
- .'* **Private**'."\n",
- 'type' => 'string',
- 'example' => 'Private',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the database.'."\n",
- 'type' => 'string',
- 'example' => 'cpp',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '26',
- ],
- 'DatabaseName' => [
- 'description' => 'The database name.'."\n",
- 'type' => 'string',
- 'example' => 'zDatabase',
- ],
- 'DatabasePort' => [
- 'description' => 'The port of the database.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3306',
- ],
- 'DatabasePrivateAddress' => [
- 'description' => 'The private address of the database.'."\n",
- 'type' => 'string',
- 'example' => 'rm-b******9b.mysql.rds.aliyuncs.com',
- ],
- 'DatabasePublicAddress' => [
- 'description' => 'The public address of the database.'."\n",
- 'type' => 'string',
- 'example' => 'rm-uf******p45.mysql.rds.aliyuncs.com',
- ],
- 'DatabaseType' => [
- 'description' => 'The database engine. Valid values:'."\n"
- ."\n"
- .'* **MySQL**'."\n"
- .'* **PostgreSQL**'."\n"
- .'* **Oracle**'."\n"
- .'* **SQLServer**'."\n",
- 'type' => 'string',
- 'example' => 'MySQL',
- ],
- 'Source' => [
- 'description' => 'The database type. Valid values:'."\n"
- ."\n"
- .'* **Local**: on-premises database.'."\n"
- .'* **Rds**: ApsaraDB RDS instance.'."\n"
- .'* **PolarDB**: PolarDB cluster.'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'SourceInstanceId' => [
- 'description' => 'The ID of the ApsaraDB RDS instance.'."\n",
- 'type' => 'string',
- 'example' => 'i-wz9225bhipya******',
- ],
- 'SourceInstanceRegionId' => [
- 'description' => 'The region ID of the ApsaraDB RDS instance.'."\n",
- 'type' => 'string',
- 'example' => 'cn-shanghai',
- ],
- 'SourceInstanceState' => [
- 'description' => 'The database status. Valid values:'."\n"
- ."\n"
- .'* **Normal**'."\n"
- .'* **Release**'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
+ 'ActiveAddressType' => ['description' => 'The endpoint type of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Public**: a public endpoint'."\n"
+ ."\n"
+ .'- **Private**: a private endpoint', 'type' => 'string', 'example' => 'Private', 'title' => ''],
+ 'Comment' => ['description' => 'The comment on the database.', 'type' => 'string', 'example' => 'cpp', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The ID of the database.', 'type' => 'string', 'example' => '26', 'title' => ''],
+ 'DatabaseName' => ['description' => 'The name of the database.', 'type' => 'string', 'example' => 'zDatabase', 'title' => ''],
+ 'DatabasePort' => ['description' => 'The database port.', 'type' => 'integer', 'format' => 'int64', 'example' => '3306', 'title' => ''],
+ 'DatabasePrivateAddress' => ['description' => 'The private endpoint of the database.', 'type' => 'string', 'example' => 'rm-b******9b.mysql.rds.aliyuncs.com', 'title' => ''],
+ 'DatabasePublicAddress' => ['description' => 'The public endpoint of the database.', 'type' => 'string', 'example' => 'rm-uf******p45.mysql.rds.aliyuncs.com', 'title' => ''],
+ 'DatabaseType' => ['description' => 'The database type. Valid values:'."\n"
+ ."\n"
+ .'- **MySQL**'."\n"
+ ."\n"
+ .'- **PostgreSQL**'."\n"
+ ."\n"
+ .'- **Oracle**'."\n"
+ ."\n"
+ .'- **SQLServer**', 'type' => 'string', 'example' => 'MySQL', 'title' => ''],
+ 'Source' => ['description' => 'The source of the database.'."\n"
+ ."\n"
+ .'- **Local**: a local database'."\n"
+ ."\n"
+ .'- **Rds**: an ApsaraDB RDS database'."\n"
+ ."\n"
+ .'- **PolarDB**: a PolarDB database', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'SourceInstanceId' => ['description' => 'The ID of the source instance.', 'type' => 'string', 'example' => 'i-wz9225bhipya******', 'title' => ''],
+ 'SourceInstanceRegionId' => ['description' => 'The region ID of the source instance.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''],
+ 'SourceInstanceState' => ['description' => 'The status of the source instance:'."\n"
+ ."\n"
+ .'- **Normal**: The instance is running.'."\n"
+ ."\n"
+ .'- **Release**: The instance is released.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '15',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of databases.', 'type' => 'integer', 'format' => 'int64', 'example' => '15', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Databases\\": [\\n {\\n \\"ActiveAddressType\\": \\"Private\\",\\n \\"Comment\\": \\"cpp\\",\\n \\"DatabaseId\\": \\"26\\",\\n \\"DatabaseName\\": \\"zDatabase\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"rm-b******9b.mysql.rds.aliyuncs.com\\",\\n \\"DatabasePublicAddress\\": \\"rm-uf******p45.mysql.rds.aliyuncs.com\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9225bhipya******\\",\\n \\"SourceInstanceRegionId\\": \\"cn-shanghai\\",\\n \\"SourceInstanceState\\": \\"Normal\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]',
'title' => 'ListOperationDatabases',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationDatabases'],
+ ],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Databases\\": [\\n {\\n \\"ActiveAddressType\\": \\"Private\\",\\n \\"Comment\\": \\"cpp\\",\\n \\"DatabaseId\\": \\"26\\",\\n \\"DatabaseName\\": \\"zDatabase\\",\\n \\"DatabasePort\\": 3306,\\n \\"DatabasePrivateAddress\\": \\"rm-b******9b.mysql.rds.aliyuncs.com\\",\\n \\"DatabasePublicAddress\\": \\"rm-uf******p45.mysql.rds.aliyuncs.com\\",\\n \\"DatabaseType\\": \\"MySQL\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-wz9225bhipya******\\",\\n \\"SourceInstanceRegionId\\": \\"cn-shanghai\\",\\n \\"SourceInstanceState\\": \\"Normal\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]',
],
- 'ListOperationHosts' => [
- 'summary' => 'Queries a list of hosts that the current Resource Access Management (RAM) user is authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
+ 'ListOperationHostAccounts' => [
+ 'summary' => 'Queries a list of host accounts that the current Resource Access Management (RAM) user is authorized to manage.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the host whose accounts you want to query.'."\n"
+ ."\n"
+ .'> You can call the [ListOperationHosts](~~2758857~~) operation to query the host ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries per page.<br> Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAccountName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the host account to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'root', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HostAccounts' => [
+ 'description' => 'The host accounts returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HasPassword' => ['description' => 'Indicates whether a password is configured for the host account.'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'HostAccountId' => ['description' => 'The host account ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostAccountName' => ['description' => 'The host account name.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ 'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostShareKeyId' => ['description' => 'The ID of the shared key that is associated with the host.', 'type' => 'string', 'example' => '3', 'title' => ''],
+ 'PrivateKeyFingerprint' => ['description' => 'The fingerprint of the private key for the host account.', 'type' => 'string', 'example' => 'fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol that is used by the host account.'."\n"
+ ."\n"
+ .'- **SSH**'."\n"
+ ."\n"
+ .'- **RDP**', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
+ 'SSHConfig' => [
+ 'description' => 'Indicates whether the Secure File Transfer Protocol (SFTP) channels or the SSH channels are enabled for the host account that uses the SSH protocol.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EnableSFTPChannel' => ['description' => 'Indicates whether SFTP channels are enabled for the account.', 'type' => 'boolean', 'title' => '', 'example' => ''],
+ 'EnableSSHChannel' => ['description' => 'Indicates whether SSH channels are enabled for the account.', 'type' => 'boolean', 'title' => '', 'example' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of host accounts returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'ListOperationHostAccounts',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationHostAccounts'],
+ ],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HostAccounts\\": [\\n {\\n \\"HasPassword\\": true,\\n \\"HostAccountId\\": \\"1\\",\\n \\"HostAccountName\\": \\"root\\",\\n \\"HostId\\": \\"1\\",\\n \\"HostShareKeyId\\": \\"3\\",\\n \\"PrivateKeyFingerprint\\": \\"fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"SSHConfig\\": {\\n \\"EnableSFTPChannel\\": false,\\n \\"EnableSSHChannel\\": false\\n }\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 1\\n}","type":"json"}]',
+ ],
+ 'ListOperationHosts' => [
+ 'summary' => 'Lists the hosts that the current Resource Access Management (RAM) user is authorized to perform O&M operations on through a Bastionhost instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -16793,126 +13076,76 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostHPIB1A',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-09k22avmw0q',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-09k22avmw0q', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Bastionhost instance resides.'."\n"
+ ."\n"
+ .'> For more information about regions and zones, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The number of the page to return. The default value is 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page.<br> The maximum value is 100. The default value is 20. If you do not specify this parameter, the default value is used.<br>'."\n"
+ ."\n"
+ .'> Specify a value for this parameter.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'OSType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The operating system of the host that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Linux',
- ],
+ 'schema' => ['description' => 'The operating system of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'required' => false, 'example' => 'Linux', 'title' => ''],
],
[
'name' => 'HostName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host that you want to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'abc',
- ],
+ 'schema' => ['description' => 'The name of the host. Only exact matches are supported.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''],
],
[
'name' => 'HostAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The address of the host that you want to query. You can set this parameter to a domain name or an IP address. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10.162.172.132',
- ],
+ 'schema' => ['description' => 'The address of the host. You can specify a domain name or an IP address. Only exact matches are supported.', 'type' => 'string', 'required' => false, 'example' => '10.162.XX.XX', 'title' => ''],
],
[
'name' => 'Source',
'in' => 'query',
- 'schema' => [
- 'description' => 'The source of the host that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Local**'."\n"
- .'* **Ecs**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Local',
- ],
+ 'schema' => ['description' => 'The source of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a local host'."\n"
+ ."\n"
+ .'- **Ecs**: an ECS instance', 'type' => 'string', 'required' => false, 'example' => 'Local', 'title' => ''],
],
[
'name' => 'SourceInstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Elastic Compute Service (ECS) instance. Exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'i-bp19ienyt0yax748****',
- ],
+ 'schema' => ['description' => 'The ID of the ECS instance. Only exact matches are supported.', 'type' => 'string', 'required' => false, 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
],
[
'name' => 'SourceInstanceState',
'in' => 'query',
- 'schema' => [
- 'description' => 'The status of the host that you want to query. Valid values:'."\n"
- ."\n"
- .'* **Normal**'."\n"
- .'* **Release**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Normal',
- ],
+ 'schema' => ['description' => 'The state of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The host is running.'."\n"
+ ."\n"
+ .'- **Release**: The host is released.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''],
],
],
'responses' => [
@@ -16921,119 +13154,88 @@
'type' => 'object',
'properties' => [
'Hosts' => [
- 'description' => 'The hosts returned.'."\n",
+ 'description' => 'A list of the hosts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'ActiveAddressType' => [
- 'description' => 'The address type of the host. Valid values:'."\n"
- ."\n"
- .'* **Public**'."\n"
- .'* **Private**'."\n",
- 'type' => 'string',
- 'example' => 'Public',
- ],
- 'Comment' => [
- 'description' => 'The remarks of the host.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'HostId' => [
- 'description' => 'The host ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostName' => [
- 'description' => 'The host name.'."\n",
- 'type' => 'string',
- 'example' => 'host1',
- ],
- 'HostPrivateAddress' => [
- 'description' => 'The private IP address of the host.'."\n",
- 'type' => 'string',
- 'example' => '192.168.XX.XX',
- ],
- 'HostPublicAddress' => [
- 'description' => 'The public IP address of the host.'."\n",
- 'type' => 'string',
- 'example' => '10.158.XX.XX',
- ],
- 'OSType' => [
- 'description' => 'The host OS.'."\n"
- ."\n"
- .'* **Linux**'."\n"
- .'* **Windows**'."\n",
- 'type' => 'string',
- 'example' => 'Linux',
- ],
- 'Source' => [
- 'description' => 'The host type. Valid values:'."\n"
- ."\n"
- .'* **Local**: on-premises host.'."\n"
- .'* **Ecs**: Elastic Compute Service (ECS) instance.'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'SourceInstanceId' => [
- 'description' => 'The ECS instance ID.'."\n",
- 'type' => 'string',
- 'example' => 'i-bp19ienyt0yax748****',
- ],
- 'SourceInstanceState' => [
- 'description' => 'The host status. Valid values:'."\n"
- ."\n"
- .'* **Normal**'."\n"
- .'* **Release**'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
+ 'ActiveAddressType' => ['description' => 'The address type of the host.'."\n"
+ ."\n"
+ .'- **Public**: The public endpoint is used.'."\n"
+ ."\n"
+ .'- **Private**: The private endpoint is used.', 'type' => 'string', 'example' => 'Public', 'title' => ''],
+ 'Comment' => ['description' => 'The comments on the host.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostName' => ['description' => 'The name of the host.', 'type' => 'string', 'example' => 'host1', 'title' => ''],
+ 'HostPrivateAddress' => ['description' => 'The private address of the host.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''],
+ 'HostPublicAddress' => ['description' => 'The public address of the host.', 'type' => 'string', 'example' => '10.158.XX.XX', 'title' => ''],
+ 'OSType' => ['description' => 'The operating system of the host.'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'example' => 'Linux', 'title' => ''],
+ 'Source' => ['description' => 'The source of the host.'."\n"
+ ."\n"
+ .'- **Local**: a local host'."\n"
+ ."\n"
+ .'- **Ecs**: an ECS instance', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'SourceInstanceId' => ['description' => 'The ID of the ECS instance.', 'type' => 'string', 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
+ 'SourceInstanceState' => ['description' => 'The state of the host.'."\n"
+ ."\n"
+ .'- **Normal**: The host is running.'."\n"
+ ."\n"
+ .'- **Release**: The host is released.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of hosts returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '5',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of hosts.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Hosts\\": [\\n {\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"Comment\\": \\"comment\\",\\n \\"HostId\\": \\"1\\",\\n \\"HostName\\": \\"host1\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"HostPublicAddress\\": \\"10.158.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-bp19ienyt0yax748****\\",\\n \\"SourceInstanceState\\": \\"Normal\\"\\n }\\n ],\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\",\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
'title' => 'ListOperationHosts',
- ],
- 'ListOperationHostAccounts' => [
- 'summary' => 'Queries a list of host accounts that the current Resource Access Management (RAM) user is authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationHosts'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListOperationHosts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Hosts\\": [\\n {\\n \\"ActiveAddressType\\": \\"Public\\",\\n \\"Comment\\": \\"comment\\",\\n \\"HostId\\": \\"1\\",\\n \\"HostName\\": \\"host1\\",\\n \\"HostPrivateAddress\\": \\"192.168.XX.XX\\",\\n \\"HostPublicAddress\\": \\"10.158.XX.XX\\",\\n \\"OSType\\": \\"Linux\\",\\n \\"Source\\": \\"Local\\",\\n \\"SourceInstanceId\\": \\"i-bp19ienyt0yax748****\\",\\n \\"SourceInstanceState\\": \\"Normal\\"\\n }\\n ],\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\",\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
+ ],
+ 'ListOperationTickets' => [
+ 'summary' => 'Retrieves the list of O&M applications that require approval.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17041,196 +13243,141 @@
],
'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostHPIB1A',
- ],
+ 'abilityTreeCode' => '188191',
+ 'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The instance ID of the bastion host.'."\n"
+ .'> You can invoke [DescribeInstances](~~153281~~) to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the host whose accounts you want to query.'."\n"
- ."\n"
- .'> You can call the [ListOperationHosts](~~2758857~~) operation to query the host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ .'> For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number for a paged query. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The maximum number of entries per page for a paged query. '."\n"
+ .'The maximum value of PageSize is 1000. The default number of entries per page is 20. If PageSize is left empty, 20 entries are returned by default.'."\n"
+ .'> Do not leave PageSize empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'HostAccountName',
+ 'name' => 'AssetAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the host account to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root',
- ],
+ 'schema' => ['description' => 'The exact asset address to search for in the pending approval list.', 'type' => 'string', 'required' => false, 'example' => '10.167.XX.XX', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'HostAccounts' => [
- 'description' => 'The host accounts returned.'."\n",
+ 'OperationTickets' => [
+ 'description' => 'The list of O&M applications pending approval.',
'type' => 'array',
'items' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'HasPassword' => [
- 'description' => 'Indicates whether a password is configured for the host account.'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'HostAccountId' => [
- 'description' => 'The host account ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostAccountName' => [
- 'description' => 'The host account name.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- 'HostId' => [
- 'description' => 'The host ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'HostShareKeyId' => [
- 'description' => 'The ID of the shared key that is associated with the host.'."\n",
- 'type' => 'string',
- 'example' => '3',
- ],
- 'PrivateKeyFingerprint' => [
- 'description' => 'The fingerprint of the private key for the host account.'."\n",
- 'type' => 'string',
- 'example' => 'fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol that is used by the host account.'."\n"
- ."\n"
- .'* **SSH**'."\n"
- .'* **RDP**'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- 'SSHConfig' => [
- 'description' => 'Indicates whether the Secure File Transfer Protocol (SFTP) channels or the SSH channels are enabled for the host account that uses the SSH protocol.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'EnableSFTPChannel' => [
- 'description' => 'Indicates whether SFTP channels are enabled for the account.'."\n",
- 'type' => 'boolean',
- ],
- 'EnableSSHChannel' => [
- 'description' => 'Indicates whether SSH channels are enabled for the account.'."\n",
- 'type' => 'boolean',
- ],
- ],
- ],
+ 'ApplyUserId' => ['description' => 'The ID of the O&M applicant.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'ApplyUsername' => ['description' => 'The username of the O&M applicant.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'AssetAccountId' => ['description' => 'The ID of the asset account requested for O&M.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'AssetAccountName' => ['description' => 'The logon name of the asset account requested for O&M.', 'type' => 'string', 'example' => 'root', 'title' => ''],
+ 'AssetAddress' => ['description' => 'The address of the asset requested for O&M.', 'type' => 'string', 'example' => '10.167.XX.XX', 'title' => ''],
+ 'AssetId' => ['description' => 'The ID of the asset requested for O&M.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'AssetName' => ['description' => 'The name of the asset requested for O&M.', 'type' => 'string', 'example' => 'poros-test', 'title' => ''],
+ 'AssetNetworkDomainId' => ['description' => 'The network domain ID of the asset requested for O&M.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'AssetOs' => ['description' => 'The operating system type of the asset requested for O&M.', 'type' => 'string', 'example' => 'Linux', 'title' => ''],
+ 'AssetSource' => ['description' => 'The name of the asset source to which the requested O&M asset belongs. Valid values:'."\n"
+ .'- **Local**: local host'."\n"
+ .'- **Ecs**: ECS instance'."\n"
+ .'- **Rds**: ApsaraDB RDS instance'."\n"
+ .'- Name of a third-party asset source.', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'AssetSourceInstanceId' => ['description' => 'The ID of the asset source to which the requested O&M asset belongs.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'CreatedTime' => ['description' => 'The time when the application was submitted, in seconds (UNIX timestamp format).', 'type' => 'integer', 'format' => 'int64', 'example' => '1669965908', 'title' => ''],
+ 'OperationTicketId' => ['description' => 'The ID of the O&M application that requires approval.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'ProtocolName' => ['description' => 'The protocol name requested for O&M.', 'type' => 'string', 'example' => 'SSH', 'title' => ''],
+ 'State' => ['description' => 'The approval status. Valid values:'."\n"
+ ."\n"
+ .'- Normal: pending approval.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'ApproveComment' => ['description' => 'The remarks entered by the O&M engineer when submitting the O&M application.', 'type' => 'string', 'example' => 'Comment', 'title' => ''],
+ 'EffectStartTime' => ['description' => 'The start time of the O&M period specified by the O&M engineer, in seconds (UNIX timestamp format).'."\n"
+ .'> A value of 0 indicates that the O&M engineer did not specify a time when submitting the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '1685600242', 'title' => ''],
+ 'EffectEndTime' => ['description' => 'The end time of the O&M period specified by the O&M engineer, in seconds (UNIX timestamp format).'."\n"
+ .'> A value of 0 indicates that the O&M engineer did not specify a time when submitting the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '1679393152', 'title' => ''],
+ 'EffectCount' => ['description' => 'The logon count limit requested by the O&M engineer. Valid values:'."\n"
+ ."\n"
+ .'- **0**: No logon count limit. The O&M engineer can log on an unlimited number of times within the validity period.'."\n"
+ .'- **1**: The O&M engineer can log on only once within the validity period.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of host accounts returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
+ 'RequestId' => ['description' => 'The unique request ID generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of O&M applications pending approval.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HostAccounts\\": [\\n {\\n \\"HasPassword\\": true,\\n \\"HostAccountId\\": \\"1\\",\\n \\"HostAccountName\\": \\"root\\",\\n \\"HostId\\": \\"1\\",\\n \\"HostShareKeyId\\": \\"3\\",\\n \\"PrivateKeyFingerprint\\": \\"fe:ca:37:42:30:00:9d:95:e6:73:e5:b0:32:0a:**:**\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"SSHConfig\\": {\\n \\"EnableSFTPChannel\\": true,\\n \\"EnableSSHChannel\\": true\\n }\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 1\\n}","type":"json"}]',
- 'title' => 'ListOperationHostAccounts',
- ],
- 'ListOperationDatabaseAccounts' => [
- 'summary' => 'Queries a list of database accounts that the current Resource Access Management (RAM) user is authorized to manage.',
- 'methods' => [
- 'post',
- 'get',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OperationTickets\\": [\\n {\\n \\"ApplyUserId\\": \\"1\\",\\n \\"ApplyUsername\\": \\"test\\",\\n \\"AssetAccountId\\": \\"1\\",\\n \\"AssetAccountName\\": \\"root\\",\\n \\"AssetAddress\\": \\"10.167.XX.XX\\",\\n \\"AssetId\\": \\"2\\",\\n \\"AssetName\\": \\"poros-test\\",\\n \\"AssetNetworkDomainId\\": \\"2\\",\\n \\"AssetOs\\": \\"Linux\\",\\n \\"AssetSource\\": \\"Local\\",\\n \\"AssetSourceInstanceId\\": \\"1\\",\\n \\"CreatedTime\\": 1669965908,\\n \\"OperationTicketId\\": \\"1\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"State\\": \\"Normal\\",\\n \\"ApproveComment\\": \\"Comment\\",\\n \\"EffectStartTime\\": 1685600242,\\n \\"EffectEndTime\\": 1679393152,\\n \\"EffectCount\\": 0\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 20\\n}","type":"json"}]',
+ 'title' => 'Retrieve the list of O&M applications pending approval',
+ 'description' => 'Retrieves the list of O&M applications that require approval for an administrator.'."\n"
+ ."\n"
+ .'The China site Chinese QPS limit for this API is 10 requests per second. If this limit is exceeded, throttling is triggered, which may affect your business. Call this API appropriately.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationTickets'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListOperationTickets',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ListPolicies' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17241,79 +13388,40 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostEW7NXQ',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-2r42t9cvf0i',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-5yd393wzk08', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
- ],
- [
- 'name' => 'DatabaseId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The database ID.'."\n"
- ."\n"
- .'> You can call the [ListOperationDatabases](~~2758856~~) operation to query the database ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '56',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'DatabaseAccountName',
+ 'name' => 'PolicyName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the database account. Exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The name of the control policy to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => '123', 'title' => ''],
],
],
'responses' => [
@@ -17321,97 +13429,68 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'DatabaseAccounts' => [
- 'description' => 'The database accounts returned.'."\n",
+ 'Policies' => [
+ 'description' => 'The control policies.',
'type' => 'array',
'items' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'DBName' => [
- 'description' => 'The name of the PostgreSQL or Oracle database.'."\n",
- 'type' => 'string',
- 'example' => 'xe',
- ],
- 'DatabaseAccountId' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'example' => '3',
- ],
- 'DatabaseAccountName' => [
- 'description' => 'The name of the database account.'."\n",
- 'type' => 'string',
- 'example' => 'system',
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- 'HasPassword' => [
- 'description' => 'Indicates whether a password is configured for the database host account.'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'LoginAttribute' => [
- 'description' => 'The logon attribute. One of the following values is returned if the database engine is Oracle:'."\n"
- ."\n"
- .'* **SERVICENAME**'."\n"
- .'* **SID**'."\n",
- 'type' => 'string',
- 'example' => 'SID',
- ],
- 'ProtocolName' => [
- 'description' => 'The protocol that is used by the database account.'."\n",
- 'type' => 'string',
- 'example' => 'MySQL',
- ],
+ 'Comment' => ['description' => 'The remarks of the control policy.', 'type' => 'string', 'example' => 'Comment ', 'title' => ''],
+ 'PolicyId' => ['description' => 'The control policy ID.', 'type' => 'string', 'example' => '2', 'title' => ''],
+ 'PolicyName' => ['description' => 'The name of the control policy.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'Priority' => ['description' => 'The priority of the control policy. A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '5',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of control policies that are returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DBName\\": \\"xe\\",\\n \\"DatabaseAccountId\\": \\"3\\",\\n \\"DatabaseAccountName\\": \\"system\\",\\n \\"DatabaseId\\": \\"2\\",\\n \\"HasPassword\\": \\"true\\",\\n \\"LoginAttribute\\": \\"SID\\",\\n \\"ProtocolName\\": \\"MySQL\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
- 'title' => 'ListOperationDatabaseAccounts',
- ],
- 'GenerateAssetOperationToken' => [
- 'summary' => 'Applies for an O\\\\\\&M token.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListPolicies',
+ 'summary' => 'Queries a list of control policies.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPolicies'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListPolicies',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Policies\\": [\\n {\\n \\"Comment\\": \\"Comment\\\\t\\",\\n \\"PolicyId\\": \\"2\\",\\n \\"PolicyName\\": \\"test\\",\\n \\"Priority\\": 1\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 10\\n}","type":"json"}]',
+ ],
+ 'ListRules' => [
+ 'summary' => 'Queries a list of authorization rules of a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17420,194 +13499,166 @@
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
- 'riskType' => 'high',
+ 'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '204184',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostHPIB1A',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to apply an O\\&M token.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-5yd34ol020a', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AssetType',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the asset for which you want to apply for an O\\&M token. Valid values:'."\n"
- ."\n"
- .'* **Host**'."\n"
- .'* **Database**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Host',
- ],
+ 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'AssetId',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the asset for which you want to apply for an O\\&M token.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '11',
- ],
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'AssetAccountId',
+ 'name' => 'RuleName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the account whose assets the O\\&M token takes effect.'."\n"
- ."\n"
- .'> You must specify at least one of the following parameters: AssetAccountId and AssetAccountName. If you specify both parameters, AssetAccountId takes precedence.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The name of the authorization rule to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'rule', 'title' => ''],
],
[
- 'name' => 'AssetAccountName',
+ 'name' => 'RuleState',
'in' => 'query',
+ 'schema' => ['description' => 'The state of the authorization rule to query.'."\n"
+ ."\n"
+ .'- **Enabled**'."\n"
+ ."\n"
+ .'- **Disabled**', 'type' => 'string', 'required' => false, 'example' => 'Enabled', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The name of the host account. If you use a custom account, enter a real account name.'."\n"
- ."\n"
- .'> When both AssetAccountId and AssetAccountName are specified, AssetAccountId takes precedence.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'root',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Rules' => [
+ 'description' => 'The authorization rules that are returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Comment' => ['description' => 'The remarks of the authorization rule.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'EffectiveEndTime' => ['description' => 'The end time of the validity period of the authorization rule. The value is a timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1709258400', 'title' => ''],
+ 'EffectiveStartTime' => ['description' => 'The start time of the validity period of the authorization rule. The value is a timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1685499134', 'title' => ''],
+ 'RuleId' => ['description' => 'The authorization rule ID.', 'type' => 'string', 'example' => '13', 'title' => ''],
+ 'RuleName' => ['description' => 'The name of the authorization rule.', 'type' => 'string', 'example' => 'rule', 'title' => ''],
+ 'RuleState' => ['description' => 'The state of the authorization rule.'."\n"
+ ."\n"
+ .'- **Enabled**'."\n"
+ ."\n"
+ .'- **Disabled**', 'type' => 'string', 'example' => 'Enabled', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'TotalCount' => ['description' => 'The total number of authorization rules that are returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'ListRules',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRules'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'AssetAccountPassword',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The Base64-encoded password. This parameter is required if you want to apply for an O\\&M token for a custom account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'dGVzdHBhc3N3b3Jk',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListRules',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Rules\\": [\\n {\\n \\"Comment\\": \\"comment\\",\\n \\"EffectiveEndTime\\": 1709258400,\\n \\"EffectiveStartTime\\": 1685499134,\\n \\"RuleId\\": \\"13\\",\\n \\"RuleName\\": \\"rule\\",\\n \\"RuleState\\": \\"Enabled\\"\\n }\\n ],\\n \\"TotalCount\\": 1\\n}","type":"json"}]',
+ ],
+ 'ListTagKeys' => [
+ 'summary' => 'Queries the tag keys on resources.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'AssetAccountProtocolName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the protocol. Valid values:'."\n"
- ."\n"
- .'* SSH'."\n"
- .'* RDP'."\n"
- .'* Oracle'."\n"
- .'* PostgreSQL'."\n"
- .'* MySQL'."\n"
- .'* SQLServer'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SSH',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '91513',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
+ ],
+ 'parameters' => [
[
- 'name' => 'OperationMode',
+ 'name' => 'RegionId',
'in' => 'query',
- 'allowEmptyValue' => true,
- 'schema' => [
- 'description' => 'The O\\&M logon method. Valid values:'."\n"
- ."\n"
- .'* **WebToken**: O\\&M token-based logon.'."\n"
- .'* **Sso**: local client-based logon.'."\n"
- ."\n"
- .'> This parameter is available only for Bastionhost V3.2.44 and later. If you do not specify this parameter, the default value WebToken is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Sso',
- 'default' => 'WebToken',
- 'enum' => [
- 'Sso',
- 'WebToken',
- ],
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'LoginAttribute',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'allowEmptyValue' => true,
- 'schema' => [
- 'description' => 'The logon attribute. If you set OperationMode to Sso and AssetAccountProtocolName to Oracle, you must specify this parameter. Valid values:'."\n"
- ."\n"
- .'* **SERVICENAME**'."\n"
- .'* **SID**'."\n"
- ."\n"
- .'> This parameter is available only for Bastionhost V3.2.44 and later.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'SID',
- 'enum' => [
- 'SID',
- 'SERVICENAME',
- ],
- ],
+ 'schema' => ['description' => 'The type of the resource.'."\n"
+ ."\n"
+ .'The only valid value is INSTANCE, which represents a Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'INSTANCE', 'title' => ''],
],
[
- 'name' => 'DatabaseSchema',
+ 'name' => 'PageSize',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => 'The name of the database. If you set OperationMode to Sso and AssetAccountProtocolName to PostgreSQL or Oracle and you select Custom Account for the Database Account parameter, you must specify this parameter.'."\n"
- ."\n"
- .'>This parameter is available only for bastion hosts that run V3.2.44 or later.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'orcl',
- ],
+ 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
- 'name' => 'SsoClient',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the local client that you want to perform O\\&M operations on Linux assets. If you set OperationMode to Sso and AssetAccountProtocolName to SSH, you must specify this parameter. Valid values:'."\n"
- ."\n"
- .'* **ssh**: Perform O\\&M operations on Linux assets by connecting to a bastion host from an SSH client.'."\n"
- .'* **sftp**: Perform O\\&M operations on Linux assets by connecting to a bastion host from a Secure File Transfer Protocol (SFTP) client.'."\n"
- ."\n"
- .'> This parameter is available only for Bastionhost V3.2.44 and later.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ssh',
- 'enum' => [
- 'ssh',
- 'sftp',
- ],
- ],
+ 'schema' => ['description' => 'The page number to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'OperationNote',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The logon remarks. This parameter is required if an administrator enables the feature of logon remarks on the Control Policies page.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
],
],
'responses' => [
@@ -17615,988 +13666,828 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'AssetOperationToken' => [
- 'description' => 'The data returned.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'CountLeft' => [
- 'description' => 'The remaining number of times that you can use the O\\&M token.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'ExpireTime' => [
- 'description' => 'The time when the O\\&M token expires. The value is a UNIX timestamp.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1709110797',
- ],
- 'HasCountLimit' => [
- 'description' => 'Indicates whether the number of times that you can use the O\\&M token is limited.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'MaxRenewCount' => [
- 'description' => 'The maximum number of renewals. A value of 0 indicates that renewal is not supported.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
- ],
- 'RenewCount' => [
- 'description' => 'The number of times the O\\&M token is renewed.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'Token' => [
- 'description' => 'The O\\&M token that you apply for.'."\n",
- 'type' => 'string',
- 'example' => 'NmYyMmEzNmMwYzljNGY******',
- ],
- 'TokenId' => [
- 'description' => 'The ID of the O\\&M token.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'SsoUrl' => [
- 'description' => 'The single sign-on (SSO) URL.',
- 'type' => 'string',
- 'example' => 'sso://eyJOT0RFX0NPTU1PTiI6eyJNb2R******',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '50177258-E817-4D2F-A5C6-3FD7BC4806E3', 'title' => ''],
+ 'PageNumber' => ['description' => 'The returned page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of tag keys.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
+ 'TagKeys' => [
+ 'description' => 'An array of tag keys.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagCount' => ['description' => 'The number of resources with this tag key.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'key2', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ 'title' => 'ListTagKeys',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagKeys'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AssetOperationToken\\": {\\n \\"CountLeft\\": 1,\\n \\"ExpireTime\\": 1709110797,\\n \\"HasCountLimit\\": true,\\n \\"MaxRenewCount\\": 10,\\n \\"RenewCount\\": 1,\\n \\"Token\\": \\"NmYyMmEzNmMwYzljNGY******\\",\\n \\"TokenId\\": \\"1\\",\\n \\"SsoUrl\\": \\"sso://eyJOT0RFX0NPTU1PTiI6eyJNb2R******\\"\\n },\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'GenerateAssetOperationToken',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"50177258-E817-4D2F-A5C6-3FD7BC4806E3\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 5,\\n \\"TagKeys\\": [\\n {\\n \\"TagCount\\": 2,\\n \\"TagKey\\": \\"key2\\"\\n }\\n ]\\n}","type":"json"}]',
],
- 'RenewAssetOperationToken' => [
- 'summary' => 'Renews an O\\\\\\&M token for one hour.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListTagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostHPIB1A',
- ],
+ 'abilityTreeCode' => '91514',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of resource.'."\n"
+ ."\n"
+ .'The only valid value is INSTANCE, which indicates a Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'INSTANCE', 'title' => ''],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The token to start the next query.', 'type' => 'string', 'required' => false, 'example' => '6EwFJmScBXFFC3nf.9Rq7HzA7APx7GWLbkZbjHrR6Pq39w', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
+ 'description' => 'The resource ID.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource ID.'."\n"
+ ."\n"
+ .'Valid values of N: 1 to 20.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the resource ID of a Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
'required' => false,
- 'example' => 'cn-hangzhou',
+ 'example' => 'bastionhost-cn-78v1gcxxxxx',
+ 'maxItems' => 51,
+ 'title' => '',
],
],
[
- 'name' => 'TokenId',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the O\\&M token that you want to renew.'."\n"
- ."\n"
- .'> You can call the [GenerateAssetOperationToken](~~2758861~~) operation to query the O\\&M token ID.'."\n",
- 'type' => 'string',
+ 'description' => 'The list of tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tag information of a Bastionhost instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.'."\n"
+ ."\n"
+ .'Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.'."\n"
+ ."\n"
+ .'Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'testapi', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'NmYyMmEzNmMwYzljNGYxMjh******',
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'NextToken' => ['description' => 'The token to start the next query.', 'type' => 'string', 'example' => '4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '134D6018-EB68-4B7C-BABF-4DB09023E014', 'title' => ''],
+ 'TagResources' => [
+ 'description' => 'A list of Bastionhost instances and their tags.'."\n"
+ ."\n"
+ .'This list includes the instance ID, resource type, tag key, and tag value.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'testapi', 'title' => ''],
+ 'ResourceType' => ['description' => 'The resource type.'."\n"
+ ."\n"
+ .'The only valid value is INSTANCE, which indicates a Bastionhost instance.', 'type' => 'string', 'example' => 'INSTANCE', 'title' => ''],
+ 'ResourceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'bastionhost-cn-78v1gc****', 'title' => ''],
+ 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ 'title' => 'ListTagResources',
+ 'summary' => 'Lists the tags that are attached to one or more Bastionhost instances.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'RenewAssetOperationToken',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"4ieSWJCwxvW3dk3wF.BqkrZmP72nWu5zJ5NWydMqyEs****\\",\\n \\"RequestId\\": \\"134D6018-EB68-4B7C-BABF-4DB09023E014\\",\\n \\"TagResources\\": [\\n {\\n \\"TagValue\\": \\"testapi\\",\\n \\"ResourceType\\": \\"INSTANCE\\",\\n \\"ResourceId\\": \\"bastionhost-cn-78v1gc****\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n}","type":"json"}]',
],
- 'CreateOperationTicket' => [
- 'summary' => 'If a Bastionhost administrator turns on O\\\\\\&M Approval on the Create Control Policy page, O\\\\\\&M engineers can log on to assets to perform O\\\\\\&M operations only after the administrator approves their O\\\\\\&M applications.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ListTodoOpsTaskApprovals' => [
+ 'summary' => 'Retrieves the list of pending automated O&M approval requests.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '245215',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostHPIB1A',
- ],
+ 'abilityTreeCode' => '203629',
+ 'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The instance ID of the bastion host.'."\n"
+ .'> You can invoke the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-m413tuhlo03', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'AssetId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ .'> For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ProtocolName',
+ 'name' => 'Keyword',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'SSH',
- ],
+ 'schema' => ['description' => 'The task name or task remarks to query. Fuzzy match is supported.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'AssetAccountName',
+ 'name' => 'ScheduleType',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'root',
- ],
+ 'schema' => ['description' => 'The task scheduling type used to filter results. Valid values:'."\n"
+ .'- **FixTime**: scheduled execution.'."\n"
+ .'- **CycleInterval**: periodic execution.'."\n"
+ .'- **Manual**: manually triggered by the user.', 'type' => 'string', 'required' => false, 'example' => 'Manual', 'title' => ''],
],
[
- 'name' => 'IsOneTimeEffect',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- [
- 'name' => 'EffectStartTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1685600242',
- ],
- ],
- [
- 'name' => 'EffectEndTime',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1679393152',
- ],
+ 'schema' => ['description' => 'The page number of the current page in a paging query. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'ApproveComment',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '',
- ],
+ 'schema' => ['description' => 'The maximum number of entries per page in a paging query. '."\n"
+ .'The maximum value of the PageSize parameter is 100. The default number of entries per page is 20. If PageSize is left empty, 20 entries are returned by default.'."\n"
+ .'> Do not leave PageSize empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'OperationTicketId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '2',
- ],
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '0ECCC399-4D35-48A7-8379-5C6180E66235',
+ 'Approves' => [
+ 'description' => 'The returned data.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ApproveId' => ['description' => 'The approval ID of the O&M task.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'ApplyAt' => ['description' => 'The time when the request was submitted, in seconds (UNIX timestamp).', 'type' => 'integer', 'format' => 'int64', 'example' => '1669965908', 'title' => ''],
+ 'ClientName' => ['description' => 'The username of the O&M task applicant.', 'type' => 'string', 'example' => 'Username', 'title' => ''],
+ 'ClientUid' => ['description' => 'The bastion host user ID of the applicant.', 'type' => 'integer', 'format' => 'int64', 'example' => '12', 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the O&M task.', 'type' => 'string', 'example' => 'Comment', 'title' => ''],
+ 'ScheduleType' => ['description' => 'The scheduling type of the task.'."\n"
+ .'- **FixTime**: scheduled execution.'."\n"
+ .'- **CycleInterval**: periodic execution.'."\n"
+ .'- **Manual**: manually triggered by the user.', 'type' => 'string', 'example' => 'Manual', 'title' => ''],
+ 'TaskId' => ['description' => 'The ID of the O&M task.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
+ 'Name' => ['description' => 'The name of the O&M task.', 'type' => 'string', 'example' => 'task', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The unique request ID generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => '45717163-334B-5955-8048-A02DAC6B3817', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of approval records returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '6', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'title' => 'Retrieve pending O&M approval tasks',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OperationTicketId\\": \\"2\\",\\n \\"RequestId\\": \\"0ECCC399-4D35-48A7-8379-5C6180E66235\\"\\n}","type":"json"}]',
- 'title' => 'CreateOperationTicket',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Approves\\": [\\n {\\n \\"ApproveId\\": \\"1\\",\\n \\"ApplyAt\\": 1669965908,\\n \\"ClientName\\": \\"Username\\",\\n \\"ClientUid\\": 12,\\n \\"Comment\\": \\"Comment\\",\\n \\"ScheduleType\\": \\"Manual\\",\\n \\"TaskId\\": 2,\\n \\"Name\\": \\"task\\"\\n }\\n ],\\n \\"RequestId\\": \\"45717163-334B-5955-8048-A02DAC6B3817\\",\\n \\"TotalCount\\": 6\\n}","type":"json"}]',
],
- 'CreateRule' => [
- 'summary' => 'You can create authorization rules to authorize multiple users to manage assets. You can also specify a validity period for an authorization rule. This way, you can manage users and assets in a more efficient manner and limit the time periods during which users can access assets.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListUserGroups' => [
+ 'summary' => 'Queries a list of user groups on a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-5yd2ymfsa0e',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to query user groups.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances ](~~462953~~)operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to query user groups.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~462924~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RuleName',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the authorization rule. The name can be up to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rule',
- ],
+ 'schema' => ['description' => 'The number of the page to return. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The remarks of the authorization rule. The remarks can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'EffectiveStartTime',
+ 'name' => 'UserGroupName',
'in' => 'query',
+ 'schema' => ['description' => 'The name of the user group that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'TestGroup01', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The start time of the validity period of the authorization rule. Specify a UNIX timestamp representing the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1669630029',
+ 'description' => 'The response data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => ['description' => 'The total number of user groups returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'UserGroups' => [
+ 'description' => 'The user groups returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserGroupName' => ['description' => 'The name of the user group.', 'type' => 'string', 'example' => 'TestGroup01', 'title' => ''],
+ 'MemberCount' => ['description' => 'The number of users in the user group.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''],
+ 'Comment' => ['description' => 'The description of the user group.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the user group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'ListUserGroups',
+ 'requestParamsDescription' => 'When you call this API operation, you must include the common request parameters of Alibaba Cloud API in your request in addition to the request parameters described in this topic. For more information about common request parameters, see [Common parameters](~~315526~~). For the request format, see the request examples in this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserGroups'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'EffectiveEndTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The end time of the validity period of the authorization rule. Specify a UNIX timestamp representing the number of seconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1672502400',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListUserGroups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"UserGroups\\": [\\n {\\n \\"UserGroupName\\": \\"TestGroup01\\",\\n \\"MemberCount\\": 6,\\n \\"Comment\\": \\"comment\\",\\n \\"UserGroupId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListUserPublicKeys' => [
+ 'summary' => 'Lists the SSH public keys that are configured for a Bastionhost user. Users can use these public keys for key-based authentication when logging on to hosts through Bastionhost.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'UserIds',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'An array that consists of user IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The user ID.'."\n"
- ."\n"
- .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1"]',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance where the user whose public keys you want to query resides.'."\n"
+ ."\n"
+ .'> You can call the [describeinstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****'."\n", 'title' => ''],
],
[
- 'name' => 'UserGroupIds',
+ 'name' => 'RegionId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'An array that consists of user group IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The user group ID.'."\n"
- ."\n"
- .'> You can call the [ListUserGroups](~~204509~~) operation to query the user group ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1"]',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance where the user resides.'."\n"
+ ."\n"
+ .'> For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
- 'name' => 'Hosts',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The host information.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The host ID and the host account ID that you want to authorize to manage.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'HostId' => [
- 'description' => 'The host ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"HostId":"1"}]',
- ],
- 'HostAccountIds' => [
- 'description' => 'An array that consists of host account IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The host account ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"HostId":"1","HostAccountIds":["1"]}]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The page number of the paged query. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Databases',
+ 'name' => 'PageSize',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The information about the database that runs on your server.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The database ID and the database account ID that you want to authorize to manage.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '['."\n"
- .' {'."\n"
- .' "DatabaseId": "1"'."\n"
- .' }'."\n"
- .']',
- ],
- 'DatabaseAccountIds' => [
- 'description' => 'An array that consists of database account IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '['."\n"
- .' {'."\n"
- .' "DatabaseId": "1",'."\n"
- .' "DatabaseAccountIds": ["1", "2"] '."\n"
- .' }'."\n"
- .']',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The maximum number of entries to return on each page for a paged query.<br> The maximum value of the PageSize parameter is 100. Default value: 20. If this parameter is empty, 20 entries are returned by default.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave the PageSize parameter empty.', 'type' => 'string', 'required' => false, 'example' => '50', 'title' => ''],
],
[
- 'name' => 'HostGroups',
+ 'name' => 'UserId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The information about the asset group that you want to authorize to manage.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The asset group that you want to authorize to manage.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'HostGroupId' => [
- 'description' => 'The asset group ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"HostGroupId":"1"}]',
- ],
- 'HostAccountNames' => [
- 'description' => 'An array that consists of asset account names.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The username of the asset account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"HostGroupId":"1","HostAccountNames":["root"]}]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The ID of the user whose public keys you want to query.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'BFA818E3-0A53-51F4-8DB5-AF2A62A6D042',
- ],
- 'RuleId' => [
- 'description' => 'The authorization rule ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
+ 'PublicKeys' => [
+ 'description' => 'The list of public keys of the user.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of public keys of the user.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FingerPrint' => ['description' => 'The fingerprint of the public key.', 'type' => 'string', 'example' => 'd8:7d:b6:27:70:2d:07:fb:c6:b6:66:0a:86:7b:0f:9a', 'title' => ''],
+ 'PublicKeyId' => ['description' => 'The ID of the public key.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'PublicKeyName' => ['description' => 'The name of the public key.', 'type' => 'string', 'example' => 'Keyname', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user to whom the public key belongs.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Comment' => ['description' => 'The comment on the public key.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The ID of the request, which is a unique identifier generated by Alibaba Cloud for the request. You can use this ID to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of public keys.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'RuleAlreadyExists',
- 'errorMessage' => 'The rule already exists.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BFA818E3-0A53-51F4-8DB5-AF2A62A6D042\\",\\n \\"RuleId\\": \\"1\\"\\n}","type":"json"}]',
- 'title' => 'CreateRule',
- 'requestParamsDescription' => '### Hosts array'."\n"
- ."\n"
- .'#### Host parameters'."\n"
- ."\n"
- .'|Parameter|Type|Description|'."\n"
- .'|---|---|---|'."\n"
- .'|HostId|string|The host ID.|'."\n"
- .'|HostAccountIds|array\\[string\\]|An array that consists of host account IDs.|'."\n"
- ."\n"
- .'### HostGroups array'."\n"
- ."\n"
- .'#### HostGroup parameters'."\n"
- ."\n"
- .'|Parameter|Type|Description|'."\n"
- .'|---|---|---|'."\n"
- .'|HostGroupId|string|The host group ID.|'."\n"
- .'|HostAccountNames|array\\[string\\]|An array that consists of host account usernames.|'."\n"
- ."\n"
- .'#### AssetGroup parameter'."\n"
- ."\n"
- .'|Parameter|Type|Description|'."\n"
- .'|---|---|---|'."\n"
- .'|AssetGroupId|string|The asset group ID.|'."\n"
- .'|AssetAccountNames|array\\[string\\]|An array that consists of asset account usernames.|',
- ],
- 'ModifyRule' => [
- 'summary' => 'Modifies the basic information of an authorization rule.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ListUserPublicKeys',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserPublicKeys'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListUserPublicKeys',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PublicKeys\\": [\\n {\\n \\"FingerPrint\\": \\"d8:7d:b6:27:70:2d:07:fb:c6:b6:66:0a:86:7b:0f:9a\\",\\n \\"PublicKeyId\\": \\"1\\",\\n \\"PublicKeyName\\": \\"Keyname\\",\\n \\"UserId\\": \\"1\\",\\n \\"Comment\\": \\"comment\\"\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 5\\n}","type":"json"}]',
+ ],
+ 'ListUsers' => [
+ 'summary' => 'Queries a list of users of a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose authorization rule you want to modify.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-zmb2y9ydw08',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose users you want to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the authorization rule to modify belongs.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'RuleId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the authorization rule to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '68',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose users you want to query.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RuleName',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the authorization rule. The name must be 1 to 128 characters in length and can contain periods (.), underscores (\\_), hyphens (-), single quotation marks (\'), and spaces. It cannot start with a special character.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new remarks of the authorization rule. It can be up to 500 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '',
- ],
+ 'schema' => ['description' => 'The number of entries per page.<br>'."\n"
+ .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ ."\n"
+ .'> We recommend that you do not leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'EffectiveStartTime',
+ 'name' => 'UserName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The start time of the new validity period of the authorization rule. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1669630029',
- ],
+ 'schema' => ['description' => 'The logon name of the user that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''],
],
[
- 'name' => 'EffectiveEndTime',
+ 'name' => 'DisplayName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The end time of the new validity period of the authorization rule. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1672502400',
- ],
+ 'schema' => ['description' => 'The display name of the user that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'testuser', 'title' => ''],
],
[
- 'name' => 'UserIds',
+ 'name' => 'Source',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The IDs of the users with whom the modified authorization rule is associated.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the user with whom the modified authorization rule is associated.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1"]',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The type of the user that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a local user.'."\n"
+ ."\n"
+ .'- **Ram**: a Resource Access Management (RAM) user.'."\n"
+ ."\n"
+ .'- **AD**: an Active Directory (AD)-authenticated user.'."\n"
+ ."\n"
+ .'- **LDAP**: a Lightweight Directory Access Protocol (LDAP)-authenticated user.', 'type' => 'string', 'required' => false, 'example' => 'Local', 'title' => ''],
],
[
- 'name' => 'UserGroupIds',
+ 'name' => 'Mobile',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The IDs of the user groups with which the modified authorization rule is associated.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the user group with which the modified authorization rule is associated.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1"]',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The mobile phone number of the user that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => '1359999****', 'title' => ''],
],
[
- 'name' => 'Hosts',
+ 'name' => 'UserState',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'An array that consists of the host IDs and host account IDs with which the modified authorization rule is associated.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HostId' => [
- 'description' => 'The host ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"HostId":"1"}]',
- ],
- 'HostAccountIds' => [
- 'description' => 'The host account IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The host account ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"HostId":"1","HostAccountIds":["1"]}]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- 'description' => '',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The state of the user that you want to query. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The user is in normal state.'."\n"
+ ."\n"
+ .'- **Frozen**: The user is locked.'."\n"
+ ."\n"
+ .'- **Expired**: The user has expired.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''],
],
[
- 'name' => 'Databases',
+ 'name' => 'SourceUserId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The databases and database accounts that a user associated with the modified rule can manage.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '['."\n"
- .' {'."\n"
- .' "DatabaseId": "1"'."\n"
- .' }'."\n"
- .']',
- ],
- 'DatabaseAccountIds' => [
- 'description' => 'The database account IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '['."\n"
- .' {'."\n"
- .' "DatabaseId": "1",'."\n"
- .' "DatabaseAccountIds": ["1", "2"] '."\n"
- .' }'."\n"
- .']',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- 'description' => '',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The unique ID of the user that you want to query. Only exact match is supported.'."\n"
+ ."\n"
+ .'> This parameter uniquely identifies a RAM user of the bastion host. This parameter is valid if **Source** is set to **Ram**. You can call the [ListUsers](~~28684~~) operation in RAM to obtain the unique ID of the user from the **UserId** response parameter.', 'type' => 'string', 'required' => false, 'example' => '122748924538****', 'title' => ''],
],
[
- 'name' => 'HostGroups',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The asset groups and asset accounts that a user associated with the modified rule can manage.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HostGroupId' => [
- 'description' => 'The asset group ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"HostGroupId":"1"}]'."\n",
- ],
- 'HostAccountNames' => [
- 'description' => 'The names of the asset accounts.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The name of the asset account.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"HostGroupId":"1","HostAccountNames":["root"]}]'."\n",
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- 'description' => '',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The ID of the user group to which the user you want to query belongs.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the user group ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '67EB57AD-5C83-537B-B2A1-6082798965F0',
+ 'TotalCount' => ['description' => 'The total number of users returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Users' => [
+ 'description' => 'The users returned.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DisplayName' => ['description' => 'The display name of the user.', 'type' => 'string', 'example' => 'Bob', 'title' => ''],
+ 'Email' => ['description' => 'The email address of the user.', 'type' => 'string', 'example' => '1099**@qq.com', 'title' => ''],
+ 'Comment' => ['description' => 'The remarks of the user.', 'type' => 'string', 'example' => 'comment', 'title' => ''],
+ 'MobileCountryCode' => ['description' => 'The location where the mobile phone number of the user is registered. Valid values:'."\n"
+ ."\n"
+ .'- **CN**: the Chinese mainland, whose international dialing code is +86.'."\n"
+ ."\n"
+ .'- **HK**: Hong Kong (China), whose international dialing code is +852.'."\n"
+ ."\n"
+ .'- **MO**: Macao (China), whose international dialing code is +853.'."\n"
+ ."\n"
+ .'- **TW**: Taiwan (China), whose international dialing code is +886.'."\n"
+ ."\n"
+ .'- **RU**: Russia, whose international dialing code is +7.'."\n"
+ ."\n"
+ .'- **SG**: Singapore, whose international dialing code is +65.'."\n"
+ ."\n"
+ .'- **MY**: Malaysia, whose international dialing code is +60.'."\n"
+ ."\n"
+ .'- **ID**: Indonesia, whose international dialing code is +62.'."\n"
+ ."\n"
+ .'- **DE**: Germany, whose international dialing code is +49.'."\n"
+ ."\n"
+ .'- **AU**: Australia, whose international dialing code is +61.'."\n"
+ ."\n"
+ .'- **US**: US, whose international dialing code is +1.'."\n"
+ ."\n"
+ .'- **AE**: United Arab Emirates, whose international dialing code is +971.'."\n"
+ ."\n"
+ .'- **JP:** Japan, whose international dialing code is +81.'."\n"
+ ."\n"
+ .'- **GB**: UK, whose international dialing code is +44.'."\n"
+ ."\n"
+ .'- **IN**: India, whose international dialing code is +91.'."\n"
+ ."\n"
+ .'- **KR**: Republic of Korea, whose international dialing code is +82.'."\n"
+ ."\n"
+ .'- **PH**: Philippines, whose international dialing code is +63.'."\n"
+ ."\n"
+ .'- **CH**: Switzerland, whose international dialing code is +41.'."\n"
+ ."\n"
+ .'- **SE**: Sweden, whose international dialing code is +46.', 'type' => 'string', 'example' => 'CN', 'title' => ''],
+ 'Mobile' => ['description' => 'The mobile phone number of the user.', 'type' => 'string', 'example' => '1359999****', 'title' => ''],
+ 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Source' => ['description' => 'The type of the user. Valid values:'."\n"
+ ."\n"
+ .'- **Local**: a local user.'."\n"
+ ."\n"
+ .'- **Ram**: a RAM user.'."\n"
+ ."\n"
+ .'- **AD**: an AD-authenticated user.'."\n"
+ ."\n"
+ .'- **LDAP**: an LDAP-authenticated user.', 'type' => 'string', 'example' => 'Local', 'title' => ''],
+ 'UserName' => ['description' => 'The logon name of the user.', 'type' => 'string', 'example' => 'abc_def', 'title' => ''],
+ 'SourceUserId' => ['description' => 'The unique ID of the user.'."\n"
+ ."\n"
+ .'> This parameter uniquely identifies a RAM user of the bastion host. A value is returned for this parameter if **Source** is set to **Ram**. No value is returned for this parameter if **Source** is set to **Local**.', 'type' => 'string', 'example' => '122748924538****', 'title' => ''],
+ 'UserState' => [
+ 'description' => 'An array that lists the states of users.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The state of the user. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The user is in normal state.'."\n"
+ ."\n"
+ .'- **Frozen**: The user is locked.'."\n"
+ ."\n"
+ .'- **Expired**: The user has expired.', 'type' => 'string', 'example' => '["Normal"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EffectiveStartTime' => ['description' => 'The start time of the validity period of the user. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '1669630029'],
+ 'EffectiveEndTime' => ['description' => 'The end time of the validity period of the user. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1672502400', 'title' => ''],
+ 'NeedResetPassword' => ['description' => 'Indicates whether password reset is required upon the next logon. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'TwoFactorStatus' => ['description' => 'Indicates whether two-factor authentication is enabled for the user. Valid values:'."\n"
+ ."\n"
+ .'- **Global**: The global setting applies.'."\n"
+ ."\n"
+ .'- **Disable**: Two-factor authentication is disabled.'."\n"
+ ."\n"
+ .'- **Enable**: Two-factor authentication is enabled. The user-specific setting for the authentication method applies.', 'type' => 'string', 'example' => 'Enable', 'title' => ''],
+ 'TwoFactorMethods' => [
+ 'description' => 'An array of the enabled two-factor authentication methods.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The enabled two-factor authentication method. Only one method is supported for each user. Valid values:'."\n"
+ ."\n"
+ .'- **sms:** text message-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **email:** email-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **dingtalk**: DingTalk-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **totp**: one-time password (OTP) token-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **gmusbkey**: two-factor authentication based on the SM-based USB key.', 'type' => 'string', 'example' => '['."\n"
+ .' "sms"'."\n"
+ .']', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'LanguageStatus' => ['description' => 'Indicates whether notifications are sent in the language specified in the global settings or a custom language.'."\n"
+ ."\n"
+ .'- **Global**'."\n"
+ ."\n"
+ .'- **Custom**', 'type' => 'string', 'example' => 'Custom', 'title' => ''],
+ 'Language' => ['description' => 'This parameter is required if LanguageStatus is set to Custom. Valid values:'."\n"
+ ."\n"
+ .'- **zh-cn**: simplified Chinese.'."\n"
+ ."\n"
+ .'- **en**: English.', 'type' => 'string', 'example' => 'en', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'RuleAlreadyExists',
- 'errorMessage' => 'The rule already exists.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'RuleNotFound',
- 'errorMessage' => 'The rule is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"67EB57AD-5C83-537B-B2A1-6082798965F0\\"\\n}","type":"json"}]',
- 'title' => 'ModifyRule',
- ],
- 'GetRule' => [
- 'summary' => 'Queries the detailed information about an authorization rule.',
- 'methods' => [
- 'post',
- 'get',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Users\\": [\\n {\\n \\"DisplayName\\": \\"Bob\\",\\n \\"Email\\": \\"1099**@qq.com\\",\\n \\"Comment\\": \\"comment\\",\\n \\"MobileCountryCode\\": \\"CN\\",\\n \\"Mobile\\": \\"1359999****\\",\\n \\"UserId\\": \\"1\\",\\n \\"Source\\": \\"Local\\",\\n \\"UserName\\": \\"abc_def\\",\\n \\"SourceUserId\\": \\"122748924538****\\",\\n \\"UserState\\": [\\n \\"[\\\\\\"Normal\\\\\\"]\\"\\n ],\\n \\"EffectiveStartTime\\": 1669630029,\\n \\"EffectiveEndTime\\": 1672502400,\\n \\"NeedResetPassword\\": true,\\n \\"TwoFactorStatus\\": \\"Enable\\",\\n \\"TwoFactorMethods\\": [\\n \\"[\\\\n \\\\\\"sms\\\\\\"\\\\n]\\"\\n ],\\n \\"LanguageStatus\\": \\"Custom\\",\\n \\"Language\\": \\"en\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ListUsers',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~315526~~). For more information about sample requests, see Sample requests.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUsers'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListUsers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'LockUsers' => [
+ 'summary' => 'Locks one or more users of a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-wwo35essw07',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which the users to be locked belong.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the users to be locked belong.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RuleId',
+ 'name' => 'UserIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the authorization rule to query.'."\n"
- ."\n"
- .'> You can call the [ListRules](~~2758868~~) operation to query the authorization rule ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '18',
- ],
+ 'schema' => ['description' => 'The ID of the user to be locked. The value is a JSON string. You can add up to 100 user IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => ' ["1","2","3"]', 'title' => ''],
],
],
'responses' => [
@@ -18604,273 +14495,168 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Rule' => [
- 'description' => 'The returned information about the authorization rule.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Comment' => [
- 'description' => 'The remarks of the authorization rule.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'Databases' => [
- 'description' => 'The databases on which permissions are granted by using the authorization rule.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'DatabaseAccounts' => [
- 'description' => 'The database accounts on which permissions are granted by using the authorization rule.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'DatabaseAccountId' => [
- 'description' => 'The ID of the database account that the policy authorizes users to manage.'."\n",
- 'type' => 'string',
- 'example' => '5',
- ],
- ],
- ],
- ],
- 'DatabaseId' => [
- 'description' => 'The ID of the database that the policy authorizes users to manage.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- ],
- 'description' => '',
- ],
- ],
- 'EffectiveEndTime' => [
- 'description' => 'The end time of the validity period of the authorization rule. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'string',
- 'example' => '1698720972',
- ],
- 'EffectiveStartTime' => [
- 'description' => 'The start time of the validity period of the authorization rule. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'string',
- 'example' => '1687140883',
- ],
- 'HostGroups' => [
- 'description' => 'The asset groups on which permissions are granted by using the authorization rule.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HostAccountNames' => [
- 'description' => 'The asset accounts on which permissions are granted by using the authorization rule.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The username of the account that the policy authorizes users to manage in the asset group.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- ],
- 'HostGroupId' => [
- 'description' => 'The ID of the asset group that the policy authorizes users to manage.'."\n",
- 'type' => 'string',
- 'example' => '7',
- ],
- ],
- 'description' => '',
- ],
- ],
- 'Hosts' => [
- 'description' => 'The information about the hosts that the policy authorizes users to manage.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HostAccounts' => [
- 'description' => 'The host accounts that the policy authorizes users to manage.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HostAccountId' => [
- 'description' => 'The ID of the host account that the policy authorizes users to manage.'."\n",
- 'type' => 'string',
- 'example' => '9',
- ],
- ],
- ],
- ],
- 'HostId' => [
- 'description' => 'The ID of the host that the policy authorizes users to manage.'."\n",
- 'type' => 'string',
- 'example' => '52',
- ],
- ],
- ],
- ],
- 'RuleId' => [
- 'description' => 'The ID of the authorization rule.'."\n",
- 'type' => 'string',
- 'example' => '3',
- ],
- 'RuleName' => [
- 'description' => 'The name of the authorization rule.'."\n",
- 'type' => 'string',
- 'example' => 'rule',
- ],
- 'UserGroups' => [
- 'description' => 'The authorized user groups.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'UserGroupId' => [
- 'description' => 'The ID of the authorized user group.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- ],
- ],
- ],
- 'Users' => [
- 'description' => 'The authorized users.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'UserId' => [
- 'description' => 'The ID of the authorized user.'."\n",
- 'type' => 'string',
- 'example' => '3',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'> Make sure that the request parameters are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'> Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'RuleNotFound',
- 'errorMessage' => 'The rule is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Rule\\": {\\n \\"Comment\\": \\"comment\\",\\n \\"Databases\\": [\\n {\\n \\"DatabaseAccounts\\": [\\n {\\n \\"DatabaseAccountId\\": \\"5\\"\\n }\\n ],\\n \\"DatabaseId\\": \\"2\\"\\n }\\n ],\\n \\"EffectiveEndTime\\": \\"1698720972\\",\\n \\"EffectiveStartTime\\": \\"1687140883\\",\\n \\"HostGroups\\": [\\n {\\n \\"HostAccountNames\\": [\\n \\"root\\"\\n ],\\n \\"HostGroupId\\": \\"7\\"\\n }\\n ],\\n \\"Hosts\\": [\\n {\\n \\"HostAccounts\\": [\\n {\\n \\"HostAccountId\\": \\"9\\"\\n }\\n ],\\n \\"HostId\\": \\"52\\"\\n }\\n ],\\n \\"RuleId\\": \\"3\\",\\n \\"RuleName\\": \\"rule\\",\\n \\"UserGroups\\": [\\n {\\n \\"UserGroupId\\": \\"2\\"\\n }\\n ],\\n \\"Users\\": [\\n {\\n \\"UserId\\": \\"3\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
- 'title' => 'GetRule',
- ],
- 'ListRules' => [
- 'summary' => 'Queries a list of authorization rules of a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'LockUsers',
+ 'description' => '# Description'."\n"
+ ."\n"
+ .'Locks one or more bastion host users to prevent them from performing O\\&M operations. If a user does not need to use a bastion host within a specific period of time, lock the user account. Locked users cannot log on to or perform O\\&M operations on the hosts on which they have permissions. To unlock users later, use the [UnlockUsers](~~204590~~) operation.'."\n"
+ ."\n"
+ .'# Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'LockUsers'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:LockUsers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ModifyDatabase' => [
+ 'summary' => 'Modifies the basic information about a database.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-5yd34ol020a',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host that manages the database to modify.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-72137xe5n01', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host that manages the database to modify.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'DatabaseId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the database to modify.', 'type' => 'string', 'required' => true, 'example' => '11', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'NetworkDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The ID of the new network domain for the database.'."\n"
+ ."\n"
+ .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
],
[
- 'name' => 'RuleName',
+ 'name' => 'ActiveAddressType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the authorization rule to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rule',
- ],
+ 'schema' => ['description' => 'The new address type of the database. Valid values:'."\n"
+ ."\n"
+ .'- **Public**'."\n"
+ ."\n"
+ .'- **Private**', 'type' => 'string', 'required' => false, 'example' => 'Public', 'title' => ''],
],
[
- 'name' => 'RuleState',
+ 'name' => 'DatabasePrivateAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The state of the authorization rule to query.'."\n"
- ."\n"
- .'* **Enabled**'."\n"
- .'* **Disabled**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enabled',
- ],
+ 'schema' => ['description' => 'The new internal address of the database. Specify an IPv4 address or a domain name.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabasePublicAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new public address of the database. Specify an IPv4 address or a domain name.', 'type' => 'string', 'required' => false, 'example' => 'www.example.com', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabasePort',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new port of the database.', 'type' => 'string', 'required' => false, 'example' => '5433', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new name of the database.', 'type' => 'string', 'required' => false, 'example' => 'pgsql', 'title' => ''],
+ ],
+ [
+ 'name' => 'SourceInstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the ApsaraDB for RDS instance or PolarDB cluster to modify.'."\n"
+ ."\n"
+ .'> This parameter is required if **Source** is set to **Rds** or **PolarDB**.', 'type' => 'string', 'required' => false, 'example' => 'i-wz99nexqd62z3bvuvpz5', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new remarks of the database.', 'type' => 'string', 'required' => false, 'example' => 'tttttttt', 'title' => ''],
],
],
'responses' => [
@@ -18878,94 +14664,52 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Rules' => [
- 'description' => 'The authorization rules that are returned.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Comment' => [
- 'description' => 'The remarks of the authorization rule.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'EffectiveEndTime' => [
- 'description' => 'The end time of the validity period of the authorization rule. The value is a timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1709258400',
- ],
- 'EffectiveStartTime' => [
- 'description' => 'The start time of the validity period of the authorization rule. The value is a timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1685499134',
- ],
- 'RuleId' => [
- 'description' => 'The authorization rule ID.'."\n",
- 'type' => 'string',
- 'example' => '13',
- ],
- 'RuleName' => [
- 'description' => 'The name of the authorization rule.'."\n",
- 'type' => 'string',
- 'example' => 'rule',
- ],
- 'RuleState' => [
- 'description' => 'The state of the authorization rule.'."\n"
- ."\n"
- .'* **Enabled**'."\n"
- .'* **Disabled**'."\n",
- 'type' => 'string',
- 'example' => 'Enabled',
- ],
- ],
- 'description' => '',
- ],
- ],
- 'TotalCount' => [
- 'description' => 'The total number of authorization rules that are returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '162088A7-7D47-56A3-9D04-93DE7B6DBE1C', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'DatabaseAlreadyExists', 'errorMessage' => 'The database already exists.', 'description' => 'The database already exists.'],
+ ],
+ 404 => [
+ ['errorCode' => 'DatabaseNotFound', 'errorMessage' => 'The database is not found.', 'description' => 'The database is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Rules\\": [\\n {\\n \\"Comment\\": \\"comment\\",\\n \\"EffectiveEndTime\\": 1709258400,\\n \\"EffectiveStartTime\\": 1685499134,\\n \\"RuleId\\": \\"13\\",\\n \\"RuleName\\": \\"rule\\",\\n \\"RuleState\\": \\"Enabled\\"\\n }\\n ],\\n \\"TotalCount\\": 1\\n}","type":"json"}]',
- 'title' => 'ListRules',
- ],
- 'EnableRule' => [
- 'summary' => 'Enables an authorization rule.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyDatabase',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDatabase'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyDatabase',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"162088A7-7D47-56A3-9D04-93DE7B6DBE1C\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyDatabaseAccount' => [
+ 'summary' => 'Modifies the basic information about a database account.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -18976,46 +14720,44 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1ghxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host that manages the database account to modify.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zpr2zyqx603', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host that manages the database account to modify.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RuleId',
+ 'name' => 'DatabaseAccountId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the authorization rule that you want to enable.'."\n"
- ."\n"
- .'> You can call the [ListRules](~~2758868~~) operation to query the authorization rule ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
+ 'schema' => ['description' => 'The ID of the database account to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListDatabaseAccounts](~~2758839~~) operation to query the database account ID.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new password of the database account.', 'type' => 'string', 'required' => false, 'example' => '14SZ!******', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseAccountName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new username of the database account. The username can be up to 128 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'aaa', 'title' => ''],
+ ],
+ [
+ 'name' => 'DatabaseSchema',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new name of the database. This parameter is required if the database engine is PostgreSQL or Oracle.', 'type' => 'string', 'required' => false, 'example' => 'orcl', 'title' => ''],
],
],
'responses' => [
@@ -19023,98 +14765,134 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '850FA4B4-5BD2-5269-903E-3B7E07E6C975', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'DatabaseAccountAlreadyExists', 'errorMessage' => 'The database account already exists.', 'description' => 'The database account already exists.'],
],
404 => [
- [
- 'errorCode' => 'RuleNotFound',
- 'errorMessage' => 'The rule is not found.',
- ],
+ ['errorCode' => 'DatabaseAccountNotFound', 'errorMessage' => 'The database account is not found.', 'description' => 'The database account is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\"\\n}","type":"json"}]',
- 'title' => 'EnableRule',
- ],
- 'DisableRule' => [
- 'summary' => 'Disables an authorization rule.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyDatabaseAccount',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDatabaseAccount'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyDatabaseAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"850FA4B4-5BD2-5269-903E-3B7E07E6C975\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyHost' => [
+ 'summary' => 'Modifies information about a host. The information includes the address, name, and description of the host and the operating system that the host runs.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1gh****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to modify the information about the host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to modify the information about the host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RuleId',
+ 'name' => 'HostId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the authorization rule to be disabled.'."\n"
- ."\n"
- .'> You can call the [ListRules](~~2758868~~) operation to query the authorization rule ID to be disabled.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostPrivateAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new internal endpoint of the host. You can set this parameter to a domain name or an IP address.', 'type' => 'string', 'required' => false, 'example' => '193.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostPublicAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new public endpoint of the host. You can set this parameter to a domain name or an IP address.', 'type' => 'string', 'required' => false, 'example' => '200.1.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'OSType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new operating system of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Linux**'."\n"
+ ."\n"
+ .'- **Windows**', 'type' => 'string', 'required' => false, 'example' => 'Linux', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new name of the host. The name can be up to 128 characters.', 'type' => 'string', 'required' => false, 'example' => 'TestHost', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new description of the host. The description can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Host for test.', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the new network domain to which the host belongs.'."\n"
+ ."\n"
+ .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PrefKex',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The preferred key exchange algorithm of the host. If you set OSType to Linux, you can modify this parameter. Valid values:'."\n"
+ ."\n"
+ .'- **default**'."\n"
+ ."\n"
+ .'- **diffie-hellman-group1-sha1**'."\n"
+ ."\n"
+ .'- **diffie-hellman-group14-sha1**'."\n"
+ ."\n"
+ .'- **diffie-hellman-group-exchange-sha1**', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
],
],
'responses' => [
@@ -19122,49 +14900,54 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '98DBE5C2-7D7A-5393-9E5A-71074336D33B',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'RuleNotFound',
- 'errorMessage' => 'The rule is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'HostNotFound', 'errorMessage' => 'The host is not found.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98DBE5C2-7D7A-5393-9E5A-71074336D33B\\"\\n}","type":"json"}]',
- 'title' => 'DisableRule',
- ],
- 'DeleteRule' => [
- 'summary' => 'Deletes an authorization rule.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyHost',
+ 'description' => 'You can call the ModifyHost operation to modify the basic information about a host in a data center, an Elastic Compute Service (ECS) instance, or a host in an ApsaraDB MyBase dedicated cluster.'."\n"
+ ."\n"
+ .'> The basic information about ECS instances and hosts in ApsaraDB MyBase dedicated clusters within your Alibaba Cloud account is synchronized to Bastionhost on a regular basis. After you modify the basic information about an ECS instance or a host in an ApsaraDB MyBase dedicated cluster, the modification result may be overwritten by the synchronized information.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHost'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyHostAccount' => [
+ 'summary' => 'Modifies a host account on a host managed by a Bastionhost instance. You can update the account name, password, or SSH private key used for host logon.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -19172,49 +14955,87 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost19BKK2',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host from which you want to delete the authorization rule.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'Specifies the ID of the Bastionhost instance where the host account to be modified resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the Bastionhost instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host from which you want to delete the authorization rule.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'Specifies the region ID of the Bastionhost instance where the host account to be queried resides.'."\n"
+ ."\n"
+ .'> For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RuleId',
+ 'name' => 'HostAccountId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the authorization rule that you want to delete.'."\n"
- ."\n"
- .'> You can call the [ListRules](~~2758868~~) operation to query the authorization rule ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '5',
- ],
+ 'schema' => ['description' => 'Specifies the ID of the host account to be modified.'."\n"
+ ."\n"
+ .'> You can call the [ListHostAccounts](~~204372~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAccountName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies the modified host account name, which can contain up to 128 characters.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies the modified password of the host account.', 'type' => 'string', 'required' => false, 'example' => '123456', 'title' => ''],
+ ],
+ [
+ 'name' => 'PrivateKey',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies the modified private key of the host account, which is a Base64-encoded string.'."\n"
+ ."\n"
+ .'> This parameter takes effect when the host account protocol is SSH. This parameter is not required when the host account protocol is RDP. You can call the [GetHostAccount](~~204391~~) operation to query the protocol used by the host account. You can configure both a password and a private key for a host account. When connecting to an asset, Bastionhost preferentially uses the private key for connection.', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN RSA PRIVATE KEY-----'."\n"
+ .'......'."\n"
+ .'-----END RSA PRIVATE KEY-----'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'PassPhrase',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies the modified security token of the host account\'s private key.'."\n"
+ ."\n"
+ .'> This parameter takes effect when the host account protocol is SSH. This parameter is not required when the host account protocol is RDP.', 'type' => 'string', 'required' => false, 'example' => '123456', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostShareKeyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The host shared key ID.'."\n"
+ ."\n"
+ .'> You can obtain this ID by calling the [ListHostShareKeys](~~462973~~) operation.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PrivilegeType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Account permission type. Valid values:'."\n"
+ ."\n"
+ .'- **Privileged**: privileged account'."\n"
+ ."\n"
+ .'- **Normal**: regular account'."\n"
+ ."\n"
+ .'> This parameter is supported only in V3.2.47 and later versions.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''],
+ ],
+ [
+ 'name' => 'RotationMode',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Account password rotation mode. Valid values:'."\n"
+ ."\n"
+ .'- **Privileged**: Use a privileged account to change the password'."\n"
+ ."\n"
+ .'- **Self**: Do not use a privileged account to change the password'."\n"
+ ."\n"
+ .'> This parameter is supported only in V3.2.47 and later versions.', 'type' => 'string', 'required' => false, 'example' => 'Self', 'title' => ''],
],
],
'responses' => [
@@ -19222,49 +15043,50 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The unique ID generated by Alibaba Cloud for this request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'RuleNotFound',
- 'errorMessage' => 'The rule is not found.',
- ],
+ ['errorCode' => 'HostAccountNotFound', 'errorMessage' => 'The host account is not found.', 'description' => 'The host account is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'ModifyHostAccount',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostAccount'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'DeleteRule',
],
- 'CreatePolicy' => [
- 'summary' => 'Configures a command control, command approval, protocol control, or access control policy to manage O\\\\\\&M operations. This effectively prevents users from performing high-risk operations or accidental operations to ensure O\\\\\\&M security.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ModifyHostGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -19272,70 +15094,42 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host for which you want to create a control policy.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-20p364c1w0g',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose asset group you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host for which you want to create a control policy.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-shanghai',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose asset group you want to modify.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyName',
+ 'name' => 'HostGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the control policy. The name can be up to 128 characters in length.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'policytest',
- ],
+ 'schema' => ['description' => 'The ID of the asset group that you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the ID of the host group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'HostGroupName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The remarks of the control policy. The remarks can be up to 500 characters in length.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
- ],
+ 'schema' => ['description' => 'The new name of the asset group. The name can be up to 128 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Group01', 'title' => ''],
],
[
- 'name' => 'Priority',
+ 'name' => 'Comment',
'in' => 'query',
- 'schema' => [
- 'description' => 'The priority of the control policy.'."\n"
- ."\n"
- .'* Valid values: 1 to 100. The default value is 1, which indicates the highest priority.'."\n"
- .'* You can configure the same priority for different control policies. If multiple control policies have the same priority, the control policy that is created at the latest point in time has the highest priority. If a command control policy and a command approval policy contain the same commands, the commands are prioritized in descending order: reject, allow, and approve. In access control policies, a blacklist has a higher priority than a whitelist.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The new remarks of the asset group. The remarks can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
],
'responses' => [
@@ -19343,234 +15137,194 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'PolicyId' => [
- 'description' => 'The control policy ID.',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '7E68165E-1191-5CC2-B54B-5EF7390A5400',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'PolicyAlreadyExists',
- 'errorMessage' => 'The policy already exists.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'HostGroupNotFound', 'errorMessage' => 'The host group is not found.', 'description' => 'The host group is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PolicyId\\": \\"1\\",\\n \\"RequestId\\": \\"7E68165E-1191-5CC2-B54B-5EF7390A5400\\"\\n}","type":"json"}]',
- 'title' => 'CreatePolicy',
- ],
- 'ModifyPolicy' => [
- 'summary' => 'Modifies the basic information about a control policy.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyHostGroup',
+ 'summary' => 'Modifies the name or description of the specified host group.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostGroup'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyHostShareKey' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the control policy to modify belongs.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-09k1u8mv501',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the control policy to modify belongs.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'HostShareKeyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the control policy that you want to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '7',
- ],
+ 'schema' => ['description' => 'The ID of the shared key whose information you want to modify.', 'type' => 'string', 'required' => true, 'example' => '10247', 'title' => ''],
],
[
- 'name' => 'PolicyName',
+ 'name' => 'HostShareKeyName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new name of the control policy.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The name of the shared key.', 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'PrivateKey',
'in' => 'query',
- 'schema' => [
- 'description' => 'The new remarks of the control policy.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '',
- ],
+ 'schema' => ['description' => 'The private key. Specify a Base64-encoded string.'."\n"
+ ."\n"
+ .'> Only Rivest-Shamir-Adleman (RSA) keys that are generated by using the ssh-keygen command and keys that are generated by using the Ed25519 algorithm are supported.', 'type' => 'string', 'required' => false, 'example' => 'LBYTnpR3Jmd2hMbmNBMGRmdWV2RW5oVXpCUmp3VkM0dGoKa0J2QlNRSHU2bytrMFBudlZvdlMzdGlBbXo5NkRzdUJDcDFFZVFJREFRQUJBb0lCQUNPZGNjK0lGUnNJd3VkYQpjT3VOSm5SK1BxWnlNZGVIaWFOcDc4SUxFd2NLZDNMZmlUWlYxc0d2Q21uTW0vQ3ZiS2NrZ0U1VjZxQVExRGZQCnI******', 'title' => ''],
],
[
- 'name' => 'Priority',
+ 'name' => 'PassPhrase',
'in' => 'query',
- 'schema' => [
- 'description' => 'The priority of the modified control policy. Valid values: 1 to 100. The smaller the value, the higher the priority. Default value: 1.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '3',
- ],
+ 'schema' => ['description' => 'The password of the private key. Specify a Base64-encoded string.', 'type' => 'string', 'required' => false, 'example' => 'MTIzN******'."\n", 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'A34F9731-A4EA-5D1D-8445-BAEF782BFFE6',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- [
- 'errorCode' => 'PolicyAlreadyExists',
- 'errorMessage' => 'The policy already exists.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A34F9731-A4EA-5D1D-8445-BAEF782BFFE6\\"\\n}","type":"json"}]',
- 'title' => 'ModifyPolicy',
- ],
- 'GetPolicy' => [
- 'summary' => 'Queries the detailed information about a control policy.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyHostShareKey',
+ 'summary' => 'Modifies a shared key.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostShareKey'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyHostsActiveAddressType' => [
+ 'summary' => 'Changes the endpoint type of one or more hosts for O\\\\\\\\\\\\\\\\\\\\\\\\&M. Public and private IP addresses are supported.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the control policy to query belongs.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-zvp2d3syb0g',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to change the portal type of the host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw***', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the control policy to query belongs.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to change the portal type of the host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'HostIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the control policy that you want to query.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
+ 'schema' => ['description' => 'The ID of the host for which you want to change the portal type. The value is a JSON string. You can add up to 100 host IDs.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the ID of the host.', 'type' => 'string', 'required' => true, 'example' => '["1","2"]', 'title' => ''],
+ ],
+ [
+ 'name' => 'ActiveAddressType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new portal type of the host. Valid values:'."\n"
+ ."\n"
+ .'- **Public**: public portal'."\n"
+ ."\n"
+ .'- **Private**: internal portal', 'type' => 'string', 'required' => true, 'example' => 'Private', 'title' => ''],
],
],
'responses' => [
@@ -19578,425 +15332,110 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Policy' => [
- 'description' => 'The details of the control policy.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'AccessTimeRangeConfig' => [
- 'description' => 'The details of the logon period restrictions.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'EffectiveTime' => [
- 'description' => 'The details of the periods during which logons are allowed.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Days' => [
- 'description' => 'The days of a week on which logons are allowed.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The day of the week during which logons are allowed. Valid values:'."\n"
- ."\n"
- .'* **1**: Monday.'."\n"
- .'* **2**: Tuesday.'."\n"
- .'* **3**: Wednesday.'."\n"
- .'* **4**: Thursday.'."\n"
- .'* **5**: Friday.'."\n"
- .'* **6**: Saturday.'."\n"
- .'* **7**: Sunday.'."\n",
- 'type' => 'string',
- 'example' => '[2]',
- ],
- ],
- 'Hours' => [
- 'description' => 'The time periods during which logons are allowed.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The periods of the day during which logons are allowed. Valid values:'."\n"
- ."\n"
- .'* **0**: 00:00 to 01:00.'."\n"
- .'* **1**: 01:00 to 02:00.'."\n"
- .'* **2**: 02:00 to 03:00.'."\n"
- .'* **3**: 03:00 to 04:00.'."\n"
- .'* **4**: 04:00 to 05:00.'."\n"
- .'* **5**: 05:00 to 06:00.'."\n"
- .'* **6**: 06:00 to 07:00.'."\n"
- .'* **7**: 07:00 to 08:00.'."\n"
- .'* **8**: 08:00 to 09:00.'."\n"
- .'* **9**: 09:00 to 10:00.'."\n"
- .'* **10**: 10:00 to 11:00.'."\n"
- .'* **11**: 11:00 to 12:00.'."\n"
- .'* **12**: 12:00 to 13:00.'."\n"
- .'* **13**: 13:00 to 14:00.'."\n"
- .'* **14**: 14:00 to 15:00.'."\n"
- .'* **15**: 15:00 to 16:00.'."\n"
- .'* **16**: 16:00 to 17:00.'."\n"
- .'* **17**: 17:00 to 18:00.'."\n"
- .'* **18**: 18:00 to 19:00.'."\n"
- .'* **19**: 19:00 to 20:00.'."\n"
- .'* **20**: 20:00 to 21:00.'."\n"
- .'* **21**: 21:00 to 22:00.'."\n"
- .'* **22**: 22:00 to 23:00.'."\n"
- .'* **23**: 23:00 to 24:00.'."\n",
- 'type' => 'string',
- 'example' => '[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]',
- ],
- ],
- ],
- 'description' => '',
- ],
- ],
- ],
- ],
- 'CommandConfig' => [
- 'description' => 'The details of the command policy.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Approval' => [
- 'description' => 'The details of the command approval settings.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Commands' => [
- 'description' => 'An array of commands that can be run only after approval.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The command that can be run only after approval.'."\n",
- 'type' => 'string',
- 'example' => 'ls',
- ],
- ],
- ],
- ],
- 'Deny' => [
- 'description' => 'The details of the command control setting.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'AclType' => [
- 'description' => 'The type of command control. Valid values:'."\n"
- ."\n"
- .'* white: whitelist mode.'."\n"
- .'* black: blacklist mode.'."\n",
- 'type' => 'string',
- 'example' => 'black',
- ],
- 'Commands' => [
- 'description' => 'An array of controlled commands.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The controlled command.'."\n",
- 'type' => 'string',
- 'example' => 'ls',
- ],
- ],
- ],
- ],
- ],
- ],
- 'Comment' => [
- 'description' => 'The description of the control policy.'."\n",
- 'type' => 'string',
- 'example' => 'comment',
- ],
- 'IPAclConfig' => [
- 'description' => 'The access control settings on source IP addresses.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'AclType' => [
- 'description' => 'The mode of access control on source IP addresses. Valid values:'."\n"
- ."\n"
- .'* white: whitelist mode.'."\n"
- .'* black: blacklist mode.'."\n",
- 'type' => 'string',
- 'example' => 'black',
- ],
- 'IPs' => [
- 'description' => 'The IP addresses from which logons are not allowed.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The controlled IP addresses.'."\n",
- 'type' => 'string',
- 'example' => '[10.10.**.**]',
- ],
- ],
- ],
- ],
- 'PolicyName' => [
- 'description' => 'The name of the control policy.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'PolicyId' => [
- 'description' => 'The ID of the control policy.'."\n",
- 'type' => 'string',
- 'example' => '3',
- ],
- 'Priority' => [
- 'description' => 'The priority of the control policy. A smaller value indicates a higher priority.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'ProtocolConfig' => [
- 'description' => 'The details of protocol control.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RDP' => [
- 'description' => 'The configuration details of Remote Desktop Protocol (RDP) options.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'ClipboardDownload' => [
- 'description' => 'Indicates whether downloading from the clipboard is enabled. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'ClipboardUpload' => [
- 'description' => 'Indicates whether file uploading from the clipboard is enabled. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'DiskRedirection' => [
- 'description' => 'Indicates whether driver mapping is enabled. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'RecordKeyboard' => [
- 'description' => 'Indicates whether keyboard recording is enabled. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- ],
- ],
- 'SSH' => [
- 'description' => 'The configuration details of SSH and SSH File Transfer Protocol (SFTP) options.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'ExecCommand' => [
- 'description' => 'Indicates whether remote command execution is enabled. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'SFTPChannel' => [
- 'description' => 'Indicates whether the SFTP channel option is enabled. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'SFTPDownloadFile' => [
- 'description' => 'Indicates whether file downloading is enabled in SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'SFTPMkdir' => [
- 'description' => 'Indicates whether folder creation is enabled in SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'SFTPRemoveFile' => [
- 'description' => 'Indicates whether file deletion is enabled in SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'SFTPRenameFile' => [
- 'description' => 'Indicates whether file renaming is enabled in SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'SFTPRmdir' => [
- 'description' => 'Indicates whether folder deletion is enabled in SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'SFTPUploadFile' => [
- 'description' => 'Indicates whether file uploading is enabled in SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'SSHChannel' => [
- 'description' => 'Indicates whether the SSH channel option is enabled. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- 'X11Forwarding' => [
- 'description' => 'Indicates whether X11 forwarding is enabled. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n",
- 'type' => 'string',
- 'example' => 'Enable',
- ],
- ],
- ],
- ],
- ],
- 'ApprovalConfig' => [
- 'description' => 'The O\\&M approval setting.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'SwitchStatus' => [
- 'description' => 'Indicates whether O\\&M approval is enabled in the control policy. Valid values:'."\n"
- ."\n"
- .'* **On**: O\\&M approval is enabled.'."\n"
- .'* **Off**: O\\&M approval is disabled.'."\n",
- 'type' => 'string',
- 'example' => 'Off',
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0D29F2C0-8B4B-5861-9474-F3F23D25594B',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Policy\\": {\\n \\"AccessTimeRangeConfig\\": {\\n \\"EffectiveTime\\": [\\n {\\n \\"Days\\": [\\n \\"[2]\\"\\n ],\\n \\"Hours\\": [\\n \\"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]\\"\\n ]\\n }\\n ]\\n },\\n \\"CommandConfig\\": {\\n \\"Approval\\": {\\n \\"Commands\\": [\\n \\"ls\\"\\n ]\\n },\\n \\"Deny\\": {\\n \\"AclType\\": \\"black\\",\\n \\"Commands\\": [\\n \\"ls\\"\\n ]\\n }\\n },\\n \\"Comment\\": \\"comment\\",\\n \\"IPAclConfig\\": {\\n \\"AclType\\": \\"black\\",\\n \\"IPs\\": [\\n \\"[10.10.**.**]\\"\\n ]\\n },\\n \\"PolicyName\\": \\"test\\",\\n \\"PolicyId\\": \\"3\\",\\n \\"Priority\\": 1,\\n \\"ProtocolConfig\\": {\\n \\"RDP\\": {\\n \\"ClipboardDownload\\": \\"Enable\\",\\n \\"ClipboardUpload\\": \\"Enable\\",\\n \\"DiskRedirection\\": \\"Enable\\",\\n \\"RecordKeyboard\\": \\"Enable\\"\\n },\\n \\"SSH\\": {\\n \\"ExecCommand\\": \\"Enable\\",\\n \\"SFTPChannel\\": \\"Enable\\",\\n \\"SFTPDownloadFile\\": \\"Enable\\",\\n \\"SFTPMkdir\\": \\"Enable\\",\\n \\"SFTPRemoveFile\\": \\"Enable\\",\\n \\"SFTPRenameFile\\": \\"Enable\\",\\n \\"SFTPRmdir\\": \\"Enable\\",\\n \\"SFTPUploadFile\\": \\"Enable\\",\\n \\"SSHChannel\\": \\"Enable\\",\\n \\"X11Forwarding\\": \\"Enable\\"\\n }\\n },\\n \\"ApprovalConfig\\": {\\n \\"SwitchStatus\\": \\"Off\\"\\n }\\n },\\n \\"RequestId\\": \\"0D29F2C0-8B4B-5861-9474-F3F23D25594B\\"\\n}","type":"json"}]',
- 'title' => 'GetPolicy',
- ],
- 'ListPolicies' => [
- 'summary' => 'Queries a list of control policies.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ModifyHostsActiveAddressType',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostsActiveAddressType'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'ModifyHostsPort' => [
+ 'summary' => 'Changes the port for the O\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\&M protocol on one or more hosts.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-5yd393wzk08',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to change the port of the host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to change the port of the host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'HostIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the host for which you want to change the port. The value is a JSON string. You can add up to 100 host IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the IDs of hosts.', 'type' => 'string', 'required' => true, 'example' => '["1","2","3"]', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'ProtocolName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Valid values: 1 to 100. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The protocol that is used to connect to the host. Valid values:'."\n"
+ ."\n"
+ .'- **SSH**'."\n"
+ ."\n"
+ .'- **RDP**', 'type' => 'string', 'required' => true, 'example' => 'SSH', 'title' => ''],
],
[
- 'name' => 'PolicyName',
+ 'name' => 'Port',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the control policy to query. Only exact match is supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '123',
- ],
+ 'schema' => ['description' => 'The new port of the host. The port number must be an integer. Valid values: 22 to 65535.', 'type' => 'string', 'required' => true, 'example' => '22', 'title' => ''],
],
],
'responses' => [
@@ -20004,1022 +15443,613 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Policies' => [
- 'description' => 'The control policies.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Comment' => [
- 'description' => 'The remarks of the control policy.'."\n",
- 'type' => 'string',
- 'example' => '',
- ],
- 'PolicyId' => [
- 'description' => 'The control policy ID.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- 'PolicyName' => [
- 'description' => 'The name of the control policy.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Priority' => [
- 'description' => 'The priority of the control policy. A smaller value indicates a higher priority.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .' > Make sure that the request parameters are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .' > Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of control policies that are returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Policies\\": [\\n {\\n \\"Comment\\": \\"Comment\\\\t\\",\\n \\"PolicyId\\": \\"2\\",\\n \\"PolicyName\\": \\"test\\",\\n \\"Priority\\": 1\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 10\\n}","type":"json"}]',
- 'title' => 'ListPolicies',
- ],
- 'GetPolicyAssetScope' => [
- 'summary' => 'Queries the assets to which a control policy applies.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyHostsPort',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'Changes the port for the O\\&M protocol on one or more hosts. If the standard port for your O\\&M protocol is vulnerable to attacks, specify a custom port instead. For example, the standard SSH port is port 22.'."\n"
+ ."\n"
+ .'> Ports 0 to 1024 are reserved for Bastionhost. Do not change the port for the O\\&M protocol to a reserved port.'."\n"
+ ."\n"
+ .'## QPS limit'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostsPort'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostsPort',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ModifyInstanceADAuthServer' => [
+ 'summary' => 'Updates the settings of the Active Directory (AD) authentication server of a bastion host.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'Server',
'in' => 'query',
- 'schema' => [
- 'description' => 'The control policy ID.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '7',
- ],
+ 'schema' => ['description' => 'The address of the AD server.', 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'StandbyServer',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The address of the secondary AD server.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'Port',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The port that is used to access the server.', 'type' => 'string', 'required' => true, 'example' => '389', 'title' => ''],
+ ],
+ [
+ 'name' => 'IsSSL',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether SSL is supported. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'string', 'required' => true, 'example' => 'true', 'title' => ''],
+ ],
+ [
+ 'name' => 'BaseDN',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The Base distinguished name (DN).', 'type' => 'string', 'required' => true, 'example' => 'dc=test,dc=com', 'title' => ''],
+ ],
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The domain on the AD server.', 'type' => 'string', 'required' => true, 'example' => 'domain', 'title' => ''],
+ ],
+ [
+ 'name' => 'Account',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The username of the account that is used for the AD server.', 'type' => 'string', 'required' => true, 'example' => 'cn=Manager,dc=test,dc=com', 'title' => ''],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The password of the account that is used for the AD server.', 'type' => 'string', 'required' => false, 'example' => '******', 'title' => ''],
+ ],
+ [
+ 'name' => 'Filter',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The condition that is used to filter users.', 'type' => 'string', 'required' => false, 'example' => '(objectClass=top)', 'title' => ''],
+ ],
+ [
+ 'name' => 'NameMapping',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The field that is used to indicate the name of a user on the AD server.', 'type' => 'string', 'required' => false, 'example' => 'nameAttr', 'title' => ''],
+ ],
+ [
+ 'name' => 'EmailMapping',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The field that is used to indicate the email address of a user on the AD server.', 'type' => 'string', 'required' => false, 'example' => 'emailAttr', 'title' => ''],
+ ],
+ [
+ 'name' => 'MobileMapping',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The field that is used to indicate the mobile phone number of a user on the AD server.', 'type' => 'string', 'required' => false, 'example' => 'mobileAttr', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'AssetScope' => [
- 'description' => 'The assets to which the control policy applies.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Databases' => [
- 'description' => 'The databases and database accounts to which the control policy applies.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'AccountScopeType' => [
- 'description' => 'The scope of database accounts to which the control policy applies. Valid values:'."\n"
- ."\n"
- .'* **All**: The control policy applies to all database accounts of the database.'."\n"
- .'* **AccountId**: The control policy applies to specified database accounts of the database.'."\n",
- 'type' => 'string',
- 'example' => 'AccountId',
- ],
- 'DatabaseAccountIds' => [
- 'description' => 'The IDs of database accounts to which the control policy applies.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The database account ID.'."\n",
- 'type' => 'string',
- 'example' => '["3"]'."\n",
- ],
- ],
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'example' => '17',
- ],
- ],
- ],
- ],
- 'HostGroups' => [
- 'description' => 'The asset groups and asset accounts to which the control policy applies.',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'AccountNames' => [
- 'description' => 'The asset accounts to which the control policy applies.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The username of the asset account.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- ],
- 'AccountScopeType' => [
- 'description' => 'The scope of asset accounts to which the control policy applies. Valid values:'."\n"
- ."\n"
- .'* **All**: The control policy applies to all accounts in the asset group.'."\n"
- .'* **AccountName**: The control policy applies to specified accounts in the asset group.'."\n",
- 'type' => 'string',
- 'example' => 'All',
- ],
- 'HostGroupId' => [
- 'description' => 'The asset group ID.'."\n",
- 'type' => 'string',
- 'example' => '4',
- ],
- ],
- ],
- ],
- 'Hosts' => [
- 'description' => 'The hosts and host accounts to which the control policy applies.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'AccountScopeType' => [
- 'description' => 'The scope of host accounts to which the control policy applies. Valid values:'."\n"
- ."\n"
- .'* **All**: The control policy applies to all accounts of the host.'."\n"
- .'* **AccountId**: The control policy applies to specified accounts of the host.'."\n",
- 'type' => 'string',
- 'example' => 'All',
- ],
- 'HostAccountIds' => [
- 'description' => 'The host accounts to which the control policy applies.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The host account IDs.'."\n",
- 'type' => 'string',
- 'example' => '["3"]',
- ],
- ],
- 'HostId' => [
- 'description' => 'The host ID.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- ],
- ],
- ],
- 'ScopeType' => [
- 'description' => 'The scope of assets to which the control policy applies.'."\n"
- ."\n"
- .'* If **All** is returned for this parameter, the control policy applies to all assets.'."\n"
- ."\n"
- .'* If no value is returned for this parameter, the control policy applies to the assets specified in the return values of Databases, HostGroups, and Hosts.',
- 'type' => 'string',
- 'example' => 'All',
- ],
- ],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'C9E97677-BD74-584B-AFCE-948C2A70BB82'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AssetScope\\": {\\n \\"Databases\\": [\\n {\\n \\"AccountScopeType\\": \\"AccountId\\",\\n \\"DatabaseAccountIds\\": [\\n \\"3\\\\n\\"\\n ],\\n \\"DatabaseId\\": \\"17\\"\\n }\\n ],\\n \\"HostGroups\\": [\\n {\\n \\"AccountNames\\": [\\n \\"root\\"\\n ],\\n \\"AccountScopeType\\": \\"All\\",\\n \\"HostGroupId\\": \\"4\\"\\n }\\n ],\\n \\"Hosts\\": [\\n {\\n \\"AccountScopeType\\": \\"All\\",\\n \\"HostAccountIds\\": [\\n \\"3\\"\\n ],\\n \\"HostId\\": \\"1\\"\\n }\\n ],\\n \\"ScopeType\\": \\"All\\"\\n },\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'GetPolicyAssetScope',
- ],
- 'SetPolicyProtocolConfig' => [
- 'summary' => 'Configures the Remote Desktop Protocol (RDP) options, SSH options, and SSH Fine Transfer Protocol (SFTP) options for a control policy.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'ModifyInstanceADAuthServer',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceADAuthServer'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C9E97677-BD74-584B-AFCE-948C2A70BB82\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyInstanceAttribute' => [
+ 'summary' => 'Modifies the information of a specified bastion host instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host instance.'."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'Description',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The description of the bastion host instance.'."\n"
+ ."\n"
+ .'> The description can contain only letters, Chinese characters, digits, underscores (_), or hyphens (-), and cannot exceed 30 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Bastionhost demo', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the control policy that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '61',
- ],
- ],
- [
- 'name' => 'ProtocolConfig',
- 'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The protocol control settings.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RDP' => [
- 'description' => 'The settings of the Remote Desktop Protocol (RDP) options.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RecordKeyboard' => [
- 'description' => 'Specifies whether to enable keyboard operation recording. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'DiskRedirection' => [
- 'description' => 'Specifies whether to enable driver mapping. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'ClipboardDownload' => [
- 'description' => 'Specifies whether to enable downloading from the clipboard. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'ClipboardUpload' => [
- 'description' => 'Specifies whether to enable uploading from the clipboard. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'DiskRedirectionUpload' => [
- 'title' => '允许磁盘上传',
- 'type' => 'string',
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'DiskRedirectionDownload' => [
- 'title' => '允许磁盘下载',
- 'type' => 'string',
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- ],
- 'required' => false,
- ],
- 'SSH' => [
- 'description' => 'The settings of the SSH and SSH Fine Transfer Protocol (SFTP) options.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'X11Forwarding' => [
- 'description' => 'Specifies whether to enable X11 forwarding. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'SFTPChannel' => [
- 'description' => 'Specifies whether to enable SFTP channels. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* If you do not specify this parameter, the default value Disable is used.'."\n"
- ."\n"
- .'* You must set at least one of the following parameters to Enable: SSHChannel and SFTPChannel.'."\n"
- ."\n"
- .'* If you select Enable Only SFTP Permission for a host account, do not set SSHChannel and SFTPChannel to Disable for the account. Otherwise, users of the bastion host cannot use the account to access the host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'SSHChannel' => [
- 'description' => 'Specifies whether to enable SSH channels. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* If you do not specify this parameter, the default value Disable is used.'."\n"
- ."\n"
- .'* You must set at least one of the following parameters to Enable: SSHChannel and SFTPChannel. If you set SSHChannel to Disable, SSH-based logon is disabled for the asset account. Proceed with caution.'."\n"
- ."\n"
- .'* If you select Enable Only SFTP Permission for a host account, do not set SSHChannel and SFTPChannel to Disable for the account. Otherwise, users of the bastion host cannot use the account to access the host.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'ExecCommand' => [
- 'description' => 'Specifies whether to enable remote command execution. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'SFTPUploadFile' => [
- 'description' => 'Specifies whether to enable file uploading during SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'SFTPDownloadFile' => [
- 'description' => 'Specifies whether to enable file downloading during SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'SFTPRemoveFile' => [
- 'description' => 'Specifies whether to enable file deletion during SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'SFTPRenameFile' => [
- 'description' => 'Specifies whether to enable file renaming during SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'SFTPMkdir' => [
- 'description' => 'Specifies whether to enable folder creation during SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'SFTPRmdir' => [
- 'description' => 'Specifies whether to enable folder deletion during SFTP-based O\\&M. Valid values:'."\n"
- ."\n"
- .'* Enable'."\n"
- .'* Disable'."\n"
- ."\n"
- .'> If you do not specify this parameter, the default value Disable is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'AllowDirectTcp' => [
- 'title' => '允许 TCP 直连',
- 'type' => 'string',
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- 'AllowTcpForwarding' => [
- 'title' => '允许 TCP 转发',
- 'type' => 'string',
- 'example' => 'Enable',
- 'enum' => [
- 'Enable',
- 'Disable',
- ],
- ],
- ],
- 'required' => false,
- ],
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host instance.'."\n"
+ .'> For information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '81500666-d7f5-4143-8329-0223cc738105',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates a unique identifier for each request. You can use the request ID to troubleshoot issues.', 'type' => 'string', 'example' => 'E07158EA-D1A3-4BAA-84DA-2FE230D03884', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E07158EA-D1A3-4BAA-84DA-2FE230D03884\\"\\n}","type":"json"}]',
+ 'title' => 'Modify the information of a specified bastion host instance',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceAttribute'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\"\\n}","type":"json"}]',
- 'title' => 'SetPolicyProtocolConfig',
+ 'ramActions' => [],
],
- 'SetPolicyCommandConfig' => [
- 'summary' => 'Specifies the commands that can or cannot be run by the users or on the assets associated with the policy and the commands that must be reviewed.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ModifyInstanceLDAPAuthServer' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM', 'FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-78v1ghxxxxx',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'Server',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the control policy that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '45',
- ],
+ 'schema' => ['description' => 'The address of the LDAP server.', 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX', 'title' => ''],
],
[
- 'name' => 'CommandConfig',
+ 'name' => 'StandbyServer',
'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The command control settings.'."\n"
- ."\n"
- .'> This parameter applies only to Linux hosts.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Deny' => [
- 'description' => 'The command control settings.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'AclType' => [
- 'description' => 'The type of command control. Valid values:'."\n"
- ."\n"
- .'* **black**: blacklist mode.'."\n"
- .'* **white**: whitelist mode.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'white',
- 'enum' => [
- 'black',
- 'white',
- ],
- ],
- 'Commands' => [
- 'description' => 'The commands to be controlled.'."\n"
- ."\n"
- .'> This parameter is required if AclType is set to white.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The command to be controlled.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '["mkdir"]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => true,
- ],
- 'Approval' => [
- 'description' => 'The command approval settings.'."\n"
- ."\n"
- .'> A command approval policy is used to approve the commands that are excluded from a whitelist or blacklist specified in a command control policy. The command control policy takes precedence over the command approval policy in validation.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Commands' => [
- 'description' => 'The commands that can be run only after approval.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The command that can be run only after approval.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["mkdir"]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'The address of the secondary LDAP server.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'Port',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The port that is used to access the LDAP server.', 'type' => 'string', 'required' => true, 'example' => '389', 'title' => ''],
+ ],
+ [
+ 'name' => 'IsSSL',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to support SSL. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ [
+ 'name' => 'BaseDN',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The Base distinguished name (DN).', 'type' => 'string', 'required' => true, 'example' => 'dc=test,dc=com', 'title' => ''],
+ ],
+ [
+ 'name' => 'Account',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The username of the account that is used for the LDAP server.', 'type' => 'string', 'required' => true, 'example' => 'cn=Manager,dc=test,dc=com', 'title' => ''],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The password of the account that is used for the LDAP server. You must configure a password when you configure LDAP authentication. If you leave this parameter empty when you modify the settings of LDAP authentication, the current password is used.', 'type' => 'string', 'required' => false, 'example' => '******', 'title' => ''],
+ ],
+ [
+ 'name' => 'Filter',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The condition that is used to filter users.', 'type' => 'string', 'required' => false, 'example' => '(objectClass=top)', 'title' => ''],
+ ],
+ [
+ 'name' => 'LoginNameMapping',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The field that is used to indicate the logon name of a user on the LDAP server.', 'type' => 'string', 'required' => false, 'example' => 'userNameAttr', 'title' => ''],
+ ],
+ [
+ 'name' => 'NameMapping',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The field that is used to indicate the name of a user on the LDAP server.', 'type' => 'string', 'required' => false, 'example' => 'nameAttr', 'title' => ''],
+ ],
+ [
+ 'name' => 'EmailMapping',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The field that is used to indicate the email address of a user on the LDAP server.', 'type' => 'string', 'required' => false, 'example' => 'emailAttr', 'title' => ''],
+ ],
+ [
+ 'name' => 'MobileMapping',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The field that is used to indicate the mobile phone number of a user on the LDAP server.', 'type' => 'string', 'required' => false, 'example' => 'mobileAttr', 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => '8F1085E3-F048-5F34-B650-F145216E4AA4'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'ModifyInstanceLDAPAuthServer',
+ 'summary' => 'Updates the settings of the Lightweight Directory Access Protocol (LDAP) authentication server of a bastion host.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceLDAPAuthServer'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyInstanceLDAPAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\"\\n}","type":"json"}]',
- 'title' => 'SetPolicyCommandConfig',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8F1085E3-F048-5F34-B650-F145216E4AA4\\"\\n}","type":"json"}]',
],
- 'SetPolicyIPAclConfig' => [
- 'summary' => 'Specifies whether a source IP address can access the assets to which a control policy applies.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ModifyInstanceTwoFactor' => [
+ 'summary' => 'Modifies the two-factor authentication settings of a bastion host.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the DescribeInstances operation to query the bastion host ID.[](~~153281~~)'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'EnableTwoFactor',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the control policy that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '3',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable two-factor authentication. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes'."\n"
+ ."\n"
+ .'- **false**: no', 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
- 'name' => 'IPAclConfig',
+ 'name' => 'TwoFactorMethods',
'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The access control settings for source IP addresses.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'AclType' => [
- 'description' => 'The mode of access control on source IP addresses. Valid values:'."\n"
- ."\n"
- .'* **black**: blacklist mode.'."\n"
- .'* **white**: whitelist mode.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'enumValueTitles' => [],
- 'example' => 'white',
- 'enum' => [
- 'black',
- 'white',
- ],
- ],
- 'IPs' => [
- 'description' => 'The source IP addresses in the blacklist or whitelist.'."\n"
- ."\n"
- .'> '."\n"
- ."\n"
- .'* This parameter is required if AclType is set to white.'."\n"
- ."\n"
- .'* If AclType is set to black but you do not want to add IP addresses to the blacklist, you can leave IPs empty.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The source IP address in the blacklist or whitelist.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '["1.1.1.1", “2.2.2.2"]',
- 'pattern' => '^((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))(\\s?-\\s?((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d))))?$',
- ],
- 'required' => true,
- ],
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'The method used to send a verification code for two-factor authentication. If EnableTwoFactor is set to true, you must specify at least one method. Valid values:'."\n"
+ ."\n"
+ .'- **sms:** text message.'."\n"
+ ."\n"
+ .'- **email**: email.'."\n"
+ ."\n"
+ .'- **dingtalk**: notice in DingTalk.'."\n"
+ ."\n"
+ .'- **totp**: one-time password (OTP) token.'."\n"
+ ."\n"
+ .'- **gmusbkey**: SM-based USB key.', 'type' => 'string', 'required' => false, 'example' => '["sms"]', 'title' => ''],
+ ],
+ [
+ 'name' => 'SkipTwoFactorTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The duration within which two-factor authentication is not required after a user passes two-factor authentication. Valid values: 0 to 168. Unit: hours. If you set this parameter to 0, the user must pass two-factor authentication every time the user logs on to the bastion host.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => '9CE1A352-15E9-5EB4-B589-87A8DEECB20D'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'SetPolicyIPAclConfig',
- ],
- 'GetPolicyUserScope' => [
- 'summary' => 'Queries the scope of users to whom a control policy applies.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyInstanceTwoFactor',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceTwoFactor'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyInstanceTwoFactor',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9CE1A352-15E9-5EB4-B589-87A8DEECB20D\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyNetworkDomain' => [
+ 'summary' => 'Modifies the basic information about a network domain.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host to which the control policy to query belongs.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastion-xxxx-xx',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which the network domain to modify belongs.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-x0r3hyr3f09', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host to which the control policy to query belongs.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the network domain to modify belongs.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'NetworkDomainId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the network domain to modify.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new name of the network domain.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'NetworkDomainType',
'in' => 'query',
+ 'schema' => ['description' => 'The new connection mode of the network domain. Valid values:'."\n"
+ ."\n"
+ .'- **Direct**'."\n"
+ ."\n"
+ .'- **Proxy**', 'type' => 'string', 'required' => false, 'example' => 'Proxy', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new remarks of the network domain.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'Proxies',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the control policy that you want to query.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
+ 'description' => 'The information about the proxy servers in the network domain.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'User' => ['description' => 'The new username of the proxy server account.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'NodeType' => ['description' => 'The node type of the proxy server to modify. Valid values:'."\n"
+ ."\n"
+ .'- **Master**: primary proxy server.'."\n"
+ ."\n"
+ .'- **Slave**: secondary proxy server.', 'type' => 'string', 'required' => false, 'example' => 'Slave', 'title' => ''],
+ 'ProxyType' => ['description' => 'The new proxy mode. Valid values:'."\n"
+ ."\n"
+ .'- **SSHProxy**'."\n"
+ ."\n"
+ .'- **HTTPProxy**'."\n"
+ ."\n"
+ .'- **Socks5Proxy**', 'type' => 'string', 'required' => false, 'example' => 'HTTPProxy', 'title' => ''],
+ 'Address' => ['description' => 'The new IP address of the proxy server.', 'type' => 'string', 'required' => false, 'example' => '114.21**.**', 'title' => ''],
+ 'Password' => ['description' => 'The new password of the proxy server account.', 'type' => 'string', 'required' => false, 'example' => '***', 'title' => ''],
+ 'Port' => ['description' => 'The new port of the proxy server.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -21028,75 +16058,51 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'UserScope' => [
- 'description' => 'The users to whom the control policy applies.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'ScopeType' => [
- 'description' => 'The scope of users to whom the control policy applies.'."\n"
- .'* If **All** is returned for this parameter, the control policy applies to all users.'."\n"
- ."\n"
- .'* If no value is returned for this parameter, the control policy applies to the assets specified in the return values of UserGroupIds and UserIds.',
- 'type' => 'string',
- 'example' => 'All',
- ],
- 'UserGroupIds' => [
- 'description' => 'The user groups to which the control policy applies.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The user group IDs.',
- 'type' => 'string',
- 'example' => '["1", "2", "3"]',
- ],
- ],
- 'UserIds' => [
- 'description' => 'The users to whom the control policy applies.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The user IDs.',
- 'type' => 'string',
- 'example' => '["1", "2", "3"]',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'ED49CD1E-3510-5E5C-9133-E2067B656501', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'NetworkDomainAlreadyExists', 'errorMessage' => 'The network domain already exists.', 'description' => 'The network domain already exists.'],
+ ],
+ 404 => [
+ ['errorCode' => 'NetworkDomainNotFound', 'errorMessage' => 'The network domain is not found.', 'description' => 'The network domain is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"UserScope\\": {\\n \\"ScopeType\\": \\"All\\",\\n \\"UserGroupIds\\": [\\n \\"[\\\\\\"1\\\\\\", \\\\\\"2\\\\\\", \\\\\\"3\\\\\\"]\\"\\n ],\\n \\"UserIds\\": [\\n \\"[\\\\\\"1\\\\\\", \\\\\\"2\\\\\\", \\\\\\"3\\\\\\"]\\"\\n ]\\n }\\n}","type":"json"}]',
- 'title' => 'GetPolicyUserScope',
- ],
- 'SetPolicyAccessTimeRangeConfig' => [
- 'summary' => 'Configures the logon period limits in a control policy.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyNetworkDomain',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyNetworkDomain'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyNetworkDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ED49CD1E-3510-5E5C-9133-E2067B656501\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyPolicy' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -21107,126 +16113,42 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which the control policy to modify belongs.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-09k1u8mv501', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the control policy to modify belongs.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The control policy ID.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '13',
- ],
+ 'schema' => ['description' => 'The ID of the control policy that you want to modify.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''],
],
[
- 'name' => 'AccessTimeRangeConfig',
+ 'name' => 'PolicyName',
'in' => 'query',
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The logon period limits.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'EffectiveTime' => [
- 'description' => 'The details about the periods during which users can log on to the assets.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Days' => [
- 'description' => 'The days of the week during which users can log on to the assets.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The day of the week during which users can log on to the assets. Valid values:'."\n"
- ."\n"
- .'* **1**: Monday.'."\n"
- .'* **2**: Tuesday.'."\n"
- .'* **3**: Wednesday.'."\n"
- .'* **4**: Thursday.'."\n"
- .'* **5**: Friday.'."\n"
- .'* **6**: Saturday.'."\n"
- .'* **7**: Sunday.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '[7]',
- ],
- 'required' => false,
- ],
- 'Hours' => [
- 'description' => 'The time periods of the day during which users can log on to the assets.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The time periods of the day during which users can log on to the assets. Valid values:'."\n"
- ."\n"
- .'* **0**: 00:00 to 01:00.'."\n"
- .'* **1**: 01:00 to 02:00.'."\n"
- .'* **2**: 02:00 to 03:00.'."\n"
- .'* **3**: 03:00 to 04:00.'."\n"
- .'* **4**: 04:00 to 05:00.'."\n"
- .'* **5**: 05:00 to 06:00.'."\n"
- .'* **6**: 06:00 to 07:00.'."\n"
- .'* **7**: 07:00 to 08:00.'."\n"
- .'* **8**: 08:00 to 09:00.'."\n"
- .'* **9**: 09:00 to 10:00.'."\n"
- .'* **10**: 10:00 to 11:00.'."\n"
- .'* **11**: 11:00 to 12:00.'."\n"
- .'* **12**: 12:00 to 13:00.'."\n"
- .'* **13**: 13:00 to 14:00.'."\n"
- .'* **14**: 14:00 to 15:00.'."\n"
- .'* **15**: 15:00 to 16:00.'."\n"
- .'* **16**: 16:00 to 17:00.'."\n"
- .'* **17**: 17:00 to 18:00.'."\n"
- .'* **18**: 18:00 to 19:00.'."\n"
- .'* **19**: 19:00 to 20:00.'."\n"
- .'* **20**: 20:00 to 21:00.'."\n"
- .'* **21**: 21:00 to 22:00.'."\n"
- .'* **22**: 22:00 to 23:00.'."\n"
- .'* **23**: 23:00 to 24:00.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '[9, 14]',
- ],
- 'required' => false,
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'The new name of the control policy.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new remarks of the control policy.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The priority of the modified control policy. Valid values: 1 to 100. The smaller the value, the higher the priority. Default value: 1.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''],
],
],
'responses' => [
@@ -21234,49 +16156,53 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A34F9731-A4EA-5D1D-8445-BAEF782BFFE6', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'PolicyAlreadyExists', 'errorMessage' => 'The policy already exists.', 'description' => 'The policy already exists.'],
],
404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'SetPolicyAccessTimeRangeConfig',
- ],
- 'SetPolicyAssetScope' => [
- 'summary' => 'Specifies the assets to which a control policy applies.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyPolicy',
+ 'summary' => 'Modifies the basic information about a control policy.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyPolicy'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyPolicy',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A34F9731-A4EA-5D1D-8445-BAEF782BFFE6\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyRule' => [
+ 'summary' => 'Modifies the basic information of an authorization rule.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -21287,60 +16213,72 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose authorization rule you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zmb2y9ydw08', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the authorization rule to modify belongs.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'RuleId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the authorization rule to modify.', 'type' => 'string', 'required' => true, 'example' => '68', 'title' => ''],
+ ],
+ [
+ 'name' => 'RuleName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new name of the authorization rule. The name must be 1 to 128 characters in length and can contain periods (.), underscores (\\_), hyphens (-), single quotation marks (\'), and spaces. It cannot start with a special character.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new remarks of the authorization rule. It can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'TEST', 'title' => ''],
+ ],
+ [
+ 'name' => 'EffectiveStartTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The start time of the new validity period of the authorization rule. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1669630029', 'title' => ''],
+ ],
+ [
+ 'name' => 'EffectiveEndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end time of the new validity period of the authorization rule. The value is a UNIX timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1672502400', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserIds',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the control policy that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '7',
+ 'description' => 'The IDs of the users with whom the modified authorization rule is associated.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the user with whom the modified authorization rule is associated.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ScopeType',
+ 'name' => 'UserGroupIds',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The scope of assets to which the control policy applies. Valid values:'."\n"
- ."\n"
- .'* **All**: The control policy applies to all assets.'."\n"
- .'* **Host**: The control policy applies to specified hosts.'."\n"
- .'* **Database**: The control policy applies to specified databases.'."\n"
- .'* **HostGroup**: The control policy applies to specified asset groups.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'All',
+ 'description' => 'The IDs of the user groups with which the modified authorization rule is associated.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the user group with which the modified authorization rule is associated.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
[
@@ -21348,45 +16286,29 @@
'in' => 'query',
'style' => 'flat',
'schema' => [
- 'description' => 'The hosts to which the control policy applies.'."\n"
- ."\n"
- .'> This parameter is required if ScopeType is set to Host. You can specify up to 500 hosts.',
+ 'description' => 'An array that consists of the host IDs and host account IDs with which the modified authorization rule is associated.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'HostId' => [
- 'description' => 'The host ID.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
- 'AccountScopeType' => [
- 'description' => 'The scope of host accounts to which the control policy applies. Valid values:'."\n"
- ."\n"
- .'* **All**: The control policy applies to all accounts of the host.'."\n"
- .'* **AccountId**: The control policy applies specified accounts of the host.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'All',
- ],
+ 'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
'HostAccountIds' => [
- 'description' => 'The host accounts to which the control policy applies.'."\n"
- ."\n"
- .'> This parameter is required if AccountScopeType is set to AccountId.',
+ 'description' => 'The host account IDs.',
'type' => 'array',
- 'items' => [
- 'description' => 'The host account ID.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["96"]',
- ],
+ 'items' => ['description' => 'The host account ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
[
@@ -21394,46 +16316,29 @@
'in' => 'query',
'style' => 'flat',
'schema' => [
- 'description' => 'The databases to which the control policy applies.'."\n"
- ."\n"
- .'> This parameter is required if ScopeType is set to Database. You can specify up to 500 databases.'."\n",
+ 'description' => 'The databases and database accounts that a user associated with the modified rule can manage.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'DatabaseId' => [
- 'description' => 'The database ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '3',
- ],
- 'AccountScopeType' => [
- 'description' => 'The scope of database accounts to which the control policy applies. Valid values:'."\n"
- ."\n"
- .'* **All**: The control policy applies to all database accounts of the database.'."\n"
- .'* **AccountId**: The control policy applies to specified database accounts of the database.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AccountId',
- ],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
'DatabaseAccountIds' => [
- 'description' => 'The database accounts to which the control policy applies.'."\n"
- ."\n"
- .'> This parameter is required if AccountScopeType is set to AccountId.'."\n",
+ 'description' => 'The database account IDs.',
'type' => 'array',
- 'items' => [
- 'description' => 'The database account IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["3"]',
- ],
+ 'items' => ['description' => 'The database account ID.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
[
@@ -21441,47 +16346,29 @@
'in' => 'query',
'style' => 'flat',
'schema' => [
- 'description' => 'The asset groups to which the control policy applies.'."\n"
- ."\n"
- .'> This parameter is required if ScopeType is set to HostGroup. You can specify up to 100 asset groups.',
+ 'description' => 'The asset groups and asset accounts that a user associated with the modified rule can manage.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'HostGroupId' => [
- 'description' => 'The asset group ID.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '86',
- ],
- 'AccountScopeType' => [
- 'description' => 'The scope of asset accounts to which the control policy applies. Valid values:'."\n"
- ."\n"
- .'* **All**: The control policy applies to all accounts in the asset group.'."\n"
- .'* **AccountName**: The control policy applies to specified accounts in the asset group.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'All',
- ],
- 'AccountNames' => [
- 'description' => 'The asset accounts to which the control policy applies.'."\n"
- ."\n"
- .'> This parameter is required if AccountScopeType is set to AccountName.',
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'required' => false, 'example' => '1'."\n", 'title' => ''],
+ 'HostAccountNames' => [
+ 'description' => 'The names of the asset accounts.',
'type' => 'array',
- 'items' => [
- 'description' => 'The username of the asset account.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["root", "admin"]',
- 'minLength' => 1,
- 'pattern' => '^\\S+$',
- ],
+ 'items' => ['description' => 'The name of the asset account.', 'type' => 'string', 'required' => false, 'example' => 'root', 'title' => ''],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -21490,49 +16377,40 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '5EAB922E-F476-5DFA-9290-313C608E724B',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '67EB57AD-5C83-537B-B2A1-6082798965F0', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ['errorCode' => 'RuleAlreadyExists', 'errorMessage' => 'The rule already exists.', 'description' => 'The rule already exists.'],
],
404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'RuleNotFound', 'errorMessage' => 'The rule is not found.', 'description' => 'The rule is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5EAB922E-F476-5DFA-9290-313C608E724B\\"\\n}","type":"json"}]',
- 'title' => 'SetPolicyAssetScope',
- ],
- 'SetPolicyUserScope' => [
- 'summary' => 'Specifies the users to whom a control policy applies.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"67EB57AD-5C83-537B-B2A1-6082798965F0\\"\\n}","type":"json"}]',
+ 'title' => 'ModifyRule',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyRule'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'ModifyUser' => [
+ 'summary' => 'Modifies the information about a user of a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -21543,146 +16421,248 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to modify the information about the user.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host on which you want to modify the information about the user.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the control policy that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user whose information you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the user ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'ScopeType',
+ 'name' => 'Password',
'in' => 'query',
- 'schema' => [
- 'description' => 'The scope of users to whom the control policy applies. Valid values:'."\n"
- ."\n"
- .'* **All**: The control policy applies to all users.'."\n"
- .'* **User**: The control policy applies to specified users.'."\n"
- .'* **UserGroup**: The control policy applies to specified user groups.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'All',
- ],
+ 'schema' => ['description' => 'The new password of the user. The password must be 8 to 128 characters in length. It must contain uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ ."\n"
+ .'> Leave this parameter empty if you do not want to change the password of the user.', 'type' => 'string', 'required' => false, 'example' => '321****', 'title' => ''],
],
[
- 'name' => 'UserIds',
+ 'name' => 'DisplayName',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The users to whom the control policy applies.'."\n"
- ."\n"
- .'> This parameter is required if ScopeType is set to User. You can specify up to 500 user IDs.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The user ID.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1", "2", "3"]',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The new display name of the user. The display name can be up to 128 characters in length.'."\n"
+ ."\n"
+ .'> Leave this parameter empty if you do not want to change the display name of the user.', 'type' => 'string', 'required' => false, 'example' => 'Bob', 'title' => ''],
],
[
- 'name' => 'UserGroupIds',
+ 'name' => 'Comment',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The user groups to which the control policy applies.'."\n"
- ."\n"
- .'> This parameter is required if ScopeType is set to UserGroup. You can specify up to 100 user group IDs.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The user group ID.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["1", "2", "3"]',
- ],
- 'required' => false,
- ],
+ 'schema' => ['description' => 'The new remarks of the user. The remarks can be up to 500 characters in length.'."\n"
+ ."\n"
+ .'> Leave this parameter empty if you do not want to change the remarks of the user.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
+ ],
+ [
+ 'name' => 'Email',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new email address of the user.'."\n"
+ ."\n"
+ .'>'."\n"
+ ."\n"
+ .'- This parameter is required if TwoFactorStatus is set to Enable and TwoFactorMethods is set to email, or if TwoFactorStatus is set to Global and TwoFactorMethods is set to email in the global two-factor authentication settings.'."\n"
+ ."\n"
+ .'- You can call the [GetInstanceTwoFactor](~~462968~~) operation to query the global two-factor authentication settings.'."\n"
+ ."\n"
+ .'- Leave this parameter empty if you do not want to change the email address of the user.', 'type' => 'string', 'required' => false, 'example' => 'username@example.com', 'title' => ''],
+ ],
+ [
+ 'name' => 'Mobile',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new mobile phone number of the user.'."\n"
+ ."\n"
+ .'>'."\n"
+ ."\n"
+ .'- This parameter is required if TwoFactorStatus is set to Enable and TwoFactorMethods is set to sms or dingtalk, or if TwoFactorStatus is set to Global and TwoFactorMethods is set to sms or dingtalk in the global two-factor authentication settings.'."\n"
+ ."\n"
+ .'- You can call the [GetInstanceTwoFactor](~~462968~~) operation to query the global two-factor authentication settings.'."\n"
+ ."\n"
+ .'- Leave this parameter empty if you do not want to change the mobile phone number of the user.', 'type' => 'string', 'required' => false, 'example' => '1358888****', 'title' => ''],
+ ],
+ [
+ 'name' => 'MobileCountryCode',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The country where the new mobile number of the user is registered. Valid values:'."\n"
+ ."\n"
+ .'- **CN:** the Chinese mainland, whose country calling code is +86'."\n"
+ ."\n"
+ .'- **HK:** Hong Kong (China), whose country calling code is +852'."\n"
+ ."\n"
+ .'- **MO:** Macao (China), whose country calling code is +853'."\n"
+ ."\n"
+ .'- **TW:** Taiwan (China), whose country calling code is +886'."\n"
+ ."\n"
+ .'- **RU:** Russia, whose country calling code is +7'."\n"
+ ."\n"
+ .'- **SG:** Singapore, whose country calling code is +65'."\n"
+ ."\n"
+ .'- **MY:** Malaysia, whose country calling code is +60'."\n"
+ ."\n"
+ .'- **ID:** Indonesia, whose country calling code is +62'."\n"
+ ."\n"
+ .'- **DE:** Germany, whose country calling code is +49'."\n"
+ ."\n"
+ .'- **AU:** Australia, whose country calling code is +61'."\n"
+ ."\n"
+ .'- **US:** US, whose country calling code is +1'."\n"
+ ."\n"
+ .'- **AE:** United Arab Emirates, whose country calling code is +971'."\n"
+ ."\n"
+ .'- **JP:** Japan, whose country calling code is +81'."\n"
+ ."\n"
+ .'- **GB:** UK, whose country calling code is +44'."\n"
+ ."\n"
+ .'- **IN:** India, whose country calling code is +91'."\n"
+ ."\n"
+ .'- **KR:** Republic of Korea, whose country calling code is +82'."\n"
+ ."\n"
+ .'- **PH:** Philippines, whose country calling code is +63'."\n"
+ ."\n"
+ .'- **CH:** Switzerland, whose country calling code is +41'."\n"
+ ."\n"
+ .'- **SE:** Sweden, whose country calling code is +46'."\n"
+ ."\n"
+ .'- **SA:** Saudi Arabia, whose country calling code is +966', 'type' => 'string', 'required' => false, 'example' => 'CN', 'title' => ''],
+ ],
+ [
+ 'name' => 'EffectiveStartTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The start time of the validity period of the user. Specify a UNIX timestamp. Unit: seconds.'."\n"
+ ."\n"
+ .'> Leave this parameter empty if you do not want to change the start time of the validity period.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'required' => false, 'example' => '1669630029'],
+ ],
+ [
+ 'name' => 'EffectiveEndTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end time of the validity period of the user. Specify a UNIX timestamp. Unit: seconds.'."\n"
+ ."\n"
+ .'> Leave this parameter empty if you do not want to change the end time of the validity period.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'required' => false, 'example' => '1672502400'],
+ ],
+ [
+ 'name' => 'NeedResetPassword',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether password reset is required upon the next logon. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> Leave this parameter empty if you do not want to change the password reset settings for the user.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'true'],
+ ],
+ [
+ 'name' => 'TwoFactorStatus',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether two-factor authentication is enabled for the user. Valid values:'."\n"
+ ."\n"
+ .'- **Global**: The global settings apply.'."\n"
+ ."\n"
+ .'- **Disable**: Two-factor authentication is disabled.'."\n"
+ ."\n"
+ .'- **Enable**: Two-factor authentication is enabled and user-specific settings apply.'."\n"
+ ."\n"
+ .'> Leave this parameter empty if you do not want to change the two-factory authentication settings for the user.', 'type' => 'string', 'required' => false, 'example' => 'Enable', 'title' => ''],
+ ],
+ [
+ 'name' => 'TwoFactorMethods',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The two-factor authentication method. You can select only one method. Valid values:'."\n"
+ ."\n"
+ .'- **sms**: text message-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **email**: email-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **dingtalk**: DingTalk-based two-factor authentication.'."\n"
+ ."\n"
+ .'- **totp OTP:** one-time password (OTP) token-based two-factor authentication.'."\n"
+ ."\n"
+ .'> If TwoFactorStatus is set to Enable, you must specify one of the valid values as TwoFactorMethods.', 'type' => 'string', 'required' => false, 'example' => '['."\n"
+ .' "sms"'."\n"
+ .']', 'title' => ''],
+ ],
+ [
+ 'name' => 'LanguageStatus',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to send notifications in the language specified in the global settings or a custom language.'."\n"
+ ."\n"
+ .'- **Global**'."\n"
+ ."\n"
+ .'- **Custom**'."\n"
+ ."\n"
+ .'> Leave this parameter empty if you do not want to change the natural language used to notify the user.', 'type' => 'string', 'required' => false, 'example' => 'Custom', 'title' => ''],
+ ],
+ [
+ 'name' => 'Language',
+ 'in' => 'query',
+ 'schema' => ['description' => 'This parameter is required if LanguageStatus is set to Custom.'."\n"
+ ."\n"
+ .'- **zh-cn**: simplified Chinese'."\n"
+ ."\n"
+ .'- **en**: English', 'type' => 'string', 'required' => false, 'example' => 'en', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE ',
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'UserNotFound', 'errorMessage' => 'The user is not found.', 'description' => 'The user is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE \\"\\n}","type":"json"}]',
- 'title' => 'SetPolicyUserScope',
- ],
- 'SetPolicyApprovalConfig' => [
- 'summary' => 'Configures the O\\&M approval setting in a control policy.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyUser',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyUser'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'ModifyUserGroup' => [
+ 'summary' => 'Modifies the information about a user group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -21693,122 +16673,94 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host in which you want to modify the information about the user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host in which you want to modify the information about the user group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the control policy that you want to modify.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '7',
- ],
+ 'schema' => ['description' => 'The ID of the user group that you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'ApprovalConfig',
+ 'name' => 'UserGroupName',
'in' => 'query',
- 'allowEmptyValue' => false,
- 'style' => 'json',
- 'schema' => [
- 'description' => 'The O&M approval setting in the control policy.',
- 'type' => 'object',
- 'properties' => [
- 'SwitchStatus' => [
- 'description' => 'Specifies whether to enable O&M approval in the control policy. Valid values:'."\n"
- ."\n"
- .'* **On**: enables O&M approval.'."\n"
- .'* **Off**: disables O&M approval.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'On',
- 'enum' => [
- 'Off',
- 'On',
- ],
- ],
- ],
- 'required' => true,
- ],
+ 'schema' => ['description' => 'The new name of the user group. This name can be up to 128 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'TestUserGroup', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new description of the user group. The description can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'UserGroupNotFound', 'errorMessage' => 'The user group is not found.', 'description' => 'The user group is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'ModifyUserGroup',
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyUserGroup'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'SetPolicyApprovalConfig',
],
- 'DeletePolicy' => [
- 'summary' => 'Deletes a control policy.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ModifyUserPublicKey' => [
+ 'summary' => 'Modifies the public key of the user.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -21816,278 +16768,203 @@
],
'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostW2TGHR',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host whose control policy you want to delete.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host on which you want to modify the public key of a user.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-nif23******', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host that is used to modify the public key of the user.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'PublicKeyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the control policy to be deleted.'."\n"
- ."\n"
- .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the public key that you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListUserPublicKeys](~~477555~~) operation to query the public key ID.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'PublicKeyName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the public key that you want to modify. This name can be up to 128 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''],
+ ],
+ [
+ 'name' => 'PublicKey',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new public key.'."\n"
+ ."\n"
+ .'> Specify a Base64-encoded string.', 'type' => 'string', 'required' => false, 'example' => 'c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUhVcjY4UENFYWFzZjFYRVpNYTVsMlNBQytHV3FpeXVsRVpndkV4dmlPM28gcm9vdEA5NjBkMmNhOTcwYjU=', 'title' => ''],
+ ],
+ [
+ 'name' => 'Comment',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The new description of the user group. The description can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'AAB631FB-ABD0-5783-99F3-F29573B129E4', 'title' => ''],
],
- 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'PolicyNotFound',
- 'errorMessage' => 'The policy is not found.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'DeletePolicy',
- ],
- 'ListApproveCommands' => [
- 'summary' => 'Queries commands to be reviewed.',
- 'methods' => [
- 'post',
- 'get',
+ 'title' => 'ModifyUserPublicKey',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyUserPublicKey'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyUserPublicKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AAB631FB-ABD0-5783-99F3-F29573B129E4\\"\\n}","type":"json"}]',
+ ],
+ 'MoveDatabasesToNetworkDomain' => [
+ 'summary' => 'Adds multiple databases to a network domain at a time.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost1WGNM5',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-zvp2xvysf08',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zpr3h2zo60l', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'NetworkDomainId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the network domain to which you want to add databases.'."\n"
+ ."\n"
+ .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'DatabaseIds',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Maximum value: 1000. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
+ 'description' => 'The IDs of the databases that you want to add to the network domain.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The database ID.'."\n"
."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
+ .'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.', 'type' => 'string', 'required' => false, 'example' => '1,2', 'title' => ''],
'required' => true,
- 'example' => '20',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
'type' => 'object',
'properties' => [
- 'ApproveCommands' => [
- 'description' => 'The commands to be reviewed.'."\n",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E5B1BC32-72B2-5BFD-BF75-5D38261264D1', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The results of the call.',
'type' => 'array',
'items' => [
- 'description' => 'The returned data.'."\n",
'type' => 'object',
'properties' => [
- 'ApproveCommandId' => [
- 'description' => 'The ID of the command to be reviewed.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'AssetAccountName' => [
- 'description' => 'The username of the asset account that is used for O\\&M.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- 'AssetIp' => [
- 'description' => 'The IP address of the asset for O\\&M.'."\n",
- 'type' => 'string',
- 'example' => '10.167.XX.XX',
- ],
- 'AssetName' => [
- 'description' => 'The name of the asset.'."\n",
- 'type' => 'string',
- 'example' => 'poros-test',
- ],
- 'ClientIp' => [
- 'description' => 'The source IP address from which the application is submitted.'."\n",
- 'type' => 'string',
- 'example' => '172.18.XX.XX',
- ],
- 'ClientUser' => [
- 'description' => 'The Bastionhost user who submitted the O\\&M application.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Command' => [
- 'description' => 'The command to be reviewed.'."\n",
- 'type' => 'string',
- 'example' => '/bin/bash',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the O\\&M application was submitted. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'string',
- 'example' => '1679393152',
- ],
- 'ProtocolName' => [
- 'description' => 'The O\\&M protocol.'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- 'SessionId' => [
- 'description' => 'The ID of the O\\&M session that triggered the review.'."\n",
- 'type' => 'string',
- 'example' => '95f873ab64a76d5b0000000000004d5e',
- ],
- 'State' => [
- 'description' => 'The status of the review. Valid values: **Wait**: The command is pending review.'."\n",
- 'type' => 'string',
- 'example' => 'Wait',
- ],
+ 'Code' => ['description' => 'Indicates whether the database is added to the network domain.'."\n"
+ ."\n"
+ .'> The code LICENSE\\_OUT\\_OF\\_LIMIT indicates that the network domain feature is not supported by the current Bastionhost edition.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '45', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'E3EF7711-766D-5888-997B-EFBA76809229',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of commands to be reviewed.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '15',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ApproveCommands\\": [\\n {\\n \\"ApproveCommandId\\": \\"1\\",\\n \\"AssetAccountName\\": \\"root\\",\\n \\"AssetIp\\": \\"10.167.XX.XX\\",\\n \\"AssetName\\": \\"poros-test\\",\\n \\"ClientIp\\": \\"172.18.XX.XX\\",\\n \\"ClientUser\\": \\"test\\",\\n \\"Command\\": \\"/bin/bash\\",\\n \\"CreateTime\\": \\"1679393152\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"SessionId\\": \\"95f873ab64a76d5b0000000000004d5e\\",\\n \\"State\\": \\"Wait\\"\\n }\\n ],\\n \\"RequestId\\": \\"E3EF7711-766D-5888-997B-EFBA76809229\\",\\n \\"TotalCount\\": 15\\n}","type":"json"}]',
- 'title' => 'ListApproveCommands',
- 'description' => 'You can call this operation to query commands to be reviewed by a Bastionhost administrator.'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- ],
- 'AcceptApproveCommand' => [
- 'summary' => 'If an O\\\\\\&M engineer attempts to run a command specified in the Command Approval field on the Create Control Policy page, the administrator is notified to review the command in the Bastionhost console. The command can be run only after it is approved by the administrator.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E5B1BC32-72B2-5BFD-BF75-5D38261264D1\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseId\\": \\"45\\",\\n \\"Message\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'MoveDatabasesToNetworkDomain',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveDatabasesToNetworkDomain'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'MoveHostsToNetworkDomain' => [
+ 'summary' => 'Adds multiple hosts to a network domain at a time.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -22098,45 +16975,43 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost1WGNM5',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the DescribeInstances operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-uax2zmx8005', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'CommandId',
+ 'name' => 'NetworkDomainId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the network domain to which you want to add hosts.'."\n"
+ ."\n"
+ .'> You can call the [ListNetworkDomains](~~2758827~~) operation to query the network domain ID.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostIds',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the command that you want to approve.'."\n"
+ 'description' => 'The IDs of the hosts that you want to add to the network domain.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The host ID.'."\n"
."\n"
- .'> You can call the [ListApproveCommands](~~2584310~~) operation to query the IDs of all commands that need to be reviewed.'."\n",
- 'type' => 'string',
+ .'> You can call the [ListHosts](~~200665~~) operation to query the host ID.', 'type' => 'string', 'required' => false, 'example' => '1,2', 'title' => ''],
'required' => true,
- 'example' => '7',
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -22145,46 +17020,124 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F9B9E190-9C8E-5FEE-B963-7E9F1FD7FB4E', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the host is added to the network domain.'."\n"
+ ."\n"
+ .'> The code LICENSE\\_OUT\\_OF\\_LIMIT indicates that the network domain feature is not supported by the current Bastionhost edition.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'AcceptApproveCommand',
- 'description' => 'You can call this operation as a Bastionhost administrator to approve the request to run a command of an O\\&M engineer.'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F9B9E190-9C8E-5FEE-B963-7E9F1FD7FB4E\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"HostId\\": \\"1\\",\\n \\"Message\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'MoveHostsToNetworkDomain',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveHostsToNetworkDomain'],
+ ],
+ ],
+ 'ramActions' => [],
],
- 'RejectApproveCommand' => [
- 'summary' => 'If an O\\\\\\&M engineer attempts to run a command specified in the Command Approval section of the Create Control Policy page, the administrator is notified to review the command in the Bastionhost console. The command can be run only after it is approved by the administrator.',
- 'methods' => [
- 'post',
- 'get',
+ 'MoveResourceGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the Bastionhost instance whose resource group you want to change.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the destination resource group.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the resource group ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'rg-aekznp3oyo****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The resource type. Set the value to **INSTANCE**, which indicates that the resource is a Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'INSTANCE', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
],
+ 'responses' => [
+ 200 => [
+ 'headers' => [],
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request. This is a unique identifier generated by Alibaba Cloud for the request. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => '1DEEC28D-27B1-4358-B6DC-E1285AE655C5', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'MoveResourceGroup',
+ 'summary' => 'Moves a Bastionhost instance to a specified resource group.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveResourceGroup'],
+ ],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1DEEC28D-27B1-4358-B6DC-E1285AE655C5\\"\\n}","type":"json"}]',
+ ],
+ 'RejectApproveCommand' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -22195,46 +17148,29 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost1WGNM5',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'CommandId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the command that you want to reject.'."\n"
- ."\n"
- .'> You can call the [ListApproveCommands](~~2584310~~) operation to query the IDs of all commands that need to be reviewed.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '574',
- ],
+ 'schema' => ['description' => 'The ID of the command that you want to reject.'."\n"
+ ."\n"
+ .'> You can call the [ListApproveCommands](~~2584310~~) operation to query the IDs of all commands that need to be reviewed.', 'type' => 'string', 'required' => true, 'example' => '574', 'title' => ''],
],
],
'responses' => [
@@ -22242,294 +17178,128 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
'title' => 'RejectApproveCommand',
- 'description' => 'You can call this operation as a Bastionhost administrator to reject the request to run a command of an O\\&M engineer.'."\n"
+ 'summary' => 'If an O\\\\\\\\\\\\&M engineer attempts to run a command specified in the Command Approval section of the Create Control Policy page, the administrator is notified to review the command in the Bastionhost console. The command can be run only after it is approved by the administrator.',
+ 'description' => 'Rejects an O\\&M engineer\'s command execution request as a Bastionhost administrator.'."\n"
."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- ],
- 'ListOperationTickets' => [
- 'summary' => 'Queries O\\\\\\\\\\\\&M applications to be reviewed.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RejectApproveCommand'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'RejectOperationTaskApproval' => [
+ 'summary' => 'Rejects an O&M task execution request.',
+ 'path' => '',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
+ 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '188191',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost1WGNM5',
- ],
+ 'abilityTreeCode' => '203630',
+ 'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'ApproveId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.\\'."\n"
- .'Maximum value: 1000. Default value: 20. If you leave this parameter empty, 20 entries are returned on each page.'."\n"
- ."\n"
- .'> We recommend that you do not leave this parameter empty.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
- ],
- [
- 'name' => 'AssetAddress',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The IP address of the asset that is contained in the O\\&M application to be reviewed.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10.167.XX.XX',
- ],
+ 'schema' => ['title' => '', 'description' => 'The O&M task approval ID.'."\n"
+ .'> You can call the ListTodoOpsTaskApprovals operation to query this parameter.', 'type' => 'string', 'required' => true, 'example' => '1'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'OperationTickets' => [
- 'description' => 'The O\\&M applications to be reviewed.'."\n",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The results returned.',
'type' => 'array',
'items' => [
- 'description' => 'The data returned.'."\n",
'type' => 'object',
'properties' => [
- 'ApplyUserId' => [
- 'description' => 'The ID of the O\\&M applicant.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'ApplyUsername' => [
- 'description' => 'The username of the O\\&M applicant.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'AssetAccountId' => [
- 'description' => 'The ID of the asset account.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'AssetAccountName' => [
- 'description' => 'The username of the asset account.'."\n",
- 'type' => 'string',
- 'example' => 'root',
- ],
- 'AssetAddress' => [
- 'description' => 'The IP address of the asset.'."\n",
- 'type' => 'string',
- 'example' => '10.167.XX.XX',
- ],
- 'AssetId' => [
- 'description' => 'The ID of the asset.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- 'AssetName' => [
- 'description' => 'The name of the asset.'."\n",
- 'type' => 'string',
- 'example' => 'poros-test',
- ],
- 'AssetNetworkDomainId' => [
- 'description' => 'The network domain ID of the asset.'."\n",
- 'type' => 'string',
- 'example' => '2',
- ],
- 'AssetOs' => [
- 'description' => 'The operating system of the asset.'."\n",
- 'type' => 'string',
- 'example' => 'Linux',
- ],
- 'AssetSource' => [
- 'description' => 'The name of the asset source to which the asset belongs. Valid values:'."\n"
- ."\n"
- .'* **Local**: an on-premises host.'."\n"
- .'* **Ecs**: an Elastic Compute Service (ECS) instance.'."\n"
- .'* **Rds**: an ApsaraDB RDS instance.'."\n"
- .'* A third-party asset source.'."\n",
- 'type' => 'string',
- 'example' => 'Local',
- ],
- 'AssetSourceInstanceId' => [
- 'description' => 'The ID of the asset source to which the asset belongs.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'CreatedTime' => [
- 'description' => 'The time when the O\\&M application was submitted. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1669965908',
- ],
- 'OperationTicketId' => [
- 'description' => 'The ID of the O\\&M application to be reviewed.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'ProtocolName' => [
- 'description' => 'The O\\&M protocol.'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- 'State' => [
- 'description' => 'The status of the review. Valid value:'."\n"
- ."\n"
- .'* Normal: to be reviewed'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'ApproveComment' => [
- 'description' => 'The remarks entered when the O\\&M personnel applies for O\\&M permissions.'."\n",
- 'type' => 'string',
- 'example' => 'Apply for O\\&M'."\n",
- ],
- 'EffectStartTime' => [
- 'description' => 'The start time of the validity period. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1685600242',
- ],
- 'EffectEndTime' => [
- 'description' => 'The end time of the validity period. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1679393152',
- ],
- 'EffectCount' => [
- 'description' => 'The maximum number of logons applied by the O\\&M engineer. Valid values:'."\n"
- ."\n"
- .'* **0**: The number of logons is unlimited. The O\\&M engineer can log on to the specified asset for unlimited times during the validity period.'."\n"
- .'* **1**: The O\\&M engineer can log on to the specified asset only once during the validity period.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
+ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'TaskId' => ['description' => 'The O&M task ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of O\\&M applications to be reviewed.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '20',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Reject an O&M task execution request',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OperationTickets\\": [\\n {\\n \\"ApplyUserId\\": \\"1\\",\\n \\"ApplyUsername\\": \\"test\\",\\n \\"AssetAccountId\\": \\"1\\",\\n \\"AssetAccountName\\": \\"root\\",\\n \\"AssetAddress\\": \\"10.167.XX.XX\\",\\n \\"AssetId\\": \\"2\\",\\n \\"AssetName\\": \\"poros-test\\",\\n \\"AssetNetworkDomainId\\": \\"2\\",\\n \\"AssetOs\\": \\"Linux\\",\\n \\"AssetSource\\": \\"Local\\",\\n \\"AssetSourceInstanceId\\": \\"1\\",\\n \\"CreatedTime\\": 1669965908,\\n \\"OperationTicketId\\": \\"1\\",\\n \\"ProtocolName\\": \\"SSH\\",\\n \\"State\\": \\"Normal\\",\\n \\"ApproveComment\\": \\"申请运维\\",\\n \\"EffectStartTime\\": 1685600242,\\n \\"EffectEndTime\\": 1679393152,\\n \\"EffectCount\\": 0\\n }\\n ],\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 20\\n}","type":"json"}]',
- 'title' => 'ListOperationTickets',
- 'description' => 'You can call this operation to query the O\\&M applications to be reviewed by a Bastionhost administrator.'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"None\\",\\n \\"TaskId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'translator' => 'machine',
],
- 'AcceptOperationTicket' => [
- 'summary' => 'Approves an O\\\\\\\\\\\\\\\\\\\\&M application.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'RejectOperationTicket' => [
+ 'summary' => 'If a Bastionhost administrator enables O\\\\\\\\\\\\\\\\\\\\\\\\&M Approval on the Create Control Policy page, O\\\\\\\\\\\\\\\\\\\\\\\\&M engineers can log on to assets to perform O\\\\\\\\\\\\\\\\\\\\\\\\&M operations only after the administrator approves their O\\\\\\\\\\\\\\\\\\\\\\\\&M applications.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -22540,96 +17310,35 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '188193',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost1WGNM5',
- ],
+ 'abilityTreeCode' => '188192',
+ 'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'OperationTicketId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the O\\&M application that you want to approve. You can call the ListOperationTickets operation to query the IDs of all O\\&M applications that require review.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'EffectCount',
- 'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'description' => 'The maximum number of logons allowed. Valid values:'."\n"
- ."\n"
- .'* **0**: The number of logons is unlimited. The O\\&M engineer can log on to the specified asset for unlimited times during the validity period.'."\n"
- .'* **1**: The O\\&M engineer can log on to the specified asset only once during the validity period.'."\n"
- ."\n"
- .'> * You can set this parameter only to 0 if you review an O\\&M application on a database.'."\n"
- .'> * If you do not specify this parameter, the default value 0 is used.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- 'enum' => [
- '1',
- '0',
- ],
- ],
- ],
- [
- 'name' => 'EffectStartTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The start time of the validity period. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1685600242',
- ],
- ],
- [
- 'name' => 'EffectEndTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The end time of the validity period. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1679393152',
- ],
+ 'schema' => ['description' => 'The ID of the O\\&M application that you want to reject.'."\n"
+ ."\n"
+ .'> You can call the [ListOperationTickets](~~2584313~~) operation to query the IDs of all O\\&M applications that require review.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
'name' => 'Comment',
'in' => 'query',
- 'schema' => [
- 'description' => 'The review description.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'O\\&M allowed'."\n",
- ],
+ 'schema' => ['description' => 'The review remarks.', 'type' => 'string', 'required' => false, 'example' => 'Reject', 'title' => ''],
],
],
'responses' => [
@@ -22637,28 +17346,20 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'eventInfo' => [
@@ -22666,21 +17367,22 @@
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'AcceptOperationTicket',
- 'description' => 'You can call this operation as a Bastionhost administrator to approve an O\\&M application of an O\\&M engineer.'."\n"
+ 'title' => 'RejectOperationTicket',
+ 'description' => 'Rejects an O\\&M engineer\'s O\\&M application as a Bastionhost administrator.'."\n"
."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- ],
- 'RejectOperationTicket' => [
- 'summary' => 'If a Bastionhost administrator enables O\\\\\\&M Approval on the Create Control Policy page, O\\\\\\&M engineers can log on to assets to perform O\\\\\\&M operations only after the administrator approves their O\\\\\\&M applications.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RejectOperationTicket'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'RemoveDatabasesFromGroup' => [
+ 'summary' => 'Removes multiple databases from an asset group at a time.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -22691,56 +17393,43 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '188192',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost1WGNM5',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose asset group you want to manage.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1ghxxxxx', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose asset group you want to manage.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'OperationTicketId',
+ 'name' => 'HostGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the O\\&M application that you want to reject.'."\n"
- ."\n"
- .'> You can call the [ListOperationTickets](~~2584313~~) operation to query the IDs of all O\\&M applications that require review.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => 'The ID of the asset group from which you want to remove databases.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the asset group ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Comment',
+ 'name' => 'DatabaseIds',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The review remarks.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'comment',
+ 'description' => 'The IDs of the databases that you want to remove.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the database that you want to remove. Specify a JSON string. You can specify up to 100 database IDs.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~475822~~) operation to query the assets in an asset group.', 'type' => 'string', 'required' => false, 'example' => '["1","2","3"]'."\n", 'title' => ''],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -22749,1607 +17438,2146 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The error code that is returned. If OK is returned, the operation was successful. If another error code is returned, the operation failed.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'example' => '20', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'Message' => ['description' => 'The error message that is returned.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"DatabaseId\\": \\"20\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"Message\\": \\"None\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'RemoveDatabasesFromGroup',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveDatabasesFromGroup'],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'RejectOperationTicket',
- 'description' => 'You can call this operation to reject an O\\&M application of an O\\&M engineer as a Bastionhost administrator.'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
+ 'ramActions' => [],
],
- 'CreateHostShareKey' => [
- 'summary' => 'Bastionhost provides the shared key feature. This feature allows you to manage the private key that is used to log on to a host in a bastion host. This way, you can associate the private key with multiple accounts of the host to make host account management more efficient.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'RemoveHostsFromGroup' => [
+ 'summary' => 'Removes multiple hosts from an asset group at a time.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host whose asset group you want to manage.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'HostShareKeyName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the shared key that you want to create. The name can be a maximum of 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'name',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host whose asset group you want to manage.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PrivateKey',
+ 'name' => 'HostGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The private key. The value is a Base64-encoded string.'."\n"
- ."\n"
- .'> You can specify a Rivest-Shamir-Adleman (RSA) key that is generated by using the ssh-keygen command or a key that is generated by using the Ed25519 algorithm.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '****',
- ],
+ 'schema' => ['description' => 'The ID of the asset group from which you want to remove hosts.'."\n"
+ ."\n"
+ .'> You can call the [ListHostGroups](~~201307~~) operation to query the asset group ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'PassPhrase',
+ 'name' => 'HostIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The password of the private key. The value is a Base64-encoded string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '*****',
- ],
+ 'schema' => ['description' => 'The IDs of the hosts that you want to remove from the host group. Specify a JSON string. You can specify up to 100 host IDs.'."\n"
+ ."\n"
+ .'> You can call the [ListHosts](~~200665~~) operation to query the host IDs.', 'type' => 'string', 'required' => true, 'example' => '["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'HostShareKeyId' => [
- 'description' => 'The ID of the shared key.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10235',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .' > Make sure that the request parameters are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .' > Make sure that the specified bastion host ID and host IDs are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'HostGroupId' => ['description' => 'The ID of the asset group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'HostId' => ['description' => 'The ID of the host.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'HostShareKeyAlreadyExists',
- 'errorMessage' => 'The host share key already exists. ',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostShareKeyId\\": 10235\\n}","errorExample":""},{"type":"xml","example":"<CreateHostShareKeyResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostShareKeyId>10235</HostShareKeyId>\\n</CreateHostShareKeyResponse>","errorExample":""}]',
- 'title' => 'CreateHostShareKey',
- ],
- 'GetHostShareKey' => [
- 'summary' => 'Queries the information about a shared key.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"HostGroupId\\": \\"1\\",\\n \\"HostId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'RemoveHostsFromGroup',
+ 'description' => 'Removes multiple hosts from an asset group. If certain hosts no longer need to be managed through an asset group, you can use this operation to remove them.'."\n"
+ ."\n"
+ .'# [](#qps-)QPS limit'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveHostsFromGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'RemoveInstanceRdMember' => [
+ 'summary' => 'Removes a Resource Directory (RD) member account from a Bastionhost instance. You must remove all assets of the member account from Bastionhost before you call this operation.',
+ 'path' => '',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For more information about regions and zones, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostShareKeyId',
+ 'name' => 'MemberId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the shared key whose information you want to query.'."\n"
- ."\n"
- .'> You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '10427',
- ],
+ 'schema' => ['description' => 'The UID of the RD member account to remove.', 'type' => 'string', 'required' => true, 'example' => '1597141696147832', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'HostShareKey' => [
- 'description' => 'The returned information about the shared key.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'HostShareKeyId' => [
- 'description' => 'The ID of the shared key.'."\n",
- 'type' => 'string',
- 'example' => '10427',
- ],
- 'HostShareKeyName' => [
- 'description' => 'The name of the shared key.'."\n",
- 'type' => 'string',
- 'example' => 'name',
- ],
- 'LastModifyKeyAt' => [
- 'description' => 'The time when the information about the shared key was last modified. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1644287246',
- ],
- 'PrivateKeyFingerPrint' => [
- 'description' => 'The fingerprint of the private key.'."\n",
- 'type' => 'string',
- 'example' => '***',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
],
+ 'title' => '',
+ 'description' => 'The response parameters.',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'HostShareKeyNotFound',
- 'errorMessage' => 'The host share key is not found.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'RemoveInstanceRdMember',
+ 'description' => 'Before removing a member account, you must purge the ECS, RDS, and PolarDB instance assets that belong to the member account from Bastionhost.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RemoveInstanceRdMember',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostShareKey\\": {\\n \\"HostShareKeyId\\": \\"10427\\",\\n \\"HostShareKeyName\\": \\"name\\",\\n \\"LastModifyKeyAt\\": 1644287246,\\n \\"PrivateKeyFingerPrint\\": \\"aa:10:f5:21:7f:8b:3e:86:b0:8b:f0:******\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetHostShareKeyResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostShareKey>\\n <HostShareKeyId>10427</HostShareKeyId>\\n <HostShareKeyName>name</HostShareKeyName>\\n <LastModifyKeyAt>1644287246</LastModifyKeyAt>\\n <PrivateKeyFingerPrint>***</PrivateKeyFingerPrint>\\n </HostShareKey>\\n</GetHostShareKeyResponse>","errorExample":""}]',
- 'title' => 'GetHostShareKey',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
],
- 'ListHostShareKeys' => [
- 'summary' => 'Queries the shared keys that are associated with a host.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'RemoveUsersFromGroup' => [
+ 'summary' => 'Removes one or more users from a user group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host for which you want to remove users from the user group.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host for which you want to remove users from the user group.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'UserGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the user group from which you want to remove users.'."\n"
+ ."\n"
+ .'> You can call the [ListUserGroups](~~204509~~) operation to query the ID of the user group.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'UserIds',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **20**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => 'The ID of the user who you want to remove. The value is a JSON string. You can add up to 100 user IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the IDs of users.', 'type' => 'string', 'required' => true, 'example' => '["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of the shared keys.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
- ],
- 'HostShareKeys' => [
- 'description' => 'An array that consists of the shared keys.'."\n",
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'The result of the call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'HostAccountCount' => [
- 'description' => 'The number of the associated host accounts.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'LastModifyKeyAt' => [
- 'description' => 'The time when the shared key was last modified. The value is a UNIX timestamp. Unit: seconds.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1644806406',
- ],
- 'HostShareKeyName' => [
- 'description' => 'The name of the shared key.'."\n",
- 'type' => 'string',
- 'example' => 'name',
- ],
- 'PrivateKeyFingerPrint' => [
- 'description' => 'The fingerprint of the private key.'."\n",
- 'type' => 'string',
- 'example' => '****',
- ],
- 'HostShareKeyId' => [
- 'description' => 'The shared key ID.'."\n",
- 'type' => 'string',
- 'example' => '10247',
- ],
+ 'Code' => ['description' => 'The return code that indicates whether the call was successful. Valid values:'."\n"
+ ."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
+ ."\n"
+ .'> Make sure that the request parameters are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .'> Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'UserGroupId' => ['description' => 'The ID of the group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"TotalCount\\": 10,\\n \\"HostShareKeys\\": [\\n {\\n \\"HostAccountCount\\": 1,\\n \\"LastModifyKeyAt\\": 1644806406,\\n \\"HostShareKeyName\\": \\"name\\",\\n \\"PrivateKeyFingerPrint\\": \\"aa:10:f5:21:7f:8b:3e:86:b0:8b:f0:e0******\\",\\n \\"HostShareKeyId\\": \\"10247\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListHostShareKeysResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <TotalCount>10</TotalCount>\\n <HostShareKeys>\\n <HostAccountCount>1</HostAccountCount>\\n <LastModifyKeyAt>1644806406</LastModifyKeyAt>\\n <HostShareKeyName>name</HostShareKeyName>\\n <PrivateKeyFingerPrint>****</PrivateKeyFingerPrint>\\n <HostShareKeyId>10247</HostShareKeyId>\\n </HostShareKeys>\\n</ListHostShareKeysResponse>","errorExample":""}]',
- 'title' => 'ListHostShareKeys',
- ],
- 'ListHostAccountsForHostShareKey' => [
- 'summary' => 'Queries the host accounts that are associated with a shared key.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"UserGroupId\\": \\"1\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'RemoveUsersFromGroup',
+ 'description' => 'Removes one or more users from a user group at once. Use this operation when users transfer to new positions, resign, or switch to another user group.'."\n"
+ ."\n"
+ .'## QPS limit'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~315526~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveUsersFromGroup'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'RenewAssetOperationToken' => [
+ 'summary' => 'Renews an O\\\\\\\\\\\\&M token for one hour.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostShareKeyId',
+ 'name' => 'TokenId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the O\\&M token that you want to renew.'."\n"
+ ."\n"
+ .'> You can call the [GenerateAssetOperationToken](~~2758861~~) operation to query the O\\&M token ID.', 'type' => 'string', 'required' => false, 'example' => 'NmYyMmEzNmMwYzljNGYxMjh******', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The shared key ID.'."\n"
- ."\n"
- .'> You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1124',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'RenewAssetOperationToken',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RenewAssetOperationToken'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of the page to return. Default value: **1**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RenewAssetOperationToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'ResetHostAccountCredential' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'PageSize',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Default value: **10**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance. The instance contains the host account.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-rp640dg****', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> For information about region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'HostAccountId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the host account. The logon credential of this account will be cleared.'."\n"
+ ."\n"
+ .'> Call the [ListHostAccounts](~~204372~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'CredentialType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of logon credential to clear. Valid values:'."\n"
+ ."\n"
+ .'- **Password**: The password.'."\n"
+ ."\n"
+ .'- **PrivateKey**: The SSH private key.', 'type' => 'string', 'required' => true, 'example' => 'Password', 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'HostAccounts' => [
- 'description' => 'An array that consists of the host accounts that are associated with the shared key.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'HostAccountName' => [
- 'description' => 'The name of the host account.'."\n",
- 'type' => 'string',
- 'example' => 'root1234',
- ],
- 'HostId' => [
- 'description' => 'The ID of the host.'."\n",
- 'type' => 'string',
- 'example' => '1113',
- ],
- 'HostsAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1235',
- ],
- 'ProtocolName' => [
- 'description' => 'The O\\&M protocol.'."\n",
- 'type' => 'string',
- 'example' => 'SSH',
- ],
- ],
- ],
- ],
- 'TotalCount' => [
- 'description' => 'The total number of the host accounts that are associated with the shared key.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '5',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'HostShareKeyNotFound',
- 'errorMessage' => 'The host share key is not found.',
- ],
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'HostAccountNotFound', 'errorMessage' => 'The host account is not found.', 'description' => 'The host account is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"HostAccounts\\": [\\n {\\n \\"HostAccountName\\": \\"root1234\\",\\n \\"HostId\\": \\"1113\\",\\n \\"HostsAccountId\\": \\"1235\\",\\n \\"ProtocolName\\": \\"SSH\\"\\n }\\n ],\\n \\"TotalCount\\": 5\\n}","errorExample":""},{"type":"xml","example":"<ListHostAccountsForHostShareKeyResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <HostAccounts>\\n <HostAccountName>root1234</HostAccountName>\\n <HostId>1113</HostId>\\n <HostsAccountId>1235</HostsAccountId>\\n <ProtocolName>SSH</ProtocolName>\\n </HostAccounts>\\n <TotalCount>5</TotalCount>\\n</ListHostAccountsForHostShareKeyResponse>","errorExample":""}]',
- 'title' => 'ListHostAccountsForHostShareKey',
- ],
- 'ModifyHostShareKey' => [
- 'summary' => 'Modifies a shared key.',
- 'methods' => [
- 'get',
- 'post',
+ 'title' => 'ResetHostAccountCredential',
+ 'summary' => 'Clears the credential (password or SSH private key) for a specified host account.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetHostAccountCredential'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ResetHostAccountCredential',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'SetPolicyAccessTimeRangeConfig' => [
+ 'summary' => 'Configures the logon period limits in a control policy.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostShareKeyId',
+ 'name' => 'PolicyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The control policy ID.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '13', 'title' => ''],
+ ],
+ [
+ 'name' => 'AccessTimeRangeConfig',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The ID of the shared key whose information you want to modify.'."\n",
- 'type' => 'string',
+ 'description' => 'The logon period limits.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EffectiveTime' => [
+ 'description' => 'The details about the periods during which users can log on to the assets.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Days' => [
+ 'description' => 'The days of the week during which users can log on to the assets.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The day of the week during which users can log on to the assets. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Monday.'."\n"
+ ."\n"
+ .'- **2**: Tuesday.'."\n"
+ ."\n"
+ .'- **3**: Wednesday.'."\n"
+ ."\n"
+ .'- **4**: Thursday.'."\n"
+ ."\n"
+ .'- **5**: Friday.'."\n"
+ ."\n"
+ .'- **6**: Saturday.'."\n"
+ ."\n"
+ .'- **7**: Sunday.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '[7]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Hours' => [
+ 'description' => 'The time periods of the day during which users can log on to the assets.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The time periods of the day during which users can log on to the assets. Valid values:'."\n"
+ ."\n"
+ .'- **0**: 00:00 to 01:00.'."\n"
+ ."\n"
+ .'- **1**: 01:00 to 02:00.'."\n"
+ ."\n"
+ .'- **2**: 02:00 to 03:00.'."\n"
+ ."\n"
+ .'- **3**: 03:00 to 04:00.'."\n"
+ ."\n"
+ .'- **4**: 04:00 to 05:00.'."\n"
+ ."\n"
+ .'- **5**: 05:00 to 06:00.'."\n"
+ ."\n"
+ .'- **6**: 06:00 to 07:00.'."\n"
+ ."\n"
+ .'- **7**: 07:00 to 08:00.'."\n"
+ ."\n"
+ .'- **8**: 08:00 to 09:00.'."\n"
+ ."\n"
+ .'- **9**: 09:00 to 10:00.'."\n"
+ ."\n"
+ .'- **10**: 10:00 to 11:00.'."\n"
+ ."\n"
+ .'- **11**: 11:00 to 12:00.'."\n"
+ ."\n"
+ .'- **12**: 12:00 to 13:00.'."\n"
+ ."\n"
+ .'- **13**: 13:00 to 14:00.'."\n"
+ ."\n"
+ .'- **14**: 14:00 to 15:00.'."\n"
+ ."\n"
+ .'- **15**: 15:00 to 16:00.'."\n"
+ ."\n"
+ .'- **16**: 16:00 to 17:00.'."\n"
+ ."\n"
+ .'- **17**: 17:00 to 18:00.'."\n"
+ ."\n"
+ .'- **18**: 18:00 to 19:00.'."\n"
+ ."\n"
+ .'- **19**: 19:00 to 20:00.'."\n"
+ ."\n"
+ .'- **20**: 20:00 to 21:00.'."\n"
+ ."\n"
+ .'- **21**: 21:00 to 22:00.'."\n"
+ ."\n"
+ .'- **22**: 22:00 to 23:00.'."\n"
+ ."\n"
+ .'- **23**: 23:00 to 24:00.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '[9, 14]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
'required' => true,
- 'example' => '10247',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'HostShareKeyName',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The name of the shared key.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'name',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'SetPolicyAccessTimeRangeConfig',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyAccessTimeRangeConfig'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'PrivateKey',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The private key. Specify a Base64-encoded string.'."\n"
- ."\n"
- .'> Only Rivest-Shamir-Adleman (RSA) keys that are generated by using the ssh-keygen command and keys that are generated by using the Ed25519 algorithm are supported.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyAccessTimeRangeConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'SetPolicyApprovalConfig' => [
+ 'summary' => 'Configures the O\\\\&M approval setting in a control policy.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'PassPhrase',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
'in' => 'query',
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the control policy that you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''],
+ ],
+ [
+ 'name' => 'ApprovalConfig',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'style' => 'json',
'schema' => [
- 'description' => 'The password of the private key. Specify a Base64-encoded string.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '****',
+ 'description' => 'The O\\&M approval setting in the control policy.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SwitchStatus' => [
+ 'description' => 'Specifies whether to enable O\\&M approval in the control policy. Valid values:'."\n"
+ ."\n"
+ .'- **On**: enables O\\&M approval.'."\n"
+ ."\n"
+ .'- **Off**: disables O\\&M approval.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['Off', 'On'],
+ 'example' => 'On',
+ 'title' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyHostShareKeyResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</ModifyHostShareKeyResponse>","errorExample":""}]',
- 'title' => 'ModifyHostShareKey',
- ],
- 'AttachHostAccountsToHostShareKey' => [
- 'summary' => 'Associates host accounts with a shared key.',
- 'methods' => [
- 'get',
- 'post',
+ 'title' => 'SetPolicyApprovalConfig',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyApprovalConfig'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyApprovalConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'SetPolicyAssetScope' => [
+ 'summary' => 'Specifies the assets to which a control policy applies.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host. You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the control policy that you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''],
+ ],
+ [
+ 'name' => 'ScopeType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The scope of assets to which the control policy applies. Valid values:'."\n"
+ ."\n"
+ .'- **All**: The control policy applies to all assets.'."\n"
+ ."\n"
+ .'- **Host**: The control policy applies to specified hosts.'."\n"
+ ."\n"
+ .'- **Database**: The control policy applies to specified databases.'."\n"
+ ."\n"
+ .'- **HostGroup**: The control policy applies to specified asset groups.', 'type' => 'string', 'required' => true, 'example' => 'All', 'title' => ''],
+ ],
+ [
+ 'name' => 'Hosts',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The region ID of the bastion host. For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
+ 'description' => 'The hosts to which the control policy applies.'."\n"
+ ."\n"
+ .'> This parameter is required if ScopeType is set to Host. You can specify up to 500 hosts.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ 'AccountScopeType' => ['description' => 'The scope of host accounts to which the control policy applies. Valid values:'."\n"
+ ."\n"
+ .'- **All**: The control policy applies to all accounts of the host.'."\n"
+ ."\n"
+ .'- **AccountId**: The control policy applies specified accounts of the host.', 'type' => 'string', 'required' => false, 'example' => 'All', 'title' => ''],
+ 'HostAccountIds' => [
+ 'description' => 'The host accounts to which the control policy applies.'."\n"
+ ."\n"
+ .'> This parameter is required if AccountScopeType is set to AccountId.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The host account ID.', 'type' => 'string', 'required' => false, 'example' => '["96"]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'cn-hangzhou',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'HostShareKeyId',
+ 'name' => 'Databases',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The shared key ID.'."\n"
+ 'description' => 'The databases to which the control policy applies.'."\n"
."\n"
- .'> You must specify this parameter. You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.'."\n",
- 'type' => 'string',
+ .'> This parameter is required if ScopeType is set to Database. You can specify up to 500 databases.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DatabaseId' => ['description' => 'The database ID.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''],
+ 'AccountScopeType' => ['description' => 'The scope of database accounts to which the control policy applies. Valid values:'."\n"
+ ."\n"
+ .'- **All**: The control policy applies to all database accounts of the database.'."\n"
+ ."\n"
+ .'- **AccountId**: The control policy applies to specified database accounts of the database.', 'type' => 'string', 'required' => false, 'example' => 'AccountId', 'title' => ''],
+ 'DatabaseAccountIds' => [
+ 'description' => 'The database accounts to which the control policy applies.'."\n"
+ ."\n"
+ .'> This parameter is required if AccountScopeType is set to AccountId.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The database account IDs.', 'type' => 'string', 'required' => false, 'example' => '["3"]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => '10267',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'HostAccountIds',
+ 'name' => 'HostGroups',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The host account IDs.'."\n"
+ 'description' => 'The asset groups to which the control policy applies.'."\n"
."\n"
- .'> You must specify this parameter. You can call the [ListHostAccounts](~~462937~~) operation to query the host account IDs.'."\n",
- 'type' => 'string',
+ .'> This parameter is required if ScopeType is set to HostGroup. You can specify up to 100 asset groups.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HostGroupId' => ['description' => 'The asset group ID.', 'type' => 'string', 'required' => false, 'example' => '86', 'title' => ''],
+ 'AccountScopeType' => ['description' => 'The scope of asset accounts to which the control policy applies. Valid values:'."\n"
+ ."\n"
+ .'- **All**: The control policy applies to all accounts in the asset group.'."\n"
+ ."\n"
+ .'- **AccountName**: The control policy applies to specified accounts in the asset group.', 'type' => 'string', 'required' => false, 'example' => 'All', 'title' => ''],
+ 'AccountNames' => [
+ 'description' => 'The asset accounts to which the control policy applies.'."\n"
+ ."\n"
+ .'> This parameter is required if AccountScopeType is set to AccountName.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The username of the asset account.', 'type' => 'string', 'minLength' => 1, 'pattern' => '^\\S+$', 'required' => false, 'example' => '["root", "admin"]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => '["1","2","3"]',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The error code returned. If **OK** is returned, the association was successful. If another error code is returned, the association failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'The error message returned.'."\n",
- 'type' => 'string',
- 'example' => 'The host account does not exist',
- ],
- 'HostShareKeyId' => [
- 'description' => 'The ID of the shared key.'."\n",
- 'type' => 'string',
- 'example' => '10267',
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '1201',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5EAB922E-F476-5DFA-9290-313C608E724B', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"The host account does not exist\\",\\n \\"HostShareKeyId\\": \\"10267\\",\\n \\"HostAccountId\\": \\"1201\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<AttachHostAccountsToHostShareKeyResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Code>OK</Code>\\n <Message>The host account does not exist</Message>\\n <HostShareKeyId>10267</HostShareKeyId>\\n <HostAccountId>1201</HostAccountId>\\n </Results>\\n</AttachHostAccountsToHostShareKeyResponse>","errorExample":""}]',
- 'title' => 'AttachHostAccountsToHostShareKey',
- ],
- 'DetachHostAccountsFromHostShareKey' => [
- 'summary' => 'Disassociate host accounts from a shared key.',
- 'methods' => [
- 'get',
- 'post',
+ 'title' => 'SetPolicyAssetScope',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyAssetScope'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyAssetScope',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5EAB922E-F476-5DFA-9290-313C608E724B\\"\\n}","type":"json"}]',
+ ],
+ 'SetPolicyCommandConfig' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1ghxxxxx', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostShareKeyId',
+ 'name' => 'PolicyId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The shared key ID.'."\n"
- ."\n"
- .'> You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '11',
- ],
+ 'schema' => ['description' => 'The ID of the control policy that you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '45', 'title' => ''],
],
[
- 'name' => 'HostAccountIds',
+ 'name' => 'CommandConfig',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The host account IDs.'."\n"
+ 'description' => 'The command control settings.'."\n"
."\n"
- .'> You can call the [ListHostAccountsForHostShareKey](~~462975~~) operation to query the host account IDs.'."\n",
- 'type' => 'string',
+ .'> This parameter applies only to Linux hosts.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Deny' => [
+ 'description' => 'The command control settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AclType' => [
+ 'description' => 'The type of command control. Valid values:'."\n"
+ ."\n"
+ .'- **black**: blacklist mode.'."\n"
+ ."\n"
+ .'- **white**: whitelist mode.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['black', 'white'],
+ 'example' => 'white',
+ 'title' => '',
+ ],
+ 'Commands' => [
+ 'description' => 'The commands to be controlled.'."\n"
+ ."\n"
+ .'> This parameter is required if AclType is set to white.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The command to be controlled.', 'type' => 'string', 'required' => true, 'example' => '["mkdir"]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Approval' => [
+ 'description' => 'The command approval settings.'."\n"
+ ."\n"
+ .'> A command approval policy is used to approve the commands that are excluded from a whitelist or blacklist specified in a command control policy. The command control policy takes precedence over the command approval policy in validation.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Commands' => [
+ 'description' => 'The commands that can be run only after approval.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The command that can be run only after approval.', 'type' => 'string', 'required' => false, 'example' => '["mkdir"]', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
'required' => true,
- 'example' => '["1","2","3"]',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Results' => [
- 'description' => 'The result of the call.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'The error code returned. If **OK** is returned, the disassociation was successful. If a different error code is returned, the disassociation failed.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'Message' => [
- 'description' => 'The error message returned.'."\n",
- 'type' => 'string',
- 'example' => 'The host account does not exist',
- ],
- 'HostShareKeyId' => [
- 'description' => 'The ID of the shared key.'."\n",
- 'type' => 'string',
- 'example' => '11',
- ],
- 'HostAccountId' => [
- 'description' => 'The ID of the host account.'."\n",
- 'type' => 'string',
- 'example' => '12407',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"The host account does not exist\\",\\n \\"HostShareKeyId\\": \\"11\\",\\n \\"HostAccountId\\": \\"12407\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DetachHostAccountsFromHostShareKeyResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Results>\\n <Code>OK</Code>\\n <Message>The host account does not exist</Message>\\n <HostShareKeyId>11</HostShareKeyId>\\n <HostAccountId>12407</HostAccountId>\\n </Results>\\n</DetachHostAccountsFromHostShareKeyResponse>","errorExample":""}]',
- 'title' => 'DetachHostAccountsFromHostShareKey',
- ],
- 'DeleteHostShareKey' => [
- 'summary' => 'Deletes a shared key.',
- 'methods' => [
- 'get',
- 'post',
+ 'title' => 'SetPolicyCommandConfig',
+ 'summary' => 'Specifies the commands that can or cannot be run by the users or on the assets associated with the policy and the commands that must be reviewed.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyCommandConfig'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyCommandConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4F6C075F-FC86-476E-943B-097BD4E12948\\"\\n}","type":"json"}]',
+ ],
+ 'SetPolicyIPAclConfig' => [
+ 'summary' => 'Specifies whether a source IP address can access the assets to which a control policy applies.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhost4PMV5G',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the DescribeInstances operation to query the bastion host ID.[](~~153281~~)', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HostShareKeyId',
+ 'name' => 'PolicyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the control policy that you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
+ ],
+ [
+ 'name' => 'IPAclConfig',
'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'description' => 'The shared key ID.'."\n"
- ."\n"
- .'> You must specify this parameter. You can call the [ListHostShareKeys](~~462973~~) operation to query the shared key ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '11206',
+ 'description' => 'The access control settings for source IP addresses.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AclType' => [
+ 'description' => 'The mode of access control on source IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **black**: blacklist mode.'."\n"
+ ."\n"
+ .'- **white**: whitelist mode.',
+ 'enumValueTitles' => [],
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => ['black', 'white'],
+ 'example' => 'white',
+ 'title' => '',
+ ],
+ 'IPs' => [
+ 'description' => 'The source IP addresses in the blacklist or whitelist.'."\n"
+ ."\n"
+ .'>'."\n"
+ ."\n"
+ .'- This parameter is required if AclType is set to white.'."\n"
+ ."\n"
+ .'- If AclType is set to black but you do not want to add IP addresses to the blacklist, you can leave IPs empty.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The source IP address in the blacklist or whitelist.', 'type' => 'string', 'required' => true, 'pattern' => '^((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))(\\s?-\\s?((25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d))))?$', 'example' => '1.1.1.1', 'title' => ''],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteHostShareKeyResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n</DeleteHostShareKeyResponse>","errorExample":""}]',
- 'title' => 'DeleteHostShareKey',
- ],
- 'GetInstanceADAuthServer' => [
- 'summary' => 'Queries the settings of Active Directory (AD) authentication on a bastion host.',
- 'methods' => [
- 'get',
- 'post',
+ 'title' => 'SetPolicyIPAclConfig',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyIPAclConfig'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyIPAclConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
+ ],
+ 'SetPolicyProtocolConfig' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance.'."\n"
+ ."\n"
+ .'> Call the [DescribeInstances](~~153281~~) operation to obtain the instance ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Bastionhost instance resides.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
- ],
- 'responses' => [
- 200 => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the control policy that you want to modify.'."\n"
+ ."\n"
+ .'> Call the [ListPolicies](~~2758876~~) operation to obtain the policy ID.', 'type' => 'string', 'required' => true, 'example' => '61', 'title' => ''],
+ ],
+ [
+ 'name' => 'ProtocolConfig',
+ 'in' => 'query',
+ 'style' => 'json',
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'description' => 'The protocol control configuration.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '89398CFB-4EB6-4C7E-BB3C-EF213AC8FA50',
+ 'RDP' => [
+ 'description' => 'The RDP options.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RecordKeyboard' => [
+ 'description' => 'Specifies whether to record keyboard input. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
+ 'type' => 'string',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
+ ],
+ 'DiskRedirection' => [
+ 'description' => 'Specifies whether to enable drive and printer mapping. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
+ 'type' => 'string',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
+ ],
+ 'ClipboardDownload' => [
+ 'description' => 'Specifies whether to allow clipboard content to be downloaded. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
+ 'type' => 'string',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
+ ],
+ 'ClipboardUpload' => [
+ 'description' => 'Specifies whether to allow clipboard content to be uploaded. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
+ 'type' => 'string',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
+ ],
+ 'DiskRedirectionUpload' => [
+ 'type' => 'string',
+ 'example' => 'Enable',
+ 'enum' => ['Enable', 'Disable'],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'DiskRedirectionDownload' => [
+ 'type' => 'string',
+ 'example' => 'Enable',
+ 'enum' => ['Enable', 'Disable'],
+ 'description' => '',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
- 'AD' => [
- 'description' => 'The settings of AD authentication.'."\n",
+ 'SSH' => [
+ 'description' => 'The SSH and SFTP options.',
'type' => 'object',
'properties' => [
- 'Account' => [
- 'description' => 'The distinguished name (DN) of the AD server account.'."\n",
+ 'X11Forwarding' => [
+ 'description' => 'Specifies whether to enable X11 forwarding. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
'type' => 'string',
- 'example' => 'cn=Manager,dc=test,dc=com',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'BaseDN' => [
- 'description' => 'The Base DN of the AD server.'."\n",
+ 'SFTPChannel' => [
+ 'description' => 'Specifies whether to enable the SFTP channel. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> * The default value is Disable.'."\n"
+ .'>'."\n"
+ .'> * At least one of the SSH channel and the SFTP channel must be enabled.'."\n"
+ .'>'."\n"
+ .'> * If you grant only SFTP permissions to a host account, do not disable the SSH and SFTP channels for that account in the control policy. Otherwise, you cannot use the host account to access the target server through Bastionhost.',
'type' => 'string',
- 'example' => 'dc=test,dc=com',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'Domain' => [
- 'description' => 'The domain on the AD server.'."\n",
+ 'SSHChannel' => [
+ 'description' => 'Specifies whether to enable the SSH channel. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> * The default value is Disable.'."\n"
+ .'>'."\n"
+ .'> * At least one of the SSH channel and the SFTP channel must be enabled. If you disable the SSH channel, you cannot use SSH permissions to log on to the asset account. Configure this parameter with caution.'."\n"
+ .'>'."\n"
+ .'> * If you grant only SFTP permissions to a host account, do not disable the SSH and SFTP channels for that account in the control policy. Otherwise, you cannot use the host account to access the target server through Bastionhost.',
'type' => 'string',
- 'example' => 'domain',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'EmailMapping' => [
- 'description' => 'The field that is used to indicate the email address of a user on the AD server.'."\n",
+ 'ExecCommand' => [
+ 'description' => 'Specifies whether to allow remote command execution. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
'type' => 'string',
- 'example' => 'emailAttr',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'Filter' => [
- 'description' => 'The condition that is used to filter users.'."\n",
+ 'SFTPUploadFile' => [
+ 'description' => 'Specifies whether to allow file uploads over SFTP. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
'type' => 'string',
- 'example' => '(&(objectClass=top))',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'IsSSL' => [
- 'description' => 'Indicates whether SSL is supported. Valid values:'."\n"
+ 'SFTPDownloadFile' => [
+ 'description' => 'Specifies whether to allow file downloads over SFTP. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
+ 'type' => 'string',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'MobileMapping' => [
- 'description' => 'The field that is used to indicate the mobile phone number of a user on the AD server.'."\n",
+ 'SFTPRemoveFile' => [
+ 'description' => 'Specifies whether to allow file deletions over SFTP. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
'type' => 'string',
- 'example' => 'mobileAttr',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'NameMapping' => [
- 'description' => 'The field that is used to indicate the name of a user on the AD server.'."\n",
+ 'SFTPRenameFile' => [
+ 'description' => 'Specifies whether to allow file renames over SFTP. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
'type' => 'string',
- 'example' => 'nameAttr',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'HasPassword' => [
- 'description' => 'Indicates whether passwords are required. Valid values:'."\n"
+ 'SFTPMkdir' => [
+ 'description' => 'Specifies whether to allow folder creation over SFTP. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
."\n"
- .'* **true**:'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
+ 'type' => 'string',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'Port' => [
- 'description' => 'The port that is used to access the AD server.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '389',
+ 'SFTPRmdir' => [
+ 'description' => 'Specifies whether to allow folder deletion over SFTP. Valid values:'."\n"
+ ."\n"
+ .'- Enable'."\n"
+ ."\n"
+ .'- Disable'."\n"
+ ."\n"
+ .'> The default value is Disable.',
+ 'type' => 'string',
+ 'enum' => ['Enable', 'Disable'],
+ 'required' => false,
+ 'example' => 'Enable',
+ 'title' => '',
],
- 'Server' => [
- 'description' => 'The address of the AD server.',
+ 'AllowDirectTcp' => [
'type' => 'string',
- 'example' => '192.168.XX.XX',
+ 'example' => 'Enable',
+ 'enum' => ['Enable', 'Disable'],
+ 'description' => '',
+ 'title' => '',
],
- 'StandbyServer' => [
- 'description' => 'The address of the secondary AD server.',
+ 'TcpForwarding' => [
'type' => 'string',
- 'example' => '192.168.XX.XX',
+ 'example' => 'Enable',
+ 'enum' => ['Enable', 'Disable'],
+ 'description' => '',
+ 'title' => '',
+ ],
+ 'AllowTcpForwarding' => [
+ 'type' => 'string',
+ 'example' => 'Enable',
+ 'enum' => ['Enable', 'Disable'],
+ 'description' => '',
+ 'title' => '',
],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '81500666-d7f5-4143-8329-0223cc738105', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89398CFB-4EB6-4C7E-BB3C-EF213AC8FA50\\",\\n \\"AD\\": {\\n \\"Account\\": \\"cn=Manager,dc=test,dc=com\\",\\n \\"BaseDN\\": \\"dc=test,dc=com\\",\\n \\"Domain\\": \\"domain\\",\\n \\"EmailMapping\\": \\"emailAttr\\",\\n \\"Filter\\": \\"(&(objectClass=top))\\",\\n \\"IsSSL\\": true,\\n \\"MobileMapping\\": \\"mobileAttr\\",\\n \\"NameMapping\\": \\"nameAttr\\",\\n \\"HasPassword\\": true,\\n \\"Port\\": 389,\\n \\"Server\\": \\"192.168.XX.XX\\",\\n \\"StandbyServer\\": \\"192.168.XX.XX\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetInstanceADAuthServerResponse>\\n <RequestId>89398CFB-4EB6-4C7E-BB3C-EF213AC8FA50</RequestId>\\n <AD>\\n <Account>cn=Manager,dc=test,dc=com</Account>\\n <BaseDN>dc=test,dc=com</BaseDN>\\n <Domain>domain</Domain>\\n <EmailMapping>emailAttr</EmailMapping>\\n <Filter>(&amp;(objectClass=top))</Filter>\\n <IsSSL>true</IsSSL>\\n <MobileMapping>mobileAttr</MobileMapping>\\n <NameMapping>nameAttr</NameMapping>\\n <HasPassword>true</HasPassword>\\n <Port>389</Port>\\n <Server>192.168.XX.XX</Server>\\n <StandbyServer>192.168.XX.XX</StandbyServer>\\n </AD>\\n</GetInstanceADAuthServerResponse>","errorExample":""}]',
- 'title' => 'GetInstanceADAuthServer',
- 'description' => '###'."\n"
- ."\n"
- .'You can call this operation to query the settings of AD authentication on a bastion host. After you configure AD authentication on a bastion host, you can import AD-authenticated users into the bastion host. After the AD-authenticated users are imported into the bastion host, the AD-authenticated users can log on to the bastion host to perform O\\&M operations on servers.'."\n"
- ."\n"
- .'### Limit'."\n"
- ."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- ],
- 'ModifyInstanceADAuthServer' => [
- 'summary' => 'Modifies the settings of the Active Directory (AD) authentication server of a bastion host.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'SetPolicyProtocolConfig',
+ 'summary' => 'Sets the Remote Desktop Protocol (RDP), Secure Shell (SSH), and SSH File Transfer Protocol (SFTP) options for a control policy.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyProtocolConfig'],
+ ],
],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81500666-d7f5-4143-8329-0223cc738105\\"\\n}","type":"json"}]',
+ ],
+ 'SetPolicyUserScope' => [
+ 'summary' => 'Specifies the users to whom a control policy applies.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
- 'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The bastion host ID.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the bastion host.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the control policy that you want to modify.'."\n"
+ ."\n"
+ .'> You can call the [ListPolicies](~~2758876~~) operation to query the control policy ID.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'ScopeType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The scope of users to whom the control policy applies. Valid values:'."\n"
+ ."\n"
+ .'- **All**: The control policy applies to all users.'."\n"
+ ."\n"
+ .'- **User**: The control policy applies to specified users.'."\n"
+ ."\n"
+ .'- **UserGroup**: The control policy applies to specified user groups.', 'type' => 'string', 'required' => true, 'example' => 'All', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserIds',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
+ 'description' => 'The users to whom the control policy applies.'."\n"
."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
+ .'> This parameter is required if ScopeType is set to User. You can specify up to 500 user IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The user ID.', 'type' => 'string', 'required' => false, 'example' => '1,2,3', 'title' => ''],
'required' => false,
- 'example' => 'cn-hangzhou',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'Server',
+ 'name' => 'UserGroupIds',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The address of the AD server.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.XX.XX',
+ 'description' => 'The user groups to which the control policy applies.'."\n"
+ ."\n"
+ .'> This parameter is required if ScopeType is set to UserGroup. You can specify up to 100 user group IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The user group ID.', 'type' => 'string', 'required' => false, 'example' => '1,2,3', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'StandbyServer',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The address of the secondary AD server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.XX.XX',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE ', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
+ ],
+ 404 => [
+ ['errorCode' => 'PolicyNotFound', 'errorMessage' => 'The policy is not found.', 'description' => 'The policy is not found.'],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE \\"\\n}","type":"json"}]',
+ 'title' => 'SetPolicyUserScope',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyUserScope'],
+ ],
+ ],
+ 'ramActions' => [
[
- 'name' => 'Port',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The port that is used to access the server.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '389',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyUserScope',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ ],
+ 'StartInstance' => [
+ 'summary' => 'Starts a specified Bastionhost instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'IsSSL',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '91530',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether SSL is supported. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to start.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
],
[
- 'name' => 'BaseDN',
+ 'name' => 'VswitchId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The Base distinguished name (DN).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'dc=test,dc=com',
- ],
+ 'schema' => ['description' => 'The ID of the vSwitch to which the bastion host is bound.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1xfwzzfti0kjbf****', 'title' => ''],
],
[
- 'name' => 'Domain',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The domain on the AD server.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'domain',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Account',
+ 'name' => 'SecurityGroupIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The username of the account that is used for the AD server.'."\n",
- 'type' => 'string',
+ 'description' => 'The IDs of the security groups to which the bastion host is bound.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the security group to which the bastion host is bound.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp1aiupc4yjqgmm****', 'title' => ''],
'required' => true,
- 'example' => 'cn=Manager,dc=test,dc=com',
+ 'example' => 'sg-bp1aiupc4yjqgmm****',
+ 'maxItems' => 100,
+ 'title' => '',
],
],
[
- 'name' => 'Password',
+ 'name' => 'ClientSecurityGroupIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The password of the account that is used for the AD server.'."\n",
- 'type' => 'string',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the security group for the endpoint that is used to access the bastion host over a private network.', 'type' => 'string', 'required' => false, 'example' => 'sg-uf65hnzqj9ww1x****', 'title' => ''],
'required' => false,
- 'example' => '******',
+ 'maxItems' => 5,
+ 'minItems' => 1,
+ 'description' => 'The IDs of the security groups for the endpoint that is used to access the bastion host over a private network.',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'Filter',
+ 'name' => 'SlaveVswitchId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The condition that is used to filter users.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '(objectClass=top)',
- ],
+ 'schema' => ['description' => 'The ID of the secondary vSwitch to which the bastion host is bound.', 'type' => 'string', 'required' => false, 'example' => 'vsw-9dpspfku7gita****', 'title' => ''],
],
[
- 'name' => 'NameMapping',
+ 'name' => 'EnablePortalPrivateAccess',
'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable the O\\&M portal of the bastion host to be accessed over a private network.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The field that is used to indicate the name of a user on the AD server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nameAttr',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => ['description' => 'The ID of the bastion host that is enabled.', 'type' => 'string', 'example' => 'bastionhost-cn-78v1gh****', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => '0F85AE0A-6A87-48F3-A0C7-90B998788A36', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InstanceId\\": \\"bastionhost-cn-78v1gh****\\",\\n \\"RequestId\\": \\"0F85AE0A-6A87-48F3-A0C7-90B998788A36\\"\\n}","type":"json"}]',
+ 'title' => 'StartInstance',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartInstance'],
+ ],
+ ],
+ 'ramActions' => [],
+ ],
+ 'TagResources' => [
+ 'summary' => 'Creates and attaches tags to one or more Bastionhost instances.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
+ ],
+ 'parameters' => [
[
- 'name' => 'EmailMapping',
+ 'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the region where the Bastionhost instance resides.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of the resource.'."\n"
+ ."\n"
+ .'Set the value to `INSTANCE`. This value indicates a Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'INSTANCE', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The field that is used to indicate the email address of a user on the AD server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'emailAttr',
+ 'description' => 'The IDs of the Bastionhost instances. You can specify up to 20 instance IDs.'."\n"
+ ."\n"
+ .'N can be from 1 to 20.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the IDs of Bastionhost instances.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of a Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'bastionhost-cn-78v1gc****', 'title' => ''],
+ 'required' => true,
+ 'example' => 'bastionhost-cn-78v1gc****',
+ 'maxItems' => 51,
+ 'title' => '',
],
],
[
- 'name' => 'MobileMapping',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The field that is used to indicate the mobile phone number of a user on the AD server.'."\n",
- 'type' => 'string',
+ 'description' => 'The tags to add to the instances. You can add up to 20 tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A tag.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The key of the tag.'."\n"
+ ."\n"
+ .'> - The tag key cannot be an empty string. It can be up to 128 characters in length.'."\n"
+ .'>'."\n"
+ .'> - The tag key cannot start with **aliyun** or **acs:**. It cannot contain **http\\://** or **https\\://**.', 'type' => 'string', 'required' => false, 'example' => 'operation', 'title' => ''],
+ 'Value' => ['description' => 'The value of the tag.'."\n"
+ ."\n"
+ .'> - The tag value can be an empty string. It can be up to 128 characters in length.'."\n"
+ .'>'."\n"
+ .'> - The tag value cannot start with **aliyun** or **acs:**. It cannot contain **http\\://** or **https\\://**.', 'type' => 'string', 'required' => false, 'example' => 'operation_test', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'mobileAttr',
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'C9E97677-BD74-584B-AFCE-948C2A70BB82',
- ],
+ 'RequestId' => ['description' => 'The ID of the request. This ID is a unique identifier that is generated by Alibaba Cloud for the request. You can use this ID to troubleshoot and locate issues.', 'type' => 'string', 'example' => '2F24F0A8-4C69-4E89-9392-457D107E2D4A', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ 'errorCodes' => [],
+ 'title' => 'TagResources',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C9E97677-BD74-584B-AFCE-948C2A70BB82\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyInstanceADAuthServerResponse>\\n <RequestId>C9E97677-BD74-584B-AFCE-948C2A70BB82</RequestId>\\n</ModifyInstanceADAuthServerResponse>","errorExample":""}]',
- 'title' => 'ModifyInstanceADAuthServer',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2F24F0A8-4C69-4E89-9392-457D107E2D4A\\"\\n}","type":"json"}]',
],
- 'GetInstanceTwoFactor' => [
- 'summary' => 'Queries the settings of two-factor authentication on a bastion host.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UnlockUsers' => [
+ 'summary' => 'Unlocks one or more users of a bastion host.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
+ 'operationType' => 'write',
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the bastion host to which the users to be unlocked belong.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the bastion host to which the users to be unlocked belong.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserIds',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the user that you want to unlock. The value is a JSON string. You can add up to 100 user IDs. If you specify multiple IDs, separate the IDs with commas (,).'."\n"
+ ."\n"
+ .'> You can call the [ListUsers](~~204522~~) operation to query the ID of the user.', 'type' => 'string', 'required' => true, 'example' => '["1","2"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- 'Config' => [
- 'description' => 'The settings of two-factor authentication.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'EnableTwoFactor' => [
- 'description' => 'Indicates whether two-factor authentication is enabled. Valid values:'."\n"
+ 'RequestId' => ['description' => 'The ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
+ 'Results' => [
+ 'description' => 'An array that consists of information about the result of the call.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The result of the call. Valid values:'."\n"
."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'TwoFactorMethods' => [
- 'description' => 'The two-factor authentication methods.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'Indicates one or more methods that are used to send verification codes if two-factor authentication is enabled. Valid values:'."\n"
- ."\n"
- .'* **sms**: text message-based two-factor authentication.'."\n"
- .'* **email**: email-based two-factor authentication.'."\n"
- .'* **dingtalk**: DingTalk-based two-factor authentication.'."\n"
- .'* **totp**: one-time password (OTP) token-based two-factor authentication.'."\n"
- .'* **gmusbkey**: two-factor authentication by using SM-based USB keys.'."\n",
- 'type' => 'string',
- 'example' => 'sms',
- ],
- ],
- 'SkipTwoFactorTime' => [
- 'description' => 'The duration within which two-factor authentication is not required after a local user passes two-factor authentication. Valid values: `0 to 168`. Unit: hours.'."\n"
+ .'- **OK**: The call was successful.'."\n"
+ ."\n"
+ .'- **UNEXPECTED**: An unknown error occurred.'."\n"
+ ."\n"
+ .'- **INVALID\\_ARGUMENT**: A request parameter is invalid.'."\n"
."\n"
- .'> If 0 is returned, a local user must pass two-factor authentication every time the local user logs on to the bastion host.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
+ .' \\*\\*'."\n"
+ ."\n"
+ .' **Note**Make sure that the request parameters are valid and call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_NOT\\_FOUND**: The specified object on which you want to perform the operation does not exist.'."\n"
+ ."\n"
+ .' \\*\\*'."\n"
+ ."\n"
+ .' **Note**Check whether the specified ID of the bastion host exists, whether the specified hosts exist, and whether the specified host IDs are valid. Then, call the operation again.'."\n"
+ ."\n"
+ .'- **OBJECT\\_AlREADY\\_EXISTS**: The specified object on which you want to perform the operation already exists.', 'type' => 'string', 'example' => 'OK', 'title' => ''],
+ 'Message' => ['description' => 'This parameter is deprecated.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'UserId' => ['description' => 'The ID of the user.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Config\\": {\\n \\"EnableTwoFactor\\": true,\\n \\"TwoFactorMethods\\": [\\n \\"sms\\"\\n ],\\n \\"SkipTwoFactorTime\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetInstanceTwoFactorResponse>\\n <RequestId>EC9BF0F4-8983-491A-BC8C-1B4DD94976DE</RequestId>\\n <Config>\\n <EnableTwoFactor>true</EnableTwoFactor>\\n <TwoFactorMethods>sms</TwoFactorMethods>\\n <SkipTwoFactorTime>1</SkipTwoFactorTime>\\n <MessageLanguage>zh-cn</MessageLanguage>\\n </Config>\\n</GetInstanceTwoFactorResponse>","errorExample":""}]',
- 'title' => 'GetInstanceTwoFactor',
- 'description' => 'You can call this operation to query the settings of two-factor authentication on a bastion host. After you enable two-factor authentication, Bastionhost sends a verification code to a local user when the local user logs on to a bastion host. A local user can log on to the bastion host only when the local user enters the valid username and password and the verification code. This reduces the security risks caused by account information leaks.'."\n"
+ 'title' => 'UnlockUsers',
+ 'description' => 'Unlocks previously locked bastion host users, allowing them to resume O\\&M operations. Use this operation after locking users with the [LockUsers](~~204591~~) operation.'."\n"
."\n"
- .'### Limit'."\n"
+ .'# Limits'."\n"
."\n"
- .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
- ],
- 'ModifyInstanceTwoFactor' => [
- 'summary' => 'Modifies the two-factor authentication settings of a bastion host.',
- 'methods' => [
- 'get',
- 'post',
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API requests must include common request parameters. For more information about common request parameters, see [Common parameters](~~148139~~). For more information about sample requests, see the "Examples" section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnlockUsers'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:UnlockUsers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\",\\n \\"Results\\": [\\n {\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"None\\",\\n \\"UserId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'UntagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -24361,120 +19589,102 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
- ],
+ 'abilityTreeCode' => '91533',
+ 'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Bastionhost instance resides.'."\n"
+ ."\n"
+ .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The type of the resource.'."\n"
+ ."\n"
+ .'The only valid value is **INSTANCE**. This value indicates a Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'INSTANCE', 'title' => ''],
],
[
- 'name' => 'EnableTwoFactor',
+ 'name' => 'All',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to enable two-factor authentication. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false**: no'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'Specifies whether to remove all tags from the Bastionhost instance.'."\n"
+ ."\n"
+ .'- If you specify \\`TagKey.N\\`, you must set \\`All\\` to **false** to remove specific tags.'."\n"
+ ."\n"
+ .'- If you do not specify \\`TagKey.N\\`, set \\`All\\` to **true** to remove all tags. If you set \\`All\\` to **false**, no tags are removed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'TwoFactorMethods',
+ 'name' => 'ResourceId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The method used to send a verification code for two-factor authentication. If EnableTwoFactor is set to true, you must specify at least one method. Valid values:'."\n"
+ 'description' => 'The ID of the instance.'."\n"
."\n"
- .'* **sms:** text message.'."\n"
- .'* **email**: email.'."\n"
- .'* **dingtalk**: notice in DingTalk.'."\n"
- .'* **totp**: one-time password (OTP) token.'."\n"
- .'* **gmusbkey**: SM-based USB key.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '["sms"]',
+ .'The value of N can be from 1 to 20.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain the ID of the Bastionhost instance.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the instance.'."\n"
+ ."\n"
+ .'The value of N can be from 1 to 20.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstances](~~153281~~) operation to obtain the ID of the Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'bastionhost-cn-78v1gc****', 'title' => ''],
+ 'required' => true,
+ 'maxItems' => 51,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'SkipTwoFactorTime',
+ 'name' => 'TagKey',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The duration within which two-factor authentication is not required after a user passes two-factor authentication. Valid values: 0 to 168. Unit: hours. If you set this parameter to 0, the user must pass two-factor authentication every time the user logs on to the bastion host.'."\n",
- 'type' => 'string',
+ 'description' => 'The key of the tag.'."\n"
+ ."\n"
+ .'The value of N can be from 1 to 20.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The key of the tag.'."\n"
+ ."\n"
+ .'The value of N can be from 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
'required' => false,
- 'example' => '1',
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '9CE1A352-15E9-5EB4-B589-87A8DEECB20D',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A8A665B9-8550-4942-9DEE-73198051856B', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ 'title' => 'UntagResources',
+ 'summary' => 'Removes tags from one or more Bastionhost instances. You can remove specific tag key-value pairs or all tags at once.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9CE1A352-15E9-5EB4-B589-87A8DEECB20D\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyInstanceTwoFactorResponse>\\n <RequestId>9CE1A352-15E9-5EB4-B589-87A8DEECB20D</RequestId>\\n</ModifyInstanceTwoFactorResponse>","errorExample":""}]',
- 'title' => 'ModifyInstanceTwoFactor',
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8A665B9-8550-4942-9DEE-73198051856B\\"\\n}","type":"json"}]',
],
- 'ModifyInstanceLDAPAuthServer' => [
- 'summary' => 'Modifies the settings of the Lightweight Directory Access Protocol (LDAP) authentication server of a bastion host.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'VerifyInstanceADAuthServer' => [
+ 'summary' => 'Tests the connectivity to the Active Directory (AD) authentication server configured for a Bastionhost instance. Use this operation to validate your AD settings before you save them.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -24486,204 +19696,117 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bastion host ID.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the bastion host ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance. You can call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance. For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'Server',
'in' => 'query',
- 'schema' => [
- 'description' => 'The address of the LDAP server.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.XX.XX',
- ],
+ 'schema' => ['description' => 'The address of the server.', 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX', 'title' => ''],
],
[
'name' => 'StandbyServer',
'in' => 'query',
- 'schema' => [
- 'description' => 'The address of the secondary LDAP server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.XX.XX',
- ],
+ 'schema' => ['description' => 'The address of the standby server.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
],
[
'name' => 'Port',
'in' => 'query',
- 'schema' => [
- 'description' => 'The port that is used to access the LDAP server.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '389',
- ],
+ 'schema' => ['description' => 'The port.', 'type' => 'string', 'required' => true, 'example' => '389', 'title' => ''],
],
[
'name' => 'IsSSL',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to support SSL. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'Specifies whether SSL is supported. Valid values:'."\n"
+ ."\n"
+ .'- **true**: supported'."\n"
+ ."\n"
+ .'- **false**: not supported', 'type' => 'string', 'required' => true, 'example' => 'true', 'title' => ''],
],
[
'name' => 'BaseDN',
'in' => 'query',
- 'schema' => [
- 'description' => 'The Base distinguished name (DN).'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'dc=test,dc=com',
- ],
- ],
- [
- 'name' => 'Account',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The username of the account that is used for the LDAP server.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn=Manager,dc=test,dc=com',
- ],
+ 'schema' => ['description' => 'The Base DN.', 'type' => 'string', 'required' => true, 'example' => 'dc=test,dc=com', 'title' => ''],
],
[
- 'name' => 'Password',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The password of the account that is used for the LDAP server. You must configure a password when you configure LDAP authentication. If you leave this parameter empty when you modify the settings of LDAP authentication, the current password is used.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '******',
- ],
- ],
- [
- 'name' => 'Filter',
+ 'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => 'The condition that is used to filter users.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '(objectClass=top)',
- ],
+ 'schema' => ['description' => 'The domain on the Active Directory server.', 'type' => 'string', 'required' => true, 'example' => 'domain', 'title' => ''],
],
[
- 'name' => 'LoginNameMapping',
+ 'name' => 'Account',
'in' => 'query',
- 'schema' => [
- 'description' => 'The field that is used to indicate the logon name of a user on the LDAP server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'userNameAttr',
- ],
+ 'schema' => ['description' => 'The account of the server.', 'type' => 'string', 'required' => true, 'example' => 'cn=Manager,dc=test,dc=com', 'title' => ''],
],
[
- 'name' => 'NameMapping',
+ 'name' => 'Password',
'in' => 'query',
- 'schema' => [
- 'description' => 'The field that is used to indicate the name of a user on the LDAP server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nameAttr',
- ],
+ 'schema' => ['description' => 'The password of the server account.', 'type' => 'string', 'required' => false, 'example' => '******', 'title' => ''],
],
[
- 'name' => 'EmailMapping',
+ 'name' => 'Filter',
'in' => 'query',
- 'schema' => [
- 'description' => 'The field that is used to indicate the email address of a user on the LDAP server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'emailAttr',
- ],
- ],
- [
- 'name' => 'MobileMapping',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The field that is used to indicate the mobile phone number of a user on the LDAP server.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'mobileAttr',
- ],
+ 'schema' => ['description' => 'The filter condition for users.', 'type' => 'string', 'required' => false, 'example' => '(objectClass=top)', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response'."\n",
- 'type' => 'object',
+ 'description' => 'Schema of Response',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '8F1085E3-F048-5F34-B650-F145216E4AA4',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request, which is a unique identifier generated by Alibaba Cloud for the request. This parameter can be used for troubleshooting and problem locating.', 'type' => 'string', 'example' => '8F1085E3-F048-5F34-B650-F145216E4AA5'],
],
+ 'title' => 'Schema of Response',
+ 'type' => 'object',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
- ],
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8F1085E3-F048-5F34-B650-F145216E4AA4\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyInstanceLDAPAuthServerResponse>\\n <RequestId>8F1085E3-F048-5F34-B650-F145216E4AA4</RequestId>\\n</ModifyInstanceLDAPAuthServerResponse>","errorExample":""}]',
- 'title' => 'ModifyInstanceLDAPAuthServer',
- ],
- 'GetInstanceLDAPAuthServer' => [
- 'summary' => 'Queries the settings of Lightweight Directory Access Protocol (LDAP) authentication on a bastion host.',
- 'methods' => [
- 'get',
- 'post',
+ 'title' => 'VerifyInstanceADAuthServer',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyInstanceADAuthServer'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:VerifyInstanceADAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8F1085E3-F048-5F34-B650-F145216E4AA5\\"\\n}","type":"json"}]',
+ ],
+ 'VerifyInstanceLDAPAuthServer' => [
+ 'summary' => 'Tests the connectivity to the Lightweight Directory Access Protocol (LDAP) authentication server configured for a Bastionhost instance. Use this operation to validate your LDAP settings before you save them.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -24695,890 +19818,2347 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
- ],
+ 'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bastion host.'."\n"
- ."\n"
- .'> You can call the [DescribeInstances](~~153281~~) operation to query the ID of the bastion host.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
- ],
+ 'schema' => ['description' => 'The ID of the Bastionhost instance. You can call the [DescribeInstances](~~153281~~) operation to obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the bastion host.'."\n"
- ."\n"
- .'> For more information about the mapping between region IDs and region names, see [Regions and zones](~~40654~~).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Bastionhost instance. For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'Server',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The address of the server.', 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'StandbyServer',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The address of the standby server.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
+ ],
+ [
+ 'name' => 'Port',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The port used to access the server.', 'type' => 'string', 'required' => true, 'example' => '389', 'title' => ''],
+ ],
+ [
+ 'name' => 'IsSSL',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether SSL is supported. Valid values:'."\n"
+ ."\n"
+ .'- **true**: supported'."\n"
+ ."\n"
+ .'- **false**: not supported', 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ [
+ 'name' => 'BaseDN',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The Base DN.', 'type' => 'string', 'required' => true, 'example' => 'dc=test,dc=com', 'title' => ''],
+ ],
+ [
+ 'name' => 'Account',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The account of the server.', 'type' => 'string', 'required' => true, 'example' => 'cn=Manager,dc=test,dc=com', 'title' => ''],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The password of the server account.', 'type' => 'string', 'required' => false, 'example' => '******', 'title' => ''],
+ ],
+ [
+ 'name' => 'Filter',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The filter condition for users.', 'type' => 'string', 'required' => false, 'example' => '(objectClass=top)', 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
- 'title' => 'Schema of Response',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request, which is used to locate and troubleshoot issues.'."\n",
- 'type' => 'string',
- 'example' => '1C60E741-102D-5E8F-9710-B06D3F0183FE',
- ],
- 'LDAP' => [
- 'description' => 'The settings of LDAP authentication.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Account' => [
- 'description' => 'The account of the LDAP server.'."\n",
- 'type' => 'string',
- 'example' => 'cn=Manager,dc=test,dc=com',
- ],
- 'BaseDN' => [
- 'description' => 'The Base distinguished name (DN).'."\n",
- 'type' => 'string',
- 'example' => 'dc=test,dc=com',
- ],
- 'EmailMapping' => [
- 'description' => 'The field that is used to indicate the email address of a user on the LDAP server.'."\n",
- 'type' => 'string',
- 'example' => 'emailAttr',
- ],
- 'Filter' => [
- 'description' => 'The condition that is used to filter users.'."\n",
- 'type' => 'string',
- 'example' => '(&(objectClass=top))',
- ],
- 'IsSSL' => [
- 'description' => 'Indicates whether SSL is supported. Valid values:'."\n"
- ."\n"
- .'* **true**: supported'."\n"
- .'* **false**: not supported'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'LoginNameMapping' => [
- 'description' => 'The field that is used to indicate the logon name of a user on the LDAP server.'."\n",
- 'type' => 'string',
- 'example' => 'userNameAttr',
- ],
- 'MobileMapping' => [
- 'description' => 'The field that is used to indicate the mobile phone number of a user on the LDAP server.'."\n",
- 'type' => 'string',
- 'example' => 'mobileAttr',
- ],
- 'NameMapping' => [
- 'description' => 'The field that is used to indicate the name of a user on the LDAP server.'."\n",
- 'type' => 'string',
- 'example' => 'nameAttr',
- ],
- 'HasPassword' => [
- 'description' => 'Indicates whether passwords are required. Valid values:'."\n"
- ."\n"
- .'* **true**: required'."\n"
- .'* **false**: not required'."\n",
- 'type' => 'string',
- 'example' => 'true',
- ],
- 'Port' => [
- 'description' => 'The port that is used to access the LDAP server.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '389',
- ],
- 'Server' => [
- 'description' => 'The address of the LDAP server.'."\n",
- 'type' => 'string',
- 'example' => '192.168.XX.XX',
- ],
- 'StandbyServer' => [
- 'description' => 'The address of the secondary LDAP server.'."\n",
- 'type' => 'string',
- 'example' => '192.168.XX.XX',
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request, which is a unique identifier generated by Alibaba Cloud for the request. This parameter can be used for troubleshooting and issue locating.', 'type' => 'string', 'example' => 'C9E97677-BD74-584B-AFCE-948C2A70BB83', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
- ],
+ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
+ ],
+ ],
+ 'title' => 'VerifyInstanceLDAPAuthServer',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyInstanceLDAPAuthServer'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:VerifyInstanceLDAPAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1C60E741-102D-5E8F-9710-B06D3F0183FE\\",\\n \\"LDAP\\": {\\n \\"Account\\": \\"cn=Manager,dc=test,dc=com\\",\\n \\"BaseDN\\": \\"dc=test,dc=com\\",\\n \\"EmailMapping\\": \\"emailAttr\\",\\n \\"Filter\\": \\"(&(objectClass=top))\\",\\n \\"IsSSL\\": true,\\n \\"LoginNameMapping\\": \\"userNameAttr\\",\\n \\"MobileMapping\\": \\"mobileAttr\\",\\n \\"NameMapping\\": \\"nameAttr\\",\\n \\"HasPassword\\": \\"true\\",\\n \\"Port\\": 389,\\n \\"Server\\": \\"192.168.XX.XX\\",\\n \\"StandbyServer\\": \\"192.168.XX.XX\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetInstanceLDAPAuthServerResponse>\\n <RequestId>1C60E741-102D-5E8F-9710-B06D3F0183FE</RequestId>\\n <LDAP>\\n <Account>cn=Manager,dc=test,dc=com</Account>\\n <BaseDN>dc=test,dc=com</BaseDN>\\n <EmailMapping>emailAttr</EmailMapping>\\n <Filter>(&amp;(objectClass=top))</Filter>\\n <IsSSL>true</IsSSL>\\n <LoginNameMapping>userNameAttr</LoginNameMapping>\\n <MobileMapping>mobileAttr</MobileMapping>\\n <NameMapping>nameAttr</NameMapping>\\n <HasPassword>true</HasPassword>\\n <Port>389</Port>\\n <Server>192.168.XX.XX</Server>\\n <StandbyServer>192.168.XX.XX</StandbyServer>\\n </LDAP>\\n</GetInstanceLDAPAuthServerResponse>","errorExample":""}]',
- 'title' => 'GetInstanceLDAPAuthServer',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C9E97677-BD74-584B-AFCE-948C2A70BB83\\"\\n}","type":"json"}]',
],
- 'GetInstanceStoreInfo' => [
- 'summary' => 'Queries the storage usage of a bastion host.',
- 'methods' => [
- 'post',
- 'get',
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.ap-northeast-2.aliyuncs.com', 'endpoint' => 'bastionhost.ap-northeast-2.aliyuncs.com', 'vpc' => 'bastionhost-vpc.ap-northeast-2.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.ap-northeast-1.aliyuncs.com', 'endpoint' => 'bastionhost.ap-northeast-1.aliyuncs.com', 'vpc' => 'bastionhost-vpc.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => 'bastionhost-vpc.cn-qingdao.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => 'bastionhost-vpc.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.cn-hongkong.aliyuncs.com', 'endpoint' => 'bastionhost.cn-hongkong.aliyuncs.com', 'vpc' => 'bastionhost-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.ap-southeast-1.aliyuncs.com', 'endpoint' => 'bastionhost.ap-southeast-1.aliyuncs.com', 'vpc' => 'bastionhost-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.ap-southeast-2.aliyuncs.com', 'endpoint' => 'bastionhost.ap-southeast-2.aliyuncs.com', 'vpc' => 'bastionhost-vpc.ap-southeast-2.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.ap-southeast-3.aliyuncs.com', 'endpoint' => 'bastionhost.ap-southeast-3.aliyuncs.com', 'vpc' => 'bastionhost-vpc.ap-southeast-3.aliyuncs.com'],
+ ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.cn-huhehaote.aliyuncs.com', 'endpoint' => 'bastionhost.cn-huhehaote.aliyuncs.com', 'vpc' => 'bastionhost-vpc.cn-huhehaote.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.ap-southeast-5.aliyuncs.com', 'endpoint' => 'bastionhost.ap-southeast-5.aliyuncs.com', 'vpc' => 'bastionhost-vpc.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.ap-southeast-6.aliyuncs.com', 'endpoint' => 'bastionhost.ap-southeast-6.aliyuncs.com', 'vpc' => 'bastionhost-vpc.ap-southeast-6.aliyuncs.com'],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'bastionhost.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'bastionhost.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'bastionhost-vpc.cn-zhangjiakou.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'bastionhost.us-west-1.aliyuncs.com', 'endpoint' => 'bastionhost.us-west-1.aliyuncs.com', 'vpc' => 'bastionhost-vpc.us-west-1.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'bastionhost.us-east-1.aliyuncs.com', 'endpoint' => 'bastionhost.us-east-1.aliyuncs.com', 'vpc' => 'bastionhost-vpc.us-east-1.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'bastionhost.eu-central-1.aliyuncs.com', 'endpoint' => 'bastionhost.eu-central-1.aliyuncs.com', 'vpc' => 'bastionhost-vpc.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'bastionhost.eu-west-1.aliyuncs.com', 'endpoint' => 'bastionhost.eu-west-1.aliyuncs.com', 'vpc' => 'bastionhost-vpc.eu-west-1.aliyuncs.com'],
+ ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'bastionhost.ap-south-1.aliyuncs.com', 'endpoint' => 'bastionhost.ap-south-1.aliyuncs.com', 'vpc' => 'bastionhost-vpc.ap-south-1.aliyuncs.com'],
+ ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'yundun-bastionhost.aliyuncs.com', 'endpoint' => 'yundun-bastionhost.aliyuncs.com', 'vpc' => ''],
+ ],
+ 'errorCodes' => [
+ ['code' => 'AssetNotDeleted', 'message' => 'Assets under the member account are not deleted.', 'http_code' => 400, 'description' => 'Assets under the member account have not been deleted and cannot be removed.'],
+ ['code' => 'DatabaseAccountAlreadyExists', 'message' => 'The database account already exists.', 'http_code' => 400, 'description' => 'The database account already exists.'],
+ ['code' => 'DatabaseAccountNotFound', 'message' => 'The database account is not found.', 'http_code' => 404, 'description' => 'The database account is not found.'],
+ ['code' => 'DatabaseAlreadyExists', 'message' => 'The database already exists.', 'http_code' => 400, 'description' => 'The database already exists.'],
+ ['code' => 'DatabaseNotFound', 'message' => 'The database is not found.', 'http_code' => 404, 'description' => 'The database is not found.'],
+ ['code' => 'HostAccountAlreadyExists', 'message' => 'The host account already exists.', 'http_code' => 400, 'description' => 'The host account already exists.'],
+ ['code' => 'HostAccountNotFound', 'message' => 'The host account is not found.', 'http_code' => 404, 'description' => 'The host account is not found.'],
+ ['code' => 'HostAlreadyExists', 'message' => 'The host already exists.', 'http_code' => 400, 'description' => 'The host already exists.'],
+ ['code' => 'HostGroupAlreadyExists', 'message' => 'The host group already exists.', 'http_code' => 400, 'description' => 'The host group already exists.'],
+ ['code' => 'HostGroupNotFound', 'message' => 'The host group is not found.', 'http_code' => 404, 'description' => 'The host group is not found.'],
+ ['code' => 'HostNotFound', 'message' => 'The host is not found.', 'http_code' => 404, 'description' => 'The host is not found.'],
+ ['code' => 'InternalError', 'message' => 'An unknown error occurred.', 'http_code' => 500, 'description' => 'An unknown error occurred.'],
+ ['code' => 'InvalidParameter', 'message' => 'The argument is invalid.', 'http_code' => 400, 'description' => 'The argument is invalid.'],
+ ['code' => 'LicenseOutOfLimit', 'message' => 'The maximum number of hosts exceeds the license limit.', 'http_code' => 400, 'description' => 'The maximum number of hosts exceeds the license limit.'],
+ ['code' => 'MemberNotFound', 'message' => 'Member account does not exist.', 'http_code' => 400, 'description' => 'Bastion Machine found no member account'],
+ ['code' => 'NetworkDomainAlreadyExists', 'message' => 'The network domain already exists.', 'http_code' => 400, 'description' => 'The network domain already exists.'],
+ ['code' => 'NetworkDomainNotFound', 'message' => 'The network domain is not found.', 'http_code' => 404, 'description' => 'The network domain is not found.'],
+ ['code' => 'PolicyAlreadyExists', 'message' => 'The policy already exists.', 'http_code' => 400, 'description' => 'The policy already exists.'],
+ ['code' => 'PolicyNotFound', 'message' => 'The policy is not found.', 'http_code' => 404, 'description' => 'The policy is not found.'],
+ ['code' => 'RuleAlreadyExists', 'message' => 'The rule already exists.', 'http_code' => 400, 'description' => 'The rule already exists.'],
+ ['code' => 'RuleNotFound', 'message' => 'The rule is not found.', 'http_code' => 404, 'description' => 'The rule is not found.'],
+ ['code' => 'UserAlreadyExists', 'message' => 'The user already exists.', 'http_code' => 400, 'description' => 'The user already exists.'],
+ ['code' => 'UserGroupAlreadyExists', 'message' => 'The user group already exists.', 'http_code' => 400, 'description' => 'The user group already exists.'],
+ ['code' => 'UserGroupNotFound', 'message' => 'The user group is not found.', 'http_code' => 404, 'description' => 'The user group is not found.'],
+ ['code' => 'UserNotFound', 'message' => 'The user is not found.', 'http_code' => 404, 'description' => 'The user is not found.'],
+ ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConfigInstanceSecurityGroups'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostAccountsFromHostShareKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHostGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUsers'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyApprovalConfig'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveHostsFromGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostAccount'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveResourceGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'LockUsers'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostGroupAccountsFromUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateOperationTicket'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostAccountsFromUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetExportConfigJob'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostAccountsToHostShareKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationHostAccounts'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyInstanceLDAPAuthServer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostGroupAccountsToUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyPolicy'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccountsForUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRules'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateExportConfigJob'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceLDAPAuthServer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostGroupAccountsToUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabaseAccountsForUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableInstancePublicAccess'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserPublicKeys'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyUserPublicKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetNetworkDomain'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConfigInstanceWhiteList'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHostGroup'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstances'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDatabase'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUserPublicKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHostShareKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHost'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RejectApproveCommand'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabasesForUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupsForUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddUsersToGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListNetworkDomains'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyAccessTimeRangeConfig'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateRule'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyCommandConfig'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RenewAssetOperationToken'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDatabase'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupAccountNamesForUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHostShareKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUserPublicKey'],
+ ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceAttribute'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccountsForUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceAttribute'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDatabaseAccount'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccounts'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveUsersFromGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupsForUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachDatabaseAccountsFromUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddDatabasesToGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachDatabaseAccountsToUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AcceptApproveCommand'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationDatabaseAccounts'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResetHostAccountCredential'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddHostsToGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationTickets'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostAccountsToUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabaseAccountsForUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveDatabasesToNetworkDomain'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreatePolicy'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHostShareKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceLDAPAuthServer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnlockUsers'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationHosts'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDatabaseAccount'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabasesForUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceADAuthServer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceStoreInfo'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabases'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHost'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupAccountNamesForUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroups'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyInstanceADAuthServer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableRule'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDatabaseAccount'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHosts'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRule'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostAccountsFromUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHost'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDatabase'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceTwoFactor'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListApproveCommands'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostsForUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostShareKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RejectOperationTicket'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceTwoFactor'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostsActiveAddressType'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHostAccount'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicyUserScope'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkDomain'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AcceptOperationTicket'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagKeys'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveDatabasesFromGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartInstance'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicyAssetScope'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostAccountsToUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveHostsToNetworkDomain'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableInstancePublicAccess'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateNetworkDomain'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeletePolicy'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabaseAccounts'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccountsForHostShareKey'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDatabaseAccount'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHostGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyAssetScope'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPolicies'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostsForUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostShareKeys'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachDatabaseAccountsToUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateAssetOperationToken'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationDatabases'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRegions'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyProtocolConfig'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyIPAclConfig'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHostAccount'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostGroupAccountsFromUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyNetworkDomain'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachDatabaseAccountsFromUser'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHost'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceADAuthServer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetRule'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyRule'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDatabase'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableRule'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostsPort'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserGroups'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyUserScope'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUserGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicy'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHostAccount'],
+ ],
+ ],
+ 'ram' => [
+ 'productCode' => 'Bastionhost',
+ 'productName' => 'Bastionhost',
+ 'ramCodes' => ['yundun-bastionhost'],
+ 'ramLevel' => 'OPERATION',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'ListOperationDatabaseAccounts',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListOperationDatabaseAccounts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'ResetHostAccountCredential',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ResetHostAccountCredential',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'RenewAssetOperationToken',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RenewAssetOperationToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
+ [
+ 'apiName' => 'SetPolicyUserScope',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyUserScope',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeletePolicy',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeletePolicy',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteUserGroup',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyUser',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyRule',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListImportableKMSSecretsForHost',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListImportableKMSSecretsForHost',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyNetworkDomain',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyNetworkDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateHost',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateHost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AcceptOperationTicket',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AcceptOperationTicket',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyInstanceLDAPAuthServer',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyInstanceLDAPAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListRules',
+ 'description' => '',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '245216',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListRules',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
+ [
+ 'apiName' => 'ListHostsForUser',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostsForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'GetInstanceADAuthServer',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetInstanceADAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'Max' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '102400',
- ],
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '5EAB922E-F476-5DFA-9290-313C608E724B',
- ],
- 'Usage' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1024',
- ],
- ],
+ [
+ 'apiName' => 'DetachHostGroupAccountsFromUserGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DetachHostGroupAccountsFromUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
+ [
+ 'apiName' => 'GetUserGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ],
+ [
+ 'apiName' => 'ListDatabases',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabases',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ [
+ 'apiName' => 'DeleteDatabase',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteDatabase',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Max\\": 102400,\\n \\"RequestId\\": \\"5EAB922E-F476-5DFA-9290-313C608E724B\\",\\n \\"Usage\\": 1024\\n}","type":"json"}]',
- 'title' => 'GetInstanceStoreInfo',
- ],
- 'CreateExportConfigJob' => [
- 'summary' => 'Creates a configuration backup export task. You can run only one configuration backup export task on a bastion host at a time.',
- 'methods' => [
- 'post',
- 'get',
+ [
+ 'apiName' => 'AddHostsToGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AddHostsToGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'UnlockUsers',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:UnlockUsers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'TagResources',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:TagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
- 'operationType' => 'write',
- 'systemTags' => [
+ [
+ 'apiName' => 'ListOperationHostAccounts',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListOperationHostAccounts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListInstanceRdMembers',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListInstanceRdMembers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ConfigInstanceWhiteList',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ConfigInstanceWhiteList',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetPolicyProtocolConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyProtocolConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'VerifyInstanceLDAPAuthServer',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:VerifyInstanceLDAPAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyUserPublicKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyUserPublicKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteHostGroup',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteHostGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetAutoOpsTask',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetAutoOpsTask',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'EnableRule',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:EnableRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ConfigInstanceSecurityGroups',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ConfigInstanceSecurityGroups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyInstanceTwoFactor',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyInstanceTwoFactor',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHosts',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHosts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DisableInstancePublicAccess',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DisableInstancePublicAccess',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AddUsersToGroup',
+ 'description' => '',
'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '245225',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AddUsersToGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
+ [
+ 'apiName' => 'ListTagResources',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListTagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'ModifyUserGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'JobId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE',
- ],
- ],
+ [
+ 'apiName' => 'AttachHostGroupAccountsToUserGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AttachHostGroupAccountsToUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
+ [
+ 'apiName' => 'AttachHostAccountsToUser',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AttachHostAccountsToUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ],
+ [
+ 'apiName' => 'DetachDatabaseAccountsFromUserGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DetachDatabaseAccountsFromUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ [
+ 'apiName' => 'GetDatabaseAccount',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetDatabaseAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JobId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
- 'title' => 'CreateExportConfigJob',
- ],
- 'GetExportConfigJob' => [
- 'summary' => 'null',
- 'methods' => [
- 'post',
- 'get',
+ [
+ 'apiName' => 'DeleteUser',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'DetachHostAccountsFromUser',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DetachHostAccountsFromUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'ListNetworkDomains',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListNetworkDomains',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'read',
- 'systemTags' => [
+ [
+ 'apiName' => 'GetNetworkDomain',
+ 'description' => '',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '245226',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostJYERXM',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetNetworkDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
+ [
+ 'apiName' => 'GetPolicyAssetScope',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetPolicyAssetScope',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'UntagResources',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:UntagResources',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'JobId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '2',
+ ],
+ [
+ 'apiName' => 'GetHostAccount',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetHostAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'DownloadUrl' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'https://bastionhost-cn-hangzhou-164***.oss-cn-hangzhou.aliyuncs.com/bastionhost-cn-2******',
- ],
- 'JobId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '2',
- ],
- 'Message' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'message',
- ],
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '98DBE5C2-7D7A-5393-9E5A-71074336D33B',
- ],
- 'Status' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'Success',
- ],
- 'ExpireTime' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1679393152',
- ],
- ],
+ [
+ 'apiName' => 'ListDatabaseAccountsForUser',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabaseAccountsForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
+ [
+ 'apiName' => 'ModifyPolicy',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyPolicy',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ],
+ [
+ 'apiName' => 'ModifyInstanceADAuthServer',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyInstanceADAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ [
+ 'apiName' => 'RemoveUsersFromGroup',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RemoveUsersFromGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DownloadUrl\\": \\"https://bastionhost-cn-hangzhou-164***.oss-cn-hangzhou.aliyuncs.com/bastionhost-cn-2******\\",\\n \\"JobId\\": \\"2\\",\\n \\"Message\\": \\"message\\",\\n \\"RequestId\\": \\"98DBE5C2-7D7A-5393-9E5A-71074336D33B\\",\\n \\"Status\\": \\"Success\\",\\n \\"ExpireTime\\": 1679393152\\n}","type":"json"}]',
- 'title' => 'GetExportConfigJob',
- ],
- 'VerifyInstanceLDAPAuthServer' => [
- 'summary' => '验证实例LDAP服务配置。',
- 'methods' => [
- 'post',
- 'get',
+ [
+ 'apiName' => 'ModifyHostsActiveAddressType',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostsActiveAddressType',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'RemoveDatabasesFromGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RemoveDatabasesFromGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'ModifyHostsPort',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostsPort',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'StartInstance',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:StartInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DetachHostAccountsFromUserGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DetachHostAccountsFromUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AddDatabasesToGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AddDatabasesToGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeInstances',
+ 'description' => '',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DescribeInstanceBastionhost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'bastionhost-cn-st220aw****',
+ [
+ 'apiName' => 'ModifyHostGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'DeleteHostShareKey',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'Server',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '192.168.XX.XX',
+ ],
+ [
+ 'apiName' => 'GetInstanceLDAPAuthServer',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetInstanceLDAPAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'StandbyServer',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.XX.XX',
+ ],
+ [
+ 'apiName' => 'RemoveHostsFromGroup',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RemoveHostsFromGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'Port',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => '389',
+ ],
+ [
+ 'apiName' => 'SetPolicyApprovalConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyApprovalConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'IsSSL',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'true',
+ ],
+ [
+ 'apiName' => 'AddInstanceRdMember',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AddInstanceRdMember',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'BaseDN',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'dc=test,dc=com',
+ ],
+ [
+ 'apiName' => 'GetInstanceStoreInfo',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetInstanceStoreInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Account',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn=Manager,dc=test,dc=com',
+ ],
+ [
+ 'apiName' => 'MoveHostsToNetworkDomain',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:MoveHostsToNetworkDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Password',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '******',
+ ],
+ [
+ 'apiName' => 'CreateDatabase',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateDatabase',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Filter',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '(objectClass=top)',
+ ],
+ [
+ 'apiName' => 'CreateDatabaseAccount',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateDatabaseAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'headers' => [],
- 'schema' => [
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'C9E97677-BD74-584B-AFCE-948C2A70BB83',
- ],
- ],
+ [
+ 'apiName' => 'ModifyDatabaseAccount',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyDatabaseAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
+ [
+ 'apiName' => 'ListApproveCommands',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListApproveCommands',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ],
+ [
+ 'apiName' => 'CreateHostShareKey',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C9E97677-BD74-584B-AFCE-948C2A70BB83\\"\\n}","errorExample":""},{"type":"xml","example":"<VerifyInstanceLDAPAuthServerResponse>\\n <RequestId>C9E97677-BD74-584B-AFCE-948C2A70BB83</RequestId>\\n</VerifyInstanceLDAPAuthServerResponse>","errorExample":""}]',
- ],
- 'VerifyInstanceADAuthServer' => [
- 'summary' => '验证实例AD服务配置。',
- 'methods' => [
- 'get',
- 'post',
+ [
+ 'apiName' => 'CreateHostGroup',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateHostGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'DeleteHostAccount',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteHostAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DetachDatabaseAccountsFromUser',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DetachDatabaseAccountsFromUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'EnableInstancePublicAccess',
+ 'description' => '',
'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREbastionhostOF2U94',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:EnableInstancePublicAccess',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => 'bastionhost-cn-st220aw****',
- 'required' => true,
- 'type' => 'string',
+ [
+ 'apiName' => 'ListUserGroups',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListUserGroups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => 'cn-hangzhou',
- 'required' => false,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'ListDatabaseAccounts',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabaseAccounts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Server',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => '192.168.XX.XX',
- 'required' => true,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'RejectApproveCommand',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RejectApproveCommand',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'StandbyServer',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => '192.168.XX.XX',
- 'required' => false,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'LockUsers',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:LockUsers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'Port',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => '389',
- 'required' => true,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'GetUser',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'IsSSL',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => 'true',
- 'required' => true,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'SetPolicyAssetScope',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyAssetScope',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'BaseDN',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => 'dc=test,dc=com',
- 'required' => true,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'ListHostGroupAccountNamesForUserGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostGroupAccountNamesForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'Domain',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => 'domain',
- 'required' => true,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'AttachDatabaseAccountsToUserGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AttachDatabaseAccountsToUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Account',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => 'cn=Manager,dc=test,dc=com',
- 'required' => true,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'GetHostShareKey',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
- [
- 'name' => 'Password',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => '******',
- 'required' => true,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'CreateNetworkDomain',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateNetworkDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'Filter',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'example' => '(objectClass=top)',
- 'required' => false,
- 'type' => 'string',
+ ],
+ [
+ 'apiName' => 'ListHostGroupsForUserGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostGroupsForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'headers' => [],
- 'schema' => [
- 'description' => 'Schema of Response',
- 'properties' => [
- 'RequestId' => [
- 'description' => '',
- 'example' => '8F1085E3-F048-5F34-B650-F145216E4AA5',
- 'title' => 'Id of the request',
- 'type' => 'string',
- ],
- ],
- 'title' => 'Schema of Response',
- 'type' => 'object',
+ [
+ 'apiName' => 'GetRule',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'InvalidParameter',
- 'errorMessage' => 'The argument is invalid.',
+ [
+ 'apiName' => 'ListPolicies',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListPolicies',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'An unknown error occurred.',
+ ],
+ [
+ 'apiName' => 'CreateUser',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetPolicyCommandConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyCommandConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyHostAccount',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetPolicyUserScope',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetPolicyUserScope',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostGroupsForUser',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostGroupsForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateUserGroup',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListDatabaseAccountsForUserGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabaseAccountsForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetPolicy',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetPolicy',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyHostShareKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RemoveInstanceRdMember',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RemoveInstanceRdMember',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostGroups',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostGroups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetPolicyAccessTimeRangeConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyAccessTimeRangeConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListOperationHosts',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListOperationHosts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateHostAccount',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateHostAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostAccountsForUser',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostAccountsForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetInstanceTwoFactor',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetInstanceTwoFactor',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListTodoOpsTaskApprovals',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListTodoOpsTaskApprovals',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostGroupAccountNamesForUser',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostGroupAccountNamesForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AttachHostAccountsToUserGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AttachHostAccountsToUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RejectOperationTaskApproval',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RejectOperationTaskApproval',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreatePolicy',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreatePolicy',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DisableRule',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DisableRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateRule',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'VerifyInstanceADAuthServer',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:VerifyInstanceADAuthServer',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetHostGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetHostGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListDatabasesForUserGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabasesForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RejectOperationTicket',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:RejectOperationTicket',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyInstanceAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyInstanceAttribute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateOperationTicket',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateOperationTicket',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GenerateAssetOperationToken',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GenerateAssetOperationToken',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AttachHostAccountsToHostShareKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AttachHostAccountsToHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteHost',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteHost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetDatabase',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetDatabase',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostShareKeys',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostShareKeys',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DetachHostAccountsFromHostShareKey',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DetachHostAccountsFromHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ImportKMSSecretsForHost',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ImportKMSSecretsForHost',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AttachHostGroupAccountsToUser',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AttachHostGroupAccountsToUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListOperationDatabases',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListOperationDatabases',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'MoveResourceGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:MoveResourceGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostAccountsForUserGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostAccountsForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostAccountsForHostShareKey',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostAccountsForHostShareKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateExportConfigJob',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateExportConfigJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateUserPublicKey',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:CreateUserPublicKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetHost',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetHost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyHost',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyHost',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetPolicyIPAclConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:SetPolicyIPAclConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteRule',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AttachDatabaseAccountsToUser',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AttachDatabaseAccountsToUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListDatabasesForUser',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListDatabasesForUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListUserPublicKeys',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListUserPublicKeys',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyDatabase',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ModifyDatabase',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListOperationTickets',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListOperationTickets',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteNetworkDomain',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteNetworkDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListUsers',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListUsers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AcceptApproveCommand',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:AcceptApproveCommand',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeInstanceAttribute',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DescribeInstanceAttribute',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DetachHostGroupAccountsFromUser',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DetachHostGroupAccountsFromUser',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostsForUserGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostsForUserGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListTagKeys',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListTagKeys',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListHostAccounts',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:ListHostAccounts',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteUserPublicKey',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteUserPublicKey',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'MoveDatabasesToNetworkDomain',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:MoveDatabasesToNetworkDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetExportConfigJob',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:GetExportConfigJob',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteDatabaseAccount',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'yundun-bastionhost:DeleteDatabaseAccount',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8F1085E3-F048-5F34-B650-F145216E4AA5\\"\\n}","errorExample":""},{"type":"xml","example":"<VerifyInstanceADAuthServerResponse>\\n <RequestId>8F1085E3-F048-5F34-B650-F145216E4AA5</RequestId>\\n</VerifyInstanceADAuthServerResponse>","errorExample":""}]',
- ],
- ],
- 'endpoints' => [
- [
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'bastionhost.cn-zhangjiakou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhengzhou-jva',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'bastionhost.cn-huhehaote.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-heyuan',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'bastionhost.cn-hongkong.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'bastionhost.ap-northeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-2',
- 'endpoint' => 'bastionhost.ap-northeast-2.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'bastionhost.ap-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-2',
- 'endpoint' => 'bastionhost.ap-southeast-2.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'bastionhost.ap-southeast-3.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'bastionhost.ap-southeast-5.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'bastionhost.ap-southeast-6.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'bastionhost.us-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'bastionhost.us-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'bastionhost.eu-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'bastionhost.eu-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-south-1',
- 'endpoint' => 'bastionhost.ap-south-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-east-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing-finance-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
],
- [
- 'regionId' => 'cn-north-2-gov-1',
- 'endpoint' => 'yundun-bastionhost.aliyuncs.com',
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:Instance/InstanceId'],
],
],
];