UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

322 lines (321 loc) 10.5 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Fabric V4 API compatible resource allows creation and management of [Equinix Fabric Service Token](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm). * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm * * API: https://docs.equinix.com/en-us/Content/KnowledgeCenter/Fabric/GettingStarted/Integrating-with-Fabric-V4-APIs/ConnectUsingServiceToken.htm * * ## Example Usage * * Aside Port Service Token * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const test = new equinix.fabric.ServiceToken("test", { * description: "Aside COLO Service Token", * expirationDateTime: "2025-01-18T06:43:49.981Z", * notifications: [{ * emails: [ * "example@equinix.com", * "test1@equinix.com", * ], * type: "ALL", * }], * serviceTokenConnections: [{ * aSides: [{ * accessPointSelectors: [{ * linkProtocol: { * type: "DOT1Q", * vlanTag: 2987, * }, * port: { * uuid: "<port_uuid>", * }, * type: "COLO", * }], * }], * bandwidthLimit: 1000, * type: "EVPL_VC", * }], * type: "VC_TOKEN", * }); * ``` * * Zside Port Service Token * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const test = new equinix.fabric.ServiceToken("test", { * description: "Zside COLO Service Token", * expirationDateTime: "2025-01-18T06:43:49.981Z", * notifications: [{ * emails: [ * "example@equinix.com", * "test1@equinix.com", * ], * type: "ALL", * }], * serviceTokenConnections: [{ * supportedBandwidths: [ * 50, * 200, * 10000, * ], * type: "EVPL_VC", * zSides: [{ * accessPointSelectors: [{ * linkProtocol: { * type: "DOT1Q", * vlanTag: 2087, * }, * port: { * uuid: "<port_uuid>", * }, * type: "COLO", * }], * }], * }], * type: "VC_TOKEN", * }); * ``` * * Zside Network Service Token * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const test = new equinix.fabric.ServiceToken("test", { * description: "Zside Network Service Token", * expirationDateTime: "2025-01-18T06:43:49.986Z", * notifications: [{ * emails: ["example@equinix.com"], * type: "ALL", * }], * serviceTokenConnections: [{ * supportedBandwidths: [ * 50, * 200, * 10000, * ], * type: "EVPL_VC", * zSides: [{ * accessPointSelectors: [{ * network: { * uuid: "<network_uuid>", * }, * type: "NETWORK", * }], * }], * }], * type: "VC_TOKEN", * }); * ``` * * Zside Virtual Device Service Token * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const test = new equinix.fabric.ServiceToken("test", { * description: "Zside VD Service Token", * expirationDateTime: "2025-01-18T06:43:49.986Z", * notifications: [{ * emails: ["example@equinix.com"], * type: "ALL", * }], * serviceTokenConnections: [{ * supportedBandwidths: [ * 50, * 200, * 10000, * ], * type: "EVPL_VC", * zSides: [{ * accessPointSelectors: [{ * "interface": { * type: "NETWORK", * }, * type: "VD", * virtualDevice: { * type: "EDGE", * uuid: "<device_uuid>", * }, * }], * }], * }], * type: "VC_TOKEN", * }); * ``` */ export declare class ServiceToken extends pulumi.CustomResource { /** * Get an existing ServiceToken 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?: ServiceTokenState, opts?: pulumi.CustomResourceOptions): ServiceToken; /** * Returns true if the given object is an instance of ServiceToken. 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 ServiceToken; /** * Customer account information that is associated with this service token */ readonly accounts: pulumi.Output<outputs.fabric.ServiceTokenAccount[]>; /** * Captures connection lifecycle change information */ readonly changeLogs: pulumi.Output<outputs.fabric.ServiceTokenChangeLog[]>; /** * Optional Description to the Service Token you will be creating */ readonly description: pulumi.Output<string>; /** * Expiration date and time of the service token; 2020-11-06T07:00:00Z */ readonly expirationDateTime: pulumi.Output<string>; /** * An absolute URL that is the subject of the link's context. */ readonly href: pulumi.Output<string>; /** * Information about token side; ASIDE, ZSIDE */ readonly issuerSide: pulumi.Output<string>; /** * Name of the Service Token */ readonly name: pulumi.Output<string>; /** * Preferences for notifications on Service Token configuration or status changes */ readonly notifications: pulumi.Output<outputs.fabric.ServiceTokenNotification[]>; /** * Project information */ readonly project: pulumi.Output<outputs.fabric.ServiceTokenProject>; /** * Service Token Connection Type Information */ readonly serviceTokenConnections: pulumi.Output<outputs.fabric.ServiceTokenServiceTokenConnection[]>; /** * Service token state; ACTIVE, INACTIVE, EXPIRED, DELETED */ readonly state: pulumi.Output<string>; /** * Service Token Type; VC*TOKEN,EPL*TOKEN */ readonly type: pulumi.Output<string>; /** * Equinix-assigned service token identifier */ readonly uuid: pulumi.Output<string>; /** * Create a ServiceToken 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: ServiceTokenArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ServiceToken resources. */ export interface ServiceTokenState { /** * Customer account information that is associated with this service token */ accounts?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceTokenAccount>[]>; /** * Captures connection lifecycle change information */ changeLogs?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceTokenChangeLog>[]>; /** * Optional Description to the Service Token you will be creating */ description?: pulumi.Input<string>; /** * Expiration date and time of the service token; 2020-11-06T07:00:00Z */ expirationDateTime?: pulumi.Input<string>; /** * An absolute URL that is the subject of the link's context. */ href?: pulumi.Input<string>; /** * Information about token side; ASIDE, ZSIDE */ issuerSide?: pulumi.Input<string>; /** * Name of the Service Token */ name?: pulumi.Input<string>; /** * Preferences for notifications on Service Token configuration or status changes */ notifications?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceTokenNotification>[]>; /** * Project information */ project?: pulumi.Input<inputs.fabric.ServiceTokenProject>; /** * Service Token Connection Type Information */ serviceTokenConnections?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceTokenServiceTokenConnection>[]>; /** * Service token state; ACTIVE, INACTIVE, EXPIRED, DELETED */ state?: pulumi.Input<string>; /** * Service Token Type; VC*TOKEN,EPL*TOKEN */ type?: pulumi.Input<string>; /** * Equinix-assigned service token identifier */ uuid?: pulumi.Input<string>; } /** * The set of arguments for constructing a ServiceToken resource. */ export interface ServiceTokenArgs { /** * Optional Description to the Service Token you will be creating */ description?: pulumi.Input<string>; /** * Expiration date and time of the service token; 2020-11-06T07:00:00Z */ expirationDateTime: pulumi.Input<string>; /** * Name of the Service Token */ name?: pulumi.Input<string>; /** * Preferences for notifications on Service Token configuration or status changes */ notifications: pulumi.Input<pulumi.Input<inputs.fabric.ServiceTokenNotification>[]>; /** * Project information */ project?: pulumi.Input<inputs.fabric.ServiceTokenProject>; /** * Service Token Connection Type Information */ serviceTokenConnections: pulumi.Input<pulumi.Input<inputs.fabric.ServiceTokenServiceTokenConnection>[]>; /** * Service Token Type; VC*TOKEN,EPL*TOKEN */ type: pulumi.Input<string>; }