sift_client.resources.rules
¶
| CLASS | DESCRIPTION |
|---|---|
RulesAPIAsync |
High-level API for interacting with rules. |
RulesAPIAsync
¶
RulesAPIAsync(sift_client: SiftClient)
Bases: ResourceBase
High-level API for interacting with rules.
This class provides a Pythonic, notebook-friendly interface for interacting with the RulesAPI. It handles automatic handling of gRPC services, seamless type conversion, and clear error handling.
All methods in this class use the Rule class from the low-level wrapper, which is a user-friendly representation of a rule using standard Python data structures and types.
Initialize the RulesAPI.
| PARAMETER | DESCRIPTION |
|---|---|
sift_client
|
The Sift client to use.
TYPE:
|
| METHOD | DESCRIPTION |
|---|---|
archive |
Archive a rule. |
batch_update_or_create_rules |
Batch update or create multiple rules. |
create |
Create a new rule. |
find |
Find a single rule matching the given query. Takes the same arguments as |
get |
Get a Rule. |
list_ |
List rules with optional filtering. |
unarchive |
Unarchive a rule. |
update |
Update a Rule. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
client |
TYPE:
|
grpc_client |
TYPE:
|
rest_client |
TYPE:
|
archive
async
¶
batch_update_or_create_rules
async
¶
batch_update_or_create_rules(
rules: Sequence[RuleCreate | RuleUpdate],
*,
override_expression_validation: bool = False,
) -> list[Rule]
Batch update or create multiple rules.
| PARAMETER | DESCRIPTION |
|---|---|
rules
|
List of rule creates or updates to apply. RuleUpdate objects must have resource_id set.
TYPE:
|
override_expression_validation
|
When true, the rules will be created even if the expressions are invalid.
TYPE:
|
| WARNS | DESCRIPTION |
|---|---|
SiftWarning
|
If not all rules are created or updated. |
| RETURNS | DESCRIPTION |
|---|---|
list[Rule]
|
List of updated or created Rules. |
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If the update/create fails or if not all rules were updated/created. |
create
async
¶
create(
create: RuleCreate | dict | Sequence[RuleCreate | dict],
*,
override_expression_validation: bool = True,
) -> Rule | list[Rule]
Create a new rule.
| PARAMETER | DESCRIPTION |
|---|---|
create
|
A RuleCreate object, a dictionary with configuration for the new rule, or a list of the previously mentioned objects.
TYPE:
|
override_expression_validation
|
When true, the rule will be created even if the expression is invalid.
TYPE:
|
| WARNS | DESCRIPTION |
|---|---|
SiftWarning
|
If not all rules are created. |
| RETURNS | DESCRIPTION |
|---|---|
Rule | list[Rule]
|
The created Rule (if a single dictionary or RuleCreate was provided) otherwise a list of the created rules. |
find
async
¶
find(**kwargs) -> Rule | None
Find a single rule matching the given query. Takes the same arguments as list. If more than one rule is found,
raises an error.
| PARAMETER | DESCRIPTION |
|---|---|
**kwargs
|
Keyword arguments to pass to
DEFAULT:
|
| RETURNS | DESCRIPTION |
|---|---|
Rule | None
|
The Rule found or None. |
get
async
¶
get(
*,
rule_id: str | None = None,
client_key: str | None = None,
) -> Rule
Get a Rule.
| PARAMETER | DESCRIPTION |
|---|---|
rule_id
|
The ID of the rule.
TYPE:
|
client_key
|
The client key of the rule.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Rule
|
The Rule. |
list_
async
¶
list_(
*,
name: str | None = None,
names: list[str] | None = None,
name_contains: str | None = None,
name_regex: str | Pattern | None = None,
rule_ids: list[str] | None = None,
client_keys: list[str] | None = None,
created_after: datetime | None = None,
created_before: datetime | None = None,
modified_after: datetime | None = None,
modified_before: datetime | None = None,
created_by: Any | str | None = None,
modified_by: Any | str | None = None,
metadata: list[Any] | None = None,
assets: list[str] | list[Asset] | None = None,
asset_tags: list[str | Tag] | None = None,
description_contains: str | None = None,
include_archived: bool = False,
filter_query: str | None = None,
order_by: str | None = None,
limit: int | None = None,
) -> list[Rule]
List rules with optional filtering.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
Exact name of the rule.
TYPE:
|
names
|
List of rule names to filter by.
TYPE:
|
name_contains
|
Partial name of the rule.
TYPE:
|
name_regex
|
Regular expression string to filter rules by name.
TYPE:
|
client_keys
|
Client keys of rules to filter to.
TYPE:
|
rule_ids
|
IDs of rules to filter to.
TYPE:
|
created_after
|
Rules created after this datetime.
TYPE:
|
created_before
|
Rules created before this datetime.
TYPE:
|
modified_after
|
Rules modified after this datetime.
TYPE:
|
modified_before
|
Rules modified before this datetime.
TYPE:
|
created_by
|
Filter rules created by this User or user ID.
TYPE:
|
modified_by
|
Filter rules last modified by this User or user ID.
TYPE:
|
metadata
|
Filter rules by metadata criteria.
TYPE:
|
assets
|
Filter rules associated with any of these Assets.
TYPE:
|
asset_tags
|
Filter rules associated with any Assets that have these Tag IDs.
TYPE:
|
description_contains
|
Partial description of the rule.
TYPE:
|
include_archived
|
If True, include archived rules in results.
TYPE:
|
filter_query
|
Explicit CEL query to filter rules.
TYPE:
|
order_by
|
Field and direction to order results by.
TYPE:
|
limit
|
Maximum number of rules to return. If None, returns all matches.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Rule]
|
A list of Rules that matches the filter. |
unarchive
async
¶
update
async
¶
update(
rule: Rule | str,
update: RuleUpdate | dict,
*,
version_notes: str | None = None,
) -> Rule
Update a Rule.
| PARAMETER | DESCRIPTION |
|---|---|
rule
|
The Rule or rule ID to update.
TYPE:
|
update
|
Updates to apply to the Rule.
TYPE:
|
version_notes
|
Notes to include in the rule version.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Rule
|
The updated Rule. |