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. |
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
¶
create
async
¶
create(create: RuleCreate | dict) -> Rule
Create a new rule.
| PARAMETER | DESCRIPTION |
|---|---|
create
|
A RuleCreate object or dictionary with configuration for the new rule.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Rule
|
The created Rule. |
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. |