diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/governance/2021-01-20 | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/governance/2021-01-20')
| -rw-r--r-- | data/en_us/governance/2021-01-20/api-docs.php | 4060 |
1 files changed, 1750 insertions, 2310 deletions
diff --git a/data/en_us/governance/2021-01-20/api-docs.php b/data/en_us/governance/2021-01-20/api-docs.php index 2657444..84236b1 100644 --- a/data/en_us/governance/2021-01-20/api-docs.php +++ b/data/en_us/governance/2021-01-20/api-docs.php @@ -1,143 +1,61 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'governance', - 'version' => '2021-01-20', - ], + 'info' => ['style' => 'RPC', 'product' => 'governance', 'version' => '2021-01-20'], 'directories' => [ [ - 'id' => 366159, - 'title' => null, + 'children' => ['EnrollAccount', 'BatchEnrollAccounts', 'ListEnrolledAccounts', 'GetEnrolledAccount', 'GetAccountFactoryBaseline', 'ListAccountFactoryBaselines', 'CreateAccountFactoryBaseline', 'DeleteAccountFactoryBaseline', 'ListAccountFactoryBaselineItems', 'UpdateAccountFactoryBaseline'], 'type' => 'directory', - 'children' => [ - 'EnrollAccount', - 'BatchEnrollAccounts', - 'ListEnrolledAccounts', - 'GetEnrolledAccount', - 'GetAccountFactoryBaseline', - 'ListAccountFactoryBaselines', - 'CreateAccountFactoryBaseline', - 'DeleteAccountFactoryBaseline', - 'ListAccountFactoryBaselineItems', - 'UpdateAccountFactoryBaseline', - ], + 'title' => 'Account factory', ], [ - 'id' => 366170, - 'title' => null, + 'children' => ['RunEvaluation', 'ListEvaluationMetadata', 'ListEvaluationScoreHistory', 'ListEvaluationMetricDetails', 'ListEvaluationResults', 'GenerateEvaluationReport'], 'type' => 'directory', - 'children' => [ - 'RunEvaluation', - 'ListEvaluationMetadata', - 'ListEvaluationScoreHistory', - 'ListEvaluationMetricDetails', - 'ListEvaluationResults', - 'GenerateEvaluationReport', - ], + 'title' => 'Governance maturity detection', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'EnrollAccount' => [ - 'summary' => 'Enrolls an account. You can create a new account or manage an existing account in the account factory.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BatchEnrollAccounts' => [ + 'summary' => 'Applies an account baseline to multiple existing resource accounts at a time.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceUXLQGP', - ], + 'abilityTreeNodes' => ['FEATUREgovernanceUXLQGP'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'AccountNamePrefix', - 'in' => 'query', - 'schema' => [ - 'title' => '账号名称前缀', - 'description' => 'The prefix for the account name of the member.'."\n" - ."\n" - .'* If the account baseline is applied to an account that is newly created, you must configure this parameter.'."\n" - .'* If the account baseline is applied to an existing account, you do not need to configure this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-account', - ], - ], - [ - 'name' => 'DisplayName', - 'in' => 'query', - 'schema' => [ - 'title' => '账号显示名称', - 'description' => 'The display name of the account.'."\n" - ."\n" - .'* If the account baseline is applied to an account that is newly created, you must configure this parameter.'."\n" - .'* If the account baseline is applied to an existing account, you do not need to configure this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-account', - ], - ], - [ - 'name' => 'FolderId', - 'in' => 'query', - 'schema' => [ - 'title' => '父资源夹ID', - 'description' => 'The ID of the parent folder.'."\n" - ."\n" - .'* If the account baseline is applied to an account that is newly created, you need to specify a parent folder. If you do not configure this parameter, the account is created in the Root folder.'."\n" - .'* If the account baseline is applied to an existing account, you do not need to configure this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'fd-5ESoku****', - ], - ], - [ - 'name' => 'PayerAccountUid', - 'in' => 'query', - 'schema' => [ - 'title' => '结算账号ID', - 'description' => 'The ID of the billing account.'."\n" - ."\n" - .'* If the account baseline is applied to an account that is newly created, you need to specify a billing account. If you do not configure this parameter, the self-pay settlement method is used for the account.'."\n" - .'* If the account baseline is applied to an existing account, you do not need to configure this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '19534534552****', - ], - ], - [ - 'name' => 'AccountUid', + 'name' => 'Accounts', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'title' => '注册账号ID', - 'description' => 'The account ID.'."\n" - ."\n" - .'* If the account baseline is applied to an account that is newly created, you do not need to configure this parameter.'."\n" - .'* If the account baseline is applied to an existing account, you must configure this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The resource accounts.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the resource account.', + 'type' => 'object', + 'properties' => [ + 'AccountUid' => ['description' => 'The ID of the account to enroll. This parameter is required.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12868156179****'."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '12868156179****', + 'title' => '', + 'example' => '', ], ], [ @@ -145,220 +63,94 @@ 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'title' => '基线项配置数组', - 'description' => 'The array that contains baseline items.'."\n" + 'description' => 'The baseline items.'."\n" ."\n" - .'If this parameter is specified, the configurations of the baseline items are merged with the baseline applied to the specified account. The configurations of the same baseline items are subject to the configurations of this parameter. We recommend that you leave this parameter empty and configure the `BaselineId` parameter to specify an account baseline and apply the configurations of the account baseline to the account.'."\n", + .'If you specify this parameter, the baseline item configurations are merged with the configurations of the baseline specified by `BaselineId`. For duplicate baseline items, the configurations in this parameter take precedence. We recommend that you leave this parameter empty and use `BaselineId` to apply baseline configurations.', 'type' => 'array', 'items' => [ - 'description' => 'The configurations of the baseline item.'."\n", + 'description' => 'The configurations of the baseline item.', 'type' => 'object', 'properties' => [ - 'Config' => [ - 'title' => '基线项配置', - 'description' => 'The configurations of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"Notifications\\":[{\\"GroupKey\\":\\"account_msg\\",\\"Contacts\\":[{\\"Name\\":\\"aa\\"}],\\"PmsgStatus\\":1,\\"EmailStatus\\":1,\\"SmsStatus\\":1}]}', - ], - 'Name' => [ - 'title' => '基线项名称', - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', - ], - 'Skip' => [ - 'title' => '是否跳过基线项', - 'description' => 'Whether to skip the baseline item. Valid values:'."\n" - ."\n" - .'* false: The baseline item is not skipped.'."\n" - .'* true: The baseline item is skipped.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Version' => [ - 'title' => '基线项版本', - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0', - 'default' => '1.0', - ], + 'Config' => ['description' => 'The configurations of the baseline item.', 'type' => 'string', 'required' => false, 'example' => '{"Notifications":[{"GroupKey":"account_msg","Contacts":[{"Name":"aa"}],"PmsgStatus":1,"EmailStatus":1,"SmsStatus":1}]}', 'title' => ''], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'required' => false, 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => ''], + 'Skip' => ['description' => 'Specifies whether to skip the baseline item. Valid values:'."\n" + ."\n" + .'- false (default): does not skip the baseline item.'."\n" + ."\n" + .'- true: skips the baseline item.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'required' => false, 'example' => '1.0'."\n", 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'BaselineId', 'in' => 'query', - 'schema' => [ - 'title' => '基线ID', - 'description' => 'The baseline ID.'."\n" - ."\n" - .'If this parameter is left empty, the default baseline is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'afb-bp1durvn3lgqe28v****', - ], - ], - [ - 'name' => 'ResellAccountType', - 'in' => 'query', - 'schema' => [ - 'title' => '账号身份类型', - 'description' => 'The identity type of the member. Valid values:'."\n" - ."\n" - .'* resell (default): The member is an account for a reseller. A relationship is automatically established between the member and the reseller. The management account of the resource directory must be used as the billing account of the member.'."\n" - .'* non_resell: The member is not an account for a reseller. The member is an account that is not associated with a reseller. You can directly use the account to purchase Alibaba Cloud resources. The member is used as its own billing account.'."\n" - ."\n" - .'> This parameter is available only for resellers at the international site (alibabacloud.com).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'resell', - ], + 'schema' => ['description' => 'The ID of the baseline. If you leave this parameter empty, the default baseline is used.', 'type' => 'string', 'required' => false, 'example' => 'afb-bp1durvn3lgqe28v****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The tags. You can specify up to 20 tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tagKey', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tagValue', - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponseBaseResult<EnrollAccountResponse>', - 'description' => 'The returned result.'."\n", + 'title' => 'ResponseBaseResult<Void>', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'AccountUid' => [ - 'title' => '注册账号ID', - 'description' => 'The account ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '143165363236****', - ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '7071E5FA-515E-5F53-B335-B87D619C6A66', - ], + 'RequestId' => ['title' => 'requestId', 'description' => 'The request ID.', 'type' => 'string', 'example' => '16B208DD-86BD-5E7D-AC93-FFD44B6FBDF1'], ], + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter %s is not valid.', - ], - [ - 'errorCode' => 'DeployConflict.Blueprint', - 'errorMessage' => 'The %s blueprint is being deployed. Please wait for its deployment to complete and try again.', - ], - [ - 'errorCode' => 'DependencyViolation.Blueprint', - 'errorMessage' => 'The %s blueprint has not been deployed. Please deploy the resource structure first.', - ], - [ - 'errorCode' => 'DependencyViolation.BaselineItem', - 'errorMessage' => 'The dependency of %s baseline item has not been configured. Please config %s first.', - ], - [ - 'errorCode' => 'IncorrectBlueprintStatus', - 'errorMessage' => 'The current status of the blueprint does not support this operation.', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidUser.NotResourceDirectoryMaster', - 'errorMessage' => 'The specified account is not a master account of resource directory.', - ], - ], - [ - [ - 'errorCode' => 'InvalidUser.NotFound', - 'errorMessage' => 'The specified user does not exist.', - ], - [ - 'errorCode' => 'InvalidBlueprint.NotFound', - 'errorMessage' => 'The specified blueprint does not exist.', - ], - [ - 'errorCode' => 'InvalidBaselineItem.NotFound', - 'errorMessage' => 'The specified baseline item named %s does not exist.', - ], - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + 404 => [ + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountUid\\": 0,\\n \\"RequestId\\": \\"7071E5FA-515E-5F53-B335-B87D619C6A66\\"\\n}","type":"json"}]', - 'title' => 'EnrollAccount', - 'description' => 'You can call this API operation to create a new account or manage an existing account and apply the account baseline to the account.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'BatchEnrollAccounts', + 'description' => 'Applies an account baseline to multiple existing resource accounts at a time.'."\n" ."\n" - .'Accounts are created in asynchronous mode. After you create an account, you can apply the account baseline to the account. You can call the [GetEnrolledAccount API](~~GetEnrolledAccount~~) operation to view the details about the account to obtain the result of applying the account baseline to the account.'."\n", - ], - 'BatchEnrollAccounts' => [ - 'summary' => 'Applies an account baseline to multiple existing resource accounts at a time.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + .'Account enrollment is an asynchronous process. After the accounts are enrolled, the account factory baseline is applied to each account. To query the enrollment details and check the baseline application result, call [GetEnrolledAccount](~~609062~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchEnrollAccounts'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'governance:BatchEnrollAccounts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16B208DD-86BD-5E7D-AC93-FFD44B6FBDF1\\"\\n}","type":"json"}]', + ], + 'CreateAccountFactoryBaseline' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -370,1241 +162,807 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceUXLQGP', - ], + 'abilityTreeNodes' => ['FEATUREgovernance7SBZ97'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Accounts', + 'name' => 'BaselineName', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The resource accounts.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the resource account.'."\n", - 'type' => 'object', - 'properties' => [ - 'AccountUid' => [ - 'description' => 'The account ID. This parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '12868156179****'."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'schema' => ['description' => 'The name of the baseline.', 'type' => 'string', 'default' => 'Default', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ 'name' => 'BaselineItems', 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'description' => 'The baseline items.'."\n" + 'description' => 'An array that contains the baseline items.'."\n" ."\n" - .'If this parameter is specified, the configurations of the baseline items are merged with the baseline applied to the specified account. The configurations of the same baseline items are subject to the configurations of this parameter. We recommend that you leave this parameter empty and configure the `BaselineId` parameter to specify an account baseline and apply the configurations of the account baseline to the account.'."\n", + .'You can call the [ListAccountFactoryBaselineItems](~~ListAccountFactoryBaselineItems~~) operation to query a list of baseline items supported by the account factory in Cloud Governance Center.', 'type' => 'array', 'items' => [ - 'description' => 'The configurations of the baseline item.'."\n", + 'description' => 'The configurations of the baseline item.', 'type' => 'object', 'properties' => [ - 'Config' => [ - 'description' => 'The configurations of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"Notifications\\":[{\\"GroupKey\\":\\"account_msg\\",\\"Contacts\\":[{\\"Name\\":\\"aa\\"}],\\"PmsgStatus\\":1,\\"EmailStatus\\":1,\\"SmsStatus\\":1}]}', - ], - 'Name' => [ - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', - ], - 'Skip' => [ - 'description' => 'Specifies whether to skip the baseline item. Valid values:'."\n" - ."\n" - .'* false'."\n" - .'* true'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Version' => [ - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0'."\n", - ], + 'Config' => ['description' => 'The configurations of the baseline item. The value of this parameter is a JSON string.', 'type' => 'string', 'required' => false, 'example' => '{"EnabledServices":["CEN_TR","CDT","CMS","KMS"]}', 'title' => ''], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'required' => false, 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => ''], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'default' => '1.0', 'required' => false, 'example' => '1.0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'BaselineId', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The baseline ID.'."\n" - ."\n" - .'If this parameter is left empty, the default baseline is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'afb-bp1durvn3lgqe28v****', - ], + 'schema' => ['description' => 'The description of the baseline.', 'type' => 'string', 'required' => false, 'example' => 'Default Baseline.', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'ResponseBaseResult<Void>', - 'description' => 'The response parameters.'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'requestId', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '16B208DD-86BD-5E7D-AC93-FFD44B6FBDF1', - ], + 'BaselineId' => ['description' => 'The ID of the baseline.', 'type' => 'string', 'example' => 'afb-bp1e6ixtiwupap8m****', 'title' => ''], + 'RequestId' => ['title' => 'requestId', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'A5592E2E-0FC4-557C-B989-DF229B5EBE13'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16B208DD-86BD-5E7D-AC93-FFD44B6FBDF1\\"\\n}","type":"json"}]', - 'title' => 'BatchEnrollAccounts', - 'description' => 'You can call this operation to apply an account baseline to existing resource accounts.'."\n" - ."\n" - .'Accounts are enrolled in the account factory in asynchronous mode. After a resource account is created, an account baseline is applied to the account. You can call the [GetEnrolledAccount](~~609062~~) operation to query the details of the account enrolled in the account factory and check whether the account baseline is applied to the account.'."\n", - ], - 'ListEnrolledAccounts' => [ - 'summary' => 'Queries a list of accounts that are enrolled in the account factory.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateAccountFactoryBaseline', + 'summary' => 'Creates a baseline of the account factory.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAccountFactoryBaseline'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'governance:CreateAccountFactoryBaseline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BaselineId\\": \\"afb-bp1e6ixtiwupap8m****\\",\\n \\"RequestId\\": \\"A5592E2E-0FC4-557C-B989-DF229B5EBE13\\"\\n}","type":"json"}]', + ], + 'DeleteAccountFactoryBaseline' => [ + 'summary' => 'Deletes an account factory baseline.', + 'methods' => ['get', 'post'], + 'schemes' => ['https', 'http'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceARZHCM', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'title' => '查询返回结果下一页的令牌。首次调用API不需要NextToken', - 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n" - ."\n" - .'You do not need to specify this parameter for the first request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****', - ], - ], - [ - 'name' => 'MaxResults', + 'name' => 'BaselineId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '每页的最大数据条数', - 'description' => 'The maximum number of entries per page.'."\n" - ."\n" - .'Valid values: 1 to 100. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'exclusiveMaximum' => false, - 'minimum' => '1', - 'exclusiveMinimum' => false, - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The baseline ID.', 'type' => 'string', 'required' => false, 'example' => 'afb-bp1durvn3lgqe28v****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '注册账号列表', - 'description' => 'The created accounts.'."\n", + 'title' => 'ResponseBaseResult<Void>', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'EnrolledAccounts' => [ - 'title' => '账号列表', - 'description' => 'The enrolled accounts.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The account.'."\n", - 'type' => 'object', - 'properties' => [ - 'AccountUid' => [ - 'title' => '账号ID', - 'description' => 'The account ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '19534534552*****', - ], - 'BaselineId' => [ - 'description' => 'The ID of the baseline that is implemented.'."\n", - 'type' => 'string', - 'example' => 'afb-bp1durvn3lgqe28v****', - ], - 'CreateTime' => [ - 'title' => '创建时间', - 'description' => 'The creation time.'."\n", - 'type' => 'string', - 'example' => '2021-11-01T02:38:27Z', - ], - 'DisplayName' => [ - 'title' => '账号显示名称', - 'description' => 'The display name of the account.'."\n", - 'type' => 'string', - 'example' => 'TestAccount', - ], - 'FolderId' => [ - 'title' => '父资源夹ID', - 'description' => 'The ID of the parent folder.'."\n", - 'type' => 'string', - 'example' => 'fd-5ESoku****', - ], - 'PayerAccountUid' => [ - 'title' => '结算账号ID', - 'description' => 'The ID of the settlement account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '13161210500*****', - ], - 'Status' => [ - 'title' => '创建状态', - 'description' => 'The creation status. Valid values:'."\n" - ."\n" - .'* Pending: The account is pending to be created.'."\n" - .'* Running: The account is being created.'."\n" - .'* Finished: The account is created.'."\n" - .'* Failed: The account fails to be created.'."\n" - .'* Scheduling: The account is being scheduled.'."\n" - .'* ScheduleFailed: The account fails to be scheduled.'."\n", - 'type' => 'string', - 'example' => 'Running', - 'enum' => [], - ], - 'UpdateTime' => [ - 'title' => '更新时间', - 'description' => 'The update time.'."\n", - 'type' => 'string', - 'example' => '2021-11-01T02:38:27Z', - ], - ], - ], - ], - 'NextToken' => [ - 'title' => '查询返回结果下一页的令牌', - 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****', - ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '768F908D-A66A-5A5D-816C-20C93CBBFEE3', - ], + 'RequestId' => ['title' => 'requestId', 'description' => 'The request ID.', 'type' => 'string', 'example' => '0F45D888-8C4D-55E5-ACA2-D1515159181D'], ], + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter %s is not valid.', - ], - ], 404 => [ - [ - 'errorCode' => 'InvalidUser.NotFound', - 'errorMessage' => 'The specified user does not exist.', - ], - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EnrolledAccounts\\": [\\n {\\n \\"AccountUid\\": 0,\\n \\"BaselineId\\": \\"afb-bp1durvn3lgqe28v****\\",\\n \\"CreateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"DisplayName\\": \\"TestAccount\\",\\n \\"FolderId\\": \\"fd-5ESoku****\\",\\n \\"PayerAccountUid\\": 0,\\n \\"Status\\": \\"Running\\",\\n \\"UpdateTime\\": \\"2021-11-01T02:38:27Z\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****\\",\\n \\"RequestId\\": \\"768F908D-A66A-5A5D-816C-20C93CBBFEE3\\"\\n}","errorExample":""},{"type":"xml","example":"<ListEnrolledAccountsResponse>\\n <RequestId>768F908D-A66A-5A5D-816C-20C93CBBFEE3</RequestId>\\n <NextToken>AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****</NextToken>\\n <EnrolledAccounts>\\n <Status>Running</Status>\\n <CreateTime>2021-11-01T02:38:27Z</CreateTime>\\n <DisplayName>TestAccount</DisplayName>\\n <FolderId>fd-5ESoku****</FolderId>\\n <UpdateTime>2021-11-01T02:38:27Z</UpdateTime>\\n <AccountUid>1234</AccountUid>\\n <PayerAccountUid>1234</PayerAccountUid>\\n </EnrolledAccounts>\\n</ListEnrolledAccountsResponse>","errorExample":""}]', - 'title' => 'ListEnrolledAccounts', - ], - 'GetEnrolledAccount' => [ - 'summary' => 'Queries the details about an account that is enrolled in the account factory.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteAccountFactoryBaseline', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAccountFactoryBaseline'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'governance:DeleteAccountFactoryBaseline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0F45D888-8C4D-55E5-ACA2-D1515159181D\\"\\n}","type":"json"}]', + ], + 'EnrollAccount' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREgovernanceUXLQGP'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'AccountUid', + 'name' => 'AccountNamePrefix', 'in' => 'query', - 'schema' => [ - 'title' => '账号ID', - 'description' => 'The account ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '19534534552****', - ], + 'schema' => ['description' => 'The prefix for the account name.'."\n" + ."\n" + .'- If you are creating a new resource account, this parameter is required.'."\n" + ."\n" + .'- If you are enrolling an existing account, this parameter is not required.', 'type' => 'string', 'required' => false, 'example' => 'test-account', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'DisplayName', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The display name of the account.'."\n" + ."\n" + .'- If you are creating a new resource account, this parameter is required.'."\n" + ."\n" + .'- If you are enrolling an existing account, this parameter is not required.', 'type' => 'string', 'required' => false, 'example' => 'test-account', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'FolderId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the parent folder.'."\n" + ."\n" + .'- If you are creating a new resource account and do not specify this parameter, the account is created in the Root folder.'."\n" + ."\n" + .'- If you are enrolling an existing account, this parameter is not required.', 'type' => 'string', 'example' => 'fd-5ESoku****', 'title' => '', 'required' => false], + ], + [ + 'name' => 'PayerAccountUid', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the billing account.'."\n" + ."\n" + .'- If you are creating a new resource account and do not specify this parameter, the self-pay settlement method is used.'."\n" + ."\n" + .'- If you are enrolling an existing account, this parameter is not required.', 'type' => 'integer', 'format' => 'int64', 'example' => '19534534552****', 'title' => '', 'required' => false], + ], + [ + 'name' => 'AccountUid', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the account to enroll.'."\n" + ."\n" + .'- If you are creating a new resource account, this parameter is not required.'."\n" + ."\n" + .'- If you are enrolling an existing account, this parameter is required.', 'type' => 'integer', 'format' => 'int64', 'example' => '12868156179****', 'title' => '', 'required' => false], + ], + [ + 'name' => 'BaselineItems', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'title' => '注册账号信息', - 'description' => 'The information about the account.', - 'type' => 'object', - 'properties' => [ - 'AccountUid' => [ - 'title' => '账号ID', - 'description' => 'The account ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12868156179*****', - ], - 'BaselineId' => [ - 'title' => '基线ID', - 'description' => 'The ID of the baseline that is implemented.'."\n", - 'type' => 'string', - 'example' => 'afb-bp1adadfadsf***', - ], - 'BaselineItems' => [ - 'description' => 'The array that contains baseline items.', - 'type' => 'array', - 'items' => [ - 'description' => 'The configuration of the baseline item'."\n", - 'type' => 'object', - 'properties' => [ - 'Config' => [ - 'description' => 'The configuration of the baseline item.', - 'type' => 'string', - 'example' => '{\\"Notifications\\":[{\\"GroupKey\\":\\"account_msg\\",\\"Contacts\\":[{\\"Name\\":\\"aa\\"}],\\"PmsgStatus\\":1,\\"EmailStatus\\":1,\\"SmsStatus\\":1}]}', - ], - 'Name' => [ - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', - ], - 'Skip' => [ - 'description' => 'Indicates whether baseline item is skipped. Valid values:'."\n" - ."\n" - .'* false'."\n" - .'* true'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Version' => [ - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], - ], - ], - ], - 'CreateTime' => [ - 'title' => '创建时间', - 'description' => 'The time when the account was created.'."\n", - 'type' => 'string', - 'example' => '2021-11-01T02:38:27Z', - ], - 'DisplayName' => [ - 'title' => '账号显示名称', - 'description' => 'The display name of the account.'."\n", - 'type' => 'string', - 'example' => 'test-account', - ], - 'ErrorInfo' => [ - 'title' => '错误信息', - 'description' => 'The error message.'."\n" + 'title' => '', + 'description' => 'The baseline items.'."\n" + ."\n" + .'If you specify this parameter, the baseline item configurations are merged with the configurations of the baseline specified by `BaselineId`. For duplicate baseline items, the configurations in this parameter take precedence. We recommend that you leave this parameter empty and use `BaselineId` to apply baseline configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the baseline item.', + 'type' => 'object', + 'properties' => [ + 'Config' => ['description' => 'The configurations of the baseline item.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '{\\"Notifications\\":[{\\"GroupKey\\":\\"account_msg\\",\\"Contacts\\":[{\\"Name\\":\\"aa\\"}],\\"PmsgStatus\\":1,\\"EmailStatus\\":1,\\"SmsStatus\\":1}]}'], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => '', 'required' => false], + 'Skip' => ['description' => 'Specifies whether to skip the baseline item. Valid values:'."\n" ."\n" - .'> This parameter is returned if the value of `Status` is `Failed` or `ScheduleFailed`.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'title' => '错误码', - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => 'CompliancePackExists', - ], - 'Message' => [ - 'title' => '错误信息', - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'The compliance pack already exists.'."\n", - ], - 'Recommend' => [ - 'title' => '错误处理建议', - 'description' => 'The recommended solution.'."\n", - 'type' => 'string', - 'example' => 'https://next.api.aliyun.com/troubleshoot?q=CompliancePackExists\\\\u0026product=Config'."\n", - ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '6D5EAA86-2D41-5CB7-8DA7-B60093ACAA4E', - ], - ], - ], - 'FolderId' => [ - 'title' => '父资源夹ID', - 'description' => 'The ID of the parent folder.'."\n", - 'type' => 'string', - 'example' => 'fd-5ESoku****', - ], - 'Initialized' => [ - 'title' => '是否初始化完成', - 'description' => 'Indicates whether the initialization is complete. Valid values:'."\n" + .'- false (default): does not skip the baseline item.'."\n" ."\n" - .'* false'."\n" - .'* true'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Inputs' => [ - 'title' => '注册账号时的输入参数', - 'description' => 'Input parameters used to create an account.', - 'type' => 'object', - 'properties' => [ - 'AccountNamePrefix' => [ - 'title' => '账号名称前缀', - 'description' => 'The prefix of the account name.'."\n", - 'type' => 'string', - 'example' => 'test-account', - ], - 'AccountUid' => [ - 'title' => '账号ID', - 'description' => 'The account ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12868156179*****', - ], - 'BaselineItems' => [ - 'title' => '基线项配置数组', - 'description' => 'The baseline items.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Config' => [ - 'title' => '基线项配置', - 'description' => 'The configurations of the baseline item.'."\n", - 'type' => 'string', - 'example' => '{\\"Contacts\\":[{\\"Name\\":\\"governance\\",\\"Email\\":\\"wibud****@gmail.com\\",\\"Mobile\\":\\"1234\\",\\"Position\\":\\"Other\\"}]}', - ], - 'Name' => [ - 'title' => '基线项名称', - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', - ], - 'Skip' => [ - 'title' => '是否跳过基线项', - 'description' => 'Indicates whether baseline item is skipped. Valid values:'."\n" - ."\n" - .'* false'."\n" - .'* true'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Version' => [ - 'title' => '基线项版本', - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], - ], - ], - ], - 'DisplayName' => [ - 'title' => '账号展示名称', - 'description' => 'The display name of the account.'."\n", - 'type' => 'string', - 'example' => 'test-account', - ], - 'FolderId' => [ - 'title' => '父资源夹ID', - 'description' => 'The ID of the parent folder.'."\n", - 'type' => 'string', - 'example' => 'fd-5ESoku****', - ], - 'PayerAccountUid' => [ - 'title' => '结算账号ID', - 'description' => 'The ID of the settlement account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '19534534552*****', - ], - 'Tag' => [ - 'description' => 'The tag.', - 'type' => 'array', - 'items' => [ - 'description' => 'The tag.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.', - 'type' => 'string', - 'example' => 'product', - ], - 'Value' => [ - 'description' => 'The tag value.', - 'type' => 'string', - 'example' => 'governance', - ], - ], - ], - ], - ], - ], - 'MasterAccountUid' => [ - 'title' => '所属的Master账号ID', - 'description' => 'The ID of the management account of the resource directory to which the account belongs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '19534534552*****', - ], - 'PayerAccountUid' => [ - 'title' => '结算账号ID', - 'description' => 'The ID of the settlement account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '19534534552*****', - ], - 'Progress' => [ - 'title' => '基线实施进度', - 'description' => 'The progress of the applying the baseline to the account.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The progress of applying the account baseline to the account.'."\n", - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '基线项名称', - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', - ], - 'Status' => [ - 'title' => '基线项实施状态', - 'description' => 'The status of applying the baseline to the account. Valid values:'."\n" - ."\n" - .'* Pending: The baseline is pending to be applied to the account.'."\n" - .'* Running: The baseline is being applied to the account.'."\n" - .'* Finished: : The baseline is applied to the account.'."\n" - .'* Failed: : The baseline fails to be applied to the account.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - ], - ], - ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '768F908D-A66A-5A5D-816C-20C93CBBFEE3', - ], - 'Status' => [ - 'title' => '账号注册状态', - 'description' => 'The status of the account. Valid values:'."\n" - ."\n" - .'* Pending: The account is pending to be created.'."\n" - .'* Running: The account is being created.'."\n" - .'* Finished: The account is created.'."\n" - .'* Failed: The account fails to be created.'."\n" - .'* Scheduling: The account is being scheduled.'."\n" - .'* ScheduleFailed: The account fails to be scheduled.'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'UpdateTime' => [ - 'title' => '更新时间', - 'description' => 'The update time.', - 'type' => 'string', - 'example' => '2021-11-01T02:38:27Z', + .'- true: skips the baseline item.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'example' => '1.0', 'default' => '1.0', 'title' => '', 'required' => false], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'example' => '', ], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter %s is not valid.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidUser.NotFound', - 'errorMessage' => 'The specified user does not exist.', - ], - [ - 'errorCode' => 'InvalidBlueprint.NotFound', - 'errorMessage' => 'The specified blueprint does not exist.', - ], - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountUid\\": 0,\\n \\"BaselineId\\": \\"afb-bp1adadfadsf***\\",\\n \\"BaselineItems\\": [\\n {\\n \\"Config\\": \\"{\\\\\\\\\\\\\\"Notifications\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"GroupKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"account_msg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Contacts\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"Name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"aa\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"PmsgStatus\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"EmailStatus\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"SmsStatus\\\\\\\\\\\\\\":1}]}\\",\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Skip\\": false,\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"CreateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"DisplayName\\": \\"test-account\\",\\n \\"ErrorInfo\\": {\\n \\"Code\\": \\"EntityAlreadyExists.Role\\",\\n \\"Message\\": \\"The role already exists.\\",\\n \\"Recommend\\": \\"https://next.api.aliyun.com/troubleshoot?q=EntityAlreadyExists.Role\\\\\\\\u0026product=Ram\\",\\n \\"RequestId\\": \\"6D5EAA86-2D41-5CB7-8DA7-B60093ACAA4E\\"\\n },\\n \\"FolderId\\": \\"fd-5ESoku****\\",\\n \\"Initialized\\": true,\\n \\"Inputs\\": {\\n \\"AccountNamePrefix\\": \\"test-account\\",\\n \\"AccountUid\\": 0,\\n \\"BaselineItems\\": [\\n {\\n \\"Config\\": \\"{\\\\\\\\\\\\\\"Contacts\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"Name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"governance\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Email\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"wibud5210+10@gmail.com\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Mobile\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1234\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Position\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Other\\\\\\\\\\\\\\"}]}\\",\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Skip\\": false,\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"DisplayName\\": \\"test-account\\",\\n \\"FolderId\\": \\"fd-5ESoku****\\",\\n \\"PayerAccountUid\\": 0,\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"product\\",\\n \\"Value\\": \\"governance\\"\\n }\\n ]\\n },\\n \\"MasterAccountUid\\": 0,\\n \\"PayerAccountUid\\": 0,\\n \\"Progress\\": [\\n {\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Status\\": \\"Running\\"\\n }\\n ],\\n \\"RequestId\\": \\"768F908D-A66A-5A5D-816C-20C93CBBFEE3\\",\\n \\"Status\\": \\"Finished\\",\\n \\"UpdateTime\\": \\"2021-11-01T02:38:27Z\\"\\n}","type":"json"}]', - 'title' => 'GetEnrolledAccount', - ], - 'GetAccountFactoryBaseline' => [ - 'summary' => 'Obtains the details of an account factory baseline.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'BaselineId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the baseline. If you leave this parameter empty, the default baseline is used.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'afb-bp1durvn3lgqe28v****'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ [ - 'name' => 'BaselineId', + 'name' => 'ResellAccountType', 'in' => 'query', - 'schema' => [ - 'description' => 'The baseline ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'afb-bp1nf0enuzb89az*****', - ], + 'schema' => ['description' => 'The identity type of the member. Valid values:'."\n" + ."\n" + .'- resell (default): The member is a reseller account. A reseller relationship is automatically established between the member and the reseller. The management account of the resource directory is used as the billing account of the member.'."\n" + ."\n" + .'- non\\_resell: The member is a non-reseller account. The member is not associated with a reseller and can directly purchase Alibaba Cloud resources. The member is used as its own billing account.'."\n" + ."\n" + .'> This parameter is available only for resellers at the international site (alibabacloud.com).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'resell'], ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', + 'description' => 'The tags. You can specify up to 20 tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'tagKey', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'tagValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'cn-hangzhou', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponseBaseResult<GetAccountFactoryBaselineResponse>', - 'description' => 'The baseline configuration.'."\n", + 'title' => 'ResponseBaseResult<EnrollAccountResponse>', + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'BaselineId' => [ - 'description' => 'The baseline ID.'."\n", - 'type' => 'string', - 'example' => 'afb-bp16ae2k8a3yo3d*****', - ], - 'BaselineItems' => [ - 'description' => 'The baseline items.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Config' => [ - 'description' => 'The configuration of the baseline item.'."\n" - ."\n" - .'The value is a JSON string.'."\n", - 'type' => 'string', - 'example' => '{\\"Notifications\\":[{\\"GroupKey\\":\\"account_msg\\",\\"Contacts\\":[{\\"Name\\":\\"aa\\"}],\\"PmsgStatus\\":1,\\"EmailStatus\\":1,\\"SmsStatus\\":1}]}', - ], - 'Name' => [ - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'example' => '1097526274671790', - ], - 'Version' => [ - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], - ], - ], - ], - 'BaselineName' => [ - 'description' => 'The name of the baseline.'."\n", - 'type' => 'string', - 'example' => 'Default', - 'default' => 'Default', - ], - 'CreateTime' => [ - 'description' => 'The time when the baseline was created.'."\n", - 'type' => 'string', - 'example' => '2022-11-28T00:46:34Z', - ], - 'Description' => [ - 'description' => 'The description of the baseline.'."\n", - 'type' => 'string', - 'example' => 'Default baseline', - ], - 'RequestId' => [ - 'title' => 'requestId', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '60D54503-F1F6-51B6-B6FA-A70CBDA2A68C', - ], - 'Type' => [ - 'description' => 'The type of the baseline. Valid values:'."\n" - ."\n" - .'* System: default baseline.'."\n" - .'* Custom: custom baseline.'."\n", - 'type' => 'string', - 'example' => 'Custom', - ], - 'UpdateTime' => [ - 'description' => 'The time when the baseline was updated.'."\n", - 'type' => 'string', - 'example' => '2022-11-02T01:00:07Z', - ], + 'AccountUid' => ['description' => 'The ID of the enrolled account.'."\n" + ."\n" + .'colspan="1" rowspan="1">'."\n" + ."\n" + .'143165363236\\*\\*\\*\\*', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '143165363236****'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '7071E5FA-515E-5F53-B335-B87D619C6A66'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter %s is not valid.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter %s is not valid.', 'description' => 'The specified parameter %s is invalid.'], + ['errorCode' => 'DeployConflict.Blueprint', 'errorMessage' => 'The %s blueprint is being deployed. Please wait for its deployment to complete and try again.', 'description' => 'A blueprint is being implemented. Try again later after the blueprint is implemented.'], + ['errorCode' => 'DependencyViolation.Blueprint', 'errorMessage' => 'The %s blueprint has not been deployed. Please deploy the resource structure first.', 'description' => 'You have not deployed a dependent blueprint. You must deploy the dependent blueprint.'], + ['errorCode' => 'DependencyViolation.BaselineItem', 'errorMessage' => 'The dependency of %s baseline item has not been configured. Please config %s first.', 'description' => 'No dependency baseline items are configured. Before you can proceed, you must configure a dependency baseline item.'], + ['errorCode' => 'IncorrectBlueprintStatus', 'errorMessage' => 'The current status of the blueprint does not support this operation.', 'description' => 'The current status of the blueprint does not support this operation.'], ], - 404 => [ - [ - 'errorCode' => 'InvalidUser.NotFound', - 'errorMessage' => 'The specified user does not exist.', - ], - [ - 'errorCode' => 'InvalidBaseline.NotFound', - 'errorMessage' => 'The specified baseline does not exist.', - ], - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + 403 => [ + ['errorCode' => 'InvalidUser.NotResourceDirectoryMaster', 'errorMessage' => 'The specified account is not a master account of resource directory.', 'description' => 'The specified account is not a master account of resource directory.'], + ], + [ + ['errorCode' => 'InvalidUser.NotFound', 'errorMessage' => 'The specified user does not exist.', 'description' => 'The user does not exist.'], + ['errorCode' => 'InvalidBlueprint.NotFound', 'errorMessage' => 'The specified blueprint does not exist.', 'description' => 'The specified blueprint does not exist.'], + ['errorCode' => 'InvalidBaselineItem.NotFound', 'errorMessage' => 'The specified baseline item named %s does not exist.', 'description' => 'The specified baseline item does not exist.'], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'EnrollAccount', + 'summary' => 'Creates a new resource account or enrolls an existing resource account in Account Factory.', + 'description' => 'Creates a new resource account or enrolls an existing resource account, and applies the account factory baseline to the account.'."\n" + ."\n" + .'Account enrollment is an asynchronous process. After an account is created, the account factory baseline is applied to the account. To query the enrollment details and check the baseline application result, call [GetEnrolledAccount](~~GetEnrolledAccount~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnrollAccount'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'governance:EnrollAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BaselineId\\": \\"afb-bp16ae2k8a3yo3d*****\\",\\n \\"BaselineItems\\": [\\n {\\n \\"Config\\": \\"{\\\\\\\\\\\\\\"Notifications\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"GroupKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"account_msg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Contacts\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"Name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"aa\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"PmsgStatus\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"EmailStatus\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"SmsStatus\\\\\\\\\\\\\\":1}]}\\",\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"BaselineName\\": \\"Default\\",\\n \\"CreateTime\\": \\"2022-11-28T00:46:34Z\\",\\n \\"Description\\": \\"默认基线\\",\\n \\"RequestId\\": \\"60D54503-F1F6-51B6-B6FA-A70CBDA2A68C\\",\\n \\"Type\\": \\"Custom\\",\\n \\"UpdateTime\\": \\"2022-11-02T01:00:07Z\\"\\n}","type":"json"}]', - 'title' => 'GetAccountFactoryBaseline', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountUid\\": 0,\\n \\"RequestId\\": \\"7071E5FA-515E-5F53-B335-B87D619C6A66\\"\\n}","type":"json"}]', ], - 'ListAccountFactoryBaselines' => [ - 'summary' => 'Obtains a list of baselines in the account factory.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GenerateEvaluationReport' => [ + 'summary' => 'Generate Governance Evaluation Report', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceH3XRB0', - ], + 'abilityTreeNodes' => ['FEATUREgovernance9GNJ07'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'NextToken', + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'RegionId', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => 'The account ID. If this parameter is not specified, the report is generated for the current account by default. A management account (MA) can pass in a member account ID to generate a report for the member account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '103144549568****', 'title' => ''], + ], + [ + 'name' => 'ReportType', 'in' => 'query', 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n" - ."\n" - .'You do not need to specify this parameter for the first request.'."\n", + 'description' => 'The report type. Valid values:'."\n" + .'- EvaluationAccountHtmlReport: single-account HTML report.'."\n" + .'- EvaluationAccountExcelReport: single-account Excel report.'."\n" + .'- EvaluationMultiAccountExcelReport: multi-account Excel report.', 'type' => 'string', + 'example' => 'EvaluationAccountExcelReport', + 'enum' => ['EvaluationAccountReport', 'EvaluationAccountExcelReport', 'EvaluationMultiAccountExcelReport', 'EvaluationAccountHtmlReport'], 'required' => false, - 'example' => 'AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****', + 'title' => '', ], ], [ - 'name' => 'MaxResults', + 'name' => 'AccountIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The maximum number of entries to return on each page.'."\n" - ."\n" - .'Valid values: 1 to 100. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The list of member account IDs for which to generate reports.'."\n" + .'Note: This parameter is required only when you generate a multi-account report and want to specify the scope of accounts.', + 'type' => 'array', + 'items' => ['description' => 'The account ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1319994761488600', 'title' => ''], 'required' => false, - 'example' => '10', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'EvaluationDomain', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponsePageResult<ListAccountFactoryBaselinesResponse>', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'Baselines' => [ - 'description' => 'The baselines.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information of the baseline.', - 'type' => 'object', - 'properties' => [ - 'BaselineId' => [ - 'description' => 'The baseline ID.'."\n", - 'type' => 'string', - 'example' => 'afb-bp1durvn3lgqe28v****', - ], - 'BaselineName' => [ - 'description' => 'The name of the baseline.'."\n", - 'type' => 'string', - 'example' => 'Default', - ], - 'CreateTime' => [ - 'description' => 'The time at which the baseline was created.'."\n", - 'type' => 'string', - 'example' => '2021-11-30T09:09:28Z', - ], - 'Description' => [ - 'description' => 'The description of the baseline.'."\n", - 'type' => 'string', - 'example' => 'Default baseline'."\n", - ], - 'Type' => [ - 'description' => 'The type of the baseline. Valid values:'."\n" - ."\n" - .'* System: default baseline.'."\n" - .'* Custom: custom baseline.'."\n", - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'Custom', - ], - 'UpdateTime' => [ - 'description' => 'The time when the baseline was updated.'."\n", - 'type' => 'string', - 'example' => '2022-12-29T07:08:40Z', - ], - ], - ], - ], - 'NextToken' => [ - 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****', - ], - 'RequestId' => [ - 'title' => 'requestId', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3245E413-7CDD-5287-8988-6A94DE8A8369', - ], + 'AccountId' => ['description' => 'The account ID for which the report is generated.', 'type' => 'integer', 'format' => 'int64', 'example' => '103144549568****', 'title' => ''], + 'EvaluationScore' => ['description' => 'The governance maturity evaluation score.', 'type' => 'number', 'format' => 'double', 'example' => '0.7684', 'title' => ''], + 'EvaluationTime' => ['description' => 'The evaluation time.', 'type' => 'string', 'example' => '2026-01-12T07:25:33Z', 'title' => ''], + 'Finished' => ['description' => 'Indicates whether the report generation is complete.'."\n" + ."\n" + .'> - true: The report generation is complete.'."\n" + .'> - false: The report generation is not complete.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'ReportType' => ['description' => 'The report type. Valid values:'."\n" + .'- EvaluationAccountHtmlReport: single-account HTML report.'."\n" + .'- EvaluationAccountExcelReport: single-account Excel report.'."\n" + .'- EvaluationMultiAccountExcelReport: multi-account Excel report.', 'type' => 'string', 'example' => 'EvaluationAccountExcelReport', 'title' => ''], + 'ReportUrl' => ['description' => 'The download URL of the report.', 'type' => 'string', 'example' => 'https://governance-prod-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/reports-html/*****', 'title' => ''], + 'RequestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => '7DCF863F-CBBB-57C4-8AF2-5D4EE35D1EB1'], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InvalidUser.NotFound', - 'errorMessage' => 'The specified user does not exist.', - ], - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Generate Governance Evaluation Report', + 'description' => 'Generates a governance evaluation report.'."\n" + .'> '."\n" + .'> - This is an asynchronous API. You can check the `Finished` field in the response to determine the report generation status.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'governance:GenerateEvaluationReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Baselines\\": [\\n {\\n \\"BaselineId\\": \\"afb-bp1durvn3lgqe28v****\\",\\n \\"BaselineName\\": \\"Default\\",\\n \\"CreateTime\\": \\"2021-11-30T09:09:28Z\\",\\n \\"Description\\": \\"默认基线\\",\\n \\"Type\\": \\"Custom\\",\\n \\"UpdateTime\\": \\"2022-12-29T07:08:40Z\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****\\",\\n \\"RequestId\\": \\"3245E413-7CDD-5287-8988-6A94DE8A8369\\"\\n}","type":"json"}]', - 'title' => 'ListAccountFactoryBaselines', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountId\\": 0,\\n \\"EvaluationScore\\": 0.7684,\\n \\"EvaluationTime\\": \\"2026-01-12T07:25:33Z\\",\\n \\"Finished\\": \\"true\\",\\n \\"ReportType\\": \\"EvaluationAccountExcelReport\\",\\n \\"ReportUrl\\": \\"https://governance-prod-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/reports-html/*****\\",\\n \\"RequestId\\": \\"7DCF863F-CBBB-57C4-8AF2-5D4EE35D1EB1\\"\\n}","type":"json"}]', ], - 'CreateAccountFactoryBaseline' => [ - 'summary' => 'Creates a baseline of the account factory.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetAccountFactoryBaseline' => [ + 'summary' => 'Obtains the details of an account factory baseline.', + 'methods' => ['post'], + 'schemes' => ['https', 'http'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernance7SBZ97', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'BaselineName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the baseline.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - 'default' => 'Default', - ], - ], - [ - 'name' => 'BaselineItems', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'An array that contains the baseline items.'."\n" - ."\n" - .'You can call the [ListAccountFactoryBaselineItems](~~ListAccountFactoryBaselineItems~~) operation to query a list of baseline items supported by the account factory in Cloud Governance Center.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the baseline item.'."\n", - 'type' => 'object', - 'properties' => [ - 'Config' => [ - 'description' => 'The configurations of the baseline item. The value of this parameter is a JSON string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"EnabledServices\\":[\\"CEN_TR\\",\\"CDT\\",\\"CMS\\",\\"KMS\\"]}', - ], - 'Name' => [ - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', - ], - 'Version' => [ - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0', - 'default' => '1.0', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - [ - 'name' => 'Description', + 'name' => 'BaselineId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the baseline.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default Baseline.', - ], + 'schema' => ['description' => 'The ID of the baseline.', 'type' => 'string', 'required' => false, 'example' => 'afb-bp1nf0enuzb89az*****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponseBaseResult<CreateAccountFactoryBaselineResponse>', - 'description' => 'The response parameters.'."\n", + 'title' => 'ResponseBaseResult<GetAccountFactoryBaselineResponse>', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'BaselineId' => [ - 'description' => 'The baseline ID.'."\n", - 'type' => 'string', - 'example' => 'afb-bp1e6ixtiwupap8m****', - ], - 'RequestId' => [ - 'title' => 'requestId', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A5592E2E-0FC4-557C-B989-DF229B5EBE13', - ], + 'BaselineId' => ['description' => 'The ID of the baseline.', 'type' => 'string', 'example' => 'afb-bp16ae2k8a3yo3d*****', 'title' => ''], + 'BaselineItems' => [ + 'description' => 'The baseline items.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Config' => ['description' => 'The configuration of the baseline item.'."\n" + ."\n" + .'The value is a JSON string.', 'type' => 'string', 'example' => '{\\"Notifications\\":[{\\"GroupKey\\":\\"account_msg\\",\\"Contacts\\":[{\\"Name\\":\\"aa\\"}],\\"PmsgStatus\\":1,\\"EmailStatus\\":1,\\"SmsStatus\\":1}]}', 'title' => ''], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => ''], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'example' => '1.0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'BaselineName' => ['description' => 'The name of the baseline.', 'type' => 'string', 'default' => 'Default', 'example' => 'Default', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the baseline was created.', 'type' => 'string', 'example' => '2022-11-28T00:46:34Z', 'title' => ''], + 'Description' => ['description' => 'The description of the baseline.', 'type' => 'string', 'example' => 'Default baseline', 'title' => ''], + 'RequestId' => ['title' => 'requestId', 'description' => 'The request ID.', 'type' => 'string', 'example' => '60D54503-F1F6-51B6-B6FA-A70CBDA2A68C'], + 'Type' => ['description' => 'The type of the baseline. Valid values:'."\n" + ."\n" + .'- System: The baseline is a default baseline.'."\n" + ."\n" + .'- Custom: The baseline is a custom baseline.', 'type' => 'string', 'example' => 'Custom', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the baseline was updated.', 'type' => 'string', 'example' => '2022-11-02T01:00:07Z', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter %s is not valid.', 'description' => 'The specified parameter %s is invalid.'], + ], 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidUser.NotFound', 'errorMessage' => 'The specified user does not exist.', 'description' => 'The user does not exist.'], + ['errorCode' => 'InvalidBaseline.NotFound', 'errorMessage' => 'The specified baseline does not exist.', 'description' => 'The specified account baseline does not exist.'], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BaselineId\\": \\"afb-bp1e6ixtiwupap8m****\\",\\n \\"RequestId\\": \\"A5592E2E-0FC4-557C-B989-DF229B5EBE13\\"\\n}","type":"json"}]', - 'title' => 'CreateAccountFactoryBaseline', - ], - 'DeleteAccountFactoryBaseline' => [ - 'summary' => 'Deletes an account factory baseline.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BaselineId\\": \\"afb-bp16ae2k8a3yo3d*****\\",\\n \\"BaselineItems\\": [\\n {\\n \\"Config\\": \\"{\\\\\\\\\\\\\\"Notifications\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"GroupKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"account_msg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Contacts\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"Name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"aa\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"PmsgStatus\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"EmailStatus\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"SmsStatus\\\\\\\\\\\\\\":1}]}\\",\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"BaselineName\\": \\"Default\\",\\n \\"CreateTime\\": \\"2022-11-28T00:46:34Z\\",\\n \\"Description\\": \\"Default baseline\\",\\n \\"RequestId\\": \\"60D54503-F1F6-51B6-B6FA-A70CBDA2A68C\\",\\n \\"Type\\": \\"Custom\\",\\n \\"UpdateTime\\": \\"2022-11-02T01:00:07Z\\"\\n}","type":"json"}]', + 'title' => 'GetAccountFactoryBaseline', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountFactoryBaseline'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'governance:GetAccountFactoryBaseline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], + 'translator' => 'manual', + ], + 'GetEnrolledAccount' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'BaselineId', + 'name' => 'AccountUid', 'in' => 'query', - 'schema' => [ - 'description' => 'The baseline ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'afb-bp1durvn3lgqe28v****', - ], + 'schema' => ['description' => 'The ID of the account.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '19534534552****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponseBaseResult<Void>', - 'description' => 'The result returned.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'requestId', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '0F45D888-8C4D-55E5-ACA2-D1515159181D', + 'AccountUid' => ['description' => 'The ID of the account.', 'type' => 'integer', 'format' => 'int64', 'example' => '12868156179*****', 'title' => ''], + 'BaselineId' => ['description' => 'The ID of the baseline that is applied.', 'type' => 'string', 'title' => '', 'example' => 'afb-bp1adadfadsf***'], + 'BaselineItems' => [ + 'description' => 'The baseline items.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of the baseline item.', + 'type' => 'object', + 'properties' => [ + 'Config' => ['description' => 'The configuration of the baseline item.', 'type' => 'string', 'example' => '{\\"Notifications\\":[{\\"GroupKey\\":\\"account_msg\\",\\"Contacts\\":[{\\"Name\\":\\"aa\\"}],\\"PmsgStatus\\":1,\\"EmailStatus\\":1,\\"SmsStatus\\":1}]}', 'title' => ''], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => ''], + 'Skip' => ['description' => 'Indicates whether the baseline item is skipped. Valid values:'."\n" + ."\n" + .'- false: The baseline item is not skipped.'."\n" + ."\n" + .'- true: The baseline item is skipped.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'example' => '1.0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CreateTime' => ['description' => 'The time when the account was created.', 'type' => 'string', 'example' => '2021-11-01T02:38:27Z', 'title' => ''], + 'DisplayName' => ['description' => 'The display name of the account.', 'type' => 'string', 'example' => 'test-account', 'title' => ''], + 'ErrorInfo' => [ + 'title' => '', + 'description' => 'The error message.'."\n" + ."\n" + .'> This parameter is returned if the value of `Status` is `Failed` or `ScheduleFailed`.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'title' => '', 'example' => 'EntityAlreadyExists.Role'], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'title' => '', 'example' => 'The role already exists.'], + 'Recommend' => ['description' => 'The recommended solution.', 'type' => 'string', 'title' => '', 'example' => 'https://next.api.aliyun.com/troubleshoot?q=EntityAlreadyExists.Role\\u0026product=Ram'], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6D5EAA86-2D41-5CB7-8DA7-B60093ACAA4E'], + ], + 'example' => '', + ], + 'FolderId' => ['description' => 'The ID of the parent folder.', 'type' => 'string', 'example' => 'fd-5ESoku****', 'title' => ''], + 'Initialized' => ['description' => 'Indicates whether the initialization is complete. Valid values:'."\n" + ."\n" + .'- false: The initialization is not complete.'."\n" + ."\n" + .'- true: The initialization is complete.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], + 'Inputs' => [ + 'title' => '', + 'description' => 'The input parameters that were specified when the account was enrolled.', + 'type' => 'object', + 'properties' => [ + 'AccountNamePrefix' => ['description' => 'The prefix of the account name.', 'type' => 'string', 'example' => 'test-account', 'title' => ''], + 'AccountUid' => ['description' => 'The ID of the account.', 'type' => 'integer', 'format' => 'int64', 'example' => '12868156179*****', 'title' => ''], + 'BaselineItems' => [ + 'title' => '', + 'description' => 'The baseline items.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Config' => ['description' => 'The configurations of the baseline item.', 'type' => 'string', 'title' => '', 'example' => '{\\"Contacts\\":[{\\"Name\\":\\"governance\\",\\"Email\\":\\"wibud5210+10@gmail.com\\",\\"Mobile\\":\\"1234\\",\\"Position\\":\\"Other\\"}]}'], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => ''], + 'Skip' => ['description' => 'Indicates whether the baseline item is skipped. Valid values:'."\n" + ."\n" + .'- false: The baseline item is not skipped.'."\n" + ."\n" + .'- true: The baseline item is skipped.', 'type' => 'boolean', 'title' => '', 'example' => 'false'], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'example' => '1.0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', + ], + 'DisplayName' => ['description' => 'The display name of the account.', 'type' => 'string', 'example' => 'test-account', 'title' => ''], + 'FolderId' => ['description' => 'The ID of the parent folder.', 'type' => 'string', 'example' => 'fd-5ESoku****', 'title' => ''], + 'PayerAccountUid' => ['description' => 'The ID of the billing account.', 'type' => 'integer', 'format' => 'int64', 'example' => '19534534552*****', 'title' => ''], + 'Tag' => [ + 'description' => 'The tag.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'product', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'governance', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], + 'MasterAccountUid' => ['description' => 'The ID of the management account of the resource directory to which the account belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '19534534552*****', 'title' => ''], + 'PayerAccountUid' => ['description' => 'The ID of the billing account.', 'type' => 'integer', 'format' => 'int64', 'example' => '19534534552*****', 'title' => ''], + 'Progress' => [ + 'title' => '', + 'description' => 'The progress of applying the baseline to the account.', + 'type' => 'array', + 'items' => [ + 'description' => 'The baseline application progress.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => ''], + 'Status' => ['description' => 'The status of applying the baseline to the account. Valid values:'."\n" + ."\n" + .'- Pending: The baseline is waiting to be applied to the account.'."\n" + ."\n" + .'- Running: The baseline is being applied to the account.'."\n" + ."\n" + .'- Finished: The baseline is applied to the account.'."\n" + ."\n" + .'- Failed: The baseline failed to be applied to the account.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '768F908D-A66A-5A5D-816C-20C93CBBFEE3', 'title' => ''], + 'Status' => ['description' => 'The status of the account. Valid values:'."\n" + ."\n" + .'- Pending: The account is waiting to be enrolled.'."\n" + ."\n" + .'- Running: The account is being enrolled.'."\n" + ."\n" + .'- Finished: The account is enrolled.'."\n" + ."\n" + .'- Failed: The account failed to be enrolled.'."\n" + ."\n" + .'- Scheduling: The account is being scheduled.'."\n" + ."\n" + .'- ScheduleFailed: The account failed to be scheduled.', 'type' => 'string', 'example' => 'Finished', 'title' => ''], + 'UpdateTime' => ['description' => 'The update time.', 'type' => 'string', 'example' => '2021-11-01T02:38:27Z', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter %s is not valid.', 'description' => 'The specified parameter %s is invalid.'], + ], 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidUser.NotFound', 'errorMessage' => 'The specified user does not exist.', 'description' => 'The user does not exist.'], + ['errorCode' => 'InvalidBlueprint.NotFound', 'errorMessage' => 'The specified blueprint does not exist.', 'description' => 'The specified blueprint does not exist.'], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GetEnrolledAccount', + 'summary' => 'Queries the details about an account that is enrolled in the account factory.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEnrolledAccount'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'governance:GetEnrolledAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0F45D888-8C4D-55E5-ACA2-D1515159181D\\"\\n}","type":"json"}]', - 'title' => 'DeleteAccountFactoryBaseline', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountUid\\": 0,\\n \\"BaselineId\\": \\"afb-bp1adadfadsf***\\",\\n \\"BaselineItems\\": [\\n {\\n \\"Config\\": \\"{\\\\\\\\\\\\\\"Notifications\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"GroupKey\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"account_msg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Contacts\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"Name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"aa\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"PmsgStatus\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"EmailStatus\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"SmsStatus\\\\\\\\\\\\\\":1}]}\\",\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Skip\\": false,\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"CreateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"DisplayName\\": \\"test-account\\",\\n \\"ErrorInfo\\": {\\n \\"Code\\": \\"EntityAlreadyExists.Role\\",\\n \\"Message\\": \\"The role already exists.\\",\\n \\"Recommend\\": \\"https://next.api.aliyun.com/troubleshoot?q=EntityAlreadyExists.Role\\\\\\\\u0026product=Ram\\",\\n \\"RequestId\\": \\"6D5EAA86-2D41-5CB7-8DA7-B60093ACAA4E\\"\\n },\\n \\"FolderId\\": \\"fd-5ESoku****\\",\\n \\"Initialized\\": true,\\n \\"Inputs\\": {\\n \\"AccountNamePrefix\\": \\"test-account\\",\\n \\"AccountUid\\": 0,\\n \\"BaselineItems\\": [\\n {\\n \\"Config\\": \\"{\\\\\\\\\\\\\\"Contacts\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"Name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"governance\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Email\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"wibud5210+10@gmail.com\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Mobile\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1234\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Position\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Other\\\\\\\\\\\\\\"}]}\\",\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Skip\\": false,\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"DisplayName\\": \\"test-account\\",\\n \\"FolderId\\": \\"fd-5ESoku****\\",\\n \\"PayerAccountUid\\": 0,\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"product\\",\\n \\"Value\\": \\"governance\\"\\n }\\n ]\\n },\\n \\"MasterAccountUid\\": 0,\\n \\"PayerAccountUid\\": 0,\\n \\"Progress\\": [\\n {\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Status\\": \\"Running\\"\\n }\\n ],\\n \\"RequestId\\": \\"768F908D-A66A-5A5D-816C-20C93CBBFEE3\\",\\n \\"Status\\": \\"Finished\\",\\n \\"UpdateTime\\": \\"2021-11-01T02:38:27Z\\"\\n}","type":"json"}]', ], 'ListAccountFactoryBaselineItems' => [ 'summary' => 'Queries a list of baseline items that are supported by the account factory of Cloud Governance Center (CGC).', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1616,36 +974,26 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceARZHCM', - ], + 'abilityTreeNodes' => ['FEATUREgovernanceARZHCM'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the baseline items.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AccountFactory', - ], + 'schema' => ['description' => 'The type of the baseline items.', 'type' => 'string', 'required' => false, 'example' => 'AccountFactory', 'title' => ''], ], [ 'name' => 'Names', 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'description' => 'The names of the baseline items.'."\n", + 'description' => 'The names of the baseline items.', 'type' => 'array', - 'items' => [ - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', - ], + 'items' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'required' => false, 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => ''], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ @@ -1653,411 +1001,364 @@ 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'description' => 'The versions of the baseline items.'."\n", + 'description' => 'The versions of the baseline items.', 'type' => 'array', - 'items' => [ - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0', - ], + 'items' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'required' => false, 'example' => '1.0', 'title' => ''], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAACDGQdAEX3m42z3sQ+f3VTK2Xr2DzYbz/SAfc/zJRqod', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.', 'type' => 'string', 'required' => false, 'example' => 'AAAAACDGQdAEX3m42z3sQ+f3VTK2Xr2DzYbz/SAfc/zJRqod', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of entries per page.'."\n" - ."\n" - .'Valid values: 1 to 100. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '100', - ], + 'schema' => ['description' => 'The maximum number of entries per page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'default' => '100', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'ResponsePageResult<ListAccountFactoryBaselineItemsResponse>', - 'description' => 'The result returned.'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'BaselineItems' => [ - 'description' => 'The baseline items.'."\n", + 'description' => 'The baseline items.', 'type' => 'array', 'items' => [ - 'description' => 'The configurations of the baseline item.'."\n", + 'description' => 'The configurations of the baseline item.', 'type' => 'object', 'properties' => [ 'DependsOn' => [ - 'description' => 'The dependency of the baseline item.'."\n", + 'description' => 'The dependencies of the baseline item.', 'type' => 'array', 'items' => [ - 'description' => 'The dependency configuration.'."\n", + 'description' => 'The dependency configuration.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', - ], - 'Type' => [ - 'description' => 'The type of the baseline item.'."\n", - 'type' => 'string', - 'example' => 'AccountFactory', - ], - 'Version' => [ - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC', 'title' => ''], + 'Type' => ['description' => 'The type of the baseline item.', 'type' => 'string', 'example' => 'AccountFactory', 'title' => ''], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'example' => '1.0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Description' => [ - 'description' => 'The description of the baseline item.'."\n", - 'type' => 'string', - 'example' => 'Notification.', - ], - 'Name' => [ - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'example' => 'ACS-BP_ACCOUNT_FACTORY_ACCOUNT_NOTIFICATION', - ], - 'Type' => [ - 'description' => 'The type of the baseline item.'."\n", - 'type' => 'string', - 'example' => 'AccountFactory', - ], - 'Version' => [ - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], + 'Description' => ['description' => 'The description of the baseline item.', 'type' => 'string', 'example' => 'Notification.', 'title' => ''], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'example' => 'ACS-BP_ACCOUNT_FACTORY_ACCOUNT_NOTIFICATION', 'title' => ''], + 'Type' => ['description' => 'The type of the baseline item.', 'type' => 'string', 'example' => 'AccountFactory', 'title' => ''], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'example' => '1.0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'NextToken' => [ - 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'AAAAACDGQdAEX3m42z3sQ+f3VTK2Xr2DzYbz/SAfc/zJRqod', - ], - 'RequestId' => [ - 'title' => 'requestId', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B40D73D8-76AC-5D3C-AC63-4FC8AFCE6671', - ], + 'NextToken' => ['description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'AAAAACDGQdAEX3m42z3sQ+f3VTK2Xr2DzYbz/SAfc/zJRqod', 'title' => ''], + 'RequestId' => ['title' => 'requestId', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'B40D73D8-76AC-5D3C-AC63-4FC8AFCE6671'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BaselineItems\\": [\\n {\\n \\"DependsOn\\": [\\n {\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Type\\": \\"AccountFactory\\",\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"Description\\": \\"Notification.\\",\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_ACCOUNT_NOTIFICATION\\",\\n \\"Type\\": \\"AccountFactory\\",\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAACDGQdAEX3m42z3sQ+f3VTK2Xr2DzYbz/SAfc/zJRqod\\",\\n \\"RequestId\\": \\"B40D73D8-76AC-5D3C-AC63-4FC8AFCE6671\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListAccountFactoryBaselineItems', - ], - 'UpdateAccountFactoryBaseline' => [ - 'summary' => 'Updates a baseline of the account factory.', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccountFactoryBaselineItems'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'governance:ListAccountFactoryBaselineItems', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BaselineItems\\": [\\n {\\n \\"DependsOn\\": [\\n {\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_VPC\\",\\n \\"Type\\": \\"AccountFactory\\",\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"Description\\": \\"Notification.\\",\\n \\"Name\\": \\"ACS-BP_ACCOUNT_FACTORY_ACCOUNT_NOTIFICATION\\",\\n \\"Type\\": \\"AccountFactory\\",\\n \\"Version\\": \\"1.0\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAACDGQdAEX3m42z3sQ+f3VTK2Xr2DzYbz/SAfc/zJRqod\\",\\n \\"RequestId\\": \\"B40D73D8-76AC-5D3C-AC63-4FC8AFCE6671\\"\\n}","type":"json"}]', + ], + 'ListAccountFactoryBaselines' => [ + 'summary' => 'Obtains a list of baselines in the account factory.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREgovernanceH3XRB0'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'BaselineId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The baseline ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'afb-bp1pq3emlkt27vsj****', - ], - ], - [ - 'name' => 'BaselineName', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the baseline.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n" + ."\n" + .'You do not need to specify this parameter for the first request.', 'type' => 'string', 'required' => false, 'example' => 'AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****', 'title' => ''], ], [ - 'name' => 'BaselineItems', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The baseline items.'."\n" - ."\n" - .'You can call the [ListAccountFactoryBaselineItems](~~ListAccountFactoryBaselineItems~~) operation to query a list of baseline items supported by the account factory in Cloud Governance Center.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the baseline item.'."\n", - 'type' => 'object', - 'properties' => [ - 'Config' => [ - 'description' => 'The configurations of the baseline item. The value of this parameter is a JSON string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"EnabledServices\\":[\\"CEN_TR\\",\\"CDT\\",\\"CMS\\",\\"KMS\\"]}'."\n", - ], - 'Name' => [ - 'description' => 'The name of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC'."\n", - ], - 'Version' => [ - 'description' => 'The version of the baseline item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0'."\n", - 'default' => '1.0', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - [ - 'name' => 'Description', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the baseline.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '', - ], + 'schema' => ['description' => 'The maximum number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponseBaseResult<Void>', - 'description' => 'The response parameters.'."\n", + 'title' => 'ResponsePageResult<ListAccountFactoryBaselinesResponse>', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'requestId', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C18A891D-7B04-51A1-AAC6-201727A361CE', + 'Baselines' => [ + 'description' => 'The baselines.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information of the baseline.', + 'type' => 'object', + 'properties' => [ + 'BaselineId' => ['description' => 'The ID of the baseline.', 'type' => 'string', 'example' => 'afb-bp1durvn3lgqe28v****', 'title' => ''], + 'BaselineName' => ['description' => 'The name of the baseline.', 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the baseline was created.', 'type' => 'string', 'example' => '2021-11-30T09:09:28Z', 'title' => ''], + 'Description' => ['description' => 'The description of the baseline.', 'type' => 'string', 'example' => 'Default baseline', 'title' => ''], + 'Type' => [ + 'description' => 'The type of the baseline. Valid values:'."\n" + ."\n" + .'- System: The baseline is a default baseline.'."\n" + ."\n" + .'- Custom: The baseline is a custom baseline.', + 'enumValueTitles' => [], + 'type' => 'string', + 'example' => 'Custom', + 'title' => '', + ], + 'UpdateTime' => ['description' => 'The time when the baseline was updated.', 'type' => 'string', 'example' => '2022-12-29T07:08:40Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'NextToken' => ['description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****', 'title' => ''], + 'RequestId' => ['title' => 'requestId', 'description' => 'The request ID.', 'type' => 'string', 'example' => '3245E413-7CDD-5287-8988-6A94DE8A8369'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidUser.NotFound', 'errorMessage' => 'The specified user does not exist.', 'description' => 'The user does not exist.'], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C18A891D-7B04-51A1-AAC6-201727A361CE\\"\\n}","type":"json"}]', - 'title' => 'UpdateAccountFactoryBaseline', - ], - 'RunEvaluation' => [ - 'summary' => 'Performs a governance maturity check.', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Baselines\\": [\\n {\\n \\"BaselineId\\": \\"afb-bp1durvn3lgqe28v****\\",\\n \\"BaselineName\\": \\"Default\\",\\n \\"CreateTime\\": \\"2021-11-30T09:09:28Z\\",\\n \\"Description\\": \\"Default baseline\\",\\n \\"Type\\": \\"Custom\\",\\n \\"UpdateTime\\": \\"2022-12-29T07:08:40Z\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****\\",\\n \\"RequestId\\": \\"3245E413-7CDD-5287-8988-6A94DE8A8369\\"\\n}","type":"json"}]', + 'title' => 'ListAccountFactoryBaselines', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccountFactoryBaselines'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'governance:ListAccountFactoryBaselines', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], + 'translator' => 'manual', + ], + 'ListEnrolledAccounts' => [ + 'summary' => 'Queries a list of accounts that are enrolled in the account factory.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceMBMBHG', - ], + 'abilityTreeNodes' => ['FEATUREgovernanceARZHCM'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'AccountId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud account ID of the member. This parameter takes effect only when a multi-account governance maturity check is performed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '176618589410****', - ], - ], - [ - 'name' => 'RegionId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****'], ], [ - 'name' => 'Scope', + 'name' => 'MaxResults', 'in' => 'query', + 'allowEmptyValue' => false, 'schema' => [ - 'description' => 'The check range of the governance maturity check. Valid values:'."\n" + 'description' => 'The maximum number of entries per page.'."\n" ."\n" - .'* Account (default): A single-account governance maturity check is performed to check only the Alibaba Cloud account that you use to access Cloud Governance Center.'."\n" - .'* ResourceDirectory: A multi-account governance maturity check is performed to check all members within a resource directory. Before you perform a multi-account governance maturity check, you must enable the multi-account governance maturity check feature.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ResourceDirectory', + .'Valid values: 1 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'exclusiveMaximum' => false, 'minimum' => '1', 'exclusiveMinimum' => false, 'default' => '10', 'title' => '', + 'example' => '10', ], ], [ - 'name' => 'MetricIds', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the check items to be checked.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the check items.', - 'type' => 'string', - 'required' => false, - 'example' => 'xfyve5****', - ], - 'required' => false, - ], + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponseBaseResult<RunEvaluationResponse>', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2D3E2A3A-F2B8-578D-9659-3195F94A****', + 'EnrolledAccounts' => [ + 'title' => '', + 'description' => 'The enrolled accounts.', + 'type' => 'array', + 'items' => [ + 'description' => 'The account.', + 'type' => 'object', + 'properties' => [ + 'AccountUid' => ['description' => 'The ID of the account.', 'type' => 'integer', 'format' => 'int64', 'example' => '19534534552*****', 'title' => ''], + 'BaselineId' => ['description' => 'The ID of the baseline that is applied.', 'type' => 'string', 'example' => 'afb-bp1durvn3lgqe28v****', 'title' => ''], + 'CreateTime' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2021-11-01T02:38:27Z', 'title' => ''], + 'DisplayName' => ['description' => 'The display name of the account.', 'type' => 'string', 'example' => 'TestAccount', 'title' => ''], + 'FolderId' => ['description' => 'The ID of the parent folder.', 'type' => 'string', 'example' => 'fd-5ESoku****', 'title' => ''], + 'PayerAccountUid' => ['description' => 'The ID of the billing account.', 'type' => 'integer', 'format' => 'int64', 'example' => '13161210500*****', 'title' => ''], + 'Status' => [ + 'description' => 'The enrollment status. Valid values:'."\n" + ."\n" + .'- Pending: The account is waiting to be enrolled.'."\n" + ."\n" + .'- Running: The account is being enrolled.'."\n" + ."\n" + .'- Finished: The account is enrolled.'."\n" + ."\n" + .'- Failed: The account failed to be enrolled.'."\n" + ."\n" + .'- Scheduling: The account is being scheduled.'."\n" + ."\n" + .'- ScheduleFailed: The account failed to be scheduled.', + 'type' => 'string', + 'example' => 'Running', + 'enum' => [], + 'title' => '', + ], + 'UpdateTime' => ['description' => 'The update time.', 'type' => 'string', 'example' => '2021-11-01T02:38:27Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', ], + 'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '768F908D-A66A-5A5D-816C-20C93CBBFEE3', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter %s is not valid.', 'description' => 'The specified parameter %s is invalid.'], + ], 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidUser.NotFound', 'errorMessage' => 'The specified user does not exist.', 'description' => 'The user does not exist.'], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListEnrolledAccounts', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEnrolledAccounts'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D3E2A3A-F2B8-578D-9659-3195F94A****\\"\\n}","type":"json"}]', - 'title' => 'RunEvaluation', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'governance:ListEnrolledAccounts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EnrolledAccounts\\": [\\n {\\n \\"AccountUid\\": 0,\\n \\"BaselineId\\": \\"afb-bp1durvn3lgqe28v****\\",\\n \\"CreateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"DisplayName\\": \\"TestAccount\\",\\n \\"FolderId\\": \\"fd-5ESoku****\\",\\n \\"PayerAccountUid\\": 0,\\n \\"Status\\": \\"Running\\",\\n \\"UpdateTime\\": \\"2021-11-01T02:38:27Z\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAALHWGpGoYCcYMxiFfmlhvh62Xr2DzYbz/SAfc*****\\",\\n \\"RequestId\\": \\"768F908D-A66A-5A5D-816C-20C93CBBFEE3\\"\\n}","type":"json"}]', ], 'ListEvaluationMetadata' => [ - 'summary' => 'Queries all available information about check items in a governance maturity check, including the name, ID, description, stage, resource metadata, and fixing guide.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2069,439 +1370,234 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceMBMBHG', - ], + 'abilityTreeNodes' => ['FEATUREgovernanceMBMBHG'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Language', 'in' => 'query', - 'schema' => [ - 'description' => 'The language. The information is returned in the specified language. Valid values:'."\n" - ."\n" - .'* en: English'."\n" - .'* zh: Chinese'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'zh', - ], + 'schema' => ['description' => 'The language type. Governance evaluation definitions are returned in this language. Valid values:'."\n" + ."\n" + .'- en: English.'."\n" + .'- zh: Chinese.', 'type' => 'string', 'required' => false, 'example' => 'zh', 'title' => ''], ], [ 'name' => 'LensCode', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The specialized evaluation code. Valid values:'."\n" + ."\n" + .'- basic (default): foundation model (governance maturity) evaluation.'."\n" + .'- ack: container building specialized evaluation.'."\n" + .'- ai: machine learning specialized evaluation.'."\n" + .'- nis: network service specialized evaluation.', 'type' => 'string', 'required' => false, 'example' => 'ack', 'title' => ''], ], [ 'name' => 'TopicCode', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '治理专题code', - 'type' => 'string', - 'example' => 'ResourceUtilization', - ], + 'schema' => ['title' => '', 'description' => 'The governance topic code.', 'type' => 'string', 'example' => 'ResourceUtilization', 'required' => false], + ], + [ + 'name' => 'EvaluationDomain', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponseBaseResult<ListEvaluationMetadataResponse>', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'EvaluationMetadata' => [ - 'description' => 'The metadata of a governance maturity check.'."\n", + 'description' => 'The governance evaluation definition metadata.', 'type' => 'array', 'items' => [ - 'description' => 'The metadata of a governance maturity check.'."\n", + 'description' => 'The governance evaluation definition metadata.', 'type' => 'object', 'properties' => [ 'Metadata' => [ - 'description' => 'The metadata objects of a specific metadata type.'."\n", + 'description' => 'The list of metadata objects under a specific metadata type.', 'type' => 'array', 'items' => [ - 'description' => 'The metadata object of a specific metadata type.'."\n", + 'description' => 'The list of metadata objects under a specific metadata type.', 'type' => 'object', 'properties' => [ - 'Category' => [ - 'description' => 'The category of the check item.'."\n", - 'type' => 'string', - 'example' => 'Security', - ], - 'Description' => [ - 'description' => 'The description of the check item.'."\n", - 'type' => 'string', - 'example' => 'If you use an AccessKey pair of an Alibaba Cloud account, you have full permissions on the resources of the account. You cannot set limits on the account, such as setting limits on source IP addresses or access duration. If the AccessKey pair is leaked, resources within the account are exposed to high security risks. If your Alibaba Cloud account has an existing AccessKey pair, the check result is Non-compliant.', - ], - 'DisplayName' => [ - 'description' => 'The display name of the check item.'."\n", - 'type' => 'string', - 'example' => 'An AccessKey pair is enabled for the Alibaba Cloud account.', - ], - 'Id' => [ - 'description' => 'The ID of the metadata.'."\n", - 'type' => 'string', - 'example' => 'pxgtda****', - ], - 'RecommendationLevel' => [ - 'description' => 'The governance level of the check item.'."\n", - 'type' => 'string', - 'example' => 'High', - ], + 'Category' => ['description' => 'The pillar to which the evaluation item belongs.', 'type' => 'string', 'example' => 'Security', 'title' => ''], + 'Description' => ['description' => 'The description of the evaluation item.', 'type' => 'string', 'example' => 'If you use an AccessKey pair of an Alibaba Cloud account, you have full permissions that cannot be restricted by conditions such as source IP address or access time. Once leaked, the risk is extremely high. If an AccessKey pair exists for the Alibaba Cloud account, it is considered non-compliant.', 'title' => ''], + 'DisplayName' => ['description' => 'The display name.', 'type' => 'string', 'example' => 'An AccessKey pair is enabled for the Alibaba Cloud account.', 'title' => ''], + 'Id' => ['description' => 'The random ID of the metadata.', 'type' => 'string', 'example' => 'pxgtda****', 'title' => ''], + 'RecommendationLevel' => ['description' => 'The recommended governance level of the evaluation item.', 'type' => 'string', 'example' => 'High', 'title' => ''], 'RemediationMetadata' => [ - 'description' => 'The metadata of the fixing task.'."\n", + 'description' => 'The remediation metadata.', 'type' => 'object', 'properties' => [ 'Remediation' => [ - 'description' => 'The fixing items.'."\n", + 'description' => 'The remediation item.', 'type' => 'array', 'items' => [ - 'description' => 'The fixing item.'."\n", + 'description' => 'The remediation item.', 'type' => 'object', 'properties' => [ 'Actions' => [ - 'description' => 'The fixing operations.'."\n", + 'description' => 'The remediation actions.', 'type' => 'array', 'items' => [ - 'description' => 'The fixing operation.'."\n", + 'description' => 'The remediation actions.', 'type' => 'object', 'properties' => [ - 'Classification' => [ - 'description' => 'The fixing method.'."\n" - ."\n" - .'> This parameter is returned only if the value of `RemediationType` is `Analysis`.'."\n", - 'type' => 'string', - 'example' => 'UnusedAccessKeyInRamUser', - ], - 'CostDescription' => [ - 'description' => 'The fixing cost.'."\n", - 'type' => 'string', - 'example' => 'You are not charged for this operation.', - ], - 'Description' => [ - 'description' => 'The description of the fixing item.'."\n" - ."\n" - .'> This parameter is returned only if the value of `RemediationType` is `Analysis`.'."\n", - 'type' => 'string', - 'example' => 'Console logon is enabled for the RAM user. The RAM user owns an AccessKey pair that is never used.', - ], + 'Classification' => ['description' => 'The remediation method category.'."\n" + ."\n" + .'> This parameter is returned only when `RemediationType` is set to `Analysis`.', 'type' => 'string', 'example' => 'UnusedAccessKeyInRamUser', 'title' => ''], + 'CostDescription' => ['description' => 'The remediation cost.', 'type' => 'string', 'example' => 'You are not charged for this operation.', 'title' => ''], + 'Description' => ['description' => 'The remediation description.'."\n" + ."\n" + .'> This parameter is returned only when `RemediationType` is set to `Analysis`.', 'type' => 'string', 'example' => 'A RAM user has both console logon and an AccessKey pair enabled, but the AccessKey pair has never been used.', 'title' => ''], 'Guidance' => [ - 'description' => 'The content of the fixing items.'."\n", + 'description' => 'The remediation guidance.', 'type' => 'array', 'items' => [ - 'description' => 'The content of a fixing item.'."\n", + 'description' => 'The remediation guidance.', 'type' => 'object', 'properties' => [ - 'ButtonName' => [ - 'description' => 'The display name of the fixing button.'."\n", - 'type' => 'string', - 'example' => 'Manual fixing', - ], - 'ButtonRef' => [ - 'description' => 'The navigation URL of the fixing button.'."\n", - 'type' => 'string', - 'example' => 'https://ram.console.aliyun.com/users', - ], - 'Content' => [ - 'description' => 'The fixing procedure.'."\n", - 'type' => 'string', - 'example' => 'You must replace the AccessKey pair of your Alibaba Cloud account. To do so, perform the following steps:</br>1. Log on to the RAM console. In the left-side navigation pane, choose Identities > Users. On the Users page, click Create User.</br>2. On the Create User page, enter a logon name and select OpenAPI Access for the Access Mode parameter.</br>3. After the RAM user is created, save the AccessKey pair. Then, find the user that you created on the Users page and click Add Permissions in the Actions column. In the Grant Permission panel, find the AdministratorAccess policy and attach it to the RAM user.</br>4. In a program, replace the AccessKey pair of the Alibaba Cloud account with the AccessKey pair of the RAM user created in the previous step and check whether the program runs as expected in the test environment.</br>5. If the program runs as expected, publish the program to the production environment and disable the previous AccessKey pair of your Alibaba Cloud account. Then, check whether the program runs as expected.</br>6. If the program runs as expected, delete the disabled AccessKey pair after the specified period of time, such as 90 days.', - ], - 'Title' => [ - 'description' => 'The title of the fixing procedure.'."\n", - 'type' => 'string', - 'example' => 'Scenario 3: AccessKey pair that is used within the last 90 days', - ], + 'ButtonName' => ['description' => 'The display name of the remediation step button.', 'type' => 'string', 'example' => 'Manual fix', 'title' => ''], + 'ButtonRef' => ['description' => 'The URL that the remediation step button links to.', 'type' => 'string', 'example' => 'https://ram.console.aliyun.com/users', 'title' => ''], + 'Content' => ['description' => 'The content of the remediation step.', 'type' => 'string', 'example' => 'You must replace the AccessKey pair of your Alibaba Cloud account. To do so, perform the following steps:</br>1. Log on to the RAM console. In the left-side navigation pane, choose Identities > Users. On the Users page, click Create User.</br>2. On the Create User page, enter a logon name and select OpenAPI Access for the Access Mode parameter.</br>3. After the RAM user is created, save the AccessKey pair. Then, find the user that you created on the Users page and click Add Permissions in the Actions column. In the Grant Permission panel, find the AdministratorAccess policy and attach it to the RAM user.</br>4. In a program, replace the AccessKey pair of the Alibaba Cloud account with the AccessKey pair of the RAM user created in the previous step and check whether the program runs as expected in the test environment.</br>5. If the program runs as expected, publish the program to the production environment and disable the previous AccessKey pair of your Alibaba Cloud account. Then, check whether the program runs as expected.</br>6. If the program runs as expected, delete the disabled AccessKey pair after the specified period of time, such as 90 days.', 'title' => ''], + 'Title' => ['description' => 'The title of the remediation step.', 'type' => 'string', 'example' => 'Scenario 3: AccessKey pair that is used within the last 90 days', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Notice' => [ - 'description' => 'The usage notes of the fixing item.'."\n", - 'type' => 'string', - 'example' => 'The BestPracticesForIdentityAndPermissions compliance package is enabled in Cloud Config to check the settings and usage of the AccessKey pair, Alibaba Cloud account, and RAM users.', - ], - 'Suggestion' => [ - 'description' => 'The fixing suggestion.'."\n" - ."\n" - .'> This parameter is returned only if the value of `RemediationType` is `Analysis`.'."\n", - 'type' => 'string', - 'example' => 'Console logon is enabled for the RAM user and the RAM user owns an AccessKey pair, while the AccessKey pair has never been used by the RAM user. We recommend that you disable the AccessKey pair for 90 days. If no related issue occurs during this period, you can delete the AccessKey pair.', - ], + 'Notice' => ['description' => 'The remediation precautions.', 'type' => 'string', 'example' => 'This governance item enables the Best Practices for AccessKey and Permission Governance compliance package in Cloud Config to check the settings and usage of AccessKey pairs, Alibaba Cloud accounts, and RAM users.', 'title' => ''], + 'Suggestion' => ['description' => 'The remediation suggestion.'."\n" + ."\n" + .'> This parameter is returned only when `RemediationType` is set to `Analysis`.', 'type' => 'string', 'example' => 'Console logon is enabled for the RAM user and the RAM user owns an AccessKey pair, while the AccessKey pair has never been used by the RAM user. We recommend that you disable the AccessKey pair for 90 days. If no related issue occurs during this period, you can delete the AccessKey pair.', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'RemediationType' => [ - 'description' => 'The type of the fixing method. Valid values:'."\n" - ."\n" - .'* Manual: manual fixing'."\n" - .'* QuickFix: quick fixing'."\n" - .'* Analysis: auxiliary decision-making'."\n", - 'type' => 'string', - 'example' => 'Manual', - ], + 'RemediationType' => ['description' => 'The remediation type. Valid values:'."\n" + ."\n" + .'- Manual: Manual remediation.'."\n" + .'- QuickFix: Quick fix.'."\n" + .'- Analysis: Assisted decision-making.', 'type' => 'string', 'example' => 'Manual', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], 'ResourceMetadata' => [ - 'description' => 'The metadata of the checked resources.'."\n", + 'description' => 'The resource metadata of the evaluation item.', 'type' => 'object', 'properties' => [ 'ResourcePropertyMetadata' => [ - 'description' => 'The metadata of the resource properties.'."\n", + 'description' => 'The resource property metadata.', 'type' => 'array', 'items' => [ - 'description' => 'The metadata of the resource property.'."\n", + 'description' => 'The resource property metadata.', 'type' => 'object', 'properties' => [ - 'DisplayName' => [ - 'description' => 'The display name of the resource property.'."\n", - 'type' => 'string', - 'example' => 'AccessKey Pair Last Used At', - ], - 'PropertyName' => [ - 'description' => 'The name of the resource property.'."\n", - 'type' => 'string', - 'example' => 'AkLastUsedTime', - ], - 'PropertyType' => [ - 'description' => 'The type of the resource property.'."\n", - 'type' => 'string', - 'example' => 'String', - ], + 'DisplayName' => ['description' => 'The display name of the property.', 'type' => 'string', 'example' => 'Last time the AccessKey pair was used', 'title' => ''], + 'PropertyName' => ['description' => 'The resource property name.', 'type' => 'string', 'example' => 'AkLastUsedTime', 'title' => ''], + 'PropertyType' => ['description' => 'The resource property type.', 'type' => 'string', 'example' => 'String', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'Scope' => [ - 'description' => 'The scope of the check item. Valid values:'."\n" - ."\n" - .'* Account: the check item in a single-account governance maturity check'."\n" - .'* ResourceDirectory: the check item in a multi-account governance maturity check'."\n", - 'type' => 'string', - 'example' => 'Account', - ], - 'Stage' => [ - 'description' => 'The status of the check item. Valid values:'."\n" - ."\n" - .'* Released: The check item is released.'."\n" - .'* Beta: The check item is pre-released.'."\n", - 'type' => 'string', - 'example' => 'Released', - ], - 'TopicCode' => [ - 'title' => '所属治理专题code', - 'type' => 'string', - 'example' => 'ResourceUtilization', - ], + 'Scope' => ['description' => 'The scope to which the evaluation item belongs. Valid values:'."\n" + ."\n" + .'- Account: single-account evaluation item.'."\n" + .'- ResourceDirectory: multi-account evaluation item.', 'type' => 'string', 'example' => 'Account', 'title' => ''], + 'Stage' => ['description' => 'The status of the evaluation item. Valid values:'."\n" + ."\n" + .'- Released: officially released.'."\n" + .'- Beta: pre-release.', 'type' => 'string', 'example' => 'Released', 'title' => ''], + 'TopicCode' => ['title' => '', 'description' => 'The governance topic code to which the evaluation item belongs.', 'type' => 'string', 'example' => 'ResourceUtilization'], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Type' => [ - 'description' => 'The type of the metadata. Valid values:'."\n" - ."\n" - .'* Metric: the check item'."\n", - 'type' => 'string', - 'example' => 'Metric', - ], + 'Type' => ['description' => 'The metadata type. Valid values:'."\n" + ."\n" + .'- Metric: evaluation item.', 'type' => 'string', 'example' => 'Metric', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '16B208DD-86BD-5E7D-AC93-FFD44B6FBDF1', - ], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '16B208DD-86BD-5E7D-AC93-FFD44B6FBDF1'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EvaluationMetadata\\": [\\n {\\n \\"Metadata\\": [\\n {\\n \\"Category\\": \\"Security\\",\\n \\"Description\\": \\"主账号 AccessKey 等同于主账号权限,无法进行条件限制(如访问来源 IP、访问时间等),一旦泄漏风险极大。有存在的主账号 AccessKey,则视为不合规。\\",\\n \\"DisplayName\\": \\"主账号存在启用的 AccessKey\\",\\n \\"Id\\": \\"pxgtda****\\",\\n \\"RecommendationLevel\\": \\"High\\",\\n \\"RemediationMetadata\\": {\\n \\"Remediation\\": [\\n {\\n \\"Actions\\": [\\n {\\n \\"Classification\\": \\"UnusedAccessKeyInRamUser\\",\\n \\"CostDescription\\": \\"当前操作不产生费用\\",\\n \\"Description\\": \\"RAM 用户既启用控制台登录又保有子账号AK,且子账号AK从未使用。\\",\\n \\"Guidance\\": [\\n {\\n \\"ButtonName\\": \\"手动修复\\",\\n \\"ButtonRef\\": \\"https://ram.console.aliyun.com/users\\",\\n \\"Content\\": \\"需进行腾挪操作,步骤如下:</br>1. 进入 RAM 控制台,「身份管理」-「用户」,单击「创建用户」。</br>2. 填写「登录名称」,下方「访问方式」,勾选 OpenAPI 调用访问。</br>3. 创建成功后,保存该 RAM 用户的 AccessKey,勾选该 RAM 用户,单击「添加权限」,在弹出的侧边栏中,添加 AdministratorAccess权限。</br>4. 在程序中将主账号 AccessKey 替换为上步骤中创建的 RAM 用户 AccessKey,在相应的测试环境中验证程序逻辑是否正常。</br>5. 如果验证通过,将程序发布到生产环境,并将主账号 AccessKey 禁用,观察应用是否正常。</br>6. 如果应用正常,则等待一定时间(如 3 个月),将禁用的主账号 AccessKey 删除。\\",\\n \\"Title\\": \\"情况三:针对「90天内使用中的 AccessKey」\\"\\n }\\n ],\\n \\"Notice\\": \\"此治理项会在配置审计中开启AccessKey及权限治理最佳实践合规包,从AccessKey、阿里云账号、RAM用户的设置和使用方式等方面进行检测。\\",\\n \\"Suggestion\\": \\"该RAM用户既启用控制台登录又保有子账号AK,且子账号AccessKey从未使用过,因此建议禁用该AccessKey。禁用90天后,如果没有发生与该AcccessKey相关的问题,则可以直接删除该AccessKey。\\"\\n }\\n ],\\n \\"RemediationType\\": \\"Manual\\"\\n }\\n ]\\n },\\n \\"ResourceMetadata\\": {\\n \\"ResourcePropertyMetadata\\": [\\n {\\n \\"DisplayName\\": \\"AccessKey 最后使用时间\\",\\n \\"PropertyName\\": \\"AkLastUsedTime\\",\\n \\"PropertyType\\": \\"String\\"\\n }\\n ]\\n },\\n \\"Scope\\": \\"Account\\",\\n \\"Stage\\": \\"Released\\",\\n \\"TopicCode\\": \\"ResourceUtilization\\"\\n }\\n ],\\n \\"Type\\": \\"Metric\\"\\n }\\n ],\\n \\"RequestId\\": \\"16B208DD-86BD-5E7D-AC93-FFD44B6FBDF1\\"\\n}","type":"json"}]', - 'title' => 'ListEvaluationMetadata', - ], - 'ListEvaluationScoreHistory' => [ - 'summary' => 'Queries the historical scores of a governance maturity check.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceVMJHAB', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Retrieve governance evaluation item information', + 'summary' => 'Retrieves information about all available governance evaluation items, including names, IDs, descriptions, stages, resource detail metadata, and remediation guidance.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEvaluationMetadata'], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'StartDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the YYYY-MM-DD format.'."\n" - ."\n" - .'You can query the historical scores within the previous 180 days.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2024-06-11', - ], - ], - [ - 'name' => 'EndDate', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the YYYY-MM-DD format.'."\n" - ."\n" - .'By default, the historical scores that were generated in the seven days before the current date are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2024-07-11', - ], - ], - [ - 'name' => 'AccountId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud account ID of the member. This parameter takes effect only when a multi-account governance maturity check is performed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '176618589410****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'ResponseBaseResult<ListEvaluationScoreHistoryResponse>', - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'AC9BD94C-D20C-4D27-88D4-89E8D75C051B', - ], - 'ScoreHistory' => [ - 'description' => 'The historical scores.'."\n", - 'type' => 'object', - 'properties' => [ - 'TotalScoreHistory' => [ - 'description' => 'The historical scores.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The historical score.'."\n", - 'type' => 'object', - 'properties' => [ - 'EvaluationTime' => [ - 'description' => 'The time when the score was generated. The time is in UTC.'."\n", - 'type' => 'string', - 'example' => '2024-06-30T03:34:02Z', - ], - 'Score' => [ - 'description' => 'The score.'."\n" - ."\n" - .'Valid values: 0 to 1.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6753', - ], - ], - ], - ], - ], - ], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'governance:ListEvaluationMetadata', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AC9BD94C-D20C-4D27-88D4-89E8D75C051B\\",\\n \\"ScoreHistory\\": {\\n \\"TotalScoreHistory\\": [\\n {\\n \\"EvaluationTime\\": \\"2024-06-30T03:34:02Z\\",\\n \\"Score\\": 0.6753\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListEvaluationScoreHistory', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EvaluationMetadata\\": [\\n {\\n \\"Metadata\\": [\\n {\\n \\"Category\\": \\"Security\\",\\n \\"Description\\": \\"If you use an AccessKey pair of an Alibaba Cloud account, you have full permissions that cannot be restricted by conditions such as source IP address or access time. Once leaked, the risk is extremely high. If an AccessKey pair exists for the Alibaba Cloud account, it is considered non-compliant.\\",\\n \\"DisplayName\\": \\"An AccessKey pair is enabled for the Alibaba Cloud account.\\",\\n \\"Id\\": \\"pxgtda****\\",\\n \\"RecommendationLevel\\": \\"High\\",\\n \\"RemediationMetadata\\": {\\n \\"Remediation\\": [\\n {\\n \\"Actions\\": [\\n {\\n \\"Classification\\": \\"UnusedAccessKeyInRamUser\\",\\n \\"CostDescription\\": \\"You are not charged for this operation.\\",\\n \\"Description\\": \\"A RAM user has both console logon and an AccessKey pair enabled, but the AccessKey pair has never been used.\\",\\n \\"Guidance\\": [\\n {\\n \\"ButtonName\\": \\"Manual fix\\",\\n \\"ButtonRef\\": \\"https://ram.console.aliyun.com/users\\",\\n \\"Content\\": \\"You must replace the AccessKey pair of your Alibaba Cloud account. To do so, perform the following steps:</br>1. Log on to the RAM console. In the left-side navigation pane, choose Identities > Users. On the Users page, click Create User.</br>2. On the Create User page, enter a logon name and select OpenAPI Access for the Access Mode parameter.</br>3. After the RAM user is created, save the AccessKey pair. Then, find the user that you created on the Users page and click Add Permissions in the Actions column. In the Grant Permission panel, find the AdministratorAccess policy and attach it to the RAM user.</br>4. In a program, replace the AccessKey pair of the Alibaba Cloud account with the AccessKey pair of the RAM user created in the previous step and check whether the program runs as expected in the test environment.</br>5. If the program runs as expected, publish the program to the production environment and disable the previous AccessKey pair of your Alibaba Cloud account. Then, check whether the program runs as expected.</br>6. If the program runs as expected, delete the disabled AccessKey pair after the specified period of time, such as 90 days.\\",\\n \\"Title\\": \\"Scenario 3: AccessKey pair that is used within the last 90 days\\"\\n }\\n ],\\n \\"Notice\\": \\"This governance item enables the Best Practices for AccessKey and Permission Governance compliance package in Cloud Config to check the settings and usage of AccessKey pairs, Alibaba Cloud accounts, and RAM users.\\",\\n \\"Suggestion\\": \\"Console logon is enabled for the RAM user and the RAM user owns an AccessKey pair, while the AccessKey pair has never been used by the RAM user. We recommend that you disable the AccessKey pair for 90 days. If no related issue occurs during this period, you can delete the AccessKey pair.\\"\\n }\\n ],\\n \\"RemediationType\\": \\"Manual\\"\\n }\\n ]\\n },\\n \\"ResourceMetadata\\": {\\n \\"ResourcePropertyMetadata\\": [\\n {\\n \\"DisplayName\\": \\"Last time the AccessKey pair was used\\",\\n \\"PropertyName\\": \\"AkLastUsedTime\\",\\n \\"PropertyType\\": \\"String\\"\\n }\\n ]\\n },\\n \\"Scope\\": \\"Account\\",\\n \\"Stage\\": \\"Released\\",\\n \\"TopicCode\\": \\"ResourceUtilization\\"\\n }\\n ],\\n \\"Type\\": \\"Metric\\"\\n }\\n ],\\n \\"RequestId\\": \\"16B208DD-86BD-5E7D-AC93-FFD44B6FBDF1\\"\\n}","type":"json"}]', ], 'ListEvaluationMetricDetails' => [ - 'summary' => 'Queries the non-compliant resource information of a check item, including the name, ID, category, type, region, and related metadata of non-compliant resources.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'summary' => 'Retrieves non-compliant resource information for a specified check item, including the name, ID, category, type, region, and related metadata of non-compliant resources.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2513,221 +1609,155 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceMBMBHG', - ], + 'abilityTreeNodes' => ['FEATUREgovernanceMBMBHG'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'Id', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the check item.'."\n" - ."\n" - .'You can call the [ListEvaluationMetadata](~~2841889~~) operation to query the ID of the check item.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xfyve5****', - ], + 'schema' => ['description' => 'The ID of the check item for which you want to retrieve non-compliant resources.'."\n" + ."\n" + .'You can call the [ListEvaluationMetadata](~~2841889~~) operation to obtain the check item ID.', 'type' => 'string', 'required' => false, 'example' => 'xfyve5****', 'title' => ''], ], [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud account ID of the member. This parameter takes effect only when a multi-account governance maturity check is performed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '103144549568****', - ], + 'schema' => ['description' => 'The ID of the member account. This parameter is applicable only to the multi-account check pattern.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '103144549568****', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAGEaXR18y1rqykZHIqRuBejOqED4S3Xne33c7zbn****', - ], + 'schema' => ['description' => 'The token for the next query.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAGEaXR18y1rqykZHIqRuBejOqED4S3Xne33c7zbn****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of entries to return for a single request. Default value: 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'The maximum number of entries to return in a single request. Default value: 5.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'SnapshotId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The check snapshot ID.', 'type' => 'string', 'required' => false, 'example' => 'es-bp1r**************', 'title' => ''], ], [ 'name' => 'Scope', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The scope of the governance maturity check. Valid values:'."\n" + ."\n" + .'- Account (default): queries the check item details for the current account.'."\n" + .'- ResourceDirectory: queries the check item details for all member accounts in the resource directory. Before using this value, upgrade to multi-account governance maturity check.', 'type' => 'string', 'required' => false, 'example' => 'Account', 'title' => ''], ], [ 'name' => 'Date', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The date to query.', 'type' => 'string', 'required' => false, 'example' => '2026-01-01', 'title' => ''], + ], + [ + 'name' => 'EvaluationDomain', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponsePageResult<ListEvaluationItemDetailsResponse>', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'AAAAAGEaXR18y1rqykZHIqRuBejOqED4S3Xne33c7zbn****', - ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'AC9BD94C-D20C-4D27-88D4-89E8D75C****', - ], + 'NextToken' => ['description' => 'The token used to retrieve the next page of data.', 'type' => 'string', 'example' => 'AAAAAGEaXR18y1rqykZHIqRuBejOqED4S3Xne33c7zbn****', 'title' => ''], + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'AC9BD94C-D20C-4D27-88D4-89E8D75C****'], 'Resources' => [ - 'description' => 'The details of the non-compliant resources.'."\n", + 'description' => 'The details of non-compliant resources.', 'type' => 'array', 'items' => [ - 'description' => 'The details of the non-compliant resource.'."\n", + 'description' => 'The details of non-compliant resources.', 'type' => 'object', 'properties' => [ - 'RegionId' => [ - 'title' => '资源所属 region', - 'description' => 'The region ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ResourceClassification' => [ - 'description' => 'The check results further analyzed by auxiliary decision-making.'."\n" - ."\n" - .'> This parameter is returned only when the check item supports the auxiliary decision-making feature.'."\n", - 'type' => 'string', - 'example' => 'RecentUnloginRamUser', - ], - 'ResourceId' => [ - 'title' => '资源 id', - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => '26435103783237****', - ], - 'ResourceName' => [ - 'title' => '资源名称', - 'description' => 'The name of the resource.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ResourceOwnerId' => [ - 'title' => '账号 id', - 'description' => 'The ID of the Alibaba Cloud account that owns the resource.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '176618589410****', - ], + 'RegionId' => ['title' => '', 'description' => 'The region ID of the resource.', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'ResourceClassification' => ['description' => 'The decision assistance classification.'."\n" + ."\n" + .'> This parameter is returned only for check items that support decision assistance.', 'type' => 'string', 'example' => 'RecentUnloginRamUser', 'title' => ''], + 'ResourceId' => ['title' => '', 'description' => 'The resource ID.', 'type' => 'string', 'example' => '26435103783237****'], + 'ResourceName' => ['title' => '', 'description' => 'The resource name.', 'type' => 'string', 'example' => 'test'], + 'ResourceOwnerId' => ['title' => '', 'description' => 'The Alibaba Cloud account ID to which the resource belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '176618589410****'], 'ResourceProperties' => [ - 'description' => 'The attributes of the resource.'."\n", + 'description' => 'The list of additional resource properties.', 'type' => 'array', 'items' => [ - 'description' => 'The attribute of the resource.'."\n", + 'description' => 'The list of additional resource properties.', 'type' => 'object', 'properties' => [ - 'PropertyName' => [ - 'description' => 'The name of the resource attribute.'."\n", - 'type' => 'string', - 'example' => 'DisplayName', - ], - 'PropertyValue' => [ - 'description' => 'The value of the resource attribute.'."\n", - 'type' => 'string', - 'example' => 'example', - ], + 'PropertyName' => ['description' => 'The name of the resource property.', 'type' => 'string', 'example' => 'DisplayName', 'title' => ''], + 'PropertyValue' => ['description' => 'The value of the resource property.', 'type' => 'string', 'example' => 'TestAccount', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'ResourceType' => [ - 'title' => '资源类型', - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'ACS::RAM::User', - ], - 'ComplianceType' => [ - 'description' => 'The compliance status of the resource. Valid values:'."\n" - ."\n" - .'* NonCompliant: non-compliant.'."\n" - .'* Excluded: ignored.'."\n" - .'* PendingExclusion: to be ignored.'."\n" - .'* PendingInclusion: to be unignored.'."\n", - 'type' => 'string', - 'example' => 'NonCompliant', - ], + 'ResourceType' => ['title' => '', 'description' => 'The resource type.', 'type' => 'string', 'example' => 'ACS::RAM::User'], + 'ComplianceType' => ['description' => 'The compliance status. Valid values:'."\n" + .'- NonCompliant: non-compliant.'."\n" + .'- Excluded: ignored.'."\n" + .'- PendingExclusion: ignored but not yet effective.'."\n" + .'- PendingInclusion: unignored but not yet effective.', 'type' => 'string', 'example' => 'NonCompliant', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Date' => [ - 'type' => 'string', - ], + 'Date' => ['description' => 'The date.', 'type' => 'string', 'example' => '2026-01-01', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Retrieve non-compliant resource information for a specified check item', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEvaluationMetricDetails'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'governance:ListEvaluationMetricDetails', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAGEaXR18y1rqykZHIqRuBejOqED4S3Xne33c7zbn****\\",\\n \\"RequestId\\": \\"AC9BD94C-D20C-4D27-88D4-89E8D75C****\\",\\n \\"Resources\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceClassification\\": \\"RecentUnloginRamUser\\",\\n \\"ResourceId\\": \\"26435103783237****\\",\\n \\"ResourceName\\": \\"test\\",\\n \\"ResourceOwnerId\\": 0,\\n \\"ResourceProperties\\": [\\n {\\n \\"PropertyName\\": \\"DisplayName\\",\\n \\"PropertyValue\\": \\"TestAccount\\"\\n }\\n ],\\n \\"ResourceType\\": \\"ACS::RAM::User\\",\\n \\"ComplianceType\\": \\"NonCompliant\\"\\n }\\n ],\\n \\"Date\\": \\"\\"\\n}","type":"json"}]', - 'title' => 'ListEvaluationMetricDetails', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAGEaXR18y1rqykZHIqRuBejOqED4S3Xne33c7zbn****\\",\\n \\"RequestId\\": \\"AC9BD94C-D20C-4D27-88D4-89E8D75C****\\",\\n \\"Resources\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceClassification\\": \\"RecentUnloginRamUser\\",\\n \\"ResourceId\\": \\"26435103783237****\\",\\n \\"ResourceName\\": \\"test\\",\\n \\"ResourceOwnerId\\": 0,\\n \\"ResourceProperties\\": [\\n {\\n \\"PropertyName\\": \\"DisplayName\\",\\n \\"PropertyValue\\": \\"TestAccount\\"\\n }\\n ],\\n \\"ResourceType\\": \\"ACS::RAM::User\\",\\n \\"ComplianceType\\": \\"NonCompliant\\"\\n }\\n ],\\n \\"Date\\": \\"2026-01-01\\"\\n}","type":"json"}]', ], 'ListEvaluationResults' => [ - 'summary' => 'Queries the result and status of a governance check.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'summary' => 'Get governance evaluation results and status.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2739,295 +1769,344 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernanceMBMBHG', - ], + 'abilityTreeNodes' => ['FEATUREgovernanceMBMBHG'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'AccountId', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud account ID of the member. This parameter takes effect only when a multi-account governance maturity check is performed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '176618589410****', - ], + 'schema' => ['description' => 'Member account ID. This parameter is only applicable to multi-account evaluation mode.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '176618589410****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '', 'description' => 'Region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Filters', 'in' => 'query', 'style' => 'flat', 'schema' => [ - 'description' => 'The filter conditions.'."\n", + 'description' => 'Filter conditions.', 'type' => 'array', 'items' => [ - 'description' => 'The filter conditions.'."\n", + 'description' => 'Filter condition.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the filter condition. Valid values:'."\n" - ."\n" - .'* ResourceId: the resource ID.'."\n" - .'* ResourceName: the name of the resource.'."\n" - .'* ResourceType: the resource type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ResourceId', - ], + 'Key' => ['description' => 'Filter condition key. Valid values:'."\n" + ."\n" + .'- ResourceId: Resource ID.'."\n" + .'- ResourceName: Resource name.'."\n" + .'- ResourceType: Resource type.', 'type' => 'string', 'required' => false, 'example' => 'ResourceId', 'title' => ''], 'Values' => [ - 'description' => 'The list of filter condition values.'."\n", + 'description' => 'List of filter condition values.', 'type' => 'array', - 'items' => [ - 'description' => 'The value of the filter condition.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c191**************b4f', - ], + 'items' => ['description' => 'Filter condition value.', 'type' => 'string', 'required' => false, 'example' => 'c191**************b4f', 'title' => ''], 'required' => false, + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'SnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'es-bp1r**************', - ], + 'schema' => ['description' => 'Evaluation snapshot ID.', 'type' => 'string', 'required' => false, 'example' => 'es-bp1r**************', 'title' => ''], ], [ 'name' => 'Scope', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ResourceDirectory', - ], + 'schema' => ['description' => 'Governance maturity evaluation scope. Valid values:'."\n" + ."\n" + .'- Account (default): Performs single-account governance maturity evaluation, evaluating only the current account.'."\n" + .'- ResourceDirectory: Performs multi-account governance maturity evaluation, evaluating all member accounts in the resource directory. Before performing this operation, you must first upgrade to multi-account governance maturity evaluation.', 'type' => 'string', 'required' => false, 'example' => 'ResourceDirectory', 'title' => ''], ], [ 'name' => 'LensCode', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'basic', - ], + 'schema' => ['description' => 'Special evaluation code. Valid values:'."\n" + ."\n" + .'- basic (default): Basic model (governance maturity) evaluation.'."\n" + .'- ack: Container construction special evaluation.'."\n" + .'- ai: Machine learning special evaluation.'."\n" + .'- nis: Network service special evaluation.', 'type' => 'string', 'required' => false, 'example' => 'basic', 'title' => ''], ], [ 'name' => 'TopicCode', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '治理专题code', - 'type' => 'string', - 'example' => 'IdentityAndAccessManagement', - ], + 'schema' => ['title' => '', 'description' => 'Governance topic code.', 'type' => 'string', 'example' => 'IdentityAndAccessManagement', 'required' => false], + ], + [ + 'name' => 'EvaluationDomain', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'ResponseBaseResult<ListEvaluationResultsResponse>', - 'description' => 'The response parameters.'."\n", + 'title' => '', + 'description' => 'Response result.', 'type' => 'object', 'properties' => [ - 'AccountId' => [ - 'description' => 'The Alibaba Cloud account ID of the member.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '176618589410****', - ], - 'RequestId' => [ - 'title' => '请求ID', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BD57329E-131A-59F4-8746-E1CD8D7B****', - ], + 'AccountId' => ['description' => 'Member account ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '176618589410****', 'title' => ''], + 'RequestId' => ['title' => '', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'BD57329E-131A-59F4-8746-E1CD8D7B****'], 'Results' => [ - 'description' => 'The check results, including the status of the overall check and the results of check items.'."\n", + 'description' => 'Evaluation results, including overall evaluation status and sub-item evaluation results.', 'type' => 'object', 'properties' => [ - 'EvaluationTime' => [ - 'description' => 'The end time of the overall check. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2023-12-13T03:35:00Z'."\n", - ], + 'EvaluationTime' => ['description' => 'Overall evaluation end time (UTC).', 'type' => 'string', 'example' => '2023-12-13T03:35:00Z'."\n", 'title' => ''], 'MetricResults' => [ - 'description' => 'The check result.'."\n", + 'description' => 'Evaluation results.', 'type' => 'array', 'items' => [ - 'description' => 'The check result.'."\n", + 'description' => 'Evaluation result.', 'type' => 'object', 'properties' => [ 'ErrorInfo' => [ - 'description' => 'The error information.'."\n" + 'description' => 'Error information.'."\n" ."\n" - .'> This parameter is returned only if the value of `Status` is `Failed`.'."\n", + .'> This error information is returned when `Status` is `Failed`.', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => 'EcsInsightEnableFailed', - ], - 'Message' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'Unable to enable ECS Insight due to a server error.', - ], + 'Code' => ['description' => 'Error code.', 'type' => 'string', 'example' => 'EcsInsightEnableFailed', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'Unable to enable ECS Insight due to a server error.', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'EvaluationTime' => [ - 'description' => 'The end time of the check item. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2023-12-13T03:34:02Z', - ], - 'Id' => [ - 'description' => 'The ID of the check item.'."\n", - 'type' => 'string', - 'example' => 'r7xdcu****', - ], + 'EvaluationTime' => ['description' => 'Individual evaluation item end time (UTC).', 'type' => 'string', 'example' => '2023-12-13T03:34:02Z', 'title' => ''], + 'Id' => ['description' => 'Evaluation item ID.', 'type' => 'string', 'example' => 'r7xdcu****', 'title' => ''], 'ResourcesSummary' => [ - 'description' => 'The checked resources.'."\n", + 'description' => 'Evaluation item resource assessment summary.', 'type' => 'object', 'properties' => [ - 'NonCompliant' => [ - 'description' => 'The number of non-compliant resources.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], + 'NonCompliant' => ['description' => 'Number of non-compliant resources.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Result' => [ - 'description' => 'The rate of the non-compliant resources.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '0.67', - ], - 'Risk' => [ - 'description' => 'The risk level. Valid values:'."\n" - ."\n" - .'* Error: high risk'."\n" - .'* Warning: medium risk'."\n" - .'* None: no risk'."\n", - 'type' => 'string', - 'example' => 'Error', - ], - 'Status' => [ - 'description' => 'The status of the check item. Valid values:'."\n" - ."\n" - .'* Running: The check is in progress.'."\n" - .'* Finished: The check is complete.'."\n" - .'* failed: The check fails.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], + 'Result' => ['description' => 'Evaluation item resource compliance rate.', 'type' => 'number', 'format' => 'double', 'example' => '0.67', 'title' => ''], + 'Risk' => ['description' => 'Evaluation risk level. Valid values:'."\n" + ."\n" + .'- Error: High risk.'."\n" + .'- Warning: Medium risk.'."\n" + .'- None: No risk.', 'type' => 'string', 'example' => 'Error', 'title' => ''], + 'Status' => ['description' => 'Individual evaluation item status. Valid values:'."\n" + ."\n" + .'- Running: Evaluation in progress.'."\n" + .'- Finished: Evaluation completed.'."\n" + .'- Failed: Evaluation failed.', 'type' => 'string', 'example' => 'Running', 'title' => ''], 'AccountSummary' => [ - 'description' => '', + 'description' => 'Evaluation item account assessment summary.', 'type' => 'object', 'properties' => [ - 'NonCompliant' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'NonCompliant' => ['description' => 'Number of non-compliant accounts.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'PotentialScoreIncrease' => [ - 'title' => '潜在分数提升', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.2', - ], + 'PotentialScoreIncrease' => ['title' => '', 'description' => 'Potential score increase.', 'type' => 'number', 'format' => 'double', 'example' => '0.2'], 'AvailableRemediation' => [ + 'description' => 'List of available remediations.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'RemediationTemplateId' => [ - 'type' => 'string', - ], + 'RemediationTemplateId' => ['description' => 'Remediation template ID.', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Status' => [ - 'description' => 'The status of the overall check. Valid values:'."\n" - ."\n" - .'* Running: The check is in progress.'."\n" - .'* Finished: The check is complete.'."\n" - .'* failed: The check fails.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'TotalScore' => [ - 'description' => 'The overall score.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6453', - ], + 'Status' => ['description' => 'Overall evaluation status. Valid values:'."\n" + ."\n" + .'- Running: Evaluation in progress.'."\n" + .'- Finished: Evaluation completed.'."\n" + .'- Failed: Evaluation failed.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'TotalScore' => ['description' => 'Overall score.', 'type' => 'number', 'format' => 'double', 'example' => '0.6453', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InvalidEnterpriseRealName.NotFound', - 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', - ], + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], ], 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'A system error occurred.', - ], + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Get governance evaluation results and status', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEvaluationResults'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'governance:ListEvaluationResults', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountId\\": 0,\\n \\"RequestId\\": \\"BD57329E-131A-59F4-8746-E1CD8D7B****\\",\\n \\"Results\\": {\\n \\"EvaluationTime\\": \\"2023-12-13T03:35:00Z\\\\n\\",\\n \\"MetricResults\\": [\\n {\\n \\"ErrorInfo\\": {\\n \\"Code\\": \\"EcsInsightEnableFailed\\",\\n \\"Message\\": \\"Unable to enable ECS Insight due to a server error.\\"\\n },\\n \\"EvaluationTime\\": \\"2023-12-13T03:34:02Z\\",\\n \\"Id\\": \\"r7xdcu****\\",\\n \\"ResourcesSummary\\": {\\n \\"NonCompliant\\": 2\\n },\\n \\"Result\\": 0.67,\\n \\"Risk\\": \\"Error\\",\\n \\"Status\\": \\"Running\\",\\n \\"AccountSummary\\": {\\n \\"NonCompliant\\": 1\\n },\\n \\"PotentialScoreIncrease\\": 0.2,\\n \\"AvailableRemediation\\": [\\n {\\n \\"RemediationTemplateId\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"Status\\": \\"Running\\",\\n \\"TotalScore\\": 0.6453\\n }\\n}","type":"json"}]', - 'title' => 'ListEvaluationResults', ], - 'GenerateEvaluationReport' => [ - 'summary' => '生成治理检测报告', - 'path' => '', - 'methods' => [ - 'post', - 'get', + 'ListEvaluationScoreHistory' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'schemes' => [ - 'https', + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREgovernanceVMJHAB'], + 'tenantRelevance' => 'publicInformation', ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'StartDate', + 'in' => 'query', + 'schema' => ['description' => 'The start date of the query. Format: YYYY-MM-DD.'."\n" + ."\n" + .'You can query records from the last 180 days.', 'type' => 'string', 'required' => false, 'example' => '2024-06-11', 'title' => ''], + ], + [ + 'name' => 'EndDate', + 'in' => 'query', + 'schema' => ['description' => 'The end date of the query. Format: YYYY-MM-DD.'."\n" + ."\n" + .'By default, the historical scores from the last 7 days are returned.', 'type' => 'string', 'required' => false, 'example' => '2024-07-11', 'title' => ''], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the member accounts. This parameter is applicable only to the multi-account detection pattern.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '176618589410****', 'title' => ''], + ], + [ + 'name' => 'EvaluationDomain', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'AC9BD94C-D20C-4D27-88D4-89E8D75C051B'], + 'ScoreHistory' => [ + 'description' => 'The historical detection scores.', + 'type' => 'object', + 'properties' => [ + 'TotalScoreHistory' => [ + 'description' => 'The historical detection scores.', + 'type' => 'array', + 'items' => [ + 'description' => 'The historical detection scores.', + 'type' => 'object', + 'properties' => [ + 'EvaluationTime' => ['description' => 'The time when the score was generated, in UTC.', 'type' => 'string', 'example' => '2024-06-30T03:34:02Z', 'title' => ''], + 'Score' => ['description' => 'The score.'."\n" + ."\n" + .'Valid values: 0 to 1.', 'type' => 'number', 'format' => 'double', 'example' => '0.6753', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Retrieve historical governance detection scores', + 'summary' => 'Retrieves the historical scores of governance detection.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEvaluationScoreHistory'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'governance:ListEvaluationScoreHistory', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AC9BD94C-D20C-4D27-88D4-89E8D75C051B\\",\\n \\"ScoreHistory\\": {\\n \\"TotalScoreHistory\\": [\\n {\\n \\"EvaluationTime\\": \\"2024-06-30T03:34:02Z\\",\\n \\"Score\\": 0.6753\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'RunEvaluation' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -3039,139 +2118,500 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREgovernance9GNJ07', - ], + 'abilityTreeNodes' => ['FEATUREgovernanceMBMBHG'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the member account. This parameter is applicable only to the multi-account check pattern.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '176618589410****', 'title' => ''], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'RegionId', - 'description' => 'RegionId', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AccountId', + 'name' => 'Scope', 'in' => 'query', + 'schema' => ['description' => 'The scope of the governance maturity check. Valid values:'."\n" + ."\n" + .'- Account (default): runs a single-account governance maturity check that checks only the current account.'."\n" + .'- ResourceDirectory: runs a multi-account governance maturity check that checks all member accounts in the resource directory. Before you perform this operation, upgrade to the multi-account governance maturity check.', 'type' => 'string', 'required' => false, 'example' => 'ResourceDirectory', 'title' => ''], + ], + [ + 'name' => 'MetricIds', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The list of check item IDs to check.', + 'type' => 'array', + 'items' => ['description' => 'The check item ID.', 'type' => 'string', 'required' => false, 'example' => 'xfyve5****', 'title' => ''], 'required' => false, - 'example' => '103144549568****', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ReportType', + 'name' => 'EvaluationDomain', 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'EvaluationAccountExcelReport', - 'enum' => [ - 'EvaluationAccountReport', - 'EvaluationAccountExcelReport', - 'EvaluationMultiAccountExcelReport', - 'EvaluationAccountHtmlReport', + 'title' => '', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '2D3E2A3A-F2B8-578D-9659-3195F94A****'], ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Run governance check', + 'summary' => 'Runs a Cloud Governance Center governance check.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RunEvaluation'], + ], + ], + 'ramActions' => [ [ - 'name' => 'AccountIds', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'governance:RunEvaluation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + 'additionalActions' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D3E2A3A-F2B8-578D-9659-3195F94A****\\"\\n}","type":"json"}]', + ], + 'UpdateAccountFactoryBaseline' => [ + 'summary' => 'Updates a baseline of the account factory.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'BaselineId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The baseline ID.', 'type' => 'string', 'required' => false, 'example' => 'afb-bp1pq3emlkt27vsj****', 'title' => ''], + ], + [ + 'name' => 'BaselineName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the baseline.', 'type' => 'string', 'example' => 'Custom baseline', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'BaselineItems', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => '', + 'description' => 'The baseline items.'."\n" + ."\n" + .'You can call the [ListAccountFactoryBaselineItems](~~ListAccountFactoryBaselineItems~~) operation to query a list of baseline items supported by the account factory in Cloud Governance Center.', 'type' => 'array', 'items' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The configurations of the baseline item.', + 'type' => 'object', + 'properties' => [ + 'Config' => ['description' => 'The configurations of the baseline item. The value of this parameter is a JSON string.', 'type' => 'string', 'required' => false, 'example' => '{"EnabledServices":["CEN_TR","CDT","CMS","KMS"]}', 'title' => ''], + 'Name' => ['description' => 'The name of the baseline item.', 'type' => 'string', 'required' => false, 'example' => 'ACS-BP_ACCOUNT_FACTORY_VPC'."\n", 'title' => ''], + 'Version' => ['description' => 'The version of the baseline item.', 'type' => 'string', 'default' => '1.0', 'required' => false, 'example' => '1.0'."\n", 'title' => ''], + ], 'required' => false, - 'example' => '1319994761488600', + 'title' => '', + 'example' => '', ], 'required' => false, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the baseline.', 'type' => 'string', 'example' => 'Default baseline', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['title' => 'RegionId', 'description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => 'ResponseBaseResult<Void>', + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'AccountId' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '103144549568****', - ], - 'EvaluationScore' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.7684', - ], - 'EvaluationTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2026-01-12T07:25:33Z', - ], - 'Finished' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'true', - ], - 'ReportType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'EvaluationAccountExcelReport', - ], - 'ReportUrl' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'https://governance-prod-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/reports-html/*****', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '7DCF863F-CBBB-57C4-8AF2-5D4EE35D1EB1', - ], + 'RequestId' => ['title' => 'requestId', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C18A891D-7B04-51A1-AAC6-201727A361CE'], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InvalidEnterpriseRealName.NotFound', 'errorMessage' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], + ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'A system error occurred.', 'description' => 'A system error occurred.'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccountId\\": 0,\\n \\"EvaluationScore\\": 0.7684,\\n \\"EvaluationTime\\": \\"2026-01-12T07:25:33Z\\",\\n \\"Finished\\": \\"true\\",\\n \\"ReportType\\": \\"EvaluationAccountExcelReport\\",\\n \\"ReportUrl\\": \\"https://governance-prod-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/reports-html/*****\\",\\n \\"RequestId\\": \\"7DCF863F-CBBB-57C4-8AF2-5D4EE35D1EB1\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C18A891D-7B04-51A1-AAC6-201727A361CE\\"\\n}","type":"json"}]', + 'title' => 'UpdateAccountFactoryBaseline', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAccountFactoryBaseline'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'governance:UpdateAccountFactoryBaseline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'translator' => 'manual', ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'governance.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'governance.ap-southeast-1.aliyuncs.com', + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'governance.ap-southeast-1.aliyuncs.com', 'endpoint' => 'governance.ap-southeast-1.aliyuncs.com', 'vpc' => 'governance-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'governance.cn-hangzhou.aliyuncs.com', 'endpoint' => 'governance.cn-hangzhou.aliyuncs.com', 'vpc' => 'governance-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'governance.eu-central-1.aliyuncs.com', 'endpoint' => 'governance.eu-central-1.aliyuncs.com', 'vpc' => 'governance-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'governance.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'governance.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'governance-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'BusinessRestricted', 'message' => 'Business is restricted. Please contact your customer service manager.', 'http_code' => 400, 'description' => 'Business is restricted. Please contact your customer service manager.'], + ['code' => 'DependencyViolation.BaselineItem', 'message' => 'The dependency of %s baseline item has not been configured. Please config %s first.', 'http_code' => 400, 'description' => 'No dependency baseline items are configured. Before you can proceed, you must configure a dependency baseline item.'], + ['code' => 'DependencyViolation.Blueprint', 'message' => 'The %s blueprint has not been deployed. Please deploy the resource structure first.', 'http_code' => 400, 'description' => 'You have not deployed a dependent blueprint. You must deploy the dependent blueprint.'], + ['code' => 'DeployConflict.Blueprint', 'message' => 'The %s blueprint is being deployed. Please wait for its deployment to complete and try again.', 'http_code' => 400, 'description' => 'A blueprint is being implemented. Try again later after the blueprint is implemented.'], + ['code' => 'ExclusiveBlueprint.SSO', 'message' => 'CloudSSO and Role-Based SSO are mutually exclusive.', 'http_code' => 400, 'description' => 'Cloud SSO is mutually exclusive with Role-based SSO. We recommend that you use one of the SSO management methods.'], + ['code' => 'Forbidden.Administrator', 'message' => 'The specified account does not have the administrator permission. We recommend that you log on using an administrator account.', 'http_code' => 403, 'description' => 'The specified account does not have the administrator permission. We recommend that you log on using an administrator account.'], + ['code' => 'Forbidden.DisableAuditArchive', 'message' => 'This operation is forbidden. The specified user is not your log archive account.', 'http_code' => 403, 'description' => 'The operation is forbidden. The specified user is not a log archive account.'], + ['code' => 'InconsistentEnterpriseNameError', 'message' => 'The enterprise name of the payment account and the member account must be consistent.', 'http_code' => 400, 'description' => 'The enterprise name of the payment account and the member account must be consistent.'], + ['code' => 'IncorrectBlueprintStatus', 'message' => 'The current status of the blueprint does not support this operation.', 'http_code' => 400, 'description' => 'The current status of the blueprint does not support this operation.'], + ['code' => 'IncorrectEvaluationTaskStatus', 'message' => 'The current status of the evaluation task does not support this operation.', 'http_code' => 400, 'description' => 'The current detection status does not support this operation'], + ['code' => 'IncorrectResourceDirectorySyncTaskStatus', 'message' => 'The current status of the resource directory sync task does not support this operation.', 'http_code' => 400, 'description' => 'The current status of the resource directory sync task does not support this operation.'], + ['code' => 'InternalError', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => 'A system error occurred.'], + ['code' => 'InvalidAggregator.NotFound', 'message' => 'The specified config aggregator does not exist.', 'http_code' => 404, 'description' => 'The specified config aggregator does not exist.'], + ['code' => 'InvalidBaseline.NotFound', 'message' => 'The specified baseline does not exist.', 'http_code' => 404, 'description' => 'The specified account baseline does not exist.'], + ['code' => 'InvalidBaselineItem.NotFound', 'message' => 'The specified baseline item named %s does not exist.', 'http_code' => 404, 'description' => 'The specified baseline item does not exist.'], + ['code' => 'InvalidBlueprint.Existed', 'message' => 'The specified blueprint already exists.', 'http_code' => 400, 'description' => 'The specified blueprint already exists.'], + ['code' => 'InvalidBlueprint.NotFound', 'message' => 'The specified blueprint does not exist.', 'http_code' => 404, 'description' => 'The specified blueprint does not exist.'], + ['code' => 'InvalidEnterpriseRealName.NotFound', 'message' => 'The specified account has not passed enterprise real name verification. Please complete the verification for the account first.', 'http_code' => 404, 'description' => 'The specified account has not passed enterprise real-name verification. Please complete the verification for the account first.'], + ['code' => 'InvalidEvaluation.Scope', 'message' => 'The specified evaluation scope does not support this action.', 'http_code' => 400, 'description' => 'The operation is not supported for the scope of the current governance detection enabled'], + ['code' => 'InvalidGuardrail.NotFound', 'message' => 'The specified guardrail does not exist.', 'http_code' => 404, 'description' => 'The specified guardrail does not exist.'], + ['code' => 'InvalidIamRoleTemplate.NotFound', 'message' => 'The specified iam role template does not exist.', 'http_code' => 404, 'description' => 'The specified IAM role template does not exist.'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter %s is not valid.', 'http_code' => 400, 'description' => 'The specified parameter %s is invalid.'], + ['code' => 'InvalidParameter.Email.AlreadyUsed', 'message' => 'The email has been used.', 'http_code' => 400, 'description' => 'Mailbox already in use'], + ['code' => 'InvalidRegion.NotMatch', 'message' => 'The speicified region is invalid. Please switch to your activated region %s.', 'http_code' => 403, 'description' => 'The speicified region is invalid. Please switch to your activated region %s.'], + ['code' => 'InvalidRole.NotFound', 'message' => 'The specified role %s does not exist.', 'http_code' => 404, 'description' => 'The specified role %s does not exist.'], + ['code' => 'InvalidSamlProvider.NotFound', 'message' => 'The specified saml provider does not exist.', 'http_code' => 404, 'description' => 'The IdP for SSO does not exist.'], + ['code' => 'InvalidUser.NotFound', 'message' => 'The specified user does not exist.', 'http_code' => 404, 'description' => 'The user does not exist.'], + ['code' => 'InvalidUser.NotInWhiteList', 'message' => 'Cloud Governance Center is at the public preview stage. Please apply for use by submitting a ticket.', 'http_code' => 400, 'description' => 'Cloud Governance Center is at the public preview stage. Please apply for use by submitting a ticket.'], + ['code' => 'InvalidUser.NotResourceDirectoryMaster', 'message' => 'The specified account is not a master account of resource directory.', 'http_code' => 403, 'description' => 'The specified account is not a master account of resource directory.'], + ['code' => 'InvalidUser.StatusAbnormal', 'message' => 'The status of your account is abnormal.', 'http_code' => 403, 'description' => 'The status of your account is abnormal.'], + ['code' => 'InvalidUser.UnOpenService', 'message' => 'Your account has not activated Cloud Governance Center.', 'http_code' => 403, 'description' => 'Your account has not activated Cloud Governance Center.'], + ['code' => 'InvalidWorkload.NotFound', 'message' => 'The specified workload does not exist.', 'http_code' => 404, 'description' => 'The specified workload does not exist.'], + ['code' => 'NoPermission', 'message' => 'You are not authorized to perform this operation. Action: %s. Resource: %s.', 'http_code' => 403, 'description' => 'You are not authorized to perform this operation. Action: %s. Resource: %s.'], + ['code' => 'NoPermission.ResourceManager', 'message' => 'You are not authorized to perform this operation. Action: %s.', 'http_code' => 403, 'description' => 'You are not authorized to perform this operation. Action: %s.'], + ['code' => 'NoPermission.ServiceLinkedRole', 'message' => 'You are not authorized to create the service linked role. Service Name: %s. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', 'http_code' => 403, 'description' => 'You are not authorized to create the service linked role. Service Name: %s. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission.'], + ['code' => 'OperationDenied.ExistedBlueprint', 'message' => 'Specified operation is denied as there are still blueprint under this account.', 'http_code' => 400, 'description' => 'A blueprint exists in the current account. You cannot perform the operation.'], + ['code' => 'ResourceDirectory.NotOpen', 'message' => 'The specified account has not enabled resource directory.', 'http_code' => 400, 'description' => 'The specified account has not enabled resource directory.'], + ['code' => 'ResourceExplorerLimit.Exceed', 'message' => 'The maximum number of %s you listed is exceeded. The maximum value is %s.', 'http_code' => 400, 'description' => 'The maximum number of %s you listed is exceeded. The maximum value is %s.'], + ['code' => 'InvalidConversation.NotFount', 'message' => 'The specified conversation does not exist or not belongs to the user.', 'http_code' => 404, 'description' => 'The conversation ID does not exist or does not belong to the current user'], + ['code' => 'InvalidConversation.NotFound', 'message' => 'The specified conversation does not exist or not belongs to the user.', 'http_code' => 404, 'description' => 'The current conversation does not exist or the conversation does not belong to the current user'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchEnrollAccounts'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAccountFactoryBaseline'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEnrolledAccount'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEvaluationMetadata'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RunEvaluation'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccountFactoryBaselines'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEvaluationResults'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAccountFactoryBaseline'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnrollAccount'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccountFactoryBaselineItems'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountFactoryBaseline'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAccountFactoryBaseline'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEnrolledAccounts'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEvaluationMetricDetails'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEvaluationScoreHistory'], ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'governance.eu-central-1.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'Governance', + 'productName' => 'Cloud Governance Center', + 'ramCodes' => ['governance'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [ + [ + 'name' => 'acs:ResourceGroupId', + 'schema' => ['type' => 'String', 'description' => ''], + ], ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'governance.cn-shanghai-finance-1.aliyuncs.com', + 'ramActions' => [ + [ + 'apiName' => 'ListEvaluationMetricDetails', + 'description' => '', + 'operationType' => 'list', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:ListEvaluationMetricDetails', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAccountFactoryBaseline', + 'description' => '', + 'operationType' => 'get', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:GetAccountFactoryBaseline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetEnrolledAccount', + 'description' => '', + 'operationType' => 'get', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:GetEnrolledAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListEvaluationMetadata', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'governance:ListEvaluationMetadata', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EnrollAccount', + 'description' => '', + 'operationType' => 'create', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:EnrollAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListEvaluationResults', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'governance:ListEvaluationResults', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateAccountFactoryBaseline', + 'description' => '', + 'operationType' => 'create', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:CreateAccountFactoryBaseline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListEvaluationScoreHistory', + 'description' => '', + 'operationType' => 'get', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:ListEvaluationScoreHistory', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListEnrolledAccounts', + 'description' => '', + 'operationType' => 'list', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:ListEnrolledAccounts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BatchEnrollAccounts', + 'description' => '', + 'operationType' => 'create', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:BatchEnrollAccounts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RunEvaluation', + 'description' => '', + 'operationType' => 'none', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:RunEvaluation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteAccountFactoryBaseline', + 'description' => '', + 'operationType' => 'delete', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:DeleteAccountFactoryBaseline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAccountFactoryBaselineItems', + 'description' => '', + 'operationType' => 'list', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:ListAccountFactoryBaselineItems', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GenerateEvaluationReport', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'governance:GenerateEvaluationReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateAccountFactoryBaseline', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'governance:UpdateAccountFactoryBaseline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAccountFactoryBaselines', + 'description' => '', + 'operationType' => 'list', + 'additionalActions' => [], + 'ramAction' => [ + 'action' => 'governance:ListAccountFactoryBaselines', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'Governance', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'resourceTypes' => [], ], ]; |
