UNPKG

@pulumi/scm

Version:

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

218 lines (217 loc) 7.13 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * AddressGroup resource * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scm from "@pulumi/scm"; * * // This file is embedded using go:embed * // First, create some addresses that will be used in the address group * const scmAddressAg1 = new scm.Address("scm_address_ag_1", { * folder: "Shared", * name: "scm_address_ag_1", * description: "First test address", * ipNetmask: "192.168.1.1/32", * }); * const scmAddressAg2 = new scm.Address("scm_address_ag_2", { * folder: "Shared", * name: "scm_address_ag_2", * description: "Second test address", * ipNetmask: "192.168.1.2/32", * }); * // Create the address group that references the addresses above * const scmAddressGroup1 = new scm.AddressGroup("scm_address_group_1", { * folder: "Shared", * name: "scm_address_group_1", * description: "Sample address group created with Terraform", * statics: [ * scmAddressAg1.name, * scmAddressAg2.name, * ], * }); * // Create tags to be used for dynamic address group * const scmAddressgroupTag1 = new scm.Tag("scm_addressgroup_tag_1", { * folder: "All", * name: "scm_addressgroup_tag_1", * comments: "Managed by Pulumi", * color: "Orange", * }); * const scmAddressgroupTag2 = new scm.Tag("scm_addressgroup_tag_2", { * folder: "All", * name: "scm_addressgroup_tag_2", * comments: "Managed by Pulumi", * color: "Blue", * }); * // Create a dynamic addressgroup that matches both tags * const scmAddressgroupDynamic = new scm.AddressGroup("scm_addressgroup_dynamic", { * folder: "Shared", * name: "scm_addressgroup_dynamic", * description: "Managed by Pulumi", * dynamic: { * filter: "scm_addressgroup_tag_1 and scm_addressgroup_tag_2", * }, * }); * ``` */ export declare class AddressGroup extends pulumi.CustomResource { /** * Get an existing AddressGroup 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?: AddressGroupState, opts?: pulumi.CustomResourceOptions): AddressGroup; /** * Returns true if the given object is an instance of AddressGroup. 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 AddressGroup; /** * Description */ readonly description: pulumi.Output<string | undefined>; /** * The device in which the resource is defined */ readonly device: pulumi.Output<string | undefined>; /** * Dynamic * * > ℹ️ **Note:** You must specify exactly one of `dynamic` and `static`. */ readonly dynamic: pulumi.Output<outputs.AddressGroupDynamic | 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>; /** * The name of the address group */ 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>; /** * Static * * > ℹ️ **Note:** You must specify exactly one of `dynamic` and `static`. */ readonly statics: pulumi.Output<string[] | undefined>; /** * Tags for address group object */ readonly tags: pulumi.Output<string[] | undefined>; readonly tfid: pulumi.Output<string>; /** * Create a AddressGroup 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?: AddressGroupArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AddressGroup resources. */ export interface AddressGroupState { /** * Description */ description?: pulumi.Input<string>; /** * The device in which the resource is defined */ device?: pulumi.Input<string>; /** * Dynamic * * > ℹ️ **Note:** You must specify exactly one of `dynamic` and `static`. */ dynamic?: pulumi.Input<inputs.AddressGroupDynamic>; /** * The folder in which the resource is defined * * > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`. */ folder?: pulumi.Input<string>; /** * The name of the address group */ 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>; /** * Static * * > ℹ️ **Note:** You must specify exactly one of `dynamic` and `static`. */ statics?: pulumi.Input<pulumi.Input<string>[]>; /** * Tags for address group object */ tags?: pulumi.Input<pulumi.Input<string>[]>; tfid?: pulumi.Input<string>; } /** * The set of arguments for constructing a AddressGroup resource. */ export interface AddressGroupArgs { /** * Description */ description?: pulumi.Input<string>; /** * The device in which the resource is defined */ device?: pulumi.Input<string>; /** * Dynamic * * > ℹ️ **Note:** You must specify exactly one of `dynamic` and `static`. */ dynamic?: pulumi.Input<inputs.AddressGroupDynamic>; /** * The folder in which the resource is defined * * > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`. */ folder?: pulumi.Input<string>; /** * The name of the address group */ 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>; /** * Static * * > ℹ️ **Note:** You must specify exactly one of `dynamic` and `static`. */ statics?: pulumi.Input<pulumi.Input<string>[]>; /** * Tags for address group object */ tags?: pulumi.Input<pulumi.Input<string>[]>; }