Updating an Organization Rule
Function
Updating an Organization Rule
Calling Method
For details, see Calling APIs.
URI
PUT /v1/resource-manager/organizations/{organization_id}/policy-assignments/{organization_policy_assignment_id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
organization_id |
Yes |
String |
Specifies the organization ID. Maximum: 34 |
organization_policy_assignment_id |
Yes |
String |
Specifies the organization rule ID. Maximum: 32 |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
excluded_accounts |
No |
Array of strings |
Specifies the accounts to be excluded from the rule. Maximum: 32 |
organization_policy_assignment_name |
Yes |
String |
Specifies the organization rule name. Maximum: 60 |
managed_policy_assignment_metadata |
No |
Specifies the metadata of a managed rule. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
description |
No |
String |
Specifies the rule description. Maximum: 512 |
period |
No |
String |
Specifies the trigger period. |
parameters |
No |
Map<String,PolicyParameterValue> |
Specifies the input parameter. |
policy_filter |
No |
PolicyFilterDefinition object |
Specifies the policy filter of a rule. |
policy_definition_id |
Yes |
String |
Specifies the identifier of a predefined policy. Maximum: 36 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
value |
No |
Object |
Specifies the value of the rule parameter. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
region_id |
No |
String |
Specifies the region ID. Maximum: 128 |
resource_provider |
No |
String |
Specifies the cloud service name. Maximum: 128 |
resource_type |
No |
String |
Specifies the resource type. Maximum: 128 |
resource_id |
No |
String |
Specifies the resource ID. Maximum: 512 |
tag_key |
No |
String |
Specifies the tag key. Maximum: 128 |
tag_value |
No |
String |
Specifies the tag value. Maximum: 256 |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
owner_id |
String |
Specifies the organization rule creator. |
organization_id |
String |
Specifies the organization ID. |
organization_policy_assignment_urn |
String |
Specifies the unique ID of the organization rule. |
organization_policy_assignment_id |
String |
Specifies the organization rule ID. |
organization_policy_assignment_name |
String |
Specifies the organization rule name. |
description |
String |
Specifies the description information. |
period |
String |
Specifies the trigger period. |
policy_filter |
PolicyFilterDefinition object |
Specifies the policy filter of a rule. |
parameters |
Map<String,PolicyParameterValue> |
Specifies the rule parameters. |
policy_definition_id |
String |
Specifies the policy ID. |
created_at |
String |
Specifies the creation time. |
updated_at |
String |
Specifies the update time. |
Parameter |
Type |
Description |
---|---|---|
region_id |
String |
Specifies the region ID. Maximum: 128 |
resource_provider |
String |
Specifies the cloud service name. Maximum: 128 |
resource_type |
String |
Specifies the resource type. Maximum: 128 |
resource_id |
String |
Specifies the resource ID. Maximum: 512 |
tag_key |
String |
Specifies the tag key. Maximum: 128 |
tag_value |
String |
Specifies the tag value. Maximum: 256 |
Parameter |
Type |
Description |
---|---|---|
value |
Object |
Specifies the value of the rule parameter. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Specifies the error code. |
error_msg |
String |
Specifies the error message. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Specifies the error code. |
error_msg |
String |
Specifies the error message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Specifies the error code. |
error_msg |
String |
Specifies the error message. |
Example Requests
Updating an Organization Rule
PUT https://{endpoint}/v1/resource-manager/organizations/{organization_id}/policy-assignments/{organization_policy_assignment_id} { "organization_policy_assignment_name" : "allowed-images-by-id", "managed_policy_assignment_metadata" : { "description" : "The ECS resource is non-compliant if the image it used is not in the allowed list.", "parameters" : { "listOfAllowedImages" : { "value" : [ "ea0d6e0e-99c3-406d-a873-3bb45462b624" ] } }, "policy_filter" : { "resource_provider" : "ecs", "resource_type" : "cloudservers" }, "policy_definition_id" : "5fa265c0aa1e6afc05a0ff07" } }
Example Responses
Status code: 200
Operation succeeded.
{ "owner_id" : "e74e043fab784a45ad88f5ef6a4bcffc", "organization_id" : "o-doxbpkzqsdd51ti1k27w2y8fitakrknp", "organization_policy_assignment_urn" : "rms::e74e043fab784a45ad88f5ef6a4bcffc:organizationPolicyAssignment:o-doxbpkzqsdd51ti1k27w2y8fitakrknp/d02b7fa9d5a74e638c1402d0868f71fd", "organization_policy_assignment_id" : "d02b7fa9d5a74e638c1402d0868f71fd", "organization_policy_assignment_name" : "allowed-images-by-id", "description" : "The ECS resource is non-compliant if the image it used is not in the allowed list.", "period" : null, "policy_filter" : { "region_id" : null, "resource_provider" : "evs", "resource_type" : "volumes", "resource_id" : null, "tag_key" : null, "tag_value" : null }, "policy_definition_id" : "5fa265c0aa1e6afc05a0ff07", "parameters" : { }, "created_at" : "2022-01-18T06:37:54.432Z", "updated_at" : "2022-01-18T06:37:54.432Z" }
SDK Sample Code
The SDK sample code is as follows.
Updating an Organization Rule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.GlobalCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.config.v1.region.ConfigRegion; import com.huaweicloud.sdk.config.v1.*; import com.huaweicloud.sdk.config.v1.model.*; import java.util.Map; import java.util.HashMap; public class UpdateOrganizationPolicyAssignmentSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new GlobalCredentials() .withAk(ak) .withSk(sk); ConfigClient client = ConfigClient.newBuilder() .withCredential(auth) .withRegion(ConfigRegion.valueOf("<YOUR REGION>")) .build(); UpdateOrganizationPolicyAssignmentRequest request = new UpdateOrganizationPolicyAssignmentRequest(); OrganizationPolicyAssignmentRequest body = new OrganizationPolicyAssignmentRequest(); PolicyFilterDefinition policyFilterManagedPolicyAssignmentMetadata = new PolicyFilterDefinition(); policyFilterManagedPolicyAssignmentMetadata.withResourceProvider("ecs") .withResourceType("cloudservers"); PolicyParameterValue parametersParameters = new PolicyParameterValue(); parametersParameters.withValue("[ea0d6e0e-99c3-406d-a873-3bb45462b624]"); Map<String, PolicyParameterValue> listManagedPolicyAssignmentMetadataParameters = new HashMap<>(); listManagedPolicyAssignmentMetadataParameters.put("listOfAllowedImages", parametersParameters); ManagedPolicyAssignmentMetadata managedPolicyAssignmentMetadatabody = new ManagedPolicyAssignmentMetadata(); managedPolicyAssignmentMetadatabody.withDescription("The ECS resource is non-compliant if the image it used is not in the allowed list.") .withParameters(listManagedPolicyAssignmentMetadataParameters) .withPolicyFilter(policyFilterManagedPolicyAssignmentMetadata) .withPolicyDefinitionId("5fa265c0aa1e6afc05a0ff07"); body.withManagedPolicyAssignmentMetadata(managedPolicyAssignmentMetadatabody); body.withOrganizationPolicyAssignmentName("allowed-images-by-id"); request.withBody(body); try { UpdateOrganizationPolicyAssignmentResponse response = client.updateOrganizationPolicyAssignment(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Updating an Organization Rule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import GlobalCredentials from huaweicloudsdkconfig.v1.region.config_region import ConfigRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkconfig.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = GlobalCredentials(ak, sk) client = ConfigClient.new_builder() \ .with_credentials(credentials) \ .with_region(ConfigRegion.value_of("<YOUR REGION>")) \ .build() try: request = UpdateOrganizationPolicyAssignmentRequest() policyFilterManagedPolicyAssignmentMetadata = PolicyFilterDefinition( resource_provider="ecs", resource_type="cloudservers" ) parametersParameters = PolicyParameterValue( value="[ea0d6e0e-99c3-406d-a873-3bb45462b624]" ) listParametersManagedPolicyAssignmentMetadata = { "listOfAllowedImages": parametersParameters } managedPolicyAssignmentMetadatabody = ManagedPolicyAssignmentMetadata( description="The ECS resource is non-compliant if the image it used is not in the allowed list.", parameters=listParametersManagedPolicyAssignmentMetadata, policy_filter=policyFilterManagedPolicyAssignmentMetadata, policy_definition_id="5fa265c0aa1e6afc05a0ff07" ) request.body = OrganizationPolicyAssignmentRequest( managed_policy_assignment_metadata=managedPolicyAssignmentMetadatabody, organization_policy_assignment_name="allowed-images-by-id" ) response = client.update_organization_policy_assignment(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Updating an Organization Rule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global" config "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/config/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/config/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/config/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := global.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := config.NewConfigClient( config.ConfigClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.UpdateOrganizationPolicyAssignmentRequest{} resourceProviderPolicyFilter:= "ecs" resourceTypePolicyFilter:= "cloudservers" policyFilterManagedPolicyAssignmentMetadata := &model.PolicyFilterDefinition{ ResourceProvider: &resourceProviderPolicyFilter, ResourceType: &resourceTypePolicyFilter, } var valueParameters interface{} = "[ea0d6e0e-99c3-406d-a873-3bb45462b624]" parametersParameters := model.PolicyParameterValue{ Value: &valueParameters, } var listParametersManagedPolicyAssignmentMetadata = map[string](model.PolicyParameterValue){ "listOfAllowedImages": parametersParameters, } descriptionManagedPolicyAssignmentMetadata:= "The ECS resource is non-compliant if the image it used is not in the allowed list." managedPolicyAssignmentMetadatabody := &model.ManagedPolicyAssignmentMetadata{ Description: &descriptionManagedPolicyAssignmentMetadata, Parameters: listParametersManagedPolicyAssignmentMetadata, PolicyFilter: policyFilterManagedPolicyAssignmentMetadata, PolicyDefinitionId: "5fa265c0aa1e6afc05a0ff07", } request.Body = &model.OrganizationPolicyAssignmentRequest{ ManagedPolicyAssignmentMetadata: managedPolicyAssignmentMetadatabody, OrganizationPolicyAssignmentName: "allowed-images-by-id", } response, err := client.UpdateOrganizationPolicyAssignment(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
Operation succeeded. |
400 |
Invalid parameters. |
403 |
Authentication failed or you do not have the operation permissions. |
500 |
Server error. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot