UNPKG

@pulumi/scm

Version:

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

244 lines (243 loc) 7.83 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * IpsecTunnel resource * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scm from "@pulumi/scm"; * * //# 1. Define the IKE Crypto Profile (IKE Phase 1) * // Note: The resource name is plural: "scm_ike_crypto_profile" * const example = new scm.IkeCryptoProfile("example", { * name: "example-ike-crypto", * folder: "Remote Networks", * hashes: ["sha256"], * dhGroups: ["group14"], * encryptions: ["aes-256-cbc"], * }); * //# 2. Define the IPsec Crypto Profile (IKE Phase 2) * // Note: The resource name is plural and nested blocks now use an equals sign (=). * const exampleIpsecCryptoProfile = new scm.IpsecCryptoProfile("example", { * name: "PaloAlto-Networks-IPSec-Crypto", * folder: "Remote Networks", * esp: { * encryptions: ["aes-256-gcm"], * authentications: ["sha256"], * }, * dhGroup: "group14", * lifetime: { * hours: 8, * }, * }); * //# 3. Define the IKE Gateway * // Note: The resource name is plural and nested blocks now use an equals sign (=). * const exampleIkeGateway = new scm.IkeGateway("example", { * name: "example-gateway", * folder: "Remote Networks", * peerAddress: { * ip: "1.1.1.1", * }, * authentication: { * preSharedKey: { * key: "secret", * }, * }, * protocol: { * ikev1: { * ikeCryptoProfile: example.name, * }, * }, * }); * //# 4. Define the IPsec Tunnel * // Note: Nested 'auto_key' block uses an equals sign (=). * const exampleIpsecTunnel = new scm.IpsecTunnel("example", { * name: "example-tunnel", * folder: "Remote Networks", * tunnelInterface: "tunnel", * antiReplay: true, * copyTos: false, * enableGreEncapsulation: false, * autoKey: { * ikeGateways: [{ * name: exampleIkeGateway.name, * }], * ipsecCryptoProfile: exampleIpsecCryptoProfile.name, * }, * }, { * dependsOn: [exampleIkeGateway], * }); * ``` */ export declare class IpsecTunnel extends pulumi.CustomResource { /** * Get an existing IpsecTunnel 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?: IpsecTunnelState, opts?: pulumi.CustomResourceOptions): IpsecTunnel; /** * Returns true if the given object is an instance of IpsecTunnel. 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 IpsecTunnel; /** * Enable Anti-Replay check on this tunnel */ readonly antiReplay: pulumi.Output<boolean | undefined>; /** * Auto key */ readonly autoKey: pulumi.Output<outputs.IpsecTunnelAutoKey>; /** * Copy IP TOS bits from inner packet to IPSec packet (not recommended) */ readonly copyTos: pulumi.Output<boolean>; /** * The device in which the resource is defined */ readonly device: pulumi.Output<string | undefined>; /** * allow GRE over IPSec */ readonly enableGreEncapsulation: pulumi.Output<boolean>; /** * 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>; /** * Alphanumeric string begin with letter: [0-9a-zA-Z._-] */ readonly name: pulumi.Output<string>; /** * 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>; /** * Tunnel interface variable or hardcoded tunnel. Default will be tunnels. */ readonly tunnelInterface: pulumi.Output<string>; /** * Tunnel monitor */ readonly tunnelMonitor: pulumi.Output<outputs.IpsecTunnelTunnelMonitor>; /** * Create a IpsecTunnel 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: IpsecTunnelArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering IpsecTunnel resources. */ export interface IpsecTunnelState { /** * Enable Anti-Replay check on this tunnel */ antiReplay?: pulumi.Input<boolean>; /** * Auto key */ autoKey?: pulumi.Input<inputs.IpsecTunnelAutoKey>; /** * Copy IP TOS bits from inner packet to IPSec packet (not recommended) */ copyTos?: pulumi.Input<boolean>; /** * The device in which the resource is defined */ device?: pulumi.Input<string>; /** * allow GRE over IPSec */ enableGreEncapsulation?: pulumi.Input<boolean>; /** * The folder in which the resource is defined * * > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`. */ folder?: pulumi.Input<string>; /** * Alphanumeric string begin with letter: [0-9a-zA-Z._-] */ name?: 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>; tfid?: pulumi.Input<string>; /** * Tunnel interface variable or hardcoded tunnel. Default will be tunnels. */ tunnelInterface?: pulumi.Input<string>; /** * Tunnel monitor */ tunnelMonitor?: pulumi.Input<inputs.IpsecTunnelTunnelMonitor>; } /** * The set of arguments for constructing a IpsecTunnel resource. */ export interface IpsecTunnelArgs { /** * Enable Anti-Replay check on this tunnel */ antiReplay?: pulumi.Input<boolean>; /** * Auto key */ autoKey: pulumi.Input<inputs.IpsecTunnelAutoKey>; /** * Copy IP TOS bits from inner packet to IPSec packet (not recommended) */ copyTos?: pulumi.Input<boolean>; /** * The device in which the resource is defined */ device?: pulumi.Input<string>; /** * allow GRE over IPSec */ enableGreEncapsulation?: pulumi.Input<boolean>; /** * The folder in which the resource is defined * * > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`. */ folder?: pulumi.Input<string>; /** * Alphanumeric string begin with letter: [0-9a-zA-Z._-] */ name?: 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>; /** * Tunnel interface variable or hardcoded tunnel. Default will be tunnels. */ tunnelInterface?: pulumi.Input<string>; /** * Tunnel monitor */ tunnelMonitor?: pulumi.Input<inputs.IpsecTunnelTunnelMonitor>; }