Skip to main content

Class: ModelSecurityCustomRulesClient

Defined in: src/model-security/custom-rules-client.ts:68

Manage custom rules, group assignments, archives and historical snapshots.

Constructors​

Constructor​

new ModelSecurityCustomRulesClient(opts): ModelSecurityCustomRulesClient;

Defined in: src/model-security/custom-rules-client.ts:72

Parameters​

ParameterType
optsModelSecurityCustomRulesClientOptions

Returns​

ModelSecurityCustomRulesClient

Methods​

list()​

list(opts?): Promise<objectOutputType<{
pagination: ZodObject<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">>;
custom_rules: ZodArray<ZodObject<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
description: ZodString;
compatible_sources: ZodArray<ZodString, "many">;
condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>;
violation_message: ZodString;
remediation_message: ZodNullable<ZodString>;
is_archived: ZodBoolean;
created_by: ZodNullable<ZodString>;
updated_by: ZodNullable<ZodString>;
created_at: ZodOptional<ZodNullable<ZodString>>;
updated_at: ZodOptional<ZodNullable<ZodString>>;
rule_action: ZodOptional<ZodNullable<ZodString>>;
} & {
enabled_security_group_count: ZodOptional<ZodNullable<ZodNumber>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
description: ZodString;
compatible_sources: ZodArray<ZodString, "many">;
condition: ZodOptional<ZodNullable<ZodType<..., ..., ...>>>;
violation_message: ZodString;
remediation_message: ZodNullable<ZodString>;
is_archived: ZodBoolean;
created_by: ZodNullable<ZodString>;
updated_by: ZodNullable<ZodString>;
created_at: ZodOptional<ZodNullable<ZodString>>;
updated_at: ZodOptional<ZodNullable<ZodString>>;
rule_action: ZodOptional<ZodNullable<ZodString>>;
} & {
enabled_security_group_count: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
description: ZodString;
compatible_sources: ZodArray<ZodString, "many">;
condition: ZodOptional<ZodNullable<ZodType<..., ..., ...>>>;
violation_message: ZodString;
remediation_message: ZodNullable<ZodString>;
is_archived: ZodBoolean;
created_by: ZodNullable<ZodString>;
updated_by: ZodNullable<ZodString>;
created_at: ZodOptional<ZodNullable<ZodString>>;
updated_at: ZodOptional<ZodNullable<ZodString>>;
rule_action: ZodOptional<ZodNullable<ZodString>>;
} & {
enabled_security_group_count: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/model-security/custom-rules-client.ts:79

List custom rules.

Parameters​

ParameterType
optsCustomRuleListOptions

Returns​

Promise<objectOutputType<{ pagination: ZodObject<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, "passthrough", ZodTypeAny, objectOutputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">, objectInputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">>; custom_rules: ZodArray<ZodObject<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; description: ZodString; compatible_sources: ZodArray<ZodString, "many">; condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>; violation_message: ZodString; remediation_message: ZodNullable<ZodString>; is_archived: ZodBoolean; created_by: ZodNullable<ZodString>; updated_by: ZodNullable<ZodString>; created_at: ZodOptional<ZodNullable<ZodString>>; updated_at: ZodOptional<ZodNullable<ZodString>>; rule_action: ZodOptional<ZodNullable<ZodString>>; } & { enabled_security_group_count: ZodOptional<ZodNullable<ZodNumber>>; }, "passthrough", ZodTypeAny, objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; description: ZodString; compatible_sources: ZodArray<ZodString, "many">; condition: ZodOptional<ZodNullable<ZodType<..., ..., ...>>>; violation_message: ZodString; remediation_message: ZodNullable<ZodString>; is_archived: ZodBoolean; created_by: ZodNullable<ZodString>; updated_by: ZodNullable<ZodString>; created_at: ZodOptional<ZodNullable<ZodString>>; updated_at: ZodOptional<ZodNullable<ZodString>>; rule_action: ZodOptional<ZodNullable<ZodString>>; } & { enabled_security_group_count: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">, objectInputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; description: ZodString; compatible_sources: ZodArray<ZodString, "many">; condition: ZodOptional<ZodNullable<ZodType<..., ..., ...>>>; violation_message: ZodString; remediation_message: ZodNullable<ZodString>; is_archived: ZodBoolean; created_by: ZodNullable<ZodString>; updated_by: ZodNullable<ZodString>; created_at: ZodOptional<ZodNullable<ZodString>>; updated_at: ZodOptional<ZodNullable<ZodString>>; rule_action: ZodOptional<ZodNullable<ZodString>>; } & { enabled_security_group_count: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

Example​

`const page = await ms.customRules.list({ limit: 20 });`

listAll()​

listAll(opts?): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
description: ZodString;
compatible_sources: ZodArray<ZodString, "many">;
condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>;
violation_message: ZodString;
remediation_message: ZodNullable<ZodString>;
is_archived: ZodBoolean;
created_by: ZodNullable<ZodString>;
updated_by: ZodNullable<ZodString>;
created_at: ZodOptional<ZodNullable<ZodString>>;
updated_at: ZodOptional<ZodNullable<ZodString>>;
rule_action: ZodOptional<ZodNullable<ZodString>>;
} & {
enabled_security_group_count: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">[]>;

Defined in: src/model-security/custom-rules-client.ts:91

Collect current rules.

Parameters​

ParameterType
optsOmit<CustomRuleListOptions, "skip" | "generation"> & CollectAllOptions

Returns​

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; description: ZodString; compatible_sources: ZodArray<ZodString, "many">; condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>; violation_message: ZodString; remediation_message: ZodNullable<ZodString>; is_archived: ZodBoolean; created_by: ZodNullable<ZodString>; updated_by: ZodNullable<ZodString>; created_at: ZodOptional<ZodNullable<ZodString>>; updated_at: ZodOptional<ZodNullable<ZodString>>; rule_action: ZodOptional<ZodNullable<ZodString>>; } & { enabled_security_group_count: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">[]>

Example​

`const rules = await ms.customRules.listAll({ max: 500 });`

create()​

create(body): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
description: ZodString;
compatible_sources: ZodArray<ZodString, "many">;
condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>;
violation_message: ZodString;
remediation_message: ZodNullable<ZodString>;
is_archived: ZodBoolean;
created_by: ZodNullable<ZodString>;
updated_by: ZodNullable<ZodString>;
created_at: ZodOptional<ZodNullable<ZodString>>;
updated_at: ZodOptional<ZodNullable<ZodString>>;
rule_action: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/model-security/custom-rules-client.ts:104

Create a rule.

Parameters​

ParameterType
body{ name: string; description?: string; compatible_sources: ( | "HUGGING_FACE" | "LOCAL" | "S3" | "GCS" | "AZURE" | "ARTIFACTORY" | "GITLAB" | "ALL")[]; condition: CustomRuleCondition; violation_message: string; remediation_message?: string | null; rule_action?: "FAIL" | "PASS"; }
body.namestring
body.description?string
body.compatible_sources( | "HUGGING_FACE" | "LOCAL" | "S3" | "GCS" | "AZURE" | "ARTIFACTORY" | "GITLAB" | "ALL")[]
body.conditionCustomRuleCondition
body.violation_messagestring
body.remediation_message?string | null
body.rule_action?"FAIL" | "PASS"

Returns​

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; description: ZodString; compatible_sources: ZodArray<ZodString, "many">; condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>; violation_message: ZodString; remediation_message: ZodNullable<ZodString>; is_archived: ZodBoolean; created_by: ZodNullable<ZodString>; updated_by: ZodNullable<ZodString>; created_at: ZodOptional<ZodNullable<ZodString>>; updated_at: ZodOptional<ZodNullable<ZodString>>; rule_action: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>

Example​

`await ms.customRules.create({ name: 'Review', compatible_sources: ['HUGGING_FACE'], condition: { type: 'label', key: 'reviewed', operator: 'not_exists' }, violation_message: 'Review required' });`

get()​

get(uuid): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
description: ZodString;
compatible_sources: ZodArray<ZodString, "many">;
condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>;
violation_message: ZodString;
remediation_message: ZodNullable<ZodString>;
is_archived: ZodBoolean;
created_by: ZodNullable<ZodString>;
updated_by: ZodNullable<ZodString>;
created_at: ZodOptional<ZodNullable<ZodString>>;
updated_at: ZodOptional<ZodNullable<ZodString>>;
rule_action: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/model-security/custom-rules-client.ts:117

Read a rule.

Parameters​

ParameterType
uuidstring

Returns​

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; description: ZodString; compatible_sources: ZodArray<ZodString, "many">; condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>; violation_message: ZodString; remediation_message: ZodNullable<ZodString>; is_archived: ZodBoolean; created_by: ZodNullable<ZodString>; updated_by: ZodNullable<ZodString>; created_at: ZodOptional<ZodNullable<ZodString>>; updated_at: ZodOptional<ZodNullable<ZodString>>; rule_action: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>

Example​

`const rule = await ms.customRules.get(ruleUuid);`

update()​

update(uuid, body): Promise<objectOutputType<{
uuid: ZodString;
tsg_id: ZodString;
name: ZodString;
description: ZodString;
compatible_sources: ZodArray<ZodString, "many">;
condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>;
violation_message: ZodString;
remediation_message: ZodNullable<ZodString>;
is_archived: ZodBoolean;
created_by: ZodNullable<ZodString>;
updated_by: ZodNullable<ZodString>;
created_at: ZodOptional<ZodNullable<ZodString>>;
updated_at: ZodOptional<ZodNullable<ZodString>>;
rule_action: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/model-security/custom-rules-client.ts:129

Update a rule.

Parameters​

ParameterType
uuidstring
body{ name?: string | null; description?: string | null; condition?: CustomRuleCondition | null; violation_message?: string | null; remediation_message?: string | null; rule_action?: "FAIL" | "PASS" | null; }
body.name?string | null
body.description?string | null
body.condition?CustomRuleCondition | null
body.violation_message?string | null
body.remediation_message?string | null
body.rule_action?"FAIL" | "PASS" | null

Returns​

Promise<objectOutputType<{ uuid: ZodString; tsg_id: ZodString; name: ZodString; description: ZodString; compatible_sources: ZodArray<ZodString, "many">; condition: ZodOptional<ZodNullable<ZodType<CustomRuleCondition, ZodTypeDef, CustomRuleCondition>>>; violation_message: ZodString; remediation_message: ZodNullable<ZodString>; is_archived: ZodBoolean; created_by: ZodNullable<ZodString>; updated_by: ZodNullable<ZodString>; created_at: ZodOptional<ZodNullable<ZodString>>; updated_at: ZodOptional<ZodNullable<ZodString>>; rule_action: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>

Example​

`await ms.customRules.update(ruleUuid, { description: 'Reviewed' });`

archive()​

archive(uuid): Promise<void>;

Defined in: src/model-security/custom-rules-client.ts:143

Archive a rule.

Parameters​

ParameterType
uuidstring

Returns​

Promise<void>

Example​

`await ms.customRules.archive(ruleUuid);`

unarchive()​

unarchive(uuid): Promise<void>;

Defined in: src/model-security/custom-rules-client.ts:154

Restore a rule.

Parameters​

ParameterType
uuidstring

Returns​

Promise<void>

Example​

`await ms.customRules.unarchive(ruleUuid);`

listSecurityGroups()​

listSecurityGroups(uuid, opts?): Promise<objectOutputType<{
pagination: ZodObject<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
total_items: ZodOptional<ZodNullable<ZodNumber>>;
}, ZodTypeAny, "passthrough">>;
security_groups: ZodArray<ZodObject<{
uuid: ZodString;
name: ZodString;
source_type: ZodString;
rule_state: ZodString;
}, "passthrough", ZodTypeAny, objectOutputType<{
uuid: ZodString;
name: ZodString;
source_type: ZodString;
rule_state: ZodString;
}, ZodTypeAny, "passthrough">, objectInputType<{
uuid: ZodString;
name: ZodString;
source_type: ZodString;
rule_state: ZodString;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/model-security/custom-rules-client.ts:165

List assigned groups.

Parameters​

ParameterType
uuidstring
opts{ skip?: number; limit?: number; }
opts.skip?number
opts.limit?number

Returns​

Promise<objectOutputType<{ pagination: ZodObject<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, "passthrough", ZodTypeAny, objectOutputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">, objectInputType<{ total_items: ZodOptional<ZodNullable<ZodNumber>>; }, ZodTypeAny, "passthrough">>; security_groups: ZodArray<ZodObject<{ uuid: ZodString; name: ZodString; source_type: ZodString; rule_state: ZodString; }, "passthrough", ZodTypeAny, objectOutputType<{ uuid: ZodString; name: ZodString; source_type: ZodString; rule_state: ZodString; }, ZodTypeAny, "passthrough">, objectInputType<{ uuid: ZodString; name: ZodString; source_type: ZodString; rule_state: ZodString; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

Example​

`const page = await ms.customRules.listSecurityGroups(ruleUuid);`

assignSecurityGroups()​

assignSecurityGroups(uuid, body): Promise<objectOutputType<{
results: ZodArray<ZodObject<{
security_group_uuid: ZodString;
status: ZodString;
error: ZodOptional<ZodNullable<ZodString>>;
rule_instance_uuid: ZodOptional<ZodNullable<ZodString>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
security_group_uuid: ZodString;
status: ZodString;
error: ZodOptional<ZodNullable<ZodString>>;
rule_instance_uuid: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
security_group_uuid: ZodString;
status: ZodString;
error: ZodOptional<ZodNullable<ZodString>>;
rule_instance_uuid: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>, "many">;
}, ZodTypeAny, "passthrough">>;

Defined in: src/model-security/custom-rules-client.ts:181

Assign up to 50 groups; inspect each 207 result.

Parameters​

ParameterType
uuidstring
body{ assignments: { security_group_uuid: string; state: "DISABLED" | "ALLOWING" | "BLOCKING"; }[]; }
body.assignments{ security_group_uuid: string; state: "DISABLED" | "ALLOWING" | "BLOCKING"; }[]

Returns​

Promise<objectOutputType<{ results: ZodArray<ZodObject<{ security_group_uuid: ZodString; status: ZodString; error: ZodOptional<ZodNullable<ZodString>>; rule_instance_uuid: ZodOptional<ZodNullable<ZodString>>; }, "passthrough", ZodTypeAny, objectOutputType<{ security_group_uuid: ZodString; status: ZodString; error: ZodOptional<ZodNullable<ZodString>>; rule_instance_uuid: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">, objectInputType<{ security_group_uuid: ZodString; status: ZodString; error: ZodOptional<ZodNullable<ZodString>>; rule_instance_uuid: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>, "many">; }, ZodTypeAny, "passthrough">>

Example​

`await ms.customRules.assignSecurityGroups(ruleUuid, { assignments: [{ security_group_uuid: groupUuid, state: 'ALLOWING' }] });`

removeAssignment()​

removeAssignment(uuid, groupUuid): Promise<void>;

Defined in: src/model-security/custom-rules-client.ts:198

Remove an assignment.

Parameters​

ParameterType
uuidstring
groupUuidstring

Returns​

Promise<void>

Example​

`await ms.customRules.removeAssignment(ruleUuid, groupUuid);`

listVersions()​

listVersions(opts?): Promise<objectOutputType<{
versions: ZodArray<ZodObject<{
generation: ZodNumber;
timestamp: ZodString;
}, "passthrough", ZodTypeAny, objectOutputType<{
generation: ZodNumber;
timestamp: ZodString;
}, ZodTypeAny, "passthrough">, objectInputType<{
generation: ZodNumber;
timestamp: ZodString;
}, ZodTypeAny, "passthrough">>, "many">;
pagination: ZodObject<{
next_token: ZodOptional<ZodNullable<ZodString>>;
}, "passthrough", ZodTypeAny, objectOutputType<{
next_token: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">, objectInputType<{
next_token: ZodOptional<ZodNullable<ZodString>>;
}, ZodTypeAny, "passthrough">>;
}, ZodTypeAny, "passthrough">>;

Defined in: src/model-security/custom-rules-client.ts:210

List historical snapshots.

Parameters​

ParameterType
optsSnapshotVersionListOptions

Returns​

Promise<objectOutputType<{ versions: ZodArray<ZodObject<{ generation: ZodNumber; timestamp: ZodString; }, "passthrough", ZodTypeAny, objectOutputType<{ generation: ZodNumber; timestamp: ZodString; }, ZodTypeAny, "passthrough">, objectInputType<{ generation: ZodNumber; timestamp: ZodString; }, ZodTypeAny, "passthrough">>, "many">; pagination: ZodObject<{ next_token: ZodOptional<ZodNullable<ZodString>>; }, "passthrough", ZodTypeAny, objectOutputType<{ next_token: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">, objectInputType<{ next_token: ZodOptional<ZodNullable<ZodString>>; }, ZodTypeAny, "passthrough">>; }, ZodTypeAny, "passthrough">>

Example​

`const page = await ms.customRules.listVersions({ limit: 10 });`

listAllVersions()​

listAllVersions(opts?): Promise<objectOutputType<{
generation: ZodNumber;
timestamp: ZodString;
}, ZodTypeAny, "passthrough">[]>;

Defined in: src/model-security/custom-rules-client.ts:222

Collect snapshot history.

Parameters​

ParameterType
optsSnapshotVersionListOptions & CollectAllOptions

Returns​

Promise<objectOutputType<{ generation: ZodNumber; timestamp: ZodString; }, ZodTypeAny, "passthrough">[]>

Example​

`const versions = await ms.customRules.listAllVersions({ max: 500 });`