UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

321 lines (320 loc) 11.2 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-Sprofiles-implement.htm * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#service-profiles * * ## Example Usage * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/pulumi-equinix"; * * const newServiceProfile = new equinix.fabric.ServiceProfile("newServiceProfile", { * description: "Service Profile for Receiving Connections", * name: "Name Of Business + Use Case Tag", * type: equinix.fabric.ProfileType.L2Profile, * visibility: equinix.fabric.ProfileVisibility.Public, * notifications: [{ * emails: ["someone@sample.com"], * type: "BANDWIDTH_ALERT", * }], * allowedEmails: [ * "test@equinix.com", * "testagain@equinix.com", * ], * ports: [{ * uuid: "c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", * type: "XF_PORT", * }], * accessPointTypeConfigs: [{ * type: equinix.fabric.ProfileAccessPointType.Colo, * allowRemoteConnections: true, * allowCustomBandwidth: true, * allowBandwidthAutoApproval: false, * connectionRedundancyRequired: false, * connectionLabel: "Service Profile Tag1", * bandwidthAlertThreshold: 10, * supportedBandwidths: [ * 100, * 500, * ], * }], * }); * ``` */ export declare class ServiceProfile extends pulumi.CustomResource { /** * Get an existing ServiceProfile 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?: ServiceProfileState, opts?: pulumi.CustomResourceOptions): ServiceProfile; /** * Returns true if the given object is an instance of ServiceProfile. 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 ServiceProfile; /** * Access point config information */ readonly accessPointTypeConfigs: pulumi.Output<outputs.fabric.ServiceProfileAccessPointTypeConfig[] | undefined>; /** * Service Profile Owner Account Information */ readonly account: pulumi.Output<outputs.fabric.ServiceProfileAccount>; /** * Array of contact emails */ readonly allowedEmails: pulumi.Output<string[] | undefined>; /** * Captures connection lifecycle change information */ readonly changeLog: pulumi.Output<outputs.fabric.ServiceProfileChangeLog>; /** * Custom Fields */ readonly customFields: pulumi.Output<outputs.fabric.ServiceProfileCustomField[] | undefined>; /** * User-provided service description */ readonly description: pulumi.Output<string>; /** * Service Profile URI response attribute */ readonly href: pulumi.Output<string>; /** * Marketing Info */ readonly marketingInfo: pulumi.Output<outputs.fabric.ServiceProfileMarketingInfo | undefined>; /** * Access point config information */ readonly metros: pulumi.Output<outputs.fabric.ServiceProfileMetro[] | undefined>; /** * Customer-assigned service profile name */ readonly name: pulumi.Output<string>; /** * Preferences for notifications on connection configuration or status changes */ readonly notifications: pulumi.Output<outputs.fabric.ServiceProfileNotification[] | undefined>; /** * Ports */ readonly ports: pulumi.Output<outputs.fabric.ServiceProfilePort[] | undefined>; /** * Project information */ readonly project: pulumi.Output<outputs.fabric.ServiceProfileProject | undefined>; /** * Self Profile indicating if the profile is created for customer's self use */ readonly selfProfile: pulumi.Output<boolean | undefined>; /** * Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED */ readonly state: pulumi.Output<string | undefined>; /** * Tags attached to the connection */ readonly tags: pulumi.Output<string[] | undefined>; /** * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE */ readonly type: pulumi.Output<string>; /** * Equinix assigned service profile identifier */ readonly uuid: pulumi.Output<string>; /** * Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide */ readonly viewPoint: pulumi.Output<string | undefined>; /** * Virtual Devices */ readonly virtualDevices: pulumi.Output<outputs.fabric.ServiceProfileVirtualDevice[] | undefined>; /** * Service profile visibility - PUBLIC, PRIVATE */ readonly visibility: pulumi.Output<string | undefined>; /** * Create a ServiceProfile 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: ServiceProfileArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ServiceProfile resources. */ export interface ServiceProfileState { /** * Access point config information */ accessPointTypeConfigs?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileAccessPointTypeConfig>[]>; /** * Service Profile Owner Account Information */ account?: pulumi.Input<inputs.fabric.ServiceProfileAccount>; /** * Array of contact emails */ allowedEmails?: pulumi.Input<pulumi.Input<string>[]>; /** * Captures connection lifecycle change information */ changeLog?: pulumi.Input<inputs.fabric.ServiceProfileChangeLog>; /** * Custom Fields */ customFields?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileCustomField>[]>; /** * User-provided service description */ description?: pulumi.Input<string>; /** * Service Profile URI response attribute */ href?: pulumi.Input<string>; /** * Marketing Info */ marketingInfo?: pulumi.Input<inputs.fabric.ServiceProfileMarketingInfo>; /** * Access point config information */ metros?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileMetro>[]>; /** * Customer-assigned service profile name */ name?: pulumi.Input<string>; /** * Preferences for notifications on connection configuration or status changes */ notifications?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileNotification>[]>; /** * Ports */ ports?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfilePort>[]>; /** * Project information */ project?: pulumi.Input<inputs.fabric.ServiceProfileProject>; /** * Self Profile indicating if the profile is created for customer's self use */ selfProfile?: pulumi.Input<boolean>; /** * Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED */ state?: pulumi.Input<string | enums.fabric.ProfileState>; /** * Tags attached to the connection */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE */ type?: pulumi.Input<string | enums.fabric.ProfileType>; /** * Equinix assigned service profile identifier */ uuid?: pulumi.Input<string>; /** * Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide */ viewPoint?: pulumi.Input<string>; /** * Virtual Devices */ virtualDevices?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileVirtualDevice>[]>; /** * Service profile visibility - PUBLIC, PRIVATE */ visibility?: pulumi.Input<string | enums.fabric.ProfileVisibility>; } /** * The set of arguments for constructing a ServiceProfile resource. */ export interface ServiceProfileArgs { /** * Access point config information */ accessPointTypeConfigs?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileAccessPointTypeConfig>[]>; /** * Array of contact emails */ allowedEmails?: pulumi.Input<pulumi.Input<string>[]>; /** * Custom Fields */ customFields?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileCustomField>[]>; /** * User-provided service description */ description: pulumi.Input<string>; /** * Marketing Info */ marketingInfo?: pulumi.Input<inputs.fabric.ServiceProfileMarketingInfo>; /** * Access point config information */ metros?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileMetro>[]>; /** * Customer-assigned service profile name */ name?: pulumi.Input<string>; /** * Preferences for notifications on connection configuration or status changes */ notifications?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileNotification>[]>; /** * Ports */ ports?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfilePort>[]>; /** * Project information */ project?: pulumi.Input<inputs.fabric.ServiceProfileProject>; /** * Self Profile indicating if the profile is created for customer's self use */ selfProfile?: pulumi.Input<boolean>; /** * Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED */ state?: pulumi.Input<string | enums.fabric.ProfileState>; /** * Tags attached to the connection */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE */ type: pulumi.Input<string | enums.fabric.ProfileType>; /** * Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide */ viewPoint?: pulumi.Input<string>; /** * Virtual Devices */ virtualDevices?: pulumi.Input<pulumi.Input<inputs.fabric.ServiceProfileVirtualDevice>[]>; /** * Service profile visibility - PUBLIC, PRIVATE */ visibility?: pulumi.Input<string | enums.fabric.ProfileVisibility>; }