@pulumi/scm
Version:
A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1
428 lines (427 loc) • 13.8 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* VulnerabilityProtectionSignature resource
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scm from "@pulumi/scm";
*
* const scmVpSignature1 = new scm.VulnerabilityProtectionSignature("scm_vp_signature_1", {
* folder: "Shared",
* threatId: "41010",
* threatname: "scm_vp_signature_1",
* severity: "informational",
* direction: "client2server",
* affectedHost: {
* client: true,
* },
* signature: {
* standards: [
* {
* name: "basic-signature",
* },
* {
* name: "standard-signature-one",
* scope: "protocol-data-unit",
* orderFree: false,
* andCondition: [{
* name: "condition-A-or",
* orCondition: [{
* name: "pattern-A1",
* operator: {
* lessThan: {
* context: "telnet-req-client-data",
* value: "123",
* },
* },
* }],
* }],
* },
* {
* name: "standard-signature-two",
* scope: "session",
* orderFree: true,
* andCondition: [
* {
* name: "condition-B-or",
* orCondition: [
* {
* name: "pattern-B1",
* operator: {
* greaterThan: {
* context: "cip-ethernet-ip-req-class-id",
* value: "111111",
* qualifier: [
* {
* name: "Q1",
* value: "123",
* },
* {
* name: "Q2",
* value: "920",
* },
* ],
* },
* },
* },
* {
* name: "pattern-B2",
* operator: {
* equalTo: {
* context: "icmp-rsp-type",
* value: "222222",
* qualifier: [{
* name: "Q3",
* value: "567",
* }],
* },
* },
* },
* ],
* },
* {
* name: "condition-C-or",
* orCondition: [{
* name: "pattern-C1",
* operator: {
* patternMatch: {
* context: "ntlm-req-auth-v1",
* value: "1200",
* },
* },
* }],
* },
* ],
* },
* ],
* },
* });
* const scmVpSignature2 = new scm.VulnerabilityProtectionSignature("scm_vp_signature_2", {
* folder: "Shared",
* threatId: "41040",
* threatname: "scm_vp_sig_2",
* affectedHost: {
* server: true,
* },
* comment: "basic-combo-signature",
* severity: "high",
* direction: "both",
* defaultAction: {
* alert: {},
* },
* signature: {
* combination: {
* name: "combo-sig",
* orderFree: true,
* andConditions: [{
* name: "condition-C-or",
* orCondition: [{
* name: "pattern-C1",
* threatId: 10030,
* }],
* }],
* timeAttribute: {
* interval: 3600,
* threshold: 5,
* trackBy: "source-and-destination",
* },
* },
* },
* });
* const scmVpSignature3 = new scm.VulnerabilityProtectionSignature("scm_vp_signature_3", {
* folder: "Shared",
* threatId: "41030",
* threatname: "scm_vp_sig_3",
* affectedHost: {
* server: true,
* },
* bugtraqs: ["12345"],
* comment: "combo-signatures",
* cves: ["CVE-2025-9999"],
* references: ["https://example.com/exploit-details"],
* severity: "medium",
* direction: "server2client",
* vendors: ["Custom"],
* defaultAction: {
* drop: {},
* },
* signature: {
* combination: {
* name: "combo-signature-one",
* orderFree: false,
* andConditions: [
* {
* name: "condition-A-or",
* orCondition: [{
* name: "pattern-A1",
* threatId: 10001,
* }],
* },
* {
* name: "condition-B-or",
* orCondition: [
* {
* name: "pattern-B1",
* threatId: 10043,
* },
* {
* name: "pattern-B2",
* threatId: 10025,
* },
* {
* name: "pattern-B3",
* threatId: 10050,
* },
* ],
* },
* {
* name: "condition-C-or",
* orCondition: [{
* name: "pattern-C1",
* threatId: 10030,
* }],
* },
* ],
* timeAttribute: {
* interval: 3600,
* threshold: 20,
* trackBy: "source",
* },
* },
* },
* });
* ```
*/
export declare class VulnerabilityProtectionSignature extends pulumi.CustomResource {
/**
* Get an existing VulnerabilityProtectionSignature resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VulnerabilityProtectionSignatureState, opts?: pulumi.CustomResourceOptions): VulnerabilityProtectionSignature;
/**
* Returns true if the given object is an instance of VulnerabilityProtectionSignature. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is VulnerabilityProtectionSignature;
/**
* Affected host
*/
readonly affectedHost: pulumi.Output<outputs.VulnerabilityProtectionSignatureAffectedHost>;
/**
* Bugtraq
*/
readonly bugtraqs: pulumi.Output<string[] | undefined>;
/**
* Comment
*/
readonly comment: pulumi.Output<string | undefined>;
/**
* Cve
*/
readonly cves: pulumi.Output<string[] | undefined>;
/**
* Default action
*/
readonly defaultAction: pulumi.Output<outputs.VulnerabilityProtectionSignatureDefaultAction | undefined>;
/**
* The device in which the resource is defined
*/
readonly device: pulumi.Output<string | undefined>;
/**
* Direction
*/
readonly direction: pulumi.Output<string>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
readonly folder: pulumi.Output<string | undefined>;
/**
* Reference
*/
readonly references: pulumi.Output<string[] | undefined>;
/**
* Severity
*/
readonly severity: pulumi.Output<string>;
/**
* vulnerability protection signature
*/
readonly signature: pulumi.Output<outputs.VulnerabilityProtectionSignatureSignature>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
readonly snippet: pulumi.Output<string | undefined>;
readonly tfid: pulumi.Output<string>;
/**
* threat id range \n\n and \n\n
*/
readonly threatId: pulumi.Output<string>;
/**
* Threatname
*/
readonly threatname: pulumi.Output<string>;
/**
* Vendor
*/
readonly vendors: pulumi.Output<string[] | undefined>;
/**
* Create a VulnerabilityProtectionSignature resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: VulnerabilityProtectionSignatureArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering VulnerabilityProtectionSignature resources.
*/
export interface VulnerabilityProtectionSignatureState {
/**
* Affected host
*/
affectedHost?: pulumi.Input<inputs.VulnerabilityProtectionSignatureAffectedHost>;
/**
* Bugtraq
*/
bugtraqs?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Comment
*/
comment?: pulumi.Input<string>;
/**
* Cve
*/
cves?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Default action
*/
defaultAction?: pulumi.Input<inputs.VulnerabilityProtectionSignatureDefaultAction>;
/**
* The device in which the resource is defined
*/
device?: pulumi.Input<string>;
/**
* Direction
*/
direction?: pulumi.Input<string>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
folder?: pulumi.Input<string>;
/**
* Reference
*/
references?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Severity
*/
severity?: pulumi.Input<string>;
/**
* vulnerability protection signature
*/
signature?: pulumi.Input<inputs.VulnerabilityProtectionSignatureSignature>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
snippet?: pulumi.Input<string>;
tfid?: pulumi.Input<string>;
/**
* threat id range \n\n and \n\n
*/
threatId?: pulumi.Input<string>;
/**
* Threatname
*/
threatname?: pulumi.Input<string>;
/**
* Vendor
*/
vendors?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
* The set of arguments for constructing a VulnerabilityProtectionSignature resource.
*/
export interface VulnerabilityProtectionSignatureArgs {
/**
* Affected host
*/
affectedHost: pulumi.Input<inputs.VulnerabilityProtectionSignatureAffectedHost>;
/**
* Bugtraq
*/
bugtraqs?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Comment
*/
comment?: pulumi.Input<string>;
/**
* Cve
*/
cves?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Default action
*/
defaultAction?: pulumi.Input<inputs.VulnerabilityProtectionSignatureDefaultAction>;
/**
* The device in which the resource is defined
*/
device?: pulumi.Input<string>;
/**
* Direction
*/
direction: pulumi.Input<string>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
folder?: pulumi.Input<string>;
/**
* Reference
*/
references?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Severity
*/
severity: pulumi.Input<string>;
/**
* vulnerability protection signature
*/
signature: pulumi.Input<inputs.VulnerabilityProtectionSignatureSignature>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
snippet?: pulumi.Input<string>;
/**
* threat id range \n\n and \n\n
*/
threatId: pulumi.Input<string>;
/**
* Threatname
*/
threatname: pulumi.Input<string>;
/**
* Vendor
*/
vendors?: pulumi.Input<pulumi.Input<string>[]>;
}