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
| Parameter | Type |
|---|---|
opts | ModelSecurityCustomRulesClientOptions |
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
| Parameter | Type |
|---|---|
opts | CustomRuleListOptions |
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
| Parameter | Type |
|---|---|
opts | Omit<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
| Parameter | Type |
|---|---|
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.name | string |
body.description? | string |
body.compatible_sources | ( | "HUGGING_FACE" | "LOCAL" | "S3" | "GCS" | "AZURE" | "ARTIFACTORY" | "GITLAB" | "ALL")[] |
body.condition | CustomRuleCondition |
body.violation_message | string |
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
| Parameter | Type |
|---|---|
uuid | string |
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
| Parameter | Type |
|---|---|
uuid | string |
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
| Parameter | Type |
|---|---|
uuid | string |
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
| Parameter | Type |
|---|---|
uuid | string |
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
| Parameter | Type |
|---|---|
uuid | string |
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
| Parameter | Type |
|---|---|
uuid | string |
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
| Parameter | Type |
|---|---|
uuid | string |
groupUuid | string |
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
| Parameter | Type |
|---|---|
opts | SnapshotVersionListOptions |
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
| Parameter | Type |
|---|---|
opts | SnapshotVersionListOptions & CollectAllOptions |
Returns
Promise<objectOutputType<{
generation: ZodNumber;
timestamp: ZodString;
}, ZodTypeAny, "passthrough">[]>
Example
`const versions = await ms.customRules.listAllVersions({ max: 500 });`