@equinix-labs/pulumi-equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
289 lines (288 loc) • 10.1 kB
TypeScript
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>;
}