Skip to main content

rules

Creates, updates, deletes, gets or lists a rules resource.

Overview

Namerules
TypeResource
Idcloudflare.cloudforce_one.rules

Fields

The following fields are returned by SELECT queries:

Rule details.

NameDatatypeDescription
idstring (uuid) (example: 550e8400-e29b-41d4-a716-446655440000)
namestring (example: block-malicious-workers)
contentstring (example: rule example { condition: true })
created_atnumber
created_bystring (example: user@example.com)
descriptionstring (example: Detects malicious proxy workers)
enabledbooleanWhether this rule is active for dice consumers.
is_publicbooleanWhether this rule is visible to other internal accounts.
namespacesarray
updated_atnumber
updated_bystring (example: user@example.com)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectaccount_id, idGet a single rule by ID.
listselectaccount_idnamespace, recursive, search, is_public, limit, offsetList all rules for an account with optional filtering.
cloudforce_one_create_ruleinsertaccount_id, name, namespaces, contentCreate a new detection rule.
cloudforce_one_update_rulereplaceaccount_id, idUpdate an existing rule.
cloudforce_one_delete_ruledeleteaccount_id, idDelete an existing rule.
cloudforce_one_delete_all_rulesdeleteaccount_idDelete all rules in an account.
validateexecaccount_id, name, namespaces, contentValidate rule syntax, name uniqueness, namespace, and meta checks.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
account_idstringThe Cloudflare account ID.
idstringResource ID.
is_publicstringFilter by public visibility.
limitnumber
namespacestringFilter by namespace. Repeat the parameter to filter by multiple namespaces (e.g. namespace=foo&namespace=bar).
offsetnumber
recursivestring

SELECT examples

Get a single rule by ID.

SELECT
id,
name,
content,
created_at,
created_by,
description,
enabled,
is_public,
namespaces,
updated_at,
updated_by
FROM cloudflare.cloudforce_one.rules
WHERE account_id = '{{ account_id }}' -- required
AND id = '{{ id }}' -- required
;

INSERT examples

Create a new detection rule.

INSERT INTO cloudflare.cloudforce_one.rules (
actions,
content,
description,
enabled,
is_public,
name,
namespaces,
account_id
)
SELECT
'{{ actions }}',
'{{ content }}' /* required */,
'{{ description }}',
{{ enabled }},
{{ is_public }},
'{{ name }}' /* required */,
'{{ namespaces }}' /* required */,
'{{ account_id }}'
RETURNING
id,
name,
content,
created_at,
created_by,
description,
enabled,
is_public,
namespaces,
updated_at,
updated_by
;

REPLACE examples

Update an existing rule.

REPLACE cloudflare.cloudforce_one.rules
SET
content = '{{ content }}',
description = '{{ description }}',
enabled = {{ enabled }},
is_public = {{ is_public }},
name = '{{ name }}',
namespaces = '{{ namespaces }}'
WHERE
account_id = '{{ account_id }}' --required
AND id = '{{ id }}' --required
RETURNING
id,
name,
content,
created_at,
created_by,
description,
enabled,
is_public,
namespaces,
updated_at,
updated_by;

DELETE examples

Delete an existing rule.

DELETE FROM cloudflare.cloudforce_one.rules
WHERE account_id = '{{ account_id }}' --required
AND id = '{{ id }}' --required
;

Lifecycle Methods

Validate rule syntax, name uniqueness, namespace, and meta checks.

EXEC cloudflare.cloudforce_one.rules.validate
@account_id='{{ account_id }}' --required
@@json=
'{
"content": "{{ content }}",
"excludeRuleId": "{{ excludeRuleId }}",
"name": "{{ name }}",
"namespaces": "{{ namespaces }}"
}'
;