UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

289 lines (288 loc) 10.1 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 Cloud Router](https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks). * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers * * ## Example Usage * ### example 1 * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const newCloudRouter = new equinix.fabric.CloudRouter("newCloudRouter", { * name: "Router-SV", * type: "XF_ROUTER", * notifications: [{ * type: "ALL", * emails: [ * "example@equinix.com", * "test1@equinix.com", * ], * }], * order: { * purchaseOrderNumber: "1-323292", * }, * location: { * metroCode: "SV", * }, * "package": { * code: "STANDARD", * }, * project: { * projectId: "776847000642406", * }, * account: { * accountNumber: 203612, * }, * }); * ``` * ### example 2 * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const newCloudRouter = new equinix.fabric.CloudRouter("newCloudRouter", { * name: "Router-SV", * type: "XF_ROUTER", * notifications: [{ * type: "ALL", * emails: [ * "example@equinix.com", * "test1@equinix.com", * ], * }], * order: { * purchaseOrderNumber: "1-323292", * }, * location: { * metroCode: "SV", * }, * "package": { * code: "STANDARD", * }, * project: { * projectId: "776847000642406", * }, * marketplaceSubscription: { * type: "AWS_MARKETPLACE_SUBSCRIPTION", * uuid: "2823b8ae07-a2a2-45b4-a658-c3542bb24e9", * }, * }); * ``` */ export declare class CloudRouter extends pulumi.CustomResource { /** * Get an existing CloudRouter 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?: CloudRouterState, opts?: pulumi.CustomResourceOptions): CloudRouter; /** * Returns true if the given object is an instance of CloudRouter. 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 CloudRouter; /** * Customer account information that is associated with this Fabric Cloud Router */ readonly account: pulumi.Output<outputs.fabric.CloudRouterAccount>; /** * Captures Fabric Cloud Router lifecycle change information */ readonly changeLogs: pulumi.Output<outputs.fabric.CloudRouterChangeLog[]>; /** * Number of connections associated with this Fabric Cloud Router instance */ readonly connectionsCount: pulumi.Output<number>; /** * Customer-provided Fabric Cloud Router description */ readonly description: pulumi.Output<string | undefined>; /** * Equinix ASN */ readonly equinixAsn: pulumi.Output<number>; /** * Fabric Cloud Router URI information */ readonly href: pulumi.Output<string>; /** * Fabric Cloud Router location */ readonly location: pulumi.Output<outputs.fabric.CloudRouterLocation>; /** * Equinix Fabric Entity for Marketplace Subscription */ readonly marketplaceSubscription: pulumi.Output<outputs.fabric.CloudRouterMarketplaceSubscription>; /** * Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores */ readonly name: pulumi.Output<string>; /** * Preferences for notifications on Fabric Cloud Router configuration or status changes */ readonly notifications: pulumi.Output<outputs.fabric.CloudRouterNotification[]>; /** * Order information related to this Fabric Cloud Router */ readonly order: pulumi.Output<outputs.fabric.CloudRouterOrder>; /** * Fabric Cloud Router Package Type */ readonly package: pulumi.Output<outputs.fabric.CloudRouterPackage>; /** * Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects */ readonly project: pulumi.Output<outputs.fabric.CloudRouterProject>; /** * Fabric Cloud Router overall state */ readonly state: pulumi.Output<string>; /** * Defines the FCR type like; XF_ROUTER */ readonly type: pulumi.Output<string>; /** * Equinix-assigned Fabric Cloud Router identifier */ readonly uuid: pulumi.Output<string>; /** * Create a CloudRouter 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: CloudRouterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CloudRouter resources. */ export interface CloudRouterState { /** * Customer account information that is associated with this Fabric Cloud Router */ account?: pulumi.Input<inputs.fabric.CloudRouterAccount>; /** * Captures Fabric Cloud Router lifecycle change information */ changeLogs?: pulumi.Input<pulumi.Input<inputs.fabric.CloudRouterChangeLog>[]>; /** * Number of connections associated with this Fabric Cloud Router instance */ connectionsCount?: pulumi.Input<number>; /** * Customer-provided Fabric Cloud Router description */ description?: pulumi.Input<string>; /** * Equinix ASN */ equinixAsn?: pulumi.Input<number>; /** * Fabric Cloud Router URI information */ href?: pulumi.Input<string>; /** * Fabric Cloud Router location */ location?: pulumi.Input<inputs.fabric.CloudRouterLocation>; /** * Equinix Fabric Entity for Marketplace Subscription */ marketplaceSubscription?: pulumi.Input<inputs.fabric.CloudRouterMarketplaceSubscription>; /** * Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores */ name?: pulumi.Input<string>; /** * Preferences for notifications on Fabric Cloud Router configuration or status changes */ notifications?: pulumi.Input<pulumi.Input<inputs.fabric.CloudRouterNotification>[]>; /** * Order information related to this Fabric Cloud Router */ order?: pulumi.Input<inputs.fabric.CloudRouterOrder>; /** * Fabric Cloud Router Package Type */ package?: pulumi.Input<inputs.fabric.CloudRouterPackage>; /** * Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects */ project?: pulumi.Input<inputs.fabric.CloudRouterProject>; /** * Fabric Cloud Router overall state */ state?: pulumi.Input<string>; /** * Defines the FCR type like; XF_ROUTER */ type?: pulumi.Input<string>; /** * Equinix-assigned Fabric Cloud Router identifier */ uuid?: pulumi.Input<string>; } /** * The set of arguments for constructing a CloudRouter resource. */ export interface CloudRouterArgs { /** * Customer account information that is associated with this Fabric Cloud Router */ account?: pulumi.Input<inputs.fabric.CloudRouterAccount>; /** * Customer-provided Fabric Cloud Router description */ description?: pulumi.Input<string>; /** * Fabric Cloud Router URI information */ href?: pulumi.Input<string>; /** * Fabric Cloud Router location */ location: pulumi.Input<inputs.fabric.CloudRouterLocation>; /** * Equinix Fabric Entity for Marketplace Subscription */ marketplaceSubscription?: pulumi.Input<inputs.fabric.CloudRouterMarketplaceSubscription>; /** * Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores */ name?: pulumi.Input<string>; /** * Preferences for notifications on Fabric Cloud Router configuration or status changes */ notifications: pulumi.Input<pulumi.Input<inputs.fabric.CloudRouterNotification>[]>; /** * Order information related to this Fabric Cloud Router */ order?: pulumi.Input<inputs.fabric.CloudRouterOrder>; /** * Fabric Cloud Router Package Type */ package: pulumi.Input<inputs.fabric.CloudRouterPackage>; /** * Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects */ project: pulumi.Input<inputs.fabric.CloudRouterProject>; /** * Defines the FCR type like; XF_ROUTER */ type: pulumi.Input<string>; /** * Equinix-assigned Fabric Cloud Router identifier */ uuid?: pulumi.Input<string>; }