'1.0',
'info' => ['style' => 'RPC', 'product' => 'Yundun-bastionhost', 'version' => '2019-12-09'],
'directories' => [
[
'children' => ['DescribeInstanceAttribute', 'DescribeInstances', 'ConfigInstanceSecurityGroups', 'ConfigInstanceWhiteList', 'StartInstance', 'EnableInstancePublicAccess', 'DisableInstancePublicAccess', 'ModifyInstanceAttribute', 'MoveResourceGroup', 'AddInstanceRdMember', 'ListInstanceRdMembers', 'RemoveInstanceRdMember'],
'type' => 'directory',
'title' => 'Bastionhost instances (supported only in V3.2.X)',
],
[
'children' => ['ListTagKeys', 'ListTagResources', 'UntagResources', 'TagResources'],
'type' => 'directory',
'title' => 'Tags (supported only in V3.2.X)',
],
[
'children' => ['DescribeRegions'],
'type' => 'directory',
'title' => 'Regions (supported only in V3.2.X)',
],
[
'children' => ['CreateHost', 'GetHost', 'ListHosts', 'DeleteHost', 'ModifyHostsPort', 'ModifyHostsActiveAddressType', 'ModifyHost'],
'type' => 'directory',
'title' => 'Hosts (supported only in V3.2.17 and later)',
],
[
'children' => ['CreateDatabase', 'ModifyDatabase', 'GetDatabase', 'ListDatabases', 'DeleteDatabase'],
'type' => 'directory',
'title' => 'Databases (supported only in V3.2.40 and later)',
],
[
'children' => ['CreateNetworkDomain', 'GetNetworkDomain', 'ListNetworkDomains', 'DeleteNetworkDomain', 'ModifyNetworkDomain', 'MoveHostsToNetworkDomain', 'MoveDatabasesToNetworkDomain'],
'type' => 'directory',
'title' => 'Network domains (supported only in V3.2.40 and later)',
],
[
'children' => ['CreateHostAccount', 'GetHostAccount', 'ListHostAccounts', 'ModifyHostAccount', 'DeleteHostAccount', 'ResetHostAccountCredential', 'ListImportableKMSSecretsForHost', 'ImportKMSSecretsForHost'],
'type' => 'directory',
'title' => 'Host accounts (supported only in V3.2.17 and later)',
],
[
'children' => ['CreateDatabaseAccount', 'ModifyDatabaseAccount', 'GetDatabaseAccount', 'ListDatabaseAccounts', 'ListDatabaseAccountsForUserGroup', 'DeleteDatabaseAccount'],
'type' => 'directory',
'title' => 'Database accounts (supported only in V3.2.40 and later)',
],
[
'children' => ['CreateUser', 'GetUser', 'ListUsers', 'ModifyUser', 'DeleteUser', 'CreateUserPublicKey', 'ListUserPublicKeys', 'ModifyUserPublicKey', 'DeleteUserPublicKey', 'LockUsers', 'UnlockUsers'],
'type' => 'directory',
'title' => 'Users (supported only in V3.2.17 and later)',
],
[
'children' => ['CreateUserGroup', 'GetUserGroup', 'ListUserGroups', 'ModifyUserGroup', 'DeleteUserGroup', 'AddUsersToGroup', 'RemoveUsersFromGroup'],
'type' => 'directory',
'title' => 'User groups (supported only in V3.2.17 and later)',
],
[
'children' => ['CreateHostGroup', 'AddDatabasesToGroup', 'AddHostsToGroup', 'RemoveDatabasesFromGroup', 'DeleteHostGroup', 'RemoveHostsFromGroup', 'ModifyHostGroup', 'GetHostGroup', 'ListHostGroups'],
'type' => 'directory',
'title' => 'Asset groups (supported only in V3.2.17 and later)',
],
[
'children' => ['AttachHostAccountsToUser', 'ListHostsForUser', 'ListHostAccountsForUser', 'DetachHostAccountsFromUser', 'DetachHostAccountsFromUserGroup', 'DetachHostGroupAccountsFromUser', 'AttachHostAccountsToUserGroup', 'DetachHostGroupAccountsFromUserGroup', 'AttachHostGroupAccountsToUser', 'AttachHostGroupAccountsToUserGroup', 'ListHostAccountsForUserGroup', 'ListHostGroupAccountNamesForUser', 'ListHostGroupAccountNamesForUserGroup', 'ListHostGroupsForUser', 'ListHostGroupsForUserGroup', 'ListHostsForUserGroup'],
'type' => 'directory',
'title' => 'Host authorization (supported only in V3.2.17 and later)',
],
[
'children' => ['AttachDatabaseAccountsToUser', 'ListDatabasesForUser', 'DetachDatabaseAccountsFromUserGroup', 'ListDatabaseAccountsForUser', 'DetachDatabaseAccountsFromUser', 'AttachDatabaseAccountsToUserGroup', 'ListDatabasesForUserGroup'],
'type' => 'directory',
'title' => 'Database authorization (supported only in V3.2.40 and later)',
],
[
'children' => ['ListOperationDatabases', 'ListOperationHosts', 'ListOperationHostAccounts', 'ListOperationDatabaseAccounts', 'GenerateAssetOperationToken', 'RenewAssetOperationToken', 'CreateOperationTicket'],
'type' => 'directory',
'title' => 'O&M tokens (supported only in V3.2.40 and later)',
],
[
'children' => ['CreateRule', 'ModifyRule', 'GetRule', 'ListRules', 'EnableRule', 'DisableRule', 'DeleteRule'],
'type' => 'directory',
'title' => 'Authorization rules (supported only in V3.2.40 and later)',
],
[
'children' => ['CreatePolicy', 'ModifyPolicy', 'GetPolicy', 'ListPolicies', 'GetPolicyAssetScope', 'SetPolicyProtocolConfig', 'SetPolicyCommandConfig', 'SetPolicyIPAclConfig', 'GetPolicyUserScope', 'SetPolicyAccessTimeRangeConfig', 'SetPolicyAssetScope', 'SetPolicyUserScope', 'SetPolicyApprovalConfig', 'DeletePolicy'],
'type' => 'directory',
'title' => 'Control policies (supported only in V3.2.40 and later)',
],
[
'children' => ['ListApproveCommands', 'AcceptApproveCommand', 'RejectApproveCommand', 'ListOperationTickets', 'AcceptOperationTicket', 'RejectOperationTicket'],
'type' => 'directory',
'title' => 'Approvals (supported only in V3.2.37 and later)',
],
[
'children' => ['CreateHostShareKey', 'GetHostShareKey', 'ListHostShareKeys', 'ListHostAccountsForHostShareKey', 'ModifyHostShareKey', 'AttachHostAccountsToHostShareKey', 'DetachHostAccountsFromHostShareKey', 'DeleteHostShareKey'],
'type' => 'directory',
'title' => 'Shared keys (supported only in V3.2.X)',
],
[
'children' => ['GetInstanceADAuthServer', 'ModifyInstanceADAuthServer', 'GetInstanceTwoFactor', 'ModifyInstanceTwoFactor', 'ModifyInstanceLDAPAuthServer', 'GetInstanceLDAPAuthServer', 'GetInstanceStoreInfo', 'CreateExportConfigJob', 'GetExportConfigJob'],
'type' => 'directory',
'title' => 'System settings (supported only in V3.2.X)',
],
[
'children' => ['VerifyInstanceLDAPAuthServer', 'VerifyInstanceADAuthServer', 'AllowOperationTaskApproval', 'GetAutoOpsTask', 'ListTodoOpsTaskApprovals', 'RejectOperationTaskApproval'],
'type' => 'directory',
'title' => 'Others',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
'AcceptApproveCommand' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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 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 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' => [
'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' => '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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '188193',
'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****', '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' => '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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'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"
."\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,
'enum' => ['1', '0'],
'example' => '1',
'title' => '',
],
],
[
'name' => 'EffectStartTime',
'in' => 'query',
'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' => 'EffectEndTime',
'in' => 'query',
'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' => 'Comment',
'in' => 'query',
'schema' => ['description' => 'The review description.', 'type' => 'string', 'required' => false, 'example' => 'Comment', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'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.'],
],
],
'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',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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' => 'HostGroupId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'DatabaseIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'An array that consists of the database IDs.',
'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.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
'required' => true,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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 \\"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',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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****', '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', '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', 'title' => ''],
],
[
'name' => 'HostIds',
'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"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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"
.'# 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.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'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' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'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-7mz2ve7h00a', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'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' => 'MemberId',
'in' => 'query',
'schema' => ['description' => 'The UID of the RD member account to add.', 'type' => 'string', 'required' => true, 'example' => '1857311509574932', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '4F6C075F-FC86-476E-943B-097BD4E12948'],
],
'title' => '',
'description' => 'The response parameters.',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'AddInstanceRdMember',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'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',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'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.', '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~~).', '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' => [
'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' => [
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' => ' ',
'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' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '203614',
'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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"
.'> 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 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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.'],
],
],
'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',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-wwo36qbv601', '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' => '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' => '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.',
'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,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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\\": \\"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',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'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-zvp282aly06', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'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 to which to grant the permissions.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
'name' => 'Databases',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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' => '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' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostShareKeyId',
'in' => 'query',
'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' => '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.', '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' => '',
],
],
],
'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' => 'AttachHostAccountsToHostShareKey',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostAccountsToHostShareKey'],
],
],
'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',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'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.', '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 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' => 'UserId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'Hosts',
'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.', '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' => [
'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"
.'> 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' => '',
],
'title' => '',
'example' => '',
],
],
'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.'],
],
],
'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',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'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.', '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 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' => '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.', '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' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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 \\"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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserId',
'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.', '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 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' => [
200 => [
'schema' => [
'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' => ''],
'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' => '',
],
],
],
'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 \\"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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', '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 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' => 'HostGroups',
'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.', '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' => [
'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' => ''],
'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' => '',
],
],
],
'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' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachHostGroupAccountsToUserGroup'],
],
],
'ramActions' => [],
],
'ConfigInstanceSecurityGroups' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'Lang',
'in' => 'query',
'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' => 'InstanceId',
'in' => 'query',
'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' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'AuthorizedSecurityGroups',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of authorized security group IDs.',
'type' => 'array',
'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,
'example' => 'sg-bp14u00sh39jvw5****',
'maxItems' => 100,
'title' => '',
],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '91477',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'WhiteList',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of IP addresses to add to the whitelist.',
'type' => 'array',
'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' => 'WhiteListPolicies',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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' => 50,
'description' => 'The policies for the public IP address whitelist.',
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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' => ' ',
'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' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-5yd34ol020a', 'title' => ''],
],
[
'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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => 'root', 'title' => ''],
],
[
'name' => 'Password',
'in' => 'query',
'schema' => ['description' => 'The password of the database account to be created.', 'type' => 'string', 'required' => false, 'example' => 'MCQ******', 'title' => ''],
],
[
'name' => 'DatabaseSchema',
'in' => 'query',
'schema' => ['description' => 'The name of the database. This parameter is required for PostgreSQL and Oracle databases.', 'type' => 'string', 'required' => false, 'example' => 'orcl', 'title' => ''],
],
[
'name' => 'LoginAttribute',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'CreateDatabaseAccount',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDatabaseAccount'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '245225',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'HostPrivateAddress',
'in' => 'query',
'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' => 'HostPublicAddress',
'in' => 'query',
'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' => 'ActiveAddressType',
'in' => 'query',
'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. The name can be up to 128 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'host01', 'title' => ''],
],
[
'name' => 'Source',
'in' => 'query',
'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' => 'OSType',
'in' => 'query',
'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 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' => 'InstanceRegionId',
'in' => 'query',
'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' => 'NetworkDomainId',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
['errorCode' => 'LicenseOutOfLimit', 'errorMessage' => 'The host count is out of limit.', 'description' => ''],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HostId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
'title' => 'CreateHost',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHost'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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 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.
Valid values:
'."\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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'CreateHostAccount',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHostAccount'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostGroupName',
'in' => 'query',
'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' => 'Comment',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'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' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHostGroup'],
],
],
'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' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'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-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' => '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.', 'type' => 'string', 'required' => true, 'example' => 'name', 'title' => ''],
],
[
'name' => 'PrivateKey',
'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.', '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' => ['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' => '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.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'parameters' => [
[
'name' => 'InstanceId',
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-lbj3bw4ma02', 'title' => ''],
],
[
'name' => 'RegionId',
'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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'NetworkDomainName',
'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.', 'type' => 'string', 'required' => true, 'example' => 'SSH Proxy', 'title' => ''],
],
[
'name' => 'NetworkDomainType',
'in' => 'query',
'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 remarks of the network domain. The remarks can be up to 500 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'comment', 'title' => ''],
],
[
'name' => 'Proxies',
'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', '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,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '245215',
'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'AssetId',
'in' => 'query',
'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' => 'ProtocolName',
'in' => 'query',
'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' => 'AssetAccountName',
'in' => 'query',
'schema' => ['description' => 'The logon name of the asset account for the O\\&M request.', 'type' => 'string', 'required' => true, 'example' => 'root', 'title' => ''],
],
[
'name' => 'IsOneTimeEffect',
'in' => 'query',
'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' => 'EffectStartTime',
'in' => 'query',
'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' => 'EffectEndTime',
'in' => 'query',
'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' => 'ApproveComment',
'in' => 'query',
'schema' => ['description' => 'The comments on the ticket.', 'type' => 'string', 'required' => true, 'example' => 'Comment', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'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' => [
[
'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' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'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', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
'name' => 'PolicyName',
'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', 'title' => ''],
],
[
'name' => 'Comment',
'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', 'title' => ''],
],
[
'name' => 'Priority',
'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"
."\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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', '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 \\"PolicyId\\": \\"1\\",\\n \\"RequestId\\": \\"7E68165E-1191-5CC2-B54B-5EF7390A5400\\"\\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'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'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-5yd2ymfsa0e', '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' => 'RuleName',
'in' => 'query',
'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' => 'Comment',
'in' => 'query',
'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' => 'EffectiveStartTime',
'in' => 'query',
'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' => '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.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1672502400', 'title' => ''],
],
[
'name' => 'UserIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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,
'title' => '',
'example' => '',
],
],
[
'name' => 'UserGroupIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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,
'title' => '',
'example' => '',
],
],
[
'name' => 'Hosts',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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,
'title' => '',
'example' => '',
],
],
[
'name' => 'Databases',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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,
'title' => '',
'example' => '',
],
],
[
'name' => 'HostGroups',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', '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\\": \\"BFA818E3-0A53-51F4-8DB5-AF2A62A6D042\\",\\n \\"RuleId\\": \\"1\\"\\n}","type":"json"}]',
],
'CreateUser' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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"
."\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' => ''],
],
[
'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' => ''],
],
[
'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' => ''],
],
[
'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' => ''],
],
[
'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' => ''],
],
[
'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' => ''],
],
[
'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' => ''],
],
[
'name' => 'SourceUserId',
'in' => 'query',
'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' => '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"
."\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' => 'EffectiveStartTime',
'in' => 'query',
'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' => 'EffectiveEndTime',
'in' => 'query',
'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' => '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"
.'> If you leave this parameter empty, the default value false is used.', '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"
.'> If you leave this parameter empty, the default value Global is used.', '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 select one of the preceding values for TwoFactorMethods.', 'type' => 'string', 'required' => false, 'example' => '["sms"]', '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"
.'> 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' => [
'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' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.', '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 \\"UserId\\": \\"1\\",\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
],
'CreateUserGroup' => [
'summary' => 'Creates a user group for a bastion host.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserGroupName',
'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.', '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' => [
'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' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.', 'description' => 'An unknown error occurred.'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'RegionId',
'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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'InstanceId',
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-st220aw****', 'title' => ''],
],
[
'name' => 'UserId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'PublicKeyName',
'in' => 'query',
'schema' => ['description' => 'The name of the public key.', 'type' => 'string', 'required' => true, 'example' => 'KeyName', 'title' => ''],
],
[
'name' => 'PublicKey',
'in' => 'query',
'schema' => ['description' => 'The public key. Encode the value by using the Base64 algorithm.', 'type' => 'string', 'required' => true, 'example' => 'c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUxGQnQxUUpyT3IxK2hTTGRkbERMZUx4WGRIZ3hBalBxWHJIbWNFNWxqSk8gbm93Y29kZXJAbm93Y29kZXJkZU1hY0Jvb2stUHJvLmxvY2Fs', 'title' => ''],
],
[
'name' => 'Comment',
'in' => 'query',
'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' => [
'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' => ''],
],
'title' => '',
'example' => '',
],
],
],
'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 \\"PublicKeyId\\": \\"1\\",\\n \\"RequestId\\": \\"5EAB922E-F476-5DFA-9290-313C608E724B\\"\\n}","type":"json"}]',
],
'DeleteDatabase' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'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.', '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', 'title' => ''],
],
[
'name' => 'DatabaseId',
'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.', 'type' => 'string', 'required' => true, 'example' => '11', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'DeleteDatabase',
'summary' => 'Deletes a database.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDatabase'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'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****', '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', 'title' => ''],
],
[
'name' => 'DatabaseAccountId',
'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.', 'type' => 'string', 'required' => true, 'example' => '9', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'DeleteDatabaseAccount',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDatabaseAccount'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', '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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
['errorCode' => 'HostNotFound', 'errorMessage' => 'The host is not found.', 'description' => ''],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'DeleteHost',
'summary' => 'Deletes a host.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHost'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostAccountId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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****', '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', 'title' => ''],
],
[
'name' => 'HostGroupId',
'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' => '2', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'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' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'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-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' => 'HostShareKeyId',
'in' => 'query',
'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' => ['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'],
],
'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' => 'DeleteHostShareKey',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHostShareKey'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost_std_intl-sg-uq833e2dz02', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'NetworkDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network domain to be deleted.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'DeleteNetworkDomain',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteNetworkDomain'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'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.', '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 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' => [
'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' => 'DeletePolicy',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeletePolicy'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'RuleId',
'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.', 'type' => 'string', 'required' => true, 'example' => '5', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'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' => 'RuleNotFound', 'errorMessage' => 'The rule is not found.', 'description' => 'The rule is not found.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'DeleteRule',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRule'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'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.', '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 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' => 'UserId',
'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.', '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.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
['errorCode' => 'UserNotFound', 'errorMessage' => 'The user is not found.', 'description' => 'The user is not found.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'DeleteUser',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUser'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The data returned.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
['errorCode' => 'UserGroupNotFound', 'errorMessage' => 'The user group is not found.', 'description' => 'The user group is not found.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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' => ' ',
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'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****', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PublicKeyId',
'in' => 'query',
'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 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.', 'description' => 'The argument is invalid.'],
],
500 => [
['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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
],
'DescribeInstanceAttribute' => [
'summary' => 'Returns all instance attributes, such as its instance ID and description.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '91488',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region in which the Bastionhost instance resides.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
'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' => [
'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' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'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'],
],
],
'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}'],
],
],
],
],
'extraInfo' => ' ',
'translator' => 'machine',
],
'DescribeInstances' => [
'summary' => 'Retrieves a list of Bastionhost instances.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'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' => '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 ID of the region in which the bastion host instances reside.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'InstanceStatus',
'in' => 'query',
'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' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group to which the bastion host instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm26ougi****', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'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' => 'bastionhost-cn-78v1ghxxxxx',
'maxItems' => 10,
'title' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'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,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'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'],
],
],
'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}'],
],
],
],
],
'translator' => 'machine',
],
'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' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '91490',
'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AcceptLanguage',
'in' => 'query',
'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 ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'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'],
],
],
'ramActions' => [],
],
'DetachDatabaseAccountsFromUser' => [
'summary' => 'Revokes permissions on databases and database accounts from a user.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
'name' => 'UserId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'Databases',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'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.'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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-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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'UserGroupId',
'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', 'title' => ''],
],
[
'name' => 'Databases',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'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.'],
],
],
'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' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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-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' => 'HostShareKeyId',
'in' => 'query',
'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' => ['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' => '',
],
],
'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' => 'DetachHostAccountsFromHostShareKey',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachHostAccountsFromHostShareKey'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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 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' => 'UserId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'Hosts',
'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.', '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' => [
'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' => '',
],
],
],
'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 \\"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' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'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.', '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 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' => 'UserGroupId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'Hosts',
'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.', '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' => [
'type' => 'object',
'properties' => [
'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.', '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 \\"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"
.'| 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"
."\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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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.', '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.'."\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.', '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' => [
'type' => 'object',
'properties' => [
'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' => ''],
'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.', '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 \\"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' => ' ',
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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 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 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' => 'UserGroupId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'HostGroups',
'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.', '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' => [
'type' => 'object',
'properties' => [
'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' => ''],
'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' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'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.'],
],
],
'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' => ' ',
'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' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'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' => '',
],
],
],
'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' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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-78v1gh****', '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' => 'RuleId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '98DBE5C2-7D7A-5393-9E5A-71074336D33B', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'DisableRule',
'summary' => 'Disables an authorization rule.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableRule'],
],
],
'ramActions' => [
[
'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' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [],
'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'],
],
],
'ramActions' => [],
],
'EnableRule' => [
'summary' => 'Enables an authorization rule.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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-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', 'title' => ''],
],
[
'name' => 'RuleId',
'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.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'EnableRule',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableRule'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '204184',
'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => 'RegionId',
'in' => 'query',
'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' => 'AssetType',
'in' => 'query',
'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' => 'AssetId',
'in' => 'query',
'schema' => ['description' => 'The ID of the asset.', 'type' => 'string', 'required' => true, 'example' => '11', 'title' => ''],
],
[
'name' => 'AssetAccountId',
'in' => 'query',
'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' => 'AssetAccountName',
'in' => 'query',
'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' => ''],
],
[
'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' => ''],
],
[
'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' => ''],
],
[
'name' => 'OperationMode',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The O\\&M mode. Valid values:'."\n"
."\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',
'default' => 'WebToken',
'enum' => ['Sso', 'WebToken', 'WebTerminal'],
'required' => false,
'example' => 'Sso',
'title' => '',
],
],
[
'name' => 'LoginAttribute',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'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"
.'> This parameter is supported only by bastion hosts of V3.2.44 or later.',
'type' => 'string',
'enum' => ['SID', 'SERVICENAME'],
'required' => false,
'example' => 'SID',
'title' => '',
],
],
[
'name' => 'DatabaseSchema',
'in' => 'query',
'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' => 'SsoClient',
'in' => 'query',
'schema' => [
'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"
.'- **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' => 'ssh',
'title' => '',
],
],
[
'name' => 'OperationNote',
'in' => 'query',
'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 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.'],
],
],
'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'],
],
],
'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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostH08E1Y'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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.'."\n"
.'> For the mapping between region IDs and region names, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'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' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Queries the details of a specified O&M task (supported only in V3.2.50 and later)',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'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"}]',
],
'GetDatabase' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-wwo36qbv601', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'DatabaseId',
'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.', 'type' => 'string', 'required' => true, 'example' => '21', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'GetDatabase',
'summary' => 'Queries the detailed information about a database.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDatabase'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-i7m2d7zrw11', '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-beijing', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => '9', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'GetDatabaseAccount',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDatabaseAccount'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '245226',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'JobId',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
['errorCode' => 'HostNotFound', 'errorMessage' => 'The host is not found.', 'description' => ''],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'GetHost',
'summary' => 'Retrieves the details of a host, such as the name, source, address, protocol, and service port.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'HostAccountId',
'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 obtain this parameter.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'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' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'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****', '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', 'title' => ''],
],
[
'name' => 'HostGroupId',
'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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'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' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHostGroup'],
],
],
'ramActions' => [],
],
'GetHostShareKey' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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-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' => 'HostShareKeyId',
'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.', 'type' => 'string', 'required' => true, 'example' => '10427', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
404 => [
['errorCode' => 'HostShareKeyNotFound', 'errorMessage' => 'The host share key is not found.', 'description' => ''],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'GetHostShareKey',
'summary' => 'Queries the information about a shared key.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHostShareKey'],
],
],
'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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'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****', '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' => ''],
],
],
'responses' => [
200 => [
'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.', '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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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' => ''],
],
],
'responses' => [
200 => [
'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.', '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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'GetInstanceLDAPAuthServer',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetInstanceLDAPAuthServer'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '245216',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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' => ''],
],
],
'responses' => [
200 => [
'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.', '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' => '',
],
],
'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' => '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' => 'read',
'systemTags' => [
'operationType' => 'get',
'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 get this parameter.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-i7m2btk6g48', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'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' => 'NetworkDomainId',
'in' => 'query',
'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' => 'CheckProxyState',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => 'The response parameters.',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.', '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',
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 instance.'."\n"
."\n"
.'> For more information about region IDs, 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 query.'."\n"
."\n"
.'> You can call the [ListPolicies](~~2758876~~) operation to get this ID.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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"
.'- `white`: allowlist.'."\n"
."\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' => '',
],
],
'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' => '',
],
],
'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.', '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' => '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' => 'read',
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'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 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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
'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' => '',
],
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'GetPolicyAssetScope',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicyAssetScope'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'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', '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', 'title' => ''],
],
[
'name' => 'PolicyId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'GetPolicyUserScope',
'summary' => 'Queries the scope of users to whom a control policy applies.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicyUserScope'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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-wwo35essw07', '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-beijing', 'title' => ''],
],
[
'name' => 'RuleId',
'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.', 'type' => 'string', 'required' => true, 'example' => '18', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
'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' => '',
],
'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' => '',
],
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'GetRule',
'summary' => 'Queries the detailed information about an authorization rule.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetRule'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'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.', '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~~).', '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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
404 => [
['errorCode' => 'UserNotFound', 'errorMessage' => 'The user is not found.', 'description' => 'The user is not found.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUser'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'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.', '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~~).', '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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'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' => [
'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' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
['errorCode' => 'UserGroupNotFound', 'errorMessage' => 'The user group is not found.', 'description' => 'The user group is not found.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetUserGroup'],
],
],
'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' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'Secrets',
'in' => 'query',
'style' => 'json',
'schema' => [
'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,
'title' => '',
'example' => '',
],
],
[
'name' => 'HostId',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '',
],
],
'title' => '',
'description' => 'The data returned by the request.',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ImportKMSSecretsForHost',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'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"}]',
],
'ListApproveCommands' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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-zvp2xvysf08', '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-beijing', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page. Default value: **1**.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.
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' => [
'ApproveCommands' => [
'description' => 'The commands to be reviewed.',
'type' => 'array',
'items' => [
'description' => 'The returned data.',
'type' => 'object',
'properties' => [
'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' => ''],
],
'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' => 'ListApproveCommands',
'summary' => 'Queries commands to be reviewed.',
'description' => 'Queries commands pending review 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' => 'ListApproveCommands'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'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~~)', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-7mz2za0ro06', '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-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.', 'type' => 'string', 'required' => false, 'example' => '3', '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.
'."\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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'DatabaseAccounts' => [
'description' => 'The returned database accounts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListDatabaseAccounts',
'summary' => 'Queries the database accounts of a database.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabaseAccounts'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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-zz42zoqql01', '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-shanghai', 'title' => ''],
],
[
'name' => 'UserId',
'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~~)', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
'name' => 'DatabaseId',
'in' => 'query',
'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 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.', '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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'DatabaseAccounts' => [
'description' => 'The database accounts returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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-pe334a03o0h', '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' => '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.', 'type' => 'string', 'required' => true, 'example' => '3', '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.', '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.
'."\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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'DatabaseAccounts' => [
'description' => 'The database accounts returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListDatabaseAccountsForUserGroup',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabaseAccountsForUserGroup'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'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', 'title' => ''],
],
[
'name' => 'RegionId',
'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', '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 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' => [
200 => [
'schema' => [
'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"
."\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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListDatabases',
'summary' => 'Queries the databases that are managed by a bastion host.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabases'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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-tl32swayw7o', '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' => 'UserId',
'in' => 'query',
'schema' => ['description' => 'The ID of the user to query.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'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.
'."\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' => [
200 => [
'schema' => [
'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"
."\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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListDatabasesForUser',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabasesForUser'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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 for which you want to query authorized databases.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'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.
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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Databases' => [
'description' => 'The list of databases that are queried.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListDatabasesForUserGroup',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDatabasesForUserGroup'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'HostId',
'in' => 'query',
'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' => '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.
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.
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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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 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.
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.', 'description' => 'The argument is invalid.'],
],
500 => [
['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' => '[{"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"}]',
],
'ListHostAccountsForHostShareKey' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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-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' => 'HostShareKeyId',
'in' => 'query',
'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' => '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. 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' => ['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' => [
'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' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListHostAccountsForHostShareKey',
'summary' => 'Queries the host accounts that are associated with a shared key.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostAccountsForHostShareKey'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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 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' => '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.', '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.', '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.
'."\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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', '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.', '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.', '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.
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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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.',
'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'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', '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.', '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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.',
'type' => 'array',
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupAccountNamesForUser'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', '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.', '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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
'HostAccountNames' => [
'description' => 'The names of host accounts returned.',
'type' => 'array',
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListHostGroupAccountNamesForUserGroup',
'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' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupAccountNamesForUserGroup'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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.', '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 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**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'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 that you want to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'HostGroup1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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 asset groups returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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"
."\n"
.'- **Unauthorized**: queries the host groups that the user is not authorized to manage.', 'type' => 'string', 'required' => false, 'example' => 'Authorized', 'title' => ''],
],
[
'name' => 'UserId',
'in' => 'query',
'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 page number. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'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.', 'type' => 'string', 'required' => false, 'example' => 'group', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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' => ' ',
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'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.', '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~~).', '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"
."\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.'."\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 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.', '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.', 'type' => 'string', 'required' => false, 'example' => 'group', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostGroupsForUserGroup'],
],
],
'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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'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-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' => '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. 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' => ['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' => [
'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' => '',
],
],
'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' => 'ListHostShareKeys',
'summary' => 'Queries the shared keys that are associated with a host.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHostShareKeys'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', '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. Default value: **10**.'."\n"
."\n"
.'> We recommend that you do not leave this parameter empty.', '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"
."\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.', 'type' => 'string', 'required' => false, 'example' => 'host', '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.', 'type' => 'string', 'required' => false, 'example' => '1.1.XX.XX', 'title' => ''],
],
[
'name' => 'Source',
'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"
."\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' => '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.', '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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'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' => 'ListHosts',
'summary' => 'Queries the hosts in a bastion host.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHosts'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'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.', '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 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' => '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"
."\n"
.'- **Unauthorized**: queries the hosts that the user is not authorized to manage.', 'type' => 'string', 'required' => false, 'example' => 'Authorized', '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.', '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.
'."\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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'Mode',
'in' => 'query',
'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' => 'UserGroupId',
'in' => 'query',
'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 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.
Maximum value: 100. Default value: 20.
'."\n"
."\n"
.'> We recommend that you specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'HostAddress',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'description' => 'The data returned.',
'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' => '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'],
],
],
'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' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'HostId',
'in' => 'query',
'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' => 'Keyword',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => ''],
],
'title' => '',
'description' => 'The response object.',
'example' => '',
],
],
],
'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"}]',
],
'ListInstanceRdMembers' => [
'path' => '',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => 'NextToken',
'in' => 'query',
'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' => 'MaxResults',
'in' => 'query',
'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' => [
'type' => 'object',
'properties' => [
'Members' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'MemberId' => ['description' => 'The UID of the member account.', 'type' => 'string', 'example' => '1197234496852779', 'title' => ''],
],
'description' => 'A member account.',
'title' => '',
'example' => '',
],
'description' => 'A list of member accounts.',
'title' => '',
'example' => '',
],
'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' => ''],
],
'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.
The maximum value is 100. The default value is 20. If you do not specify this parameter, 20 entries are returned on each page.
'."\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' => [
'NetworkDomains' => [
'description' => 'The list of network domains.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListNetworkDomains',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListNetworkDomains'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostEW7NXQ'],
],
'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-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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''],
],
[
'name' => 'DatabaseId',
'in' => 'query',
'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**.', '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.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'DatabaseAccountName',
'in' => 'query',
'schema' => ['description' => 'The name of the database account. Exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'DatabaseAccounts' => [
'description' => 'The database accounts returned.',
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'The argument is invalid.'],
],
500 => [
['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 \\"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' => 'Lists the databases that the current Resource Access Management (RAM) user is authorized to access.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostEW7NXQ'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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. The default value is **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page.
The maximum value is 100. The default value is 20. If you do not specify this parameter, 20 entries are returned.
'."\n"
."\n"
.'> Specify a value for this parameter.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'DatabaseType',
'in' => 'query',
'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. This parameter supports only exact matches.', 'type' => 'string', 'required' => false, 'example' => 'aaa', 'title' => ''],
],
[
'name' => 'DatabaseAddress',
'in' => 'query',
'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. 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 source instance. This parameter supports only exact matches.', 'type' => 'string', 'required' => false, 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
],
[
'name' => 'SourceInstanceState',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Databases' => [
'description' => 'The databases.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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"}]',
],
'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' => [],
],
],
'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.
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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostHPIB1A'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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 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 to return on each page.
The maximum value is 100. The default value is 20. If you do not specify this parameter, the default value is used.
'."\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. 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. Only exact matches are supported.', 'type' => 'string', 'required' => false, 'example' => 'abc', 'title' => ''],
],
[
'name' => 'HostAddress',
'in' => 'query',
'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. 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 ECS instance. Only exact matches are supported.', 'type' => 'string', 'required' => false, 'example' => 'i-bp19ienyt0yax748****', 'title' => ''],
],
[
'name' => 'SourceInstanceState',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Hosts' => [
'description' => 'A list of the hosts.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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 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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListOperationHosts',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListOperationHosts'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '188191',
'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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"
.'> 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 for a paged query. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'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' => 'AssetAddress',
'in' => 'query',
'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' => [
'OperationTickets' => [
'description' => 'The list of O&M applications pending approval.',
'type' => 'array',
'items' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'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 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' => ''],
],
'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' => [],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'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-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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', '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.
'."\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' => 'PolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the control policy to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => '123', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Policies' => [
'description' => 'The control policies.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ListPolicies',
'summary' => 'Queries a list of control policies.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPolicies'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'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-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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', '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.
'."\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' => 'RuleName',
'in' => 'query',
'schema' => ['description' => 'The name of the authorization rule to query. Only exact match is supported.', 'type' => 'string', 'required' => false, 'example' => 'rule', 'title' => ''],
],
[
'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' => [
'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' => [
[
'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' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '91513',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ResourceType',
'in' => 'query',
'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' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'title' => 'ListTagKeys',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagKeys'],
],
],
'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"}]',
],
'ListTagResources' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '91514',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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 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' => 'bastionhost-cn-78v1gcxxxxx',
'maxItems' => 51,
'title' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'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,
'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' => [
'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' => '',
],
],
],
'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'],
],
],
'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"}]',
],
'ListTodoOpsTaskApprovals' => [
'summary' => 'Retrieves the list of pending automated O&M approval requests.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '203629',
'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => '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' => 'Keyword',
'in' => 'query',
'schema' => ['description' => 'The task name or task remarks to query. Fuzzy match is supported.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
'name' => 'ScheduleType',
'in' => 'query',
'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' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number of the current page in a paging query. Default value: **1**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'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' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'Retrieve pending O&M approval tasks',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'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"}]',
],
'ListUserGroups' => [
'summary' => 'Queries a list of user groups on a bastion host.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => '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. 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' => '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 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' => [
[
'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' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => 'RegionId',
'in' => 'query',
'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' => 'PageNumber',
'in' => 'query',
'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.
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' => 'UserId',
'in' => 'query',
'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' => [
'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' => ''],
],
'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' => 'ListUserPublicKeys',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserPublicKeys'],
],
],
'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' => 'read',
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', '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.
'."\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' => 'UserName',
'in' => 'query',
'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' => 'DisplayName',
'in' => 'query',
'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' => 'Source',
'in' => 'query',
'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' => 'Mobile',
'in' => 'query',
'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' => 'UserState',
'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"
."\n"
.'- **Frozen**: The user is locked.'."\n"
."\n"
.'- **Expired**: The user has expired.', 'type' => 'string', 'required' => false, 'example' => 'Normal', '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.', 'type' => 'string', 'required' => false, 'example' => '122748924538****', 'title' => ''],
],
[
'name' => 'UserGroupId',
'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.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned data.',
'type' => 'object',
'properties' => [
'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' => '',
],
],
'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.'],
],
],
'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'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'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.', '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 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' => 'UserIds',
'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.', 'type' => 'string', 'required' => true, 'example' => ' ["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-72137xe5n01', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'DatabaseId',
'in' => 'query',
'schema' => ['description' => 'The ID of the database to modify.', 'type' => 'string', 'required' => true, 'example' => '11', 'title' => ''],
],
[
'name' => 'NetworkDomainId',
'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.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'ActiveAddressType',
'in' => 'query',
'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' => 'DatabasePrivateAddress',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ModifyDatabase',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDatabase'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostXV4JIF'],
],
'parameters' => [
[
'name' => 'InstanceId',
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zpr2zyqx603', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'DatabaseAccountId',
'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.', '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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
['errorCode' => 'DatabaseAccountAlreadyExists', 'errorMessage' => 'The database account already exists.', 'description' => 'The database account already exists.'],
],
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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ModifyDatabaseAccount',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDatabaseAccount'],
],
],
'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' => 'readAndWrite',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'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.', '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 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' => '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.', '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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
['errorCode' => 'HostNotFound', 'errorMessage' => 'The host is not found.', 'description' => ''],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => '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' => 'HostAccountId',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', '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"}]',
],
'ModifyHostGroup' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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****', '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', 'title' => ''],
],
[
'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', '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', 'title' => ''],
],
[
'name' => 'Comment',
'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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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' => ['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-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' => 'HostShareKeyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the shared key whose information you want to modify.', 'type' => 'string', 'required' => true, 'example' => '10247', 'title' => ''],
],
[
'name' => 'HostShareKeyName',
'in' => 'query',
'schema' => ['description' => 'The name of the shared key.', 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => false, 'example' => 'LBYTnpR3Jmd2hMbmNBMGRmdWV2RW5oVXpCUmp3VkM0dGoKa0J2QlNRSHU2bytrMFBudlZvdlMzdGlBbXo5NkRzdUJDcDFFZVFJREFRQUJBb0lCQUNPZGNjK0lGUnNJd3VkYQpjT3VOSm5SK1BxWnlNZGVIaWFOcDc4SUxFd2NLZDNMZmlUWlYxc0d2Q21uTW0vQ3ZiS2NrZ0U1VjZxQVExRGZQCnI******', 'title' => ''],
],
[
'name' => 'PassPhrase',
'in' => 'query',
'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' => ['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'],
],
'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' => 'ModifyHostShareKey',
'summary' => 'Modifies a shared key.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHostShareKey'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostIds',
'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.', '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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'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.'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostQ6EM52'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => '["1","2","3"]', 'title' => ''],
],
[
'name' => 'ProtocolName',
'in' => 'query',
'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' => 'Port',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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' => ''],
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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' => 'write',
'deprecated' => false,
'systemTags' => [
'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****', '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' => 'Server',
'in' => 'query',
'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' => [
'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'],
],
'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' => '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' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => 'Description',
'in' => 'query',
'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' => 'RegionId',
'in' => 'query',
'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 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' => '',
],
],
],
'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'],
],
],
'ramActions' => [],
],
'ModifyInstanceLDAPAuthServer' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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' => 'Server',
'in' => 'query',
'schema' => ['description' => 'The address of the LDAP server.', 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX', 'title' => ''],
],
[
'name' => 'StandbyServer',
'in' => 'query',
'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' => ['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'],
],
'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' => '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\\": \\"8F1085E3-F048-5F34-B650-F145216E4AA4\\"\\n}","type":"json"}]',
],
'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' => ['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.', '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' => 'EnableTwoFactor',
'in' => 'query',
'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' => 'TwoFactorMethods',
'in' => 'query',
'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' => ['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'],
],
'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' => 'ModifyInstanceTwoFactor',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyInstanceTwoFactor'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostKFH6IG'],
],
'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.', '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 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' => '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 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' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ModifyNetworkDomain',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyNetworkDomain'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-09k1u8mv501', '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~~).', '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.', 'type' => 'string', 'required' => true, 'example' => '7', 'title' => ''],
],
[
'name' => 'PolicyName',
'in' => 'query',
'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' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'The policy is not found.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ModifyPolicy',
'summary' => 'Modifies the basic information about a control policy.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyPolicy'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost19BKK2'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-zmb2y9ydw08', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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 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' => 'UserGroupIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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' => '',
],
],
[
'name' => 'Hosts',
'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.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'HostId' => ['description' => 'The host ID.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
'HostAccountIds' => [
'description' => 'The host account IDs.',
'type' => 'array',
'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' => '',
],
],
[
'name' => 'Databases',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''],
'DatabaseAccountIds' => [
'description' => 'The database account IDs.',
'type' => 'array',
'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' => '',
],
],
[
'name' => 'HostGroups',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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' => '1'."\n", 'title' => ''],
'HostAccountNames' => [
'description' => 'The names of the asset accounts.',
'type' => 'array',
'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' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
['errorCode' => 'RuleAlreadyExists', 'errorMessage' => 'The rule already exists.', 'description' => 'The rule already exists.'],
],
404 => [
['errorCode' => 'RuleNotFound', 'errorMessage' => 'The rule is not found.', 'description' => 'The rule is not found.'],
],
500 => [
['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',
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'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.', '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 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' => 'UserId',
'in' => 'query',
'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' => '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.', 'type' => 'string', 'required' => false, 'example' => '321****', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => false, 'example' => 'Bob', 'title' => ''],
],
[
'name' => 'Comment',
'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.', '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 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.', 'description' => 'The argument is invalid.'],
],
404 => [
['errorCode' => 'UserNotFound', 'errorMessage' => 'The user is not found.', 'description' => 'The user is not found.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'ModifyUser',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyUser'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'UserGroupName',
'in' => 'query',
'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 ID of the request.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'The argument is invalid.', 'description' => 'The argument is invalid.'],
],
404 => [
['errorCode' => 'UserGroupNotFound', 'errorMessage' => 'The user group is not found.', 'description' => 'The user group is not found.'],
],
500 => [
['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"}]',
],
'ModifyUserPublicKey' => [
'summary' => 'Modifies the public key of the user.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-nif23******', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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.', '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 ID of the request, which is used to locate and troubleshoot issues.', 'type' => 'string', 'example' => 'AAB631FB-ABD0-5783-99F3-F29573B129E4', 'title' => ''],
],
'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' => 'ModifyUserPublicKey',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyUserPublicKey'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', '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.', 'type' => 'string', 'required' => true, 'example' => '3', 'title' => ''],
],
[
'name' => 'DatabaseIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The IDs of the databases that you want to add to the network domain.',
'type' => 'array',
'items' => ['description' => 'The database ID.'."\n"
."\n"
.'> You can call the [ListDatabases](~~2758822~~) operation to query the database ID.', 'type' => 'string', 'required' => false, 'example' => '1,2', 'title' => ''],
'required' => true,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E5B1BC32-72B2-5BFD-BF75-5D38261264D1', 'title' => ''],
'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', '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' => '',
],
'title' => '',
'example' => '',
],
],
'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.'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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.', '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~~).', '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 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 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 [ListHosts](~~200665~~) operation to query the host ID.', 'type' => 'string', 'required' => false, 'example' => '1,2', 'title' => ''],
'required' => true,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['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',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveHostsToNetworkDomain'],
],
],
'ramActions' => [],
],
'MoveResourceGroup' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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****', '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' => '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.', 'type' => 'string', 'required' => true, 'example' => '574', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'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' => '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.',
'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.',
'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' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '203630',
'abilityTreeNodes' => ['FEATUREbastionhost1WGNM5'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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"
.'> 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' => 'ApproveId',
'in' => 'query',
'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' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE', 'title' => ''],
'Results' => [
'description' => 'The results returned.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'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' => '',
],
'title' => '',
'example' => '',
],
],
'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.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Reject 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\\": \\"\\",\\n \\"Message\\": \\"None\\",\\n \\"TaskId\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]',
'translator' => 'machine',
],
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'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****', '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' => 'OperationTicketId',
'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.', 'type' => 'string', 'required' => true, 'example' => '2', 'title' => ''],
],
[
'name' => 'Comment',
'in' => 'query',
'schema' => ['description' => 'The review remarks.', 'type' => 'string', 'required' => false, 'example' => 'Reject', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'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.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
'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.',
'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' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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.', 'type' => 'string', 'required' => true, 'example' => 'bastionhost-cn-78v1ghxxxxx', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostGroupId',
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'DatabaseIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'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' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'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 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.', '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 \\"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'],
],
],
'ramActions' => [],
],
'RemoveHostsFromGroup' => [
'summary' => 'Removes multiple hosts from an asset group at a time.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostN06FHS'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', '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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'HostIds',
'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.', 'type' => 'string', 'required' => true, 'example' => '["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'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"
.' > 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' => '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 \\"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' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'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-st220aw****', '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' => 'MemberId',
'in' => 'query',
'schema' => ['description' => 'The UID of the RD member account to remove.', 'type' => 'string', 'required' => true, 'example' => '1597141696147832', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'EC9BF0F4-8983-491A-BC8C-1B4DD94976DE'],
],
'title' => '',
'description' => 'The response parameters.',
'example' => '',
],
],
],
'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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC9BF0F4-8983-491A-BC8C-1B4DD94976DE\\"\\n}","type":"json"}]',
],
'RemoveUsersFromGroup' => [
'summary' => 'Removes one or more users from a user group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost8REEA2'],
],
'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.', '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~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'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.', 'type' => 'string', 'required' => true, 'example' => '["1","2","3"]', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
'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' => [
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' => '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' => 'write',
'systemTags' => [
'operationType' => 'update',
'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' => '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' => [
'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' => [
[
'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' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhost4PMV5G'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => [
'type' => 'object',
'properties' => [
'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.', '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.', 'description' => 'An unknown error occurred.'],
],
],
'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'],
],
],
'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',
'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 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 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,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'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' => [
[
'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' => [
[
'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 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' => [
'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' => 'SetPolicyApprovalConfig',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyApprovalConfig'],
],
],
'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',
'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' => '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 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,
'title' => '',
'example' => '',
],
],
[
'name' => 'Databases',
'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.',
'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,
'title' => '',
'example' => '',
],
],
[
'name' => 'HostGroups',
'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.',
'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,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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' => 'SetPolicyAssetScope',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyAssetScope'],
],
],
'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',
'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-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', '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' => '45', 'title' => ''],
],
[
'name' => 'CommandConfig',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The command control settings.'."\n"
."\n"
.'> 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,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'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.', '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' => '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'],
],
],
'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',
'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 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~~).', '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' => '3', 'title' => ''],
],
[
'name' => 'IPAclConfig',
'in' => 'query',
'style' => 'json',
'schema' => [
'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' => [
'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' => 'SetPolicyIPAclConfig',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetPolicyIPAclConfig'],
],
],
'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' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostW2TGHR'],
],
'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-st220aw****', 'title' => ''],
],
[
'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' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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' => [
'description' => 'The protocol control configuration.',
'type' => 'object',
'properties' => [
'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' => '',
],
'SSH' => [
'description' => 'The SSH and SFTP options.',
'type' => 'object',
'properties' => [
'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',
'enum' => ['Enable', 'Disable'],
'required' => false,
'example' => 'Enable',
'title' => '',
],
'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',
'enum' => ['Enable', 'Disable'],
'required' => false,
'example' => 'Enable',
'title' => '',
],
'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',
'enum' => ['Enable', 'Disable'],
'required' => false,
'example' => 'Enable',
'title' => '',
],
'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',
'enum' => ['Enable', 'Disable'],
'required' => false,
'example' => 'Enable',
'title' => '',
],
'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',
'enum' => ['Enable', 'Disable'],
'required' => false,
'example' => 'Enable',
'title' => '',
],
'SFTPDownloadFile' => [
'description' => 'Specifies whether to allow file downloads 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' => '',
],
'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',
'enum' => ['Enable', 'Disable'],
'required' => false,
'example' => 'Enable',
'title' => '',
],
'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',
'enum' => ['Enable', 'Disable'],
'required' => false,
'example' => 'Enable',
'title' => '',
],
'SFTPMkdir' => [
'description' => 'Specifies whether to allow folder creation 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' => '',
],
'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' => '',
],
'AllowDirectTcp' => [
'type' => 'string',
'example' => 'Enable',
'enum' => ['Enable', 'Disable'],
'description' => '',
'title' => '',
],
'TcpForwarding' => [
'type' => 'string',
'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.', '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' => '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',
'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' => '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 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', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'UserGroupIds',
'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', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'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' => [
[
'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' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '91530',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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' => 'VswitchId',
'in' => 'query',
'schema' => ['description' => 'The ID of the vSwitch to which the bastion host is bound.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1xfwzzfti0kjbf****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the bastion host.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'SecurityGroupIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'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' => 'sg-bp1aiupc4yjqgmm****',
'maxItems' => 100,
'title' => '',
],
],
[
'name' => 'ClientSecurityGroupIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'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,
'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' => 'SlaveVswitchId',
'in' => 'query',
'schema' => ['description' => 'The ID of the secondary vSwitch to which the bastion host is bound.', 'type' => 'string', 'required' => false, 'example' => 'vsw-9dpspfku7gita****', 'title' => ''],
],
[
'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 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' => '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 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' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'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,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'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' => [],
'title' => 'TagResources',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'],
],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2F24F0A8-4C69-4E89-9392-457D107E2D4A\\"\\n}","type":"json"}]',
],
'UnlockUsers' => [
'summary' => 'Unlocks one or more users of a bastion host.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostE6GSFF'],
],
'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.', '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~~).', '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' => [
'type' => 'object',
'properties' => [
'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"
.'- **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.', '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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'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"
.'# 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' => 'UnlockUsers'],
],
],
'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' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '91533',
'abilityTreeNodes' => ['FEATUREbastionhostJYERXM'],
],
'parameters' => [
[
'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"
.'The only valid value is **INSTANCE**. This value indicates a Bastionhost instance.', 'type' => 'string', 'required' => true, 'example' => 'INSTANCE', 'title' => ''],
],
[
'name' => 'All',
'in' => 'query',
'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' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'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' => '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' => 'TagKey',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'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,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A8A665B9-8550-4942-9DEE-73198051856B', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'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'],
],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8A665B9-8550-4942-9DEE-73198051856B\\"\\n}","type":"json"}]',
],
'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' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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 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.', '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' => true, 'example' => 'true', 'title' => ''],
],
[
'name' => 'BaseDN',
'in' => 'query',
'schema' => ['description' => 'The Base DN.', 'type' => 'string', 'required' => true, 'example' => 'dc=test,dc=com', 'title' => ''],
],
[
'name' => 'Domain',
'in' => 'query',
'schema' => ['description' => 'The domain on the Active Directory server.', 'type' => 'string', 'required' => true, 'example' => 'domain', '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' => [
'description' => 'Schema of Response',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'An unknown error occurred.', 'description' => 'An unknown error occurred.'],
],
],
'title' => 'VerifyInstanceADAuthServer',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyInstanceADAuthServer'],
],
],
'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' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREbastionhostOF2U94'],
],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
'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 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' => [
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'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.', 'description' => 'The argument is invalid.'],
],
500 => [
['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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C9E97677-BD74-584B-AFCE-948C2A70BB83\\"\\n}","type":"json"}]',
],
],
'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' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'RenewAssetOperationToken',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:RenewAssetOperationToken',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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',
'ramAction' => [
'action' => 'yundun-bastionhost:ListRules',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'ListDatabases',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'yundun-bastionhost:ListDatabases',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteDatabase',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'yundun-bastionhost:DeleteDatabase',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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',
'ramAction' => [
'action' => 'yundun-bastionhost:AddUsersToGroup',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'DetachDatabaseAccountsFromUserGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:DetachDatabaseAccountsFromUserGroup',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetDatabaseAccount',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:GetDatabaseAccount',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'ListNetworkDomains',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'yundun-bastionhost:ListNetworkDomains',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetNetworkDomain',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:GetNetworkDomain',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetPolicyAssetScope',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:GetPolicyAssetScope',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'UntagResources',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:UntagResources',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'GetHostAccount',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:GetHostAccount',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ListDatabaseAccountsForUser',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:ListDatabaseAccountsForUser',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyPolicy',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:ModifyPolicy',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'RemoveDatabasesFromGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:RemoveDatabasesFromGroup',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'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',
'ramAction' => [
'action' => 'yundun-bastionhost:DescribeInstanceBastionhost',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'SetPolicyApprovalConfig',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:SetPolicyApprovalConfig',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'GetInstanceStoreInfo',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:GetInstanceStoreInfo',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'MoveHostsToNetworkDomain',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:MoveHostsToNetworkDomain',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateDatabase',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'yundun-bastionhost:CreateDatabase',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateDatabaseAccount',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'yundun-bastionhost:CreateDatabaseAccount',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyDatabaseAccount',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:ModifyDatabaseAccount',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'DetachDatabaseAccountsFromUser',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'yundun-bastionhost:DetachDatabaseAccountsFromUser',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'EnableInstancePublicAccess',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:EnableInstancePublicAccess',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-bastionhost:{#regionId}:{#accountId}:instance/{#InstanceId}'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'ListDatabaseAccounts',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:ListDatabaseAccounts',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'RejectApproveCommand',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:RejectApproveCommand',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'GetUser',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:GetUser',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'SetPolicyAssetScope',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:SetPolicyAssetScope',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'AttachDatabaseAccountsToUserGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'yundun-bastionhost:AttachDatabaseAccountsToUserGroup',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'CreateNetworkDomain',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'yundun-bastionhost:CreateNetworkDomain',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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}'],
],
],
],
[
'apiName' => 'GetRule',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:GetRule',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ListPolicies',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'yundun-bastionhost:ListPolicies',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'Bastionhost', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'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' => '*'],
],
],
],
],
'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'],
],
],
];