UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

187 lines (186 loc) 6.97 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource `equinix.networkedge.AclTemplate` allows creation and management of Equinix Network Edge device Access Control List templates. * * Device ACL templates give possibility to define set of rules will allowed inbound traffic. Templates can be assigned to the network devices. * * ## Example Usage * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const myacl = new equinix.networkedge.AclTemplate("myacl", { * name: "test", * description: "Test ACL template", * projectId: "a86d7112-d740-4758-9c9c-31e66373746b", * inboundRules: [ * { * subnet: "1.1.1.1/32", * protocol: equinix.networkedge.AclRuleProtocolType.IP, * srcPort: "any", * dstPort: "any", * description: "inbound rule description", * }, * { * subnet: "172.16.25.0/24", * protocol: equinix.networkedge.AclRuleProtocolType.UDP, * srcPort: "any", * dstPort: "53,1045,2041", * }, * ], * }); * ``` * * ## Import * * This resource can be imported using an existing ID: * * ```sh * $ pulumi import equinix:networkedge/aclTemplate:AclTemplate example {existing_id} * ``` */ export declare class AclTemplate extends pulumi.CustomResource { /** * Get an existing AclTemplate 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?: AclTemplateState, opts?: pulumi.CustomResourceOptions): AclTemplate; /** * Returns true if the given object is an instance of AclTemplate. 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 AclTemplate; /** * Inbound rule description, up to 200 characters. */ readonly description: pulumi.Output<string | undefined>; /** * Status of ACL template provisioning process, where template was applied. One of `PROVISIONING`, `PROVISIONED`. */ readonly deviceAclStatus: pulumi.Output<string>; /** * List of the devices where the ACL template is applied. */ readonly deviceDetails: pulumi.Output<outputs.networkedge.AclTemplateDeviceDetail[]>; /** * (Deprecated) Identifier of a network device where template was applied. * * @deprecated Refer to device details get device information */ readonly deviceId: pulumi.Output<string>; /** * One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones. * * The `inboundRule` block has below fields: */ readonly inboundRules: pulumi.Output<outputs.networkedge.AclTemplateInboundRule[]>; /** * ACL template location metro code. * * @deprecated Metro Code is no longer required */ readonly metroCode: pulumi.Output<string | undefined>; /** * ACL template name. */ readonly name: pulumi.Output<string>; /** * Unique Identifier for the project resource where the acl template is scoped to.If you leave it out, the ACL template will be created under the default project id of your organization. */ readonly projectId: pulumi.Output<string>; /** * Device uuid. */ readonly uuid: pulumi.Output<string>; /** * Create a AclTemplate 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: AclTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AclTemplate resources. */ export interface AclTemplateState { /** * Inbound rule description, up to 200 characters. */ description?: pulumi.Input<string>; /** * Status of ACL template provisioning process, where template was applied. One of `PROVISIONING`, `PROVISIONED`. */ deviceAclStatus?: pulumi.Input<string>; /** * List of the devices where the ACL template is applied. */ deviceDetails?: pulumi.Input<pulumi.Input<inputs.networkedge.AclTemplateDeviceDetail>[]>; /** * (Deprecated) Identifier of a network device where template was applied. * * @deprecated Refer to device details get device information */ deviceId?: pulumi.Input<string>; /** * One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones. * * The `inboundRule` block has below fields: */ inboundRules?: pulumi.Input<pulumi.Input<inputs.networkedge.AclTemplateInboundRule>[]>; /** * ACL template location metro code. * * @deprecated Metro Code is no longer required */ metroCode?: pulumi.Input<string>; /** * ACL template name. */ name?: pulumi.Input<string>; /** * Unique Identifier for the project resource where the acl template is scoped to.If you leave it out, the ACL template will be created under the default project id of your organization. */ projectId?: pulumi.Input<string>; /** * Device uuid. */ uuid?: pulumi.Input<string>; } /** * The set of arguments for constructing a AclTemplate resource. */ export interface AclTemplateArgs { /** * Inbound rule description, up to 200 characters. */ description?: pulumi.Input<string>; /** * One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones. * * The `inboundRule` block has below fields: */ inboundRules: pulumi.Input<pulumi.Input<inputs.networkedge.AclTemplateInboundRule>[]>; /** * ACL template location metro code. * * @deprecated Metro Code is no longer required */ metroCode?: pulumi.Input<string>; /** * ACL template name. */ name?: pulumi.Input<string>; /** * Unique Identifier for the project resource where the acl template is scoped to.If you leave it out, the ACL template will be created under the default project id of your organization. */ projectId?: pulumi.Input<string>; }