UNPKG

@pulumi/scm

Version:

A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1

325 lines (324 loc) 9.14 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * PbfRule resource * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scm from "@pulumi/scm"; * * const exampleTag = new scm.Tag("example_tag", { * folder: "All", * name: "pbf-rule-tag-test-1", * color: "Red", * }); * // --- PBF Rule Resource with discard action--- * const examplePbfRule = new scm.PbfRule("example_pbf_rule", { * name: "pbf-test-rule-discard", * folder: "All", * description: "PBF rule for forwarding specific traffic.", * from: { * zones: ["zone-untrust"], * }, * sources: ["any"], * destinations: ["any"], * applications: ["any"], * services: ["service-http"], * sourceUsers: ["any"], * action: { * discard: {}, * }, * tags: [exampleTag.name], * enforceSymmetricReturn: { * enabled: false, * }, * schedule: "non-work-hours", * }); * // --- PBF Rule Resource with no-pbf action--- * const exampleNoPbfRule = new scm.PbfRule("example_no_pbf_rule", { * name: "pbf-test-rule-no-pbf", * folder: "All", * description: "PBF rule for forwarding specific traffic", * from: { * zones: ["zone-untrust"], * }, * sources: ["any"], * destinations: ["any"], * applications: ["any"], * services: ["service-https"], * sourceUsers: ["any"], * action: { * noPbf: {}, * }, * tags: [exampleTag.name], * enforceSymmetricReturn: { * enabled: false, * }, * schedule: "non-work-hours", * }); * // --- PBF Rule Resource with forward action--- * const exampleForwardPbfRule = new scm.PbfRule("example_forward_pbf_rule", { * name: "pbf-test-rule-forward", * folder: "All", * description: "PBF rule for forwarding specific traffic", * from: { * zones: ["zone-untrust"], * }, * sources: ["any"], * destinations: ["any"], * applications: ["any"], * services: ["service-http"], * sourceUsers: ["any"], * action: { * forward: { * egressInterface: "ethernet1/1", * nexthop: { * ipAddress: "192.168.1.254", * }, * monitor: { * ipAddress: "8.8.8.10", * profile: "test_tf_profile", * disableIfUnreachable: true, * }, * }, * }, * tags: [exampleTag.name], * enforceSymmetricReturn: { * enabled: true, * }, * schedule: "non-work-hours", * }); * ``` */ export declare class PbfRule extends pulumi.CustomResource { /** * Get an existing PbfRule 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?: PbfRuleState, opts?: pulumi.CustomResourceOptions): PbfRule; /** * Returns true if the given object is an instance of PbfRule. 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 PbfRule; /** * Action */ readonly action: pulumi.Output<outputs.PbfRuleAction | undefined>; /** * Applications */ readonly applications: pulumi.Output<string[] | undefined>; /** * Description */ readonly description: pulumi.Output<string | undefined>; /** * Destination addresses */ readonly destinations: pulumi.Output<string[] | undefined>; /** * The device in which the resource is defined */ readonly device: pulumi.Output<string | undefined>; /** * Enforce symmetric return */ readonly enforceSymmetricReturn: pulumi.Output<outputs.PbfRuleEnforceSymmetricReturn | undefined>; /** * 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>; /** * From */ readonly from: pulumi.Output<outputs.PbfRuleFrom | undefined>; /** * PBF rule name */ readonly name: pulumi.Output<string>; /** * Schedule */ readonly schedule: pulumi.Output<string | undefined>; /** * Services */ readonly services: pulumi.Output<string[] | undefined>; /** * 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>; /** * Source users */ readonly sourceUsers: pulumi.Output<string[] | undefined>; /** * Source addresses */ readonly sources: pulumi.Output<string[] | undefined>; /** * Tags */ readonly tags: pulumi.Output<string[] | undefined>; readonly tfid: pulumi.Output<string>; /** * Create a PbfRule 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?: PbfRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering PbfRule resources. */ export interface PbfRuleState { /** * Action */ action?: pulumi.Input<inputs.PbfRuleAction>; /** * Applications */ applications?: pulumi.Input<pulumi.Input<string>[]>; /** * Description */ description?: pulumi.Input<string>; /** * Destination addresses */ destinations?: pulumi.Input<pulumi.Input<string>[]>; /** * The device in which the resource is defined */ device?: pulumi.Input<string>; /** * Enforce symmetric return */ enforceSymmetricReturn?: pulumi.Input<inputs.PbfRuleEnforceSymmetricReturn>; /** * The folder in which the resource is defined * * > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`. */ folder?: pulumi.Input<string>; /** * From */ from?: pulumi.Input<inputs.PbfRuleFrom>; /** * PBF rule name */ name?: pulumi.Input<string>; /** * Schedule */ schedule?: pulumi.Input<string>; /** * Services */ services?: pulumi.Input<pulumi.Input<string>[]>; /** * The snippet in which the resource is defined * * > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`. */ snippet?: pulumi.Input<string>; /** * Source users */ sourceUsers?: pulumi.Input<pulumi.Input<string>[]>; /** * Source addresses */ sources?: pulumi.Input<pulumi.Input<string>[]>; /** * Tags */ tags?: pulumi.Input<pulumi.Input<string>[]>; tfid?: pulumi.Input<string>; } /** * The set of arguments for constructing a PbfRule resource. */ export interface PbfRuleArgs { /** * Action */ action?: pulumi.Input<inputs.PbfRuleAction>; /** * Applications */ applications?: pulumi.Input<pulumi.Input<string>[]>; /** * Description */ description?: pulumi.Input<string>; /** * Destination addresses */ destinations?: pulumi.Input<pulumi.Input<string>[]>; /** * The device in which the resource is defined */ device?: pulumi.Input<string>; /** * Enforce symmetric return */ enforceSymmetricReturn?: pulumi.Input<inputs.PbfRuleEnforceSymmetricReturn>; /** * The folder in which the resource is defined * * > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`. */ folder?: pulumi.Input<string>; /** * From */ from?: pulumi.Input<inputs.PbfRuleFrom>; /** * PBF rule name */ name?: pulumi.Input<string>; /** * Schedule */ schedule?: pulumi.Input<string>; /** * Services */ services?: pulumi.Input<pulumi.Input<string>[]>; /** * The snippet in which the resource is defined * * > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`. */ snippet?: pulumi.Input<string>; /** * Source users */ sourceUsers?: pulumi.Input<pulumi.Input<string>[]>; /** * Source addresses */ sources?: pulumi.Input<pulumi.Input<string>[]>; /** * Tags */ tags?: pulumi.Input<pulumi.Input<string>[]>; }