Creates a rule for a specified account group based on a template or creates a custom rule based on Function Compute to check the compliance of resources. After a rule is created, the rule automatically triggers an evaluation. Cloud Config then automatically triggers evaluations based on the trigger mechanism of the rule. You can also manually trigger evaluations.
Operation description
Limits
Each management account and delegated administrator account can create a maximum of 200 rules.
Background information
Cloud Config supports the following methods to create rules:
-
Create a rule based on a template
A rule template is a rule function that Cloud Config has built in Function Compute. You can use a rule template to quickly create a rule. For more information about rules, see Definition and running principle of rules.
-
Create a rule based on Function Compute
A custom function rule is a custom rule whose code is hosted by a function in Function Compute. If the preset rule templates of Cloud Config cannot meet your requirements for checking resource compliance, you can write function code to perform compliance checks in complex scenarios. For more information about custom function rules, see Definition and running principle of custom function rules.
Description
This topic provides an example on how to use the rule template "required-tags" to create a rule for the account group ca-a4e5626622af0079****. The return result shows that the rule is created, and the rule ID is cr-4e3d626622af0080****.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
config:CreateAggregateConfigRule |
create |
*AggregateConfigRule
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| ConfigRuleName |
string |
Yes |
The rule name. |
required-tags |
| Description |
string |
No |
The rule description. |
A maximum of six tag key-value pairs can be defined. If the resource has all the specified tags, the resource is considered "compliant" |
| InputParameters |
object |
No |
The rule parameters. |
{"tag1Key":"ECS","tag1Value":"test"} |
| ConfigRuleTriggerTypes |
string |
Yes |
The trigger mechanism of the rule. Valid values:
|
ConfigurationItemChangeNotification |
| MaximumExecutionFrequency |
string |
No |
The execution frequency of the rule. Valid values:
Note
This parameter is required when Valid values:
|
One_Hour |
| ResourceTypesScope |
array |
Yes |
The resource types to be evaluated by the rule. Separate multiple resource types with commas (,). |
ACS::ECS::Instance |
|
string |
No |
The resource types to be evaluated by the rule. Separate multiple resource types with commas (,). |
ACS::ECS::Instance |
|
| RiskLevel |
integer |
Yes |
The risk level of the rule. Valid values:
Valid values:
|
1 |
| ClientToken |
string |
No |
Ensures the idempotency of the request. Generate a unique value from your client to ensure that the value is unique among different requests. ClientToken supports only ASCII characters and cannot exceed 64 characters in length. |
1594295238-f9361358-5843-4294-8d30-b5183fac**** |
| AggregatorId |
string |
Yes |
The account group ID. For information about how to obtain the account group ID, see ListAggregators. |
ca-a4e5626622af0079**** |
| RegionIdsScope |
string |
No |
The rule applies only to resources in the specified region IDs. Separate multiple region IDs with commas (,). |
cn-hangzhou |
| ExcludeRegionIdsScope |
string |
No |
The rule does not apply to resources in the specified region IDs, which means resources in those regions are not evaluated. Separate multiple region IDs with commas (,). |
cn-shanghai |
| ResourceIdsScope |
string |
No |
The rule applies only to the specified resource IDs. Separate multiple resource IDs with commas (,). |
lb-5cmbowstbkss9ta03**** |
| ExcludeResourceIdsScope |
string |
No |
The rule does not apply to the specified resource IDs, which means those resources are not evaluated. Separate multiple resource IDs with commas (,). |
lb-t4nbowvtbkss7t326**** |
| ResourceGroupIdsScope |
string |
No |
The rule applies only to resources in the specified resource group IDs. Separate multiple resource group IDs with commas (,). |
rg-aekzc7r7rhx**** |
| ExcludeResourceGroupIdsScope |
string |
No |
The rule does not apply to resources in the specified resource group IDs, which means resources in those resource groups are not evaluated. Separate multiple resource group IDs with commas (,). |
rg-bnczc6r7rml**** |
TagKeyScope
deprecated
|
string |
No |
[Deprecated] Use the The rule applies only to resources that are bound with the specified tags. Separate multiple tags with commas (,). Note
This parameter applies only to rule templates. |
ECS |
TagValueScope
deprecated
|
string |
No |
[Deprecated] Use the The rule applies only to resources that are bound with the specified tags. Note
This parameter applies only to rule templates. |
test |
| TagKeyLogicScope |
string |
No |
The logical relationship when the This parameter can also be used with the deprecated Valid values:
Valid values:
|
AND |
| TagsScope |
array<object> |
No |
The tag scope. |
|
|
object |
No |
|||
| TagKey |
string |
No |
The tag key of the resource. |
key-1 |
| TagValue |
string |
No |
The tag value of the resource. |
value-1 |
| ExcludeTagsScope |
array<object> |
No |
The excluded tag scope. |
|
|
object |
No |
|||
| TagKey |
string |
No |
The tag key of the resource to exclude. |
key-2 |
| TagValue |
string |
No |
The tag value of the resource to exclude. |
value-2 |
| SourceOwner |
string |
Yes |
The rule type. Valid values:
Valid values:
|
ALIYUN |
| SourceIdentifier |
string |
Yes |
The rule identifier.
|
required-tags |
| FolderIdsScope |
string |
No |
The rule applies only to resources within member accounts under the specified resource directory folder IDs. Separate multiple folder IDs with commas (,). Note
|
fd-ZtHsRH**** |
| ExcludeFolderIdsScope |
string |
No |
The rule does not apply to resources within member accounts under the specified resource directory folder IDs, which means those resources are not evaluated. Separate multiple folder IDs with commas (,). Note
|
fd-pWmkqZ**** |
| ExcludeAccountIdsScope |
string |
No |
The rule does not apply to resources within the specified member accounts, which means the evaluation is not executed for those resources. Separate multiple member account IDs with commas (,). Note
This parameter applies only to rule templates. |
120886317861**** |
| AccountIdsScope |
string |
No |
The rule applies only to resources within the specified member accounts. Separate multiple member account IDs with commas (,). Note
This parameter applies only to rule templates. |
115748125982**** |
| Conditions |
string |
No |
The conditions of the custom condition rule in JSON format. |
{"ComplianceConditions":"{\"operator\":\"and\",\"children\":[{\"operator\":\"StringEquals\",\"featurePath\":\"$.Status\",\"desired\":\"1\",\"featureSource\":\"CONFIGURATION\"}]}"} |
| ExtendContent |
string |
No |
The extended content. Currently, this parameter is used only to set the trigger time in conjunction with the 24-hour periodic trigger. |
{"fixedHour":"12"} |
| Tag |
array<object> |
No |
The tags of the created rule. |
|
|
object |
No |
The tag. |
||
| Key |
string |
No |
The tag key of the resource. A maximum of 20 tag keys can be bound. |
key-1 |
| Value |
string |
No |
The tag value of the resource. A maximum of 20 tag values can be bound. |
value-1 |
| ResourceNameScope |
string |
No |
The rule applies only to resources with the specified resource name. |
i-xxx |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
The response parameters. |
||
| ConfigRuleId |
string |
The rule ID. |
cr-4e3d626622af0080**** |
| RequestId |
string |
The request ID. |
5895065A-196C-4254-8AD8-14EFC31EEF50 |
Examples
Success response
JSON format
{
"ConfigRuleId": "cr-4e3d626622af0080****",
"RequestId": "5895065A-196C-4254-8AD8-14EFC31EEF50"
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | ExceedMaxRuleCount | The maximum number of rules is exceeded. | |
| 400 | ConfigRuleNotExists | The ConfigRule does not exist. | The rule does not exist. |
| 400 | ConfigRuleExists | The ConfigRule already exists. | |
| 400 | Invalid.AggregatorId.Value | The specified AggregatorId is invalid. | The specified aggregator ID does not exist or you are not authorized to use the aggregator. |
| 403 | AggregatorMemberNoPermission | The aggregator member is not authorized to perform the operation. | The aggregator member is not authorized to perform the operation. |
| 404 | AccountNotExisted | Your account does not exist. | |
| 503 | ServiceUnavailable | The request has failed due to a temporary failure of the server. | The request has failed due to a temporary failure of the server. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.