View a markdown version of this page

UpdateRule - AWS Network Security Manager

UpdateRule

Updates the specified rule. To prevent conflicting concurrent updates, provide the current updateToken. Use isPublished to publish the update or keep the rule as a draft.

Request Syntax

PATCH /rules/ruleIdentifier HTTP/1.1 Content-type: application/json { "clientToken": "string", "configuration": JSON value, "isPublished": boolean, "ruleDescription": "string", "ruleType": "string", "updateToken": "string" }

URI Request Parameters

The request uses the following URI parameters.

ruleIdentifier

The identifier of the rule. This is the rule's Amazon Resource Name (ARN).

Length Constraints: Minimum length of 1. Maximum length of 1010.

Required: Yes

Request Body

The request accepts the following data in JSON format.

clientToken

A unique, case-sensitive token that you provide to ensure that the operation completes no more than one time. If you retry a request with the same client token and the same parameters, the service returns the result of the original successful request.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [\x21-\x7E]+

Required: No

configuration

The firewall configuration for the rule, as a JSON document. The structure depends on the rule's firewall type and rule type. For an AWS WAF INSPECTION rule, provide an AWS WAF rule group. For an AWS WAF CONFIGURATION rule, provide a single web ACL setting, such as DefaultAction or VisibilityConfig; use wafConfigDataType to declare which setting the document contains. For the schema of each setting and complete examples, see Writing rule configurations in the AWS Network Security Manager Developer Guide.

Type: JSON value

Required: No

isPublished

Specifies whether to publish the resource. When true, the resource is saved in published (ACTIVE) state. When false, it is saved as a draft (DRAFT).

Type: Boolean

Required: Yes

ruleDescription

A description of the rule.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 256.

Pattern: [a-zA-Z0-9 _.:/=+\-@]*

Required: No

ruleType

The type of the rule. CONFIGURATION rules contain firewall settings, and INSPECTION rules contain rule groups.

Type: String

Valid Values: CONFIGURATION | INSPECTION

Required: No

updateToken

A token used for optimistic concurrency control. Each read and write returns an updateToken. Provide the most recent value on your next update to detect and prevent conflicting concurrent modifications.

Type: String

Length Constraints: Fixed length of 36.

Pattern: ([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "configuration": JSON value, "firewallType": "string", "hasPublishedVersion": boolean, "isSnapshot": boolean, "ruleArn": "string", "ruleDescription": "string", "ruleId": "string", "ruleName": "string", "ruleType": "string", "status": "string", "updatedAt": "string", "updateToken": "string", "version": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

configuration

The firewall configuration for the rule, as a JSON document. The structure depends on the rule's firewall type and rule type.

Type: JSON value

firewallType

The firewall type associated with the resource.

Type: String

Valid Values: WAF

hasPublishedVersion

Specifies whether a published version of the resource exists.

Type: Boolean

isSnapshot

Specifies whether the resource is a snapshot of a published version.

Type: Boolean

ruleArn

The Amazon Resource Name (ARN) of the rule.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 1010.

Pattern: arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:(.+)

ruleDescription

A description of the rule.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 256.

Pattern: [a-zA-Z0-9 _.:/=+\-@]*

ruleId

The service-generated id of the rule.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-z0-9]{1,64}

ruleName

The name of the rule.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9][a-zA-Z0-9 _.:/=+\-@]*

ruleType

The type of the rule. CONFIGURATION rules contain firewall settings, and INSPECTION rules contain rule groups.

Type: String

Valid Values: CONFIGURATION | INSPECTION

status

The current status of the resource: DRAFT (unpublished, editable) or ACTIVE (published, in use).

Type: String

Valid Values: DRAFT | ACTIVE | DISABLED

updatedAt

The time when the resource was last updated.

Type: Timestamp

updateToken

A token used for optimistic concurrency control. Each read and write returns an updateToken. Provide the most recent value on your next update to detect and prevent conflicting concurrent modifications.

Type: String

Length Constraints: Fixed length of 36.

Pattern: ([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})

version

The version of the resource.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 10.

Pattern: [1-9][0-9]*

Errors

For information about the errors that are common to all actions, see Common Error Types.

AccessDeniedException

You do not have sufficient permissions to perform this action.

HTTP Status Code: 403

ConflictException

The request conflicts with the current state of the resource. For example, the resource was modified concurrently, or it is in a state that does not allow the requested operation.

resourceId

The ID of the resource that is in conflict with the request.

resourceType

The type of the resource that is in conflict with the request.

HTTP Status Code: 409

InternalServerException

The request processing failed because of an internal error in the service. This is a retryable error.

HTTP Status Code: 500

ResourceNotFoundException

The specified resource was not found. Verify that the resource identifier is correct and that the resource exists, then try your request again.

resourceId

The ID of the resource that could not be found.

resourceType

The type of the resource that could not be found.

HTTP Status Code: 404

ServiceQuotaExceededException

The request would exceed a service quota.

quotaCode

The code that identifies the service quota that was exceeded.

resourceId

The ID of the resource associated with the quota that was exceeded.

resourceType

The type of the resource associated with the quota that was exceeded.

serviceCode

The code for the AWS service that owns the quota that was exceeded.

HTTP Status Code: 402

ThrottlingException

The request was denied because of request throttling. Reduce your request rate and try again.

retryAfterSeconds

The number of seconds to wait before retrying the request.

HTTP Status Code: 429

ValidationException

The request failed validation. For details, see the reason and fieldList members of the response.

fieldList

The list of request fields that failed validation, if any.

reason

The reason that the request failed validation.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: