@equinix-labs/pulumi-equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
174 lines (173 loc) • 7.94 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
* Fabric V4 API compatible data resource that allow user to fetch Service Profile by UUID filter criteria
*
* 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 serviceProfileDataName = equinix.fabric.getServiceProfile({
* uuid: "<uuid_of_service_profile>",
* });
* export const id = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.id);
* export const name = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.name);
* export const type = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.type);
* export const visibility = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.visibility);
* export const orgName = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.account?.organizationName);
* export const accessPointTypeConfigsType = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.type);
* export const allowRemoteConnections = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.allowRemoteConnections);
* export const supportedBandwidth0 = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.supportedBandwidths?.[0]);
* export const supportedBandwidth1 = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.supportedBandwidths?.[1]);
* export const redundandyRequired = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.connectionRedundancyRequired);
* export const allowOverSubscription = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.apiConfig?.allowOverSubscription);
* ```
*/
export declare function getServiceProfile(args: GetServiceProfileArgs, opts?: pulumi.InvokeOptions): Promise<GetServiceProfileResult>;
/**
* A collection of arguments for invoking getServiceProfile.
*/
export interface GetServiceProfileArgs {
/**
* Equinix assigned service profile identifier
*/
uuid: string;
}
/**
* A collection of values returned by getServiceProfile.
*/
export interface GetServiceProfileResult {
/**
* Access point config information
*/
readonly accessPointTypeConfigs: outputs.fabric.GetServiceProfileAccessPointTypeConfig[];
/**
* Service Profile Owner Account Information
*/
readonly account: outputs.fabric.GetServiceProfileAccount;
/**
* Array of contact emails
*/
readonly allowedEmails: string[];
/**
* Captures connection lifecycle change information
*/
readonly changeLog: outputs.fabric.GetServiceProfileChangeLog;
/**
* Custom Fields
*/
readonly customFields: outputs.fabric.GetServiceProfileCustomField[];
/**
* User-provided service description
*/
readonly description: string;
/**
* Service Profile URI response attribute
*/
readonly href: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* Marketing Info
*/
readonly marketingInfo: outputs.fabric.GetServiceProfileMarketingInfo;
/**
* Access point config information
*/
readonly metros: outputs.fabric.GetServiceProfileMetro[];
/**
* Customer-assigned service profile name
*/
readonly name: string;
/**
* Preferences for notifications on connection configuration or status changes
*/
readonly notifications: outputs.fabric.GetServiceProfileNotification[];
/**
* Ports
*/
readonly ports: outputs.fabric.GetServiceProfilePort[];
/**
* Project information
*/
readonly project: outputs.fabric.GetServiceProfileProject;
/**
* Self Profile indicating if the profile is created for customer's self use
*/
readonly selfProfile: boolean;
/**
* Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED
*/
readonly state: string;
/**
* Tags attached to the connection
*/
readonly tags: string[];
/**
* Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE
*/
readonly type: string;
/**
* Equinix assigned service profile identifier
*/
readonly uuid: string;
/**
* Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide
*/
readonly viewPoint: string;
/**
* Virtual Devices
*/
readonly virtualDevices: outputs.fabric.GetServiceProfileVirtualDevice[];
/**
* Service profile visibility - PUBLIC, PRIVATE
*/
readonly visibility: string;
}
/**
* Fabric V4 API compatible data resource that allow user to fetch Service Profile by UUID filter criteria
*
* 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 serviceProfileDataName = equinix.fabric.getServiceProfile({
* uuid: "<uuid_of_service_profile>",
* });
* export const id = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.id);
* export const name = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.name);
* export const type = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.type);
* export const visibility = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.visibility);
* export const orgName = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.account?.organizationName);
* export const accessPointTypeConfigsType = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.type);
* export const allowRemoteConnections = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.allowRemoteConnections);
* export const supportedBandwidth0 = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.supportedBandwidths?.[0]);
* export const supportedBandwidth1 = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.supportedBandwidths?.[1]);
* export const redundandyRequired = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.connectionRedundancyRequired);
* export const allowOverSubscription = serviceProfileDataName.then(serviceProfileDataName => serviceProfileDataName.accessPointTypeConfigs?.[0]?.apiConfig?.allowOverSubscription);
* ```
*/
export declare function getServiceProfileOutput(args: GetServiceProfileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetServiceProfileResult>;
/**
* A collection of arguments for invoking getServiceProfile.
*/
export interface GetServiceProfileOutputArgs {
/**
* Equinix assigned service profile identifier
*/
uuid: pulumi.Input<string>;
}