From 9a8802704935a5104cb050df07fefd5761fa1048 Mon Sep 17 00:00:00 2001 From: Oscar Cobles Date: Wed, 21 Aug 2024 16:23:53 +0200 Subject: [PATCH 1/2] fix: make only_tfgen && make tfgen Signed-off-by: Oscar Cobles --- Makefile | 30 +- .../equinix_fabric_cloud_router.examples.md | 38 +- .../equinix_fabric_connection.examples.md | 1060 ++++++++--------- .../equinix_fabric_network.examples.md | 14 +- ...quinix_fabric_routing_protocol.examples.md | 56 +- ...equinix_fabric_service_profile.examples.md | 36 +- .../equinix_metal_connection.examples.md | 122 +- .../resource/equinix_metal_device.examples.md | 14 +- .../equinix_metal_ip_attachment.examples.md | 67 +- .../equinix_metal_project.examples.md | 20 +- ...quinix_metal_reserved_ip_block.examples.md | 16 +- ...inix_metal_spot_market_request.examples.md | 12 +- .../equinix_metal_ssh_key.examples.md | 2 +- .../equinix_network_acl_template.examples.md | 26 +- .../equinix_network_device.examples.md | 190 +-- .../equinix_network_device_link.examples.md | 34 +- .../resource/equinix_network_file.examples.md | 2 +- examples/fabric/cloud_router/go/go.mod | 2 +- .../fabric/cloud_router/python/__main__.py | 38 +- .../connection/example_fcr_to_azure/go/go.mod | 2 +- .../example_fcr_to_azure/python/__main__.py | 58 +- .../connection/example_fcr_to_metal/go/go.mod | 2 +- .../example_fcr_to_metal/python/__main__.py | 42 +- .../example_fcr_to_network/go/go.mod | 2 +- .../example_fcr_to_network/python/__main__.py | 46 +- .../connection/example_fcr_to_port/go/go.mod | 2 +- .../example_fcr_to_port/python/__main__.py | 60 +- .../connection/example_metal_to_aws/go/go.mod | 2 +- .../example_metal_to_aws/python/__main__.py | 54 +- .../connection/example_port_to_aws/go/go.mod | 2 +- .../example_port_to_aws/python/__main__.py | 74 +- .../example_port_to_network_eplan/go/go.mod | 2 +- .../python/__main__.py | 46 +- .../example_port_to_network_evplan/go/go.mod | 2 +- .../python/__main__.py | 54 +- .../connection/example_port_to_port/go/go.mod | 2 +- .../example_port_to_port/python/__main__.py | 68 +- .../example_port_to_port_access_epl/go/go.mod | 2 +- .../python/__main__.py | 60 +- .../example_port_to_port_epl/go/go.mod | 2 +- .../python/__main__.py | 52 +- .../connection/example_port_to_vd/go/go.mod | 2 +- .../example_port_to_vd/python/__main__.py | 70 +- .../connection/example_token_to_aws/go/go.mod | 2 +- .../example_token_to_aws/python/__main__.py | 52 +- .../connection/example_vd_to_azure/go/go.mod | 2 +- .../example_vd_to_azure/python/__main__.py | 68 +- .../example_vd_to_azure_redundant/go/go.mod | 2 +- .../python/__main__.py | 150 +-- .../example_vd_to_network/go/go.mod | 2 +- .../example_vd_to_network/python/__main__.py | 56 +- .../connection/example_vd_to_token/go/go.mod | 2 +- .../example_vd_to_token/python/__main__.py | 50 +- examples/fabric/network/go/go.mod | 2 +- examples/fabric/network/python/__main__.py | 14 +- .../routing_protocol/example_1/go/go.mod | 2 +- .../example_1/python/__main__.py | 12 +- .../routing_protocol/example_2/go/go.mod | 2 +- .../example_2/python/__main__.py | 16 +- .../routing_protocol/example_3/go/go.mod | 2 +- .../example_3/python/__main__.py | 28 +- examples/fabric/service_profile/go/go.mod | 2 +- .../fabric/service_profile/python/__main__.py | 36 +- .../csharp/equinix-metal-bgp_session.csproj | 2 +- examples/metal/bgp_session/go/go.mod | 2 +- examples/metal/bgp_session/java/pom.xml | 2 +- .../metal/bgp_session/python/requirements.txt | 2 +- .../metal/bgp_session/typescript/package.json | 2 +- .../example_fabric_billed/go/go.mod | 2 +- .../example_fabric_billed/go/main.go | 2 +- .../connection/example_metal_billed/go/go.mod | 2 +- .../example_metal_billed/go/main.go | 2 +- .../go/go.mod | 2 +- .../python/__main__.py | 48 +- .../go/go.mod | 2 +- .../python/__main__.py | 70 +- examples/metal/device/example_1/go/go.mod | 2 +- examples/metal/device/example_2/go/go.mod | 2 +- examples/metal/device/example_3/go/go.mod | 2 +- .../metal/device/example_3/python/__main__.py | 8 +- examples/metal/device/example_4/go/go.mod | 2 +- examples/metal/device/example_5/go/go.mod | 2 +- .../metal/device/example_5/python/__main__.py | 6 +- examples/metal/device_network_type/go/go.mod | 2 +- examples/metal/gateway/example_1/go/go.mod | 2 +- examples/metal/gateway/example_2/go/go.mod | 2 +- .../csharp/equinix-metal-ip_attachment.csproj | 2 +- examples/metal/ip_attachment/go/go.mod | 2 +- examples/metal/ip_attachment/go/main.go | 67 +- examples/metal/ip_attachment/java/pom.xml | 2 +- .../ip_attachment/python/requirements.txt | 2 +- .../ip_attachment/typescript/package.json | 2 +- examples/metal/organization/go/go.mod | 2 +- .../organization_member/example_1/go/go.mod | 2 +- .../organization_member/example_2/go/go.mod | 2 +- .../port_vlan_attachment/example_1/go/go.mod | 2 +- .../port_vlan_attachment/example_2/go/go.mod | 2 +- examples/metal/project/example_1/go/go.mod | 2 +- examples/metal/project/example_2/go/go.mod | 2 +- .../project/example_2/python/__main__.py | 10 +- examples/metal/project/example_3/go/go.mod | 2 +- .../project/example_3/python/__main__.py | 10 +- examples/metal/project_api_key/go/go.mod | 2 +- examples/metal/project_ssh_key/go/go.mod | 2 +- .../reserved_ip_block/example_1/go/go.mod | 2 +- .../reserved_ip_block/example_2/go/go.mod | 2 +- .../example_2/python/__main__.py | 16 +- examples/metal/spot_market_request/go/go.mod | 2 +- .../spot_market_request/python/__main__.py | 12 +- .../csharp/equinix-metal-ssh_key.csproj | 2 +- examples/metal/ssh_key/go/go.mod | 2 +- examples/metal/ssh_key/go/main.go | 2 +- examples/metal/ssh_key/java/pom.xml | 2 +- .../metal/ssh_key/python/requirements.txt | 2 +- .../metal/ssh_key/typescript/package.json | 2 +- examples/metal/user_api_key/go/go.mod | 2 +- examples/metal/virtual_circuit/go/go.mod | 2 +- examples/metal/vlan/go/go.mod | 2 +- examples/metal/vrf/example_1/go/go.mod | 2 +- examples/metal/vrf/example_2/go/go.mod | 2 +- examples/metal/vrf/example_3/go/go.mod | 2 +- examples/network/acl_template/go/go.mod | 2 +- .../network/acl_template/python/__main__.py | 26 +- examples/network/bgp/go/go.mod | 2 +- examples/network/device/example_1/go/go.mod | 2 +- .../device/example_1/python/__main__.py | 14 +- examples/network/device/example_2/go/go.mod | 2 +- .../device/example_2/python/__main__.py | 38 +- .../equinix-network-device-example_3.csproj | 2 +- examples/network/device/example_3/go/go.mod | 2 +- examples/network/device/example_3/go/main.go | 2 +- .../network/device/example_3/java/pom.xml | 2 +- .../device/example_3/python/requirements.txt | 2 +- .../device/example_3/typescript/package.json | 2 +- examples/network/device/example_4/go/go.mod | 2 +- .../device/example_4/python/__main__.py | 8 +- examples/network/device/example_5/go/go.mod | 2 +- .../device/example_5/python/__main__.py | 8 +- examples/network/device/example_6/go/go.mod | 2 +- .../device/example_6/python/__main__.py | 24 +- examples/network/device/example_7/go/go.mod | 2 +- .../device/example_7/python/__main__.py | 32 +- .../equinix-network-device-example_8.csproj | 2 +- examples/network/device/example_8/go/go.mod | 2 +- examples/network/device/example_8/go/main.go | 4 +- .../network/device/example_8/java/pom.xml | 2 +- .../device/example_8/python/__main__.py | 14 +- .../device/example_8/python/requirements.txt | 2 +- .../device/example_8/typescript/package.json | 2 +- examples/network/device/example_9/go/go.mod | 2 +- .../device/example_9/python/__main__.py | 46 +- examples/network/device_link/go/go.mod | 2 +- .../network/device_link/python/__main__.py | 34 +- .../file/csharp/equinix-network-file.csproj | 2 +- examples/network/file/go/go.mod | 2 +- examples/network/file/go/main.go | 2 +- examples/network/file/java/pom.xml | 2 +- examples/network/file/python/requirements.txt | 2 +- examples/network/file/typescript/package.json | 2 +- examples/network/ssh_key/go/go.mod | 2 +- examples/network/ssh_user/go/go.mod | 2 +- go.work.sum | 3 +- .../cmd/pulumi-resource-equinix/schema.json | 30 +- 163 files changed, 1837 insertions(+), 1836 deletions(-) diff --git a/Makefile b/Makefile index 7190b2d0..301e0f3c 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,12 @@ PROJECT_NAME := equinix Package +WORKING_DIR := $(shell pwd) +BIN_DIR := $(WORKING_DIR)/.pulumi/bin +PULUMICTL_BIN := $(BIN_DIR)/pulumictl +export PATH := $(BIN_DIR):$(PATH) + +PULUMICTL_VERSION := v0.0.46 + SHELL := /bin/bash PACK := equinix ORG := equinix @@ -17,10 +24,6 @@ JAVA_GROUP_ID := com.${ORG}.pulumi JAVA_ARTIFACT_ID := ${PACK} TESTPARALLELISM := 4 -WORKING_DIR := $(shell pwd) -BIN_DIR := $(WORKING_DIR)/.pulumi/bin -PULUMICTL_BIN := $(BIN_DIR)/pulumictl - OS := $(shell uname | tr '[:upper:]' '[:lower:]') ARCH := $(shell uname -m) ifeq ($(ARCH),x86_64) @@ -29,8 +32,6 @@ endif EMPTY_TO_AVOID_SED := "" -PULUMICTL_VERSION := v0.0.46 - # estimated target version of the plugin that is currently being generated VERSION = $(shell $(PULUMICTL_BIN) get version) PACKAGE_VERSION = $(shell $(PULUMICTL_BIN) get version --language generic) @@ -48,11 +49,11 @@ only_tfgen: install_plugins upstream build_schema tfgen: only_tfgen generate_examples # Generate examples after the schema is generated -generate_examples: examples build_schema +generate_examples: examples build_schema_post_examples # Build the tfgen binary and generate the schema -build_schema: $(PULUMICTL_BIN) -build_schema: +build_schema build_schema_post_examples: $(PULUMICTL_BIN) +build_schema build_schema_post_examples: (cd provider && go build -o $(WORKING_DIR)/bin/${TFGEN} -ldflags "-X ${PROJECT}/${VERSION_PATH}=${VERSION}" ${PROJECT}/${PROVIDER_PATH}/cmd/${TFGEN}) $(WORKING_DIR)/bin/${TFGEN} schema --out provider/cmd/${PROVIDER} (cd provider && VERSION=$(VERSION) go generate cmd/${PROVIDER}/main.go) @@ -214,7 +215,12 @@ upstream.rebase: scripts/upstream_old.sh "$@" start_rebase .pulumi/bin/pulumi: .pulumi/version - curl -fsSL https://get.pulumi.com | HOME=$(WORKING_DIR) sh -s -- --version $(cat .pulumi/version) + @if [ -x .pulumi/bin/pulumi ] && [ "v$$(cat .pulumi/version)" = "$$(.pulumi/bin/pulumi version)" ]; then \ + echo "pulumi/bin/pulumi version: v$$(cat .pulumi/version)"; \ + else \ + curl -fsSL https://get.pulumi.com | \ + HOME=$(WORKING_DIR) sh -s -- --version "$$(cat .pulumi/version)"; \ + fi $(PULUMICTL_BIN): @mkdir -p $(BIN_DIR) @@ -226,8 +232,8 @@ examples: install_equinix_plugin $(PULUMICTL_BIN) scripts/generate_examples.sh # Compute the version of Pulumi to use by inspecting the Go dependencies of the provider. -.pulumi/version: +.pulumi/version: provider/go.mod @mkdir -p .pulumi @cd provider && go list -f "{{slice .Version 1}}" -m github.com/pulumi/pulumi/pkg/v3 | tee ../$@ -.PHONY: development build build_sdks install_go_sdk install_java_sdk install_python_sdk install_sdks only_build build_dotnet build_go build_java build_nodejs build_python clean cleanup help install_dotnet_sdk install_nodejs_sdk install_equinix_plugin uninstall_equinix_plugin install_plugins lint_provider provider test tfgen upstream upstream.finalize upstream.rebase test_provider examples examples_check +.PHONY: development build build_schema build_schema_post_examples build_sdks install_go_sdk install_java_sdk install_python_sdk install_sdks only_build build_dotnet build_go build_java build_nodejs build_python clean cleanup help install_dotnet_sdk install_nodejs_sdk install_equinix_plugin uninstall_equinix_plugin install_plugins lint_provider provider test tfgen upstream upstream.finalize upstream.rebase test_provider examples examples_check diff --git a/docs/resource/equinix_fabric_cloud_router.examples.md b/docs/resource/equinix_fabric_cloud_router.examples.md index cdcdfd45..18345fa3 100644 --- a/docs/resource/equinix_fabric_cloud_router.examples.md +++ b/docs/resource/equinix_fabric_cloud_router.examples.md @@ -38,28 +38,28 @@ import pulumi_equinix as equinix new_cloud_router = equinix.fabric.CloudRouter("newCloudRouter", name="Router-SV", type="XF_ROUTER", - notifications=[equinix.fabric.CloudRouterNotificationArgs( - type="ALL", - emails=[ + notifications=[{ + "type": "ALL", + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], - order=equinix.fabric.CloudRouterOrderArgs( - purchase_order_number="1-323292", - ), - location=equinix.fabric.CloudRouterLocationArgs( - metro_code="SV", - ), - package=equinix.fabric.CloudRouterPackageArgs( - code="STANDARD", - ), - project=equinix.fabric.CloudRouterProjectArgs( - project_id="776847000642406", - ), - account=equinix.fabric.CloudRouterAccountArgs( - account_number=203612, - )) + }], + order={ + "purchase_order_number": "1-323292", + }, + location={ + "metro_code": "SV", + }, + package={ + "code": "STANDARD", + }, + project={ + "project_id": "776847000642406", + }, + account={ + "account_number": 203612, + }) ``` ```go package main diff --git a/docs/resource/equinix_fabric_connection.examples.md b/docs/resource/equinix_fabric_connection.examples.md index 57c605ff..4e253d4b 100644 --- a/docs/resource/equinix_fabric_connection.examples.md +++ b/docs/resource/equinix_fabric_connection.examples.md @@ -51,39 +51,39 @@ import pulumi_equinix as equinix fcr2_azure = equinix.fabric.Connection("fcr2azure", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -350,31 +350,31 @@ import pulumi_equinix as equinix fcr2_metal = equinix.fabric.Connection("fcr2metal", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type="METAL_NETWORK", - authentication_key="", - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": "", + }, + }) ``` ```go package main @@ -608,33 +608,33 @@ import pulumi_equinix as equinix fcr2_network = equinix.fabric.Connection("fcr2network", name="ConnectionName", type="IPWAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ```go package main @@ -884,40 +884,40 @@ import pulumi_equinix as equinix fcr2_port = equinix.fabric.Connection("fcr2port", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_tag=2711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_tag": 2711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -1195,37 +1195,37 @@ import pulumi_equinix as equinix metal2_aws = equinix.fabric.Connection("metal2aws", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="METAL_NETWORK", - authentication_key="", - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": "", + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -1509,47 +1509,47 @@ import pulumi_equinix as equinix port2_aws = equinix.fabric.Connection("port2aws", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="PRIMARY", - ), - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323929", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=2019, - vlan_c_tag=2112, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - ), + redundancy={ + "priority": "PRIMARY", + }, + order={ + "purchase_order_number": "1-323929", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 2019, + "vlan_c_tag": 2112, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }, additional_info=[ { "key": "accessKey", @@ -1899,33 +1899,33 @@ import pulumi_equinix as equinix eplan = equinix.fabric.Connection("eplan", name="ConnectionName", type="EPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ```go package main @@ -2172,37 +2172,37 @@ import pulumi_equinix as equinix evplan = equinix.fabric.Connection("evplan", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ```go package main @@ -2473,44 +2473,44 @@ import pulumi_equinix as equinix port2_port = equinix.fabric.Connection("port2port", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=3711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 3711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -2808,40 +2808,40 @@ import pulumi_equinix as equinix access_epl_vc = equinix.fabric.Connection("accessEplVc", name="ConnectionName", type=equinix.fabric.ConnectionType.ACCESS_EPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -3119,36 +3119,36 @@ import pulumi_equinix as equinix epl = equinix.fabric.Connection("epl", name="ConnectionName", type=equinix.fabric.ConnectionType.EPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -3417,45 +3417,45 @@ import pulumi_equinix as equinix vd2_port = equinix.fabric.Connection("vd2port", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="NETWORK", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_s_tag=3711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "NETWORK", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_s_tag": 3711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -3753,36 +3753,36 @@ import pulumi_equinix as equinix token2_aws = equinix.fabric.Connection("token2aws", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - service_token=equinix.fabric.ConnectionASideServiceTokenArgs( - uuid="", - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "service_token": { + "uuid": "", + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -4049,44 +4049,44 @@ import pulumi_equinix as equinix vd2_azure = equinix.fabric.Connection("vd2azure", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -4436,92 +4436,92 @@ import pulumi_equinix as equinix vd2_azure_primary = equinix.fabric.Connection("vd2azurePrimary", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="PRIMARY", - ), - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + redundancy={ + "priority": "PRIMARY", + }, + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) vd2_azure_secondary = equinix.fabric.Connection("vd2azureSecondary", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="SECONDARY", - group=vd2_azure_primary.redundancy.group, - ), - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + redundancy={ + "priority": "SECONDARY", + "group": vd2_azure_primary.redundancy.group, + }, + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=5, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 5, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main @@ -5028,38 +5028,38 @@ import pulumi_equinix as equinix vd2_network = equinix.fabric.Connection("vd2network", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ```go package main @@ -5325,35 +5325,35 @@ import pulumi_equinix as equinix vd2_token = equinix.fabric.Connection("vd2token", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="NETWORK", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - service_token=equinix.fabric.ConnectionZSideServiceTokenArgs( - uuid="", - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "NETWORK", + "id": 7, + }, + }, + }, + z_side={ + "service_token": { + "uuid": "", + }, + }) ``` ```go package main diff --git a/docs/resource/equinix_fabric_network.examples.md b/docs/resource/equinix_fabric_network.examples.md index 71a3d17c..12ef9f82 100644 --- a/docs/resource/equinix_fabric_network.examples.md +++ b/docs/resource/equinix_fabric_network.examples.md @@ -28,16 +28,16 @@ new_network = equinix.fabric.Network("newNetwork", name="Network-SV", type="EVPLAN", scope="GLOBAL", - notifications=[equinix.fabric.NetworkNotificationArgs( - type="ALL", - emails=[ + notifications=[{ + "type": "ALL", + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], - project=equinix.fabric.NetworkProjectArgs( - project_id="776847000642406", - )) + }], + project={ + "project_id": "776847000642406", + }) ``` ```go package main diff --git a/docs/resource/equinix_fabric_routing_protocol.examples.md b/docs/resource/equinix_fabric_routing_protocol.examples.md index 9a057c85..3b662aa7 100644 --- a/docs/resource/equinix_fabric_routing_protocol.examples.md +++ b/docs/resource/equinix_fabric_routing_protocol.examples.md @@ -26,12 +26,12 @@ direct = equinix.fabric.RoutingProtocol("direct", connection_uuid="", type="DIRECT", name="direct_rp", - direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args( - equinix_iface_ip="190.1.1.1/30", - ), - direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args( - equinix_iface_ip="190::1:1/126", - )) + direct_ipv4={ + "equinix_iface_ip": "190.1.1.1/30", + }, + direct_ipv6={ + "equinix_iface_ip": "190::1:1/126", + }) ``` ```go package main @@ -168,14 +168,14 @@ bgp = equinix.fabric.RoutingProtocol("bgp", connection_uuid="", type="BGP", name="bgp_rp", - bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args( - customer_peer_ip="190.1.1.2", - enabled=True, - ), - bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args( - customer_peer_ip="190::1:2", - enabled=True, - ), + bgp_ipv4={ + "customer_peer_ip": "190.1.1.2", + "enabled": True, + }, + bgp_ipv6={ + "customer_peer_ip": "190::1:2", + "enabled": True, + }, customer_asn=4532) ``` ```go @@ -338,24 +338,24 @@ direct = equinix.fabric.RoutingProtocol("direct", connection_uuid="", type="DIRECT", name="direct_rp", - direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args( - equinix_iface_ip="190.1.1.1/30", - ), - direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args( - equinix_iface_ip="190::1:1/126", - )) + direct_ipv4={ + "equinix_iface_ip": "190.1.1.1/30", + }, + direct_ipv6={ + "equinix_iface_ip": "190::1:1/126", + }) bgp = equinix.fabric.RoutingProtocol("bgp", connection_uuid="", type="BGP", name="bgp_rp", - bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args( - customer_peer_ip="190.1.1.2", - enabled=True, - ), - bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args( - customer_peer_ip="190::1:2", - enabled=True, - ), + bgp_ipv4={ + "customer_peer_ip": "190.1.1.2", + "enabled": True, + }, + bgp_ipv6={ + "customer_peer_ip": "190::1:2", + "enabled": True, + }, customer_asn=4532, opts = pulumi.ResourceOptions(depends_on=[direct])) ``` diff --git a/docs/resource/equinix_fabric_service_profile.examples.md b/docs/resource/equinix_fabric_service_profile.examples.md index 2b4d3c08..7117a2e2 100644 --- a/docs/resource/equinix_fabric_service_profile.examples.md +++ b/docs/resource/equinix_fabric_service_profile.examples.md @@ -45,31 +45,31 @@ new_service_profile = equinix.fabric.ServiceProfile("newServiceProfile", name="Name Of Business + Use Case Tag", type=equinix.fabric.ProfileType.L2_PROFILE, visibility=equinix.fabric.ProfileVisibility.PUBLIC, - notifications=[equinix.fabric.ServiceProfileNotificationArgs( - emails=["someone@sample.com"], - type="BANDWIDTH_ALERT", - )], + notifications=[{ + "emails": ["someone@sample.com"], + "type": "BANDWIDTH_ALERT", + }], allowed_emails=[ "test@equinix.com", "testagain@equinix.com", ], - ports=[equinix.fabric.ServiceProfilePortArgs( - uuid="c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", - type="XF_PORT", - )], - access_point_type_configs=[equinix.fabric.ServiceProfileAccessPointTypeConfigArgs( - type=equinix.fabric.ProfileAccessPointType.COLO, - allow_remote_connections=True, - allow_custom_bandwidth=True, - allow_bandwidth_auto_approval=False, - connection_redundancy_required=False, - connection_label="Service Profile Tag1", - bandwidth_alert_threshold=10, - supported_bandwidths=[ + ports=[{ + "uuid": "c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", + "type": "XF_PORT", + }], + access_point_type_configs=[{ + "type": equinix.fabric.ProfileAccessPointType.COLO, + "allow_remote_connections": True, + "allow_custom_bandwidth": True, + "allow_bandwidth_auto_approval": False, + "connection_redundancy_required": False, + "connection_label": "Service Profile Tag1", + "bandwidth_alert_threshold": 10, + "supported_bandwidths": [ 100, 500, ], - )]) + }]) ``` ```go package main diff --git a/docs/resource/equinix_metal_connection.examples.md b/docs/resource/equinix_metal_connection.examples.md index bad34723..dd61f575 100644 --- a/docs/resource/equinix_metal_connection.examples.md +++ b/docs/resource/equinix_metal_connection.examples.md @@ -74,7 +74,7 @@ func main() { Type: pulumi.String("shared"), Redundancy: pulumi.String("primary"), Metro: pulumi.String(metro), - Speed: pulumi.String(fmt.Sprintf("%vMbps", speedInMbps)), + Speed: pulumi.Sprintf("%vMbps", speedInMbps), ServiceTokenType: pulumi.String("z_side"), }) if err != nil { @@ -257,7 +257,7 @@ func main() { Type: pulumi.String("shared"), Redundancy: pulumi.String("primary"), Metro: pulumi.String(metro), - Speed: pulumi.String(fmt.Sprintf("%vMbps", speedInMbps)), + Speed: pulumi.Sprintf("%vMbps", speedInMbps), ServiceTokenType: pulumi.String("a_side"), }) if err != nil { @@ -433,31 +433,31 @@ example = equinix.metal.Interconnection("example", example_connection = equinix.fabric.Connection("exampleConnection", name="tf-NIMF-metal-2-aws-legacy", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails="sername@example.com", - )], - project=equinix.fabric.ConnectionProjectArgs( - project_id=fabric_project_id, - ), + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": "sername@example.com", + }], + project={ + "project_id": fabric_project_id, + }, bandwidth=200, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid=cloud_router_uuid, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type="METAL_NETWORK", - authentication_key=example.authorization_code, - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": cloud_router_uuid, + }, + }, + }, + z_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": example.authorization_code, + }, + }) ``` ```go package main @@ -793,11 +793,11 @@ const exampleConnection = new equinix.fabric.Connection("exampleConnection", { import pulumi import pulumi_equinix as equinix -zside = equinix.fabric.get_service_profiles_output(filter=equinix.fabric.GetServiceProfilesFilterArgs( - property="/name", - operator="=", - values=["AWS Direct Connect"], -)) +zside = equinix.fabric.get_service_profiles_output(filter={ + "property": "/name", + "operator": "=", + "values": ["AWS Direct Connect"], +}) example1 = equinix.metal.Vlan("example1", project_id=my_project_id, metro="SV") @@ -812,37 +812,37 @@ example = equinix.metal.Interconnection("example", example_connection = equinix.fabric.Connection("exampleConnection", name="tf-NIMF-metal-2-aws-legacy", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails="sername@example.com", - )], - project=equinix.fabric.ConnectionProjectArgs( - project_id=fabric_project_id, - ), + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": "sername@example.com", + }], + project={ + "project_id": fabric_project_id, + }, bandwidth=200, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="METAL_NETWORK", - authentication_key=example.authorization_code, - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key=aws_account_id, - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid=zside.id, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": example.authorization_code, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": aws_account_id, + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": zside.id, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ```go package main diff --git a/docs/resource/equinix_metal_device.examples.md b/docs/resource/equinix_metal_device.examples.md index 151ad932..4457db70 100644 --- a/docs/resource/equinix_metal_device.examples.md +++ b/docs/resource/equinix_metal_device.examples.md @@ -286,10 +286,10 @@ web1 = equinix.metal.Device("web1", operating_system=equinix.metal.OperatingSystem.UBUNTU20_04, billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id, - ip_addresses=[equinix.metal.DeviceIpAddressArgs( - type="private_ipv4", - cidr=30, - )]) + ip_addresses=[{ + "type": "private_ipv4", + "cidr": 30, + }]) ``` ```go package main @@ -895,12 +895,12 @@ pxe1 = equinix.metal.Device("pxe1", always_pxe=False, user_data=user_data, custom_data=custom_data, - behavior=equinix.metal.DeviceBehaviorArgs( - allow_changes=[ + behavior={ + "allow_changes": [ "custom_data", "user_data", ], - )) + }) ``` ```go package main diff --git a/docs/resource/equinix_metal_ip_attachment.examples.md b/docs/resource/equinix_metal_ip_attachment.examples.md index afe1066b..9a9c3432 100644 --- a/docs/resource/equinix_metal_ip_attachment.examples.md +++ b/docs/resource/equinix_metal_ip_attachment.examples.md @@ -50,42 +50,39 @@ import ( "github.com/pulumi/pulumi-std/sdk/go/std" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) + func main() { -pulumi.Run(func(ctx *pulumi.Context) error { -_, err := metal.NewReservedIpBlock(ctx, "myblock", &metal.ReservedIpBlockArgs{ -ProjectId: pulumi.Any(projectId), -Metro: pulumi.String("ny"), -Quantity: pulumi.Int(2), -}) -if err != nil { -return err -} -invokeJoin, err := std.Join(ctx, invokeCidrhost1, err := std.Cidrhost(ctx, &std.CidrhostArgs{ -Input: myblockMetalReservedIpBlock.CidrNotation, -Host: 0, -}, nil) -if err != nil { -return err -} -&std.JoinArgs{ -Separator: "/", -Input: []*string{ -invokeCidrhost1.Result, -"32", -}, -}, nil) -if err != nil { -return err -} -_, err = metal.NewIpAttachment(ctx, "firstAddressAssignment", &metal.IpAttachmentArgs{ -DeviceId: pulumi.Any(mydevice.Id), -CidrNotation: invokeJoin.Result, -}) -if err != nil { -return err -} -return nil -}) + pulumi.Run(func(ctx *pulumi.Context) error { + _, err := metal.NewReservedIpBlock(ctx, "myblock", &metal.ReservedIpBlockArgs{ + ProjectId: pulumi.Any(projectId), + Metro: pulumi.String("ny"), + Quantity: pulumi.Int(2), + }) + if err != nil { + return err + } + invokeJoin, err := std.Join(ctx, &std.JoinArgs{ + Separator: "/", + Input: []*string{ + std.Cidrhost(ctx, &std.CidrhostArgs{ + Input: myblockMetalReservedIpBlock.CidrNotation, + Host: 0, + }, nil).Result, + "32", + }, + }, nil) + if err != nil { + return err + } + _, err = metal.NewIpAttachment(ctx, "firstAddressAssignment", &metal.IpAttachmentArgs{ + DeviceId: pulumi.Any(mydevice.Id), + CidrNotation: pulumi.String(invokeJoin.Result), + }) + if err != nil { + return err + } + return nil + }) } ``` ```csharp diff --git a/docs/resource/equinix_metal_project.examples.md b/docs/resource/equinix_metal_project.examples.md index cd906c54..001e06d0 100644 --- a/docs/resource/equinix_metal_project.examples.md +++ b/docs/resource/equinix_metal_project.examples.md @@ -108,11 +108,11 @@ import pulumi_equinix as equinix tf_project1 = equinix.metal.Project("tfProject1", name="tftest", - bgp_config=equinix.metal.ProjectBgpConfigArgs( - deployment_type="local", - md5="C179c28c41a85b", - asn=65000, - )) + bgp_config={ + "deployment_type": "local", + "md5": "C179c28c41a85b", + "asn": 65000, + }) ``` ```go package main @@ -230,11 +230,11 @@ import pulumi_equinix as equinix existing_project = equinix.metal.Project("existingProject", name="The name of the project (if different, will rewrite)", - bgp_config=equinix.metal.ProjectBgpConfigArgs( - deployment_type="local", - md5="C179c28c41a85b", - asn=65000, - )) + bgp_config={ + "deployment_type": "local", + "md5": "C179c28c41a85b", + "asn": 65000, + }) ``` ```go package main diff --git a/docs/resource/equinix_metal_reserved_ip_block.examples.md b/docs/resource/equinix_metal_reserved_ip_block.examples.md index 6198786b..8e0bceaf 100644 --- a/docs/resource/equinix_metal_reserved_ip_block.examples.md +++ b/docs/resource/equinix_metal_reserved_ip_block.examples.md @@ -229,14 +229,14 @@ nodes = equinix.metal.Device("nodes", hostname="test", billing_cycle=equinix.metal.BillingCycle.HOURLY, ip_addresses=[ - equinix.metal.DeviceIpAddressArgs( - type="public_ipv4", - cidr=31, - reservation_ids=[example.id], - ), - equinix.metal.DeviceIpAddressArgs( - type="private_ipv4", - ), + { + "type": "public_ipv4", + "cidr": 31, + "reservation_ids": [example.id], + }, + { + "type": "private_ipv4", + }, ]) ``` ```go diff --git a/docs/resource/equinix_metal_spot_market_request.examples.md b/docs/resource/equinix_metal_spot_market_request.examples.md index 34823109..45ce1e80 100644 --- a/docs/resource/equinix_metal_spot_market_request.examples.md +++ b/docs/resource/equinix_metal_spot_market_request.examples.md @@ -28,12 +28,12 @@ req = equinix.metal.SpotMarketRequest("req", metro="ny", devices_min=1, devices_max=1, - instance_parameters=equinix.metal.SpotMarketRequestInstanceParametersArgs( - hostname="testspot", - billing_cycle="hourly", - operating_system="ubuntu_20_04", - plan="c3.small.x86", - )) + instance_parameters={ + "hostname": "testspot", + "billing_cycle": "hourly", + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + }) ``` ```go package main diff --git a/docs/resource/equinix_metal_ssh_key.examples.md b/docs/resource/equinix_metal_ssh_key.examples.md index 5d4d7222..8a9ed18b 100644 --- a/docs/resource/equinix_metal_ssh_key.examples.md +++ b/docs/resource/equinix_metal_ssh_key.examples.md @@ -58,7 +58,7 @@ func main() { } key1, err := metal.NewSshKey(ctx, "key1", &metal.SshKeyArgs{ Name: pulumi.String("terraform-1"), - PublicKey: invokeFile.Result, + PublicKey: pulumi.String(invokeFile.Result), }) if err != nil { return err diff --git a/docs/resource/equinix_network_acl_template.examples.md b/docs/resource/equinix_network_acl_template.examples.md index 2439fba5..3deb7fe5 100644 --- a/docs/resource/equinix_network_acl_template.examples.md +++ b/docs/resource/equinix_network_acl_template.examples.md @@ -34,19 +34,19 @@ myacl = equinix.networkedge.AclTemplate("myacl", description="Test ACL template", project_id="a86d7112-d740-4758-9c9c-31e66373746b", inbound_rules=[ - equinix.networkedge.AclTemplateInboundRuleArgs( - subnet="1.1.1.1/32", - protocol=equinix.networkedge.AclRuleProtocolType.IP, - src_port="any", - dst_port="any", - description="inbound rule description", - ), - equinix.networkedge.AclTemplateInboundRuleArgs( - subnet="172.16.25.0/24", - protocol=equinix.networkedge.AclRuleProtocolType.UDP, - src_port="any", - dst_port="53,1045,2041", - ), + { + "subnet": "1.1.1.1/32", + "protocol": equinix.networkedge.AclRuleProtocolType.IP, + "src_port": "any", + "dst_port": "any", + "description": "inbound rule description", + }, + { + "subnet": "172.16.25.0/24", + "protocol": equinix.networkedge.AclRuleProtocolType.UDP, + "src_port": "any", + "dst_port": "53,1045,2041", + }, ]) ``` ```go diff --git a/docs/resource/equinix_network_device.examples.md b/docs/resource/equinix_network_device.examples.md index 047b13c4..0741b361 100644 --- a/docs/resource/equinix_network_device.examples.md +++ b/docs/resource/equinix_network_device.examples.md @@ -71,16 +71,16 @@ csr1000_v_ha = equinix.networkedge.Device("csr1000vHa", account_number=dc.number, version="16.09.05", core_count=2, - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-csr1000v-s", - metro_code=sv.metro_code, - hostname="csr1000v-s", - notifications=[ + secondary_device={ + "name": "tf-csr1000v-s", + "metro_code": sv.metro_code, + "hostname": "csr1000v-s", + "notifications": [ "john@equinix.com", "marry@equinix.com", ], - account_number=sv.number, - )) + "account_number": sv.number, + }) ``` ```go package main @@ -382,26 +382,26 @@ panw_cluster = equinix.networkedge.Device("panwCluster", version="10.1.3", interface_count=10, core_count=2, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test", - key_name="test-key", - ), + ssh_key={ + "username": "test", + "key_name": "test-key", + }, acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b", - cluster_details=equinix.networkedge.DeviceClusterDetailsArgs( - cluster_name="tf-panw-cluster", - node0=equinix.networkedge.DeviceClusterDetailsNode0Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs( - hostname="panw-node0", - ), - license_token="licenseToken", - ), - node1=equinix.networkedge.DeviceClusterDetailsNode1Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs( - hostname="panw-node1", - ), - license_token="licenseToken", - ), - )) + cluster_details={ + "cluster_name": "tf-panw-cluster", + "node0": { + "vendor_configuration": { + "hostname": "panw-node0", + }, + "license_token": "licenseToken", + }, + "node1": { + "vendor_configuration": { + "hostname": "panw-node1", + }, + "license_token": "licenseToken", + }, + }) ``` ```go package main @@ -750,7 +750,7 @@ func main() { } aviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, "aviatrixCloudinitFile", &networkedge.NetworkFileArgs{ FileName: pulumi.String("TF-AVX-cloud-init-file.txt"), - Content: invokeFile.Result, + Content: pulumi.String(invokeFile.Result), MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), DeviceTypeCode: pulumi.String("AVIATRIX_EDGE"), ProcessType: pulumi.String(networkedge.FileTypeCloudInit), @@ -1002,10 +1002,10 @@ c8_kv_single = equinix.networkedge.Device("c8kvSingle", term_length=12, license_token="valid-license-token", additional_bandwidth=5, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name="valid-key-name", - ), + ssh_key={ + "username": "test-username", + "key_name": "valid-key-name", + }, acl_template_id="3e548c02-9164-4197-aa23-05b1f644883c") ``` ```go @@ -1244,10 +1244,10 @@ vsrx_single = equinix.networkedge.Device("vsrxSingle", additional_bandwidth=5, project_id="a86d7112-d740-4758-9c9c-31e66373746b", diverse_device_id="ed7891bd-15b4-4f72-ac56-d96cfdacddcc", - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name="valid-key-name", - ), + ssh_key={ + "username": "test-username", + "key_name": "valid-key-name", + }, acl_template_id="3e548c02-9164-4197-aa23-05b1f644883c") ``` ```go @@ -1505,19 +1505,19 @@ arista_ha = equinix.networkedge.Device("aristaHa", core_count=4, term_length=12, additional_bandwidth=5, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name=test_public_key.name, - ), + ssh_key={ + "username": "test-username", + "key_name": test_public_key.name, + }, acl_template_id="c637a17b-7a6a-4486-924b-30e6c36904b0", - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-arista-s", - metro_code=sv.metro_code, - hostname="arista-s", - notifications=["test@eq.com"], - account_number=sv.number, - acl_template_id="fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138", - )) + secondary_device={ + "name": "tf-arista-s", + "metro_code": sv.metro_code, + "hostname": "arista-s", + "notifications": ["test@eq.com"], + "account_number": sv.number, + "acl_template_id": "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138", + }) ``` ```go package main @@ -1856,24 +1856,24 @@ bluecat_bdds_ha = equinix.networkedge.Device("bluecatBddsHa", "licenseKey": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", "licenseId": "xxxxxxxxxxxxxxx", }, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name=test_public_key.name, - ), - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-bluecat-bdds-s", - metro_code=sv.metro_code, - notifications=["test@eq.com"], - account_number=sv.number, - vendor_configuration={ + ssh_key={ + "username": "test-username", + "key_name": test_public_key.name, + }, + secondary_device={ + "name": "tf-bluecat-bdds-s", + "metro_code": sv.metro_code, + "notifications": ["test@eq.com"], + "account_number": sv.number, + "vendor_configuration": { "hostname": "test", - "privateAddress": "x.x.x.x", - "privateCidrMask": "24", - "privateGateway": "x.x.x.x", - "licenseKey": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", - "licenseId": "xxxxxxxxxxxxxxx", + "private_address": "x.x.x.x", + "private_cidr_mask": "24", + "private_gateway": "x.x.x.x", + "license_key": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", + "license_id": "xxxxxxxxxxxxxxx", }, - )) + }) ``` ```go package main @@ -2262,13 +2262,13 @@ bluecat_edge_service_point_ha = equinix.networkedge.Device("bluecatEdgeServicePo version="4.6.3", core_count=4, term_length=12, - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-bluecat-edge-service-point-s", - metro_code=sv.metro_code, - notifications=["test@eq.com"], - account_number=sv.number, - cloud_init_file_id=bluecat_edge_service_point_cloudinit_secondary_file.uuid, - )) + secondary_device={ + "name": "tf-bluecat-edge-service-point-s", + "metro_code": sv.metro_code, + "notifications": ["test@eq.com"], + "account_number": sv.number, + "cloud_init_file_id": bluecat_edge_service_point_cloudinit_secondary_file.uuid, + }) ``` ```go package main @@ -2297,7 +2297,7 @@ func main() { } bluecatEdgeServicePointCloudinitPrimaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitPrimaryFile", &networkedge.NetworkFileArgs{ FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"), - Content: invokeFile.Result, + Content: pulumi.String(invokeFile.Result), MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), DeviceTypeCode: pulumi.String("BLUECAT-EDGE-SERVICE-POINT"), ProcessType: pulumi.String(networkedge.FileTypeCloudInit), @@ -2315,7 +2315,7 @@ func main() { } bluecatEdgeServicePointCloudinitSecondaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitSecondaryFile", &networkedge.NetworkFileArgs{ FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"), - Content: invokeFile1.Result, + Content: pulumi.String(invokeFile1.Result), MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), DeviceTypeCode: pulumi.String("BLUECAT-EDGE-SERVICE-POINT"), ProcessType: pulumi.String(networkedge.FileTypeCloudInit), @@ -2660,30 +2660,30 @@ panw_cluster = equinix.networkedge.Device("panwCluster", version="11.1.3", interface_count=10, core_count=2, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test", - key_name="test-key", - ), + ssh_key={ + "username": "test", + "key_name": "test-key", + }, acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b", - cluster_details=equinix.networkedge.DeviceClusterDetailsArgs( - cluster_name="tf-panw-cluster", - node0=equinix.networkedge.DeviceClusterDetailsNode0Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs( - hostname="panw-node0", - panorama_ip_address="x.x.x.x", - panorama_auth_key="xxxxxxxxxxx", - ), - license_token="licenseToken", - ), - node1=equinix.networkedge.DeviceClusterDetailsNode1Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs( - hostname="panw-node1", - panorama_ip_address="x.x.x.x", - panorama_auth_key="xxxxxxxxxxx", - ), - license_token="licenseToken", - ), - )) + cluster_details={ + "cluster_name": "tf-panw-cluster", + "node0": { + "vendor_configuration": { + "hostname": "panw-node0", + "panorama_ip_address": "x.x.x.x", + "panorama_auth_key": "xxxxxxxxxxx", + }, + "license_token": "licenseToken", + }, + "node1": { + "vendor_configuration": { + "hostname": "panw-node1", + "panorama_ip_address": "x.x.x.x", + "panorama_auth_key": "xxxxxxxxxxx", + }, + "license_token": "licenseToken", + }, + }) ``` ```go package main diff --git a/docs/resource/equinix_network_device_link.examples.md b/docs/resource/equinix_network_device_link.examples.md index f0454a6b..fdacb150 100644 --- a/docs/resource/equinix_network_device_link.examples.md +++ b/docs/resource/equinix_network_device_link.examples.md @@ -38,24 +38,24 @@ test = equinix.networkedge.DeviceLink("test", subnet="192.168.40.64/27", project_id="a86d7112-d740-4758-9c9c-31e66373746b", devices=[ - equinix.networkedge.DeviceLinkDeviceArgs( - id=test_equinix_network_device["uuid"], - asn=22111, - interface_id=6, - ), - equinix.networkedge.DeviceLinkDeviceArgs( - id=test_equinix_network_device["secondaryDevice"][0]["uuid"], - asn=22333, - interface_id=7, - ), + { + "id": test_equinix_network_device["uuid"], + "asn": 22111, + "interface_id": 6, + }, + { + "id": test_equinix_network_device["secondaryDevice"][0]["uuid"], + "asn": 22333, + "interface_id": 7, + }, ], - links=[equinix.networkedge.DeviceLinkLinkArgs( - account_number=test_equinix_network_device["accountNumber"], - src_metro_code=test_equinix_network_device["metroCode"], - dst_metro_code=test_equinix_network_device["secondaryDevice"][0]["metroCode"], - throughput="50", - throughput_unit="Mbps", - )]) + links=[{ + "account_number": test_equinix_network_device["accountNumber"], + "src_metro_code": test_equinix_network_device["metroCode"], + "dst_metro_code": test_equinix_network_device["secondaryDevice"][0]["metroCode"], + "throughput": "50", + "throughput_unit": "Mbps", + }]) ``` ```go package main diff --git a/docs/resource/equinix_network_file.examples.md b/docs/resource/equinix_network_file.examples.md index ffc918bf..5aa3bbf8 100644 --- a/docs/resource/equinix_network_file.examples.md +++ b/docs/resource/equinix_network_file.examples.md @@ -63,7 +63,7 @@ func main() { } _, err = networkedge.NewNetworkFile(ctx, "test-file", &networkedge.NetworkFileArgs{ FileName: pulumi.String("fileName.txt"), - Content: invokeFile.Result, + Content: pulumi.String(invokeFile.Result), MetroCode: pulumi.String(equinix.MetroSiliconValley), DeviceTypeCode: pulumi.String("AVIATRIX_EDGE"), ProcessType: pulumi.String(networkedge.FileTypeCloudInit), diff --git a/examples/fabric/cloud_router/go/go.mod b/examples/fabric/cloud_router/go/go.mod index 482bf5ed..9ae62507 100644 --- a/examples/fabric/cloud_router/go/go.mod +++ b/examples/fabric/cloud_router/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-cloud_router go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/cloud_router/python/__main__.py b/examples/fabric/cloud_router/python/__main__.py index 8eb768ee..ed1107c6 100644 --- a/examples/fabric/cloud_router/python/__main__.py +++ b/examples/fabric/cloud_router/python/__main__.py @@ -4,25 +4,25 @@ new_cloud_router = equinix.fabric.CloudRouter("newCloudRouter", name="Router-SV", type="XF_ROUTER", - notifications=[equinix.fabric.CloudRouterNotificationArgs( - type="ALL", - emails=[ + notifications=[{ + "type": "ALL", + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], - order=equinix.fabric.CloudRouterOrderArgs( - purchase_order_number="1-323292", - ), - location=equinix.fabric.CloudRouterLocationArgs( - metro_code="SV", - ), - package=equinix.fabric.CloudRouterPackageArgs( - code="STANDARD", - ), - project=equinix.fabric.CloudRouterProjectArgs( - project_id="776847000642406", - ), - account=equinix.fabric.CloudRouterAccountArgs( - account_number=203612, - )) + }], + order={ + "purchase_order_number": "1-323292", + }, + location={ + "metro_code": "SV", + }, + package={ + "code": "STANDARD", + }, + project={ + "project_id": "776847000642406", + }, + account={ + "account_number": 203612, + }) diff --git a/examples/fabric/connection/example_fcr_to_azure/go/go.mod b/examples/fabric/connection/example_fcr_to_azure/go/go.mod index 3bdd920c..9dfaed82 100644 --- a/examples/fabric/connection/example_fcr_to_azure/go/go.mod +++ b/examples/fabric/connection/example_fcr_to_azure/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_fcr_to_azure go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_fcr_to_azure/python/__main__.py b/examples/fabric/connection/example_fcr_to_azure/python/__main__.py index 134d758c..48347722 100644 --- a/examples/fabric/connection/example_fcr_to_azure/python/__main__.py +++ b/examples/fabric/connection/example_fcr_to_azure/python/__main__.py @@ -4,36 +4,36 @@ fcr2_azure = equinix.fabric.Connection("fcr2azure", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_fcr_to_metal/go/go.mod b/examples/fabric/connection/example_fcr_to_metal/go/go.mod index 55bae8a6..f2cc86eb 100644 --- a/examples/fabric/connection/example_fcr_to_metal/go/go.mod +++ b/examples/fabric/connection/example_fcr_to_metal/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_fcr_to_metal go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_fcr_to_metal/python/__main__.py b/examples/fabric/connection/example_fcr_to_metal/python/__main__.py index 8a46758f..3a04a4f0 100644 --- a/examples/fabric/connection/example_fcr_to_metal/python/__main__.py +++ b/examples/fabric/connection/example_fcr_to_metal/python/__main__.py @@ -4,28 +4,28 @@ fcr2_metal = equinix.fabric.Connection("fcr2metal", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type="METAL_NETWORK", - authentication_key="", - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": "", + }, + }) diff --git a/examples/fabric/connection/example_fcr_to_network/go/go.mod b/examples/fabric/connection/example_fcr_to_network/go/go.mod index a87471e1..2b950248 100644 --- a/examples/fabric/connection/example_fcr_to_network/go/go.mod +++ b/examples/fabric/connection/example_fcr_to_network/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_fcr_to_network go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_fcr_to_network/python/__main__.py b/examples/fabric/connection/example_fcr_to_network/python/__main__.py index 194f99fe..cf00a212 100644 --- a/examples/fabric/connection/example_fcr_to_network/python/__main__.py +++ b/examples/fabric/connection/example_fcr_to_network/python/__main__.py @@ -4,30 +4,30 @@ fcr2_network = equinix.fabric.Connection("fcr2network", name="ConnectionName", type="IPWAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) diff --git a/examples/fabric/connection/example_fcr_to_port/go/go.mod b/examples/fabric/connection/example_fcr_to_port/go/go.mod index c1ba43d4..22a684bf 100644 --- a/examples/fabric/connection/example_fcr_to_port/go/go.mod +++ b/examples/fabric/connection/example_fcr_to_port/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_fcr_to_port go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_fcr_to_port/python/__main__.py b/examples/fabric/connection/example_fcr_to_port/python/__main__.py index 7116feb1..140b0029 100644 --- a/examples/fabric/connection/example_fcr_to_port/python/__main__.py +++ b/examples/fabric/connection/example_fcr_to_port/python/__main__.py @@ -4,37 +4,37 @@ fcr2_port = equinix.fabric.Connection("fcr2port", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_tag=2711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_tag": 2711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_metal_to_aws/go/go.mod b/examples/fabric/connection/example_metal_to_aws/go/go.mod index 45cfafbd..cf9c231e 100644 --- a/examples/fabric/connection/example_metal_to_aws/go/go.mod +++ b/examples/fabric/connection/example_metal_to_aws/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_metal_to_aws go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_metal_to_aws/python/__main__.py b/examples/fabric/connection/example_metal_to_aws/python/__main__.py index d3924a24..b9d0caa9 100644 --- a/examples/fabric/connection/example_metal_to_aws/python/__main__.py +++ b/examples/fabric/connection/example_metal_to_aws/python/__main__.py @@ -4,34 +4,34 @@ metal2_aws = equinix.fabric.Connection("metal2aws", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="METAL_NETWORK", - authentication_key="", - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": "", + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_port_to_aws/go/go.mod b/examples/fabric/connection/example_port_to_aws/go/go.mod index a380e490..da935703 100644 --- a/examples/fabric/connection/example_port_to_aws/go/go.mod +++ b/examples/fabric/connection/example_port_to_aws/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_port_to_aws go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_port_to_aws/python/__main__.py b/examples/fabric/connection/example_port_to_aws/python/__main__.py index aa124fff..9dcb47ba 100644 --- a/examples/fabric/connection/example_port_to_aws/python/__main__.py +++ b/examples/fabric/connection/example_port_to_aws/python/__main__.py @@ -4,47 +4,47 @@ port2_aws = equinix.fabric.Connection("port2aws", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="PRIMARY", - ), - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323929", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=2019, - vlan_c_tag=2112, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - ), + redundancy={ + "priority": "PRIMARY", + }, + order={ + "purchase_order_number": "1-323929", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 2019, + "vlan_c_tag": 2112, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }, additional_info=[ { "key": "accessKey", diff --git a/examples/fabric/connection/example_port_to_network_eplan/go/go.mod b/examples/fabric/connection/example_port_to_network_eplan/go/go.mod index 139de601..bee850ab 100644 --- a/examples/fabric/connection/example_port_to_network_eplan/go/go.mod +++ b/examples/fabric/connection/example_port_to_network_eplan/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_port_to_network_eplan go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_port_to_network_eplan/python/__main__.py b/examples/fabric/connection/example_port_to_network_eplan/python/__main__.py index da098b0a..bba14a5f 100644 --- a/examples/fabric/connection/example_port_to_network_eplan/python/__main__.py +++ b/examples/fabric/connection/example_port_to_network_eplan/python/__main__.py @@ -4,30 +4,30 @@ eplan = equinix.fabric.Connection("eplan", name="ConnectionName", type="EPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) diff --git a/examples/fabric/connection/example_port_to_network_evplan/go/go.mod b/examples/fabric/connection/example_port_to_network_evplan/go/go.mod index d0a45979..bf54c6ca 100644 --- a/examples/fabric/connection/example_port_to_network_evplan/go/go.mod +++ b/examples/fabric/connection/example_port_to_network_evplan/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_port_to_network_evplan go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_port_to_network_evplan/python/__main__.py b/examples/fabric/connection/example_port_to_network_evplan/python/__main__.py index 63247b0e..993de7d6 100644 --- a/examples/fabric/connection/example_port_to_network_evplan/python/__main__.py +++ b/examples/fabric/connection/example_port_to_network_evplan/python/__main__.py @@ -4,34 +4,34 @@ evplan = equinix.fabric.Connection("evplan", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) diff --git a/examples/fabric/connection/example_port_to_port/go/go.mod b/examples/fabric/connection/example_port_to_port/go/go.mod index 70b7a228..49138b0f 100644 --- a/examples/fabric/connection/example_port_to_port/go/go.mod +++ b/examples/fabric/connection/example_port_to_port/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_port_to_port go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_port_to_port/python/__main__.py b/examples/fabric/connection/example_port_to_port/python/__main__.py index 3eb0cab0..f4cf5254 100644 --- a/examples/fabric/connection/example_port_to_port/python/__main__.py +++ b/examples/fabric/connection/example_port_to_port/python/__main__.py @@ -4,41 +4,41 @@ port2_port = equinix.fabric.Connection("port2port", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=3711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 3711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_port_to_port_access_epl/go/go.mod b/examples/fabric/connection/example_port_to_port_access_epl/go/go.mod index 6feb690e..c53b92fc 100644 --- a/examples/fabric/connection/example_port_to_port_access_epl/go/go.mod +++ b/examples/fabric/connection/example_port_to_port_access_epl/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_port_to_port_access_epl go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_port_to_port_access_epl/python/__main__.py b/examples/fabric/connection/example_port_to_port_access_epl/python/__main__.py index facad4e9..d59b7ef2 100644 --- a/examples/fabric/connection/example_port_to_port_access_epl/python/__main__.py +++ b/examples/fabric/connection/example_port_to_port_access_epl/python/__main__.py @@ -4,37 +4,37 @@ access_epl_vc = equinix.fabric.Connection("accessEplVc", name="ConnectionName", type=equinix.fabric.ConnectionType.ACCESS_EPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_port_to_port_epl/go/go.mod b/examples/fabric/connection/example_port_to_port_epl/go/go.mod index b750602c..80717411 100644 --- a/examples/fabric/connection/example_port_to_port_epl/go/go.mod +++ b/examples/fabric/connection/example_port_to_port_epl/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_port_to_port_epl go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_port_to_port_epl/python/__main__.py b/examples/fabric/connection/example_port_to_port_epl/python/__main__.py index b1028c1d..5a4b6bdd 100644 --- a/examples/fabric/connection/example_port_to_port_epl/python/__main__.py +++ b/examples/fabric/connection/example_port_to_port_epl/python/__main__.py @@ -4,33 +4,33 @@ epl = equinix.fabric.Connection("epl", name="ConnectionName", type=equinix.fabric.ConnectionType.EPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_port_to_vd/go/go.mod b/examples/fabric/connection/example_port_to_vd/go/go.mod index c38e2362..6976140a 100644 --- a/examples/fabric/connection/example_port_to_vd/go/go.mod +++ b/examples/fabric/connection/example_port_to_vd/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_port_to_vd go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_port_to_vd/python/__main__.py b/examples/fabric/connection/example_port_to_vd/python/__main__.py index 853879af..4f8a269d 100644 --- a/examples/fabric/connection/example_port_to_vd/python/__main__.py +++ b/examples/fabric/connection/example_port_to_vd/python/__main__.py @@ -4,42 +4,42 @@ vd2_port = equinix.fabric.Connection("vd2port", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="NETWORK", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_s_tag=3711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "NETWORK", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_s_tag": 3711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_token_to_aws/go/go.mod b/examples/fabric/connection/example_token_to_aws/go/go.mod index 56f2577f..1cb8f302 100644 --- a/examples/fabric/connection/example_token_to_aws/go/go.mod +++ b/examples/fabric/connection/example_token_to_aws/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_token_to_aws go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_token_to_aws/python/__main__.py b/examples/fabric/connection/example_token_to_aws/python/__main__.py index 52c59dc5..539316bb 100644 --- a/examples/fabric/connection/example_token_to_aws/python/__main__.py +++ b/examples/fabric/connection/example_token_to_aws/python/__main__.py @@ -4,33 +4,33 @@ token2_aws = equinix.fabric.Connection("token2aws", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - service_token=equinix.fabric.ConnectionASideServiceTokenArgs( - uuid="", - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "service_token": { + "uuid": "", + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_vd_to_azure/go/go.mod b/examples/fabric/connection/example_vd_to_azure/go/go.mod index ee09f4e2..7d33439c 100644 --- a/examples/fabric/connection/example_vd_to_azure/go/go.mod +++ b/examples/fabric/connection/example_vd_to_azure/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_vd_to_azure go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_vd_to_azure/python/__main__.py b/examples/fabric/connection/example_vd_to_azure/python/__main__.py index 93a9e4a8..70ba4e88 100644 --- a/examples/fabric/connection/example_vd_to_azure/python/__main__.py +++ b/examples/fabric/connection/example_vd_to_azure/python/__main__.py @@ -4,41 +4,41 @@ vd2_azure = equinix.fabric.Connection("vd2azure", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_vd_to_azure_redundant/go/go.mod b/examples/fabric/connection/example_vd_to_azure_redundant/go/go.mod index a5fde7cc..e47a7b91 100644 --- a/examples/fabric/connection/example_vd_to_azure_redundant/go/go.mod +++ b/examples/fabric/connection/example_vd_to_azure_redundant/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_vd_to_azure_redundant go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_vd_to_azure_redundant/python/__main__.py b/examples/fabric/connection/example_vd_to_azure_redundant/python/__main__.py index 23a75e42..effbd6ac 100644 --- a/examples/fabric/connection/example_vd_to_azure_redundant/python/__main__.py +++ b/examples/fabric/connection/example_vd_to_azure_redundant/python/__main__.py @@ -4,89 +4,89 @@ vd2_azure_primary = equinix.fabric.Connection("vd2azurePrimary", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="PRIMARY", - ), - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + redundancy={ + "priority": "PRIMARY", + }, + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) vd2_azure_secondary = equinix.fabric.Connection("vd2azureSecondary", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="SECONDARY", - group=vd2_azure_primary.redundancy.group, - ), - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + redundancy={ + "priority": "SECONDARY", + "group": vd2_azure_primary.redundancy.group, + }, + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=5, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 5, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/fabric/connection/example_vd_to_network/go/go.mod b/examples/fabric/connection/example_vd_to_network/go/go.mod index 59e050ec..d85ae091 100644 --- a/examples/fabric/connection/example_vd_to_network/go/go.mod +++ b/examples/fabric/connection/example_vd_to_network/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_vd_to_network go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_vd_to_network/python/__main__.py b/examples/fabric/connection/example_vd_to_network/python/__main__.py index 4bcc81ff..be2b05db 100644 --- a/examples/fabric/connection/example_vd_to_network/python/__main__.py +++ b/examples/fabric/connection/example_vd_to_network/python/__main__.py @@ -4,35 +4,35 @@ vd2_network = equinix.fabric.Connection("vd2network", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) diff --git a/examples/fabric/connection/example_vd_to_token/go/go.mod b/examples/fabric/connection/example_vd_to_token/go/go.mod index d9f017b5..b94184df 100644 --- a/examples/fabric/connection/example_vd_to_token/go/go.mod +++ b/examples/fabric/connection/example_vd_to_token/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-connection-example_vd_to_token go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/connection/example_vd_to_token/python/__main__.py b/examples/fabric/connection/example_vd_to_token/python/__main__.py index a35a6f86..03f6fad4 100644 --- a/examples/fabric/connection/example_vd_to_token/python/__main__.py +++ b/examples/fabric/connection/example_vd_to_token/python/__main__.py @@ -4,32 +4,32 @@ vd2_token = equinix.fabric.Connection("vd2token", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="NETWORK", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - service_token=equinix.fabric.ConnectionZSideServiceTokenArgs( - uuid="", - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "NETWORK", + "id": 7, + }, + }, + }, + z_side={ + "service_token": { + "uuid": "", + }, + }) diff --git a/examples/fabric/network/go/go.mod b/examples/fabric/network/go/go.mod index f27f252f..69cd6830 100644 --- a/examples/fabric/network/go/go.mod +++ b/examples/fabric/network/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-network go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/network/python/__main__.py b/examples/fabric/network/python/__main__.py index 1014c4e8..7977c6e0 100644 --- a/examples/fabric/network/python/__main__.py +++ b/examples/fabric/network/python/__main__.py @@ -5,13 +5,13 @@ name="Network-SV", type="EVPLAN", scope="GLOBAL", - notifications=[equinix.fabric.NetworkNotificationArgs( - type="ALL", - emails=[ + notifications=[{ + "type": "ALL", + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], - project=equinix.fabric.NetworkProjectArgs( - project_id="776847000642406", - )) + }], + project={ + "project_id": "776847000642406", + }) diff --git a/examples/fabric/routing_protocol/example_1/go/go.mod b/examples/fabric/routing_protocol/example_1/go/go.mod index 50137797..a3e7b307 100644 --- a/examples/fabric/routing_protocol/example_1/go/go.mod +++ b/examples/fabric/routing_protocol/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-routing_protocol-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/routing_protocol/example_1/python/__main__.py b/examples/fabric/routing_protocol/example_1/python/__main__.py index 6a9d7dd7..cd0a9417 100644 --- a/examples/fabric/routing_protocol/example_1/python/__main__.py +++ b/examples/fabric/routing_protocol/example_1/python/__main__.py @@ -5,9 +5,9 @@ connection_uuid="", type="DIRECT", name="direct_rp", - direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args( - equinix_iface_ip="190.1.1.1/30", - ), - direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args( - equinix_iface_ip="190::1:1/126", - )) + direct_ipv4={ + "equinix_iface_ip": "190.1.1.1/30", + }, + direct_ipv6={ + "equinix_iface_ip": "190::1:1/126", + }) diff --git a/examples/fabric/routing_protocol/example_2/go/go.mod b/examples/fabric/routing_protocol/example_2/go/go.mod index 3cc60550..3e7ad405 100644 --- a/examples/fabric/routing_protocol/example_2/go/go.mod +++ b/examples/fabric/routing_protocol/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-routing_protocol-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/routing_protocol/example_2/python/__main__.py b/examples/fabric/routing_protocol/example_2/python/__main__.py index 295455ef..20c54ce6 100644 --- a/examples/fabric/routing_protocol/example_2/python/__main__.py +++ b/examples/fabric/routing_protocol/example_2/python/__main__.py @@ -5,12 +5,12 @@ connection_uuid="", type="BGP", name="bgp_rp", - bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args( - customer_peer_ip="190.1.1.2", - enabled=True, - ), - bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args( - customer_peer_ip="190::1:2", - enabled=True, - ), + bgp_ipv4={ + "customer_peer_ip": "190.1.1.2", + "enabled": True, + }, + bgp_ipv6={ + "customer_peer_ip": "190::1:2", + "enabled": True, + }, customer_asn=4532) diff --git a/examples/fabric/routing_protocol/example_3/go/go.mod b/examples/fabric/routing_protocol/example_3/go/go.mod index 1b2448fd..47cb389c 100644 --- a/examples/fabric/routing_protocol/example_3/go/go.mod +++ b/examples/fabric/routing_protocol/example_3/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-routing_protocol-example_3 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/routing_protocol/example_3/python/__main__.py b/examples/fabric/routing_protocol/example_3/python/__main__.py index a38a374d..6f5abb0c 100644 --- a/examples/fabric/routing_protocol/example_3/python/__main__.py +++ b/examples/fabric/routing_protocol/example_3/python/__main__.py @@ -5,23 +5,23 @@ connection_uuid="", type="DIRECT", name="direct_rp", - direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args( - equinix_iface_ip="190.1.1.1/30", - ), - direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args( - equinix_iface_ip="190::1:1/126", - )) + direct_ipv4={ + "equinix_iface_ip": "190.1.1.1/30", + }, + direct_ipv6={ + "equinix_iface_ip": "190::1:1/126", + }) bgp = equinix.fabric.RoutingProtocol("bgp", connection_uuid="", type="BGP", name="bgp_rp", - bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args( - customer_peer_ip="190.1.1.2", - enabled=True, - ), - bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args( - customer_peer_ip="190::1:2", - enabled=True, - ), + bgp_ipv4={ + "customer_peer_ip": "190.1.1.2", + "enabled": True, + }, + bgp_ipv6={ + "customer_peer_ip": "190::1:2", + "enabled": True, + }, customer_asn=4532, opts = pulumi.ResourceOptions(depends_on=[direct])) diff --git a/examples/fabric/service_profile/go/go.mod b/examples/fabric/service_profile/go/go.mod index 53c09fbc..9773c7f0 100644 --- a/examples/fabric/service_profile/go/go.mod +++ b/examples/fabric/service_profile/go/go.mod @@ -2,7 +2,7 @@ module equinix-fabric-service_profile go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/fabric/service_profile/python/__main__.py b/examples/fabric/service_profile/python/__main__.py index fcf7139f..f915533c 100644 --- a/examples/fabric/service_profile/python/__main__.py +++ b/examples/fabric/service_profile/python/__main__.py @@ -6,28 +6,28 @@ name="Name Of Business + Use Case Tag", type=equinix.fabric.ProfileType.L2_PROFILE, visibility=equinix.fabric.ProfileVisibility.PUBLIC, - notifications=[equinix.fabric.ServiceProfileNotificationArgs( - emails=["someone@sample.com"], - type="BANDWIDTH_ALERT", - )], + notifications=[{ + "emails": ["someone@sample.com"], + "type": "BANDWIDTH_ALERT", + }], allowed_emails=[ "test@equinix.com", "testagain@equinix.com", ], - ports=[equinix.fabric.ServiceProfilePortArgs( - uuid="c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", - type="XF_PORT", - )], - access_point_type_configs=[equinix.fabric.ServiceProfileAccessPointTypeConfigArgs( - type=equinix.fabric.ProfileAccessPointType.COLO, - allow_remote_connections=True, - allow_custom_bandwidth=True, - allow_bandwidth_auto_approval=False, - connection_redundancy_required=False, - connection_label="Service Profile Tag1", - bandwidth_alert_threshold=10, - supported_bandwidths=[ + ports=[{ + "uuid": "c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", + "type": "XF_PORT", + }], + access_point_type_configs=[{ + "type": equinix.fabric.ProfileAccessPointType.COLO, + "allow_remote_connections": True, + "allow_custom_bandwidth": True, + "allow_bandwidth_auto_approval": False, + "connection_redundancy_required": False, + "connection_label": "Service Profile Tag1", + "bandwidth_alert_threshold": 10, + "supported_bandwidths": [ 100, 500, ], - )]) + }]) diff --git a/examples/metal/bgp_session/csharp/equinix-metal-bgp_session.csproj b/examples/metal/bgp_session/csharp/equinix-metal-bgp_session.csproj index cf53253e..d1ae15ce 100644 --- a/examples/metal/bgp_session/csharp/equinix-metal-bgp_session.csproj +++ b/examples/metal/bgp_session/csharp/equinix-metal-bgp_session.csproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/examples/metal/bgp_session/go/go.mod b/examples/metal/bgp_session/go/go.mod index 7b596aed..744e5423 100644 --- a/examples/metal/bgp_session/go/go.mod +++ b/examples/metal/bgp_session/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-bgp_session go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/bgp_session/java/pom.xml b/examples/metal/bgp_session/java/pom.xml index 2aae0065..8ebabeb5 100644 --- a/examples/metal/bgp_session/java/pom.xml +++ b/examples/metal/bgp_session/java/pom.xml @@ -30,7 +30,7 @@ com.pulumi null - 0.0.4 + 0.0.5 diff --git a/examples/metal/bgp_session/python/requirements.txt b/examples/metal/bgp_session/python/requirements.txt index bbee7489..5eaaea80 100644 --- a/examples/metal/bgp_session/python/requirements.txt +++ b/examples/metal/bgp_session/python/requirements.txt @@ -1,3 +1,3 @@ -pulumi-null==0.0.4 +pulumi-null==0.0.5 pulumi>=3.0.0,<4.0.0 pulumi_equinix==<1.0.0 diff --git a/examples/metal/bgp_session/typescript/package.json b/examples/metal/bgp_session/typescript/package.json index a50910a4..daedf674 100644 --- a/examples/metal/bgp_session/typescript/package.json +++ b/examples/metal/bgp_session/typescript/package.json @@ -7,6 +7,6 @@ "typescript": "^4.0.0", "@pulumi/pulumi": "^3.0.0", "@equinix-labs/pulumi-equinix": "<1.0.0", - "@pulumi/null": "0.0.4" + "@pulumi/null": "0.0.5" } } \ No newline at end of file diff --git a/examples/metal/connection/example_fabric_billed/go/go.mod b/examples/metal/connection/example_fabric_billed/go/go.mod index 5b976fa5..a2ffcfb8 100644 --- a/examples/metal/connection/example_fabric_billed/go/go.mod +++ b/examples/metal/connection/example_fabric_billed/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-connection-example-fabric-billed-token go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/connection/example_fabric_billed/go/main.go b/examples/metal/connection/example_fabric_billed/go/main.go index 0b719ccf..64d9ff41 100644 --- a/examples/metal/connection/example_fabric_billed/go/main.go +++ b/examples/metal/connection/example_fabric_billed/go/main.go @@ -26,7 +26,7 @@ func main() { Type: pulumi.String("shared"), Redundancy: pulumi.String("primary"), Metro: pulumi.String(metro), - Speed: pulumi.String(fmt.Sprintf("%vMbps", speedInMbps)), + Speed: pulumi.Sprintf("%vMbps", speedInMbps), ServiceTokenType: pulumi.String("z_side"), }) if err != nil { diff --git a/examples/metal/connection/example_metal_billed/go/go.mod b/examples/metal/connection/example_metal_billed/go/go.mod index bce84ba6..401c8eee 100644 --- a/examples/metal/connection/example_metal_billed/go/go.mod +++ b/examples/metal/connection/example_metal_billed/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-connection-example-metal-billed-token go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/connection/example_metal_billed/go/main.go b/examples/metal/connection/example_metal_billed/go/main.go index 7c2ccce6..3e6e9857 100644 --- a/examples/metal/connection/example_metal_billed/go/main.go +++ b/examples/metal/connection/example_metal_billed/go/main.go @@ -26,7 +26,7 @@ func main() { Type: pulumi.String("shared"), Redundancy: pulumi.String("primary"), Metro: pulumi.String(metro), - Speed: pulumi.String(fmt.Sprintf("%vMbps", speedInMbps)), + Speed: pulumi.Sprintf("%vMbps", speedInMbps), ServiceTokenType: pulumi.String("a_side"), }) if err != nil { diff --git a/examples/metal/connection/example_shared_metal_fabric_connection_from_fcr/go/go.mod b/examples/metal/connection/example_shared_metal_fabric_connection_from_fcr/go/go.mod index 48cc480b..c7604576 100644 --- a/examples/metal/connection/example_shared_metal_fabric_connection_from_fcr/go/go.mod +++ b/examples/metal/connection/example_shared_metal_fabric_connection_from_fcr/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-connection-example_shared_metal_fabric_connection_from_fcr go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/connection/example_shared_metal_fabric_connection_from_fcr/python/__main__.py b/examples/metal/connection/example_shared_metal_fabric_connection_from_fcr/python/__main__.py index 4705dbd4..f96a5ea2 100644 --- a/examples/metal/connection/example_shared_metal_fabric_connection_from_fcr/python/__main__.py +++ b/examples/metal/connection/example_shared_metal_fabric_connection_from_fcr/python/__main__.py @@ -15,28 +15,28 @@ example_connection = equinix.fabric.Connection("exampleConnection", name="tf-NIMF-metal-2-aws-legacy", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails="sername@example.com", - )], - project=equinix.fabric.ConnectionProjectArgs( - project_id=fabric_project_id, - ), + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": "sername@example.com", + }], + project={ + "project_id": fabric_project_id, + }, bandwidth=200, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid=cloud_router_uuid, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type="METAL_NETWORK", - authentication_key=example.authorization_code, - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": cloud_router_uuid, + }, + }, + }, + z_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": example.authorization_code, + }, + }) diff --git a/examples/metal/connection/example_shared_metal_fabric_connection_to_csp/go/go.mod b/examples/metal/connection/example_shared_metal_fabric_connection_to_csp/go/go.mod index e4dc5eb6..97a93204 100644 --- a/examples/metal/connection/example_shared_metal_fabric_connection_to_csp/go/go.mod +++ b/examples/metal/connection/example_shared_metal_fabric_connection_to_csp/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-connection-example_shared_metal_fabric_connection_to_csp go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/connection/example_shared_metal_fabric_connection_to_csp/python/__main__.py b/examples/metal/connection/example_shared_metal_fabric_connection_to_csp/python/__main__.py index 5def4ed3..7720dab1 100644 --- a/examples/metal/connection/example_shared_metal_fabric_connection_to_csp/python/__main__.py +++ b/examples/metal/connection/example_shared_metal_fabric_connection_to_csp/python/__main__.py @@ -1,11 +1,11 @@ import pulumi import pulumi_equinix as equinix -zside = equinix.fabric.get_service_profiles_output(filter=equinix.fabric.GetServiceProfilesFilterArgs( - property="/name", - operator="=", - values=["AWS Direct Connect"], -)) +zside = equinix.fabric.get_service_profiles_output(filter={ + "property": "/name", + "operator": "=", + "values": ["AWS Direct Connect"], +}) example1 = equinix.metal.Vlan("example1", project_id=my_project_id, metro="SV") @@ -20,34 +20,34 @@ example_connection = equinix.fabric.Connection("exampleConnection", name="tf-NIMF-metal-2-aws-legacy", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails="sername@example.com", - )], - project=equinix.fabric.ConnectionProjectArgs( - project_id=fabric_project_id, - ), + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": "sername@example.com", + }], + project={ + "project_id": fabric_project_id, + }, bandwidth=200, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="METAL_NETWORK", - authentication_key=example.authorization_code, - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key=aws_account_id, - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid=zside.id, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": example.authorization_code, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": aws_account_id, + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": zside.id, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) diff --git a/examples/metal/device/example_1/go/go.mod b/examples/metal/device/example_1/go/go.mod index 7953469e..bb85f5c3 100644 --- a/examples/metal/device/example_1/go/go.mod +++ b/examples/metal/device/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-device-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/device/example_2/go/go.mod b/examples/metal/device/example_2/go/go.mod index 109b4915..d7e54c4a 100644 --- a/examples/metal/device/example_2/go/go.mod +++ b/examples/metal/device/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-device-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/device/example_3/go/go.mod b/examples/metal/device/example_3/go/go.mod index 0488bef8..e9d5d1ce 100644 --- a/examples/metal/device/example_3/go/go.mod +++ b/examples/metal/device/example_3/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-device-example_3 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/device/example_3/python/__main__.py b/examples/metal/device/example_3/python/__main__.py index 454ceb69..3cf24948 100644 --- a/examples/metal/device/example_3/python/__main__.py +++ b/examples/metal/device/example_3/python/__main__.py @@ -8,7 +8,7 @@ operating_system=equinix.metal.OperatingSystem.UBUNTU20_04, billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id, - ip_addresses=[equinix.metal.DeviceIpAddressArgs( - type="private_ipv4", - cidr=30, - )]) + ip_addresses=[{ + "type": "private_ipv4", + "cidr": 30, + }]) diff --git a/examples/metal/device/example_4/go/go.mod b/examples/metal/device/example_4/go/go.mod index ebf1299b..287e7c44 100644 --- a/examples/metal/device/example_4/go/go.mod +++ b/examples/metal/device/example_4/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-device-example_4 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/device/example_5/go/go.mod b/examples/metal/device/example_5/go/go.mod index 79e448c9..3a69d4d9 100644 --- a/examples/metal/device/example_5/go/go.mod +++ b/examples/metal/device/example_5/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-device-example_5 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/device/example_5/python/__main__.py b/examples/metal/device/example_5/python/__main__.py index 1ebfb5df..c74469b2 100644 --- a/examples/metal/device/example_5/python/__main__.py +++ b/examples/metal/device/example_5/python/__main__.py @@ -12,9 +12,9 @@ always_pxe=False, user_data=user_data, custom_data=custom_data, - behavior=equinix.metal.DeviceBehaviorArgs( - allow_changes=[ + behavior={ + "allow_changes": [ "custom_data", "user_data", ], - )) + }) diff --git a/examples/metal/device_network_type/go/go.mod b/examples/metal/device_network_type/go/go.mod index de0283f0..3d589ced 100644 --- a/examples/metal/device_network_type/go/go.mod +++ b/examples/metal/device_network_type/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-device-network-type go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/gateway/example_1/go/go.mod b/examples/metal/gateway/example_1/go/go.mod index cdab8a1a..69b3826a 100644 --- a/examples/metal/gateway/example_1/go/go.mod +++ b/examples/metal/gateway/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-gateway-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/gateway/example_2/go/go.mod b/examples/metal/gateway/example_2/go/go.mod index 83e8d20c..b3dd0811 100644 --- a/examples/metal/gateway/example_2/go/go.mod +++ b/examples/metal/gateway/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-gateway-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/ip_attachment/csharp/equinix-metal-ip_attachment.csproj b/examples/metal/ip_attachment/csharp/equinix-metal-ip_attachment.csproj index ef1958d7..d9bc35af 100644 --- a/examples/metal/ip_attachment/csharp/equinix-metal-ip_attachment.csproj +++ b/examples/metal/ip_attachment/csharp/equinix-metal-ip_attachment.csproj @@ -7,8 +7,8 @@ + - \ No newline at end of file diff --git a/examples/metal/ip_attachment/go/go.mod b/examples/metal/ip_attachment/go/go.mod index 00260cfc..452b2de6 100644 --- a/examples/metal/ip_attachment/go/go.mod +++ b/examples/metal/ip_attachment/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-ip_attachment go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/ip_attachment/go/main.go b/examples/metal/ip_attachment/go/main.go index c3976dc0..24fca3ab 100644 --- a/examples/metal/ip_attachment/go/main.go +++ b/examples/metal/ip_attachment/go/main.go @@ -5,40 +5,37 @@ import ( "github.com/pulumi/pulumi-std/sdk/go/std" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) + func main() { -pulumi.Run(func(ctx *pulumi.Context) error { -_, err := metal.NewReservedIpBlock(ctx, "myblock", &metal.ReservedIpBlockArgs{ -ProjectId: pulumi.Any(projectId), -Metro: pulumi.String("ny"), -Quantity: pulumi.Int(2), -}) -if err != nil { -return err -} -invokeJoin, err := std.Join(ctx, invokeCidrhost1, err := std.Cidrhost(ctx, &std.CidrhostArgs{ -Input: myblockMetalReservedIpBlock.CidrNotation, -Host: 0, -}, nil) -if err != nil { -return err -} -&std.JoinArgs{ -Separator: "/", -Input: []*string{ -invokeCidrhost1.Result, -"32", -}, -}, nil) -if err != nil { -return err -} -_, err = metal.NewIpAttachment(ctx, "firstAddressAssignment", &metal.IpAttachmentArgs{ -DeviceId: pulumi.Any(mydevice.Id), -CidrNotation: invokeJoin.Result, -}) -if err != nil { -return err -} -return nil -}) + pulumi.Run(func(ctx *pulumi.Context) error { + _, err := metal.NewReservedIpBlock(ctx, "myblock", &metal.ReservedIpBlockArgs{ + ProjectId: pulumi.Any(projectId), + Metro: pulumi.String("ny"), + Quantity: pulumi.Int(2), + }) + if err != nil { + return err + } + invokeJoin, err := std.Join(ctx, &std.JoinArgs{ + Separator: "/", + Input: []*string{ + std.Cidrhost(ctx, &std.CidrhostArgs{ + Input: myblockMetalReservedIpBlock.CidrNotation, + Host: 0, + }, nil).Result, + "32", + }, + }, nil) + if err != nil { + return err + } + _, err = metal.NewIpAttachment(ctx, "firstAddressAssignment", &metal.IpAttachmentArgs{ + DeviceId: pulumi.Any(mydevice.Id), + CidrNotation: pulumi.String(invokeJoin.Result), + }) + if err != nil { + return err + } + return nil + }) } diff --git a/examples/metal/ip_attachment/java/pom.xml b/examples/metal/ip_attachment/java/pom.xml index 3e937657..e2fca90c 100644 --- a/examples/metal/ip_attachment/java/pom.xml +++ b/examples/metal/ip_attachment/java/pom.xml @@ -30,7 +30,7 @@ com.pulumi std - 1.7.2 + 1.7.3 diff --git a/examples/metal/ip_attachment/python/requirements.txt b/examples/metal/ip_attachment/python/requirements.txt index da9f8ddc..fc62473f 100644 --- a/examples/metal/ip_attachment/python/requirements.txt +++ b/examples/metal/ip_attachment/python/requirements.txt @@ -1,3 +1,3 @@ -pulumi-std==1.7.2 +pulumi-std==1.7.3 pulumi>=3.0.0,<4.0.0 pulumi_equinix==<1.0.0 diff --git a/examples/metal/ip_attachment/typescript/package.json b/examples/metal/ip_attachment/typescript/package.json index 37fffff1..1cfd1284 100644 --- a/examples/metal/ip_attachment/typescript/package.json +++ b/examples/metal/ip_attachment/typescript/package.json @@ -7,6 +7,6 @@ "typescript": "^4.0.0", "@pulumi/pulumi": "^3.0.0", "@equinix-labs/pulumi-equinix": "<1.0.0", - "@pulumi/std": "1.7.2" + "@pulumi/std": "1.7.3" } } \ No newline at end of file diff --git a/examples/metal/organization/go/go.mod b/examples/metal/organization/go/go.mod index b4332269..17de6984 100644 --- a/examples/metal/organization/go/go.mod +++ b/examples/metal/organization/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-organization go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/organization_member/example_1/go/go.mod b/examples/metal/organization_member/example_1/go/go.mod index 5257316a..a0b432f2 100644 --- a/examples/metal/organization_member/example_1/go/go.mod +++ b/examples/metal/organization_member/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-organization_member-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/organization_member/example_2/go/go.mod b/examples/metal/organization_member/example_2/go/go.mod index 8e3cea9c..689b4023 100644 --- a/examples/metal/organization_member/example_2/go/go.mod +++ b/examples/metal/organization_member/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-organization_member-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/port_vlan_attachment/example_1/go/go.mod b/examples/metal/port_vlan_attachment/example_1/go/go.mod index 14abd26b..59550da7 100644 --- a/examples/metal/port_vlan_attachment/example_1/go/go.mod +++ b/examples/metal/port_vlan_attachment/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-port_vlan_attachment-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/port_vlan_attachment/example_2/go/go.mod b/examples/metal/port_vlan_attachment/example_2/go/go.mod index afb62025..cd841326 100644 --- a/examples/metal/port_vlan_attachment/example_2/go/go.mod +++ b/examples/metal/port_vlan_attachment/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-port_vlan_attachment-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/project/example_1/go/go.mod b/examples/metal/project/example_1/go/go.mod index 51688167..6379c30d 100644 --- a/examples/metal/project/example_1/go/go.mod +++ b/examples/metal/project/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-project-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/project/example_2/go/go.mod b/examples/metal/project/example_2/go/go.mod index 7457a4ff..2f3c4543 100644 --- a/examples/metal/project/example_2/go/go.mod +++ b/examples/metal/project/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-project-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/project/example_2/python/__main__.py b/examples/metal/project/example_2/python/__main__.py index 487d2e1e..8c2693cd 100644 --- a/examples/metal/project/example_2/python/__main__.py +++ b/examples/metal/project/example_2/python/__main__.py @@ -3,8 +3,8 @@ tf_project1 = equinix.metal.Project("tfProject1", name="tftest", - bgp_config=equinix.metal.ProjectBgpConfigArgs( - deployment_type="local", - md5="C179c28c41a85b", - asn=65000, - )) + bgp_config={ + "deployment_type": "local", + "md5": "C179c28c41a85b", + "asn": 65000, + }) diff --git a/examples/metal/project/example_3/go/go.mod b/examples/metal/project/example_3/go/go.mod index 59966ec1..44595810 100644 --- a/examples/metal/project/example_3/go/go.mod +++ b/examples/metal/project/example_3/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-project-example_3 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/project/example_3/python/__main__.py b/examples/metal/project/example_3/python/__main__.py index 26182c8d..948c413f 100644 --- a/examples/metal/project/example_3/python/__main__.py +++ b/examples/metal/project/example_3/python/__main__.py @@ -3,8 +3,8 @@ existing_project = equinix.metal.Project("existingProject", name="The name of the project (if different, will rewrite)", - bgp_config=equinix.metal.ProjectBgpConfigArgs( - deployment_type="local", - md5="C179c28c41a85b", - asn=65000, - )) + bgp_config={ + "deployment_type": "local", + "md5": "C179c28c41a85b", + "asn": 65000, + }) diff --git a/examples/metal/project_api_key/go/go.mod b/examples/metal/project_api_key/go/go.mod index 2df85142..669959e3 100644 --- a/examples/metal/project_api_key/go/go.mod +++ b/examples/metal/project_api_key/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-project_api_key go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/project_ssh_key/go/go.mod b/examples/metal/project_ssh_key/go/go.mod index 97e412e1..2f9bb23e 100644 --- a/examples/metal/project_ssh_key/go/go.mod +++ b/examples/metal/project_ssh_key/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-project_ssh_key go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/reserved_ip_block/example_1/go/go.mod b/examples/metal/reserved_ip_block/example_1/go/go.mod index 6e51a692..b3234df7 100644 --- a/examples/metal/reserved_ip_block/example_1/go/go.mod +++ b/examples/metal/reserved_ip_block/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-reserved_ip_block-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/reserved_ip_block/example_2/go/go.mod b/examples/metal/reserved_ip_block/example_2/go/go.mod index e55da711..4c508674 100644 --- a/examples/metal/reserved_ip_block/example_2/go/go.mod +++ b/examples/metal/reserved_ip_block/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-reserved_ip_block-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/reserved_ip_block/example_2/python/__main__.py b/examples/metal/reserved_ip_block/example_2/python/__main__.py index 9d1a1fb1..09660935 100644 --- a/examples/metal/reserved_ip_block/example_2/python/__main__.py +++ b/examples/metal/reserved_ip_block/example_2/python/__main__.py @@ -13,12 +13,12 @@ hostname="test", billing_cycle=equinix.metal.BillingCycle.HOURLY, ip_addresses=[ - equinix.metal.DeviceIpAddressArgs( - type="public_ipv4", - cidr=31, - reservation_ids=[example.id], - ), - equinix.metal.DeviceIpAddressArgs( - type="private_ipv4", - ), + { + "type": "public_ipv4", + "cidr": 31, + "reservation_ids": [example.id], + }, + { + "type": "private_ipv4", + }, ]) diff --git a/examples/metal/spot_market_request/go/go.mod b/examples/metal/spot_market_request/go/go.mod index 65ba8713..efecdc1d 100644 --- a/examples/metal/spot_market_request/go/go.mod +++ b/examples/metal/spot_market_request/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-spot_market_request go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/spot_market_request/python/__main__.py b/examples/metal/spot_market_request/python/__main__.py index 393c8134..97558ba5 100644 --- a/examples/metal/spot_market_request/python/__main__.py +++ b/examples/metal/spot_market_request/python/__main__.py @@ -7,9 +7,9 @@ metro="ny", devices_min=1, devices_max=1, - instance_parameters=equinix.metal.SpotMarketRequestInstanceParametersArgs( - hostname="testspot", - billing_cycle="hourly", - operating_system="ubuntu_20_04", - plan="c3.small.x86", - )) + instance_parameters={ + "hostname": "testspot", + "billing_cycle": "hourly", + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + }) diff --git a/examples/metal/ssh_key/csharp/equinix-metal-ssh_key.csproj b/examples/metal/ssh_key/csharp/equinix-metal-ssh_key.csproj index ef1958d7..9bd72156 100644 --- a/examples/metal/ssh_key/csharp/equinix-metal-ssh_key.csproj +++ b/examples/metal/ssh_key/csharp/equinix-metal-ssh_key.csproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/examples/metal/ssh_key/go/go.mod b/examples/metal/ssh_key/go/go.mod index 8cae3e6f..6d368235 100644 --- a/examples/metal/ssh_key/go/go.mod +++ b/examples/metal/ssh_key/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-ssh_key go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/ssh_key/go/main.go b/examples/metal/ssh_key/go/main.go index 0d70ff42..b95bce1f 100644 --- a/examples/metal/ssh_key/go/main.go +++ b/examples/metal/ssh_key/go/main.go @@ -16,7 +16,7 @@ func main() { } key1, err := metal.NewSshKey(ctx, "key1", &metal.SshKeyArgs{ Name: pulumi.String("terraform-1"), - PublicKey: invokeFile.Result, + PublicKey: pulumi.String(invokeFile.Result), }) if err != nil { return err diff --git a/examples/metal/ssh_key/java/pom.xml b/examples/metal/ssh_key/java/pom.xml index 6c824502..1863b561 100644 --- a/examples/metal/ssh_key/java/pom.xml +++ b/examples/metal/ssh_key/java/pom.xml @@ -30,7 +30,7 @@ com.pulumi std - 1.7.2 + 1.7.3 diff --git a/examples/metal/ssh_key/python/requirements.txt b/examples/metal/ssh_key/python/requirements.txt index da9f8ddc..fc62473f 100644 --- a/examples/metal/ssh_key/python/requirements.txt +++ b/examples/metal/ssh_key/python/requirements.txt @@ -1,3 +1,3 @@ -pulumi-std==1.7.2 +pulumi-std==1.7.3 pulumi>=3.0.0,<4.0.0 pulumi_equinix==<1.0.0 diff --git a/examples/metal/ssh_key/typescript/package.json b/examples/metal/ssh_key/typescript/package.json index 518b690f..67266a4f 100644 --- a/examples/metal/ssh_key/typescript/package.json +++ b/examples/metal/ssh_key/typescript/package.json @@ -7,6 +7,6 @@ "typescript": "^4.0.0", "@pulumi/pulumi": "^3.0.0", "@equinix-labs/pulumi-equinix": "<1.0.0", - "@pulumi/std": "1.7.2" + "@pulumi/std": "1.7.3" } } \ No newline at end of file diff --git a/examples/metal/user_api_key/go/go.mod b/examples/metal/user_api_key/go/go.mod index 995d534a..fc623803 100644 --- a/examples/metal/user_api_key/go/go.mod +++ b/examples/metal/user_api_key/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-user_api_key go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/virtual_circuit/go/go.mod b/examples/metal/virtual_circuit/go/go.mod index d968888d..f7c98ced 100644 --- a/examples/metal/virtual_circuit/go/go.mod +++ b/examples/metal/virtual_circuit/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-virtual_circuit go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/vlan/go/go.mod b/examples/metal/vlan/go/go.mod index dc756bb4..a8486f65 100644 --- a/examples/metal/vlan/go/go.mod +++ b/examples/metal/vlan/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-vlan go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/vrf/example_1/go/go.mod b/examples/metal/vrf/example_1/go/go.mod index 0436dee7..1a56a5c5 100644 --- a/examples/metal/vrf/example_1/go/go.mod +++ b/examples/metal/vrf/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-vrf-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/vrf/example_2/go/go.mod b/examples/metal/vrf/example_2/go/go.mod index 4179485a..3dab7954 100644 --- a/examples/metal/vrf/example_2/go/go.mod +++ b/examples/metal/vrf/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-vrf-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/metal/vrf/example_3/go/go.mod b/examples/metal/vrf/example_3/go/go.mod index c4735435..aa692c15 100644 --- a/examples/metal/vrf/example_3/go/go.mod +++ b/examples/metal/vrf/example_3/go/go.mod @@ -2,7 +2,7 @@ module equinix-metal-vrf-example_3 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/acl_template/go/go.mod b/examples/network/acl_template/go/go.mod index 4c9d4a54..12543a6a 100644 --- a/examples/network/acl_template/go/go.mod +++ b/examples/network/acl_template/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-acl_template go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/acl_template/python/__main__.py b/examples/network/acl_template/python/__main__.py index 7ed3a24e..3b51a8df 100644 --- a/examples/network/acl_template/python/__main__.py +++ b/examples/network/acl_template/python/__main__.py @@ -6,17 +6,17 @@ description="Test ACL template", project_id="a86d7112-d740-4758-9c9c-31e66373746b", inbound_rules=[ - equinix.networkedge.AclTemplateInboundRuleArgs( - subnet="1.1.1.1/32", - protocol=equinix.networkedge.AclRuleProtocolType.IP, - src_port="any", - dst_port="any", - description="inbound rule description", - ), - equinix.networkedge.AclTemplateInboundRuleArgs( - subnet="172.16.25.0/24", - protocol=equinix.networkedge.AclRuleProtocolType.UDP, - src_port="any", - dst_port="53,1045,2041", - ), + { + "subnet": "1.1.1.1/32", + "protocol": equinix.networkedge.AclRuleProtocolType.IP, + "src_port": "any", + "dst_port": "any", + "description": "inbound rule description", + }, + { + "subnet": "172.16.25.0/24", + "protocol": equinix.networkedge.AclRuleProtocolType.UDP, + "src_port": "any", + "dst_port": "53,1045,2041", + }, ]) diff --git a/examples/network/bgp/go/go.mod b/examples/network/bgp/go/go.mod index 0639bbbf..5b0f2146 100644 --- a/examples/network/bgp/go/go.mod +++ b/examples/network/bgp/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-bgp go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_1/go/go.mod b/examples/network/device/example_1/go/go.mod index ef3afd64..a809ff65 100644 --- a/examples/network/device/example_1/go/go.mod +++ b/examples/network/device/example_1/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_1 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_1/python/__main__.py b/examples/network/device/example_1/python/__main__.py index 64c5580d..4e5f8cfe 100644 --- a/examples/network/device/example_1/python/__main__.py +++ b/examples/network/device/example_1/python/__main__.py @@ -23,13 +23,13 @@ account_number=dc.number, version="16.09.05", core_count=2, - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-csr1000v-s", - metro_code=sv.metro_code, - hostname="csr1000v-s", - notifications=[ + secondary_device={ + "name": "tf-csr1000v-s", + "metro_code": sv.metro_code, + "hostname": "csr1000v-s", + "notifications": [ "john@equinix.com", "marry@equinix.com", ], - account_number=sv.number, - )) + "account_number": sv.number, + }) diff --git a/examples/network/device/example_2/go/go.mod b/examples/network/device/example_2/go/go.mod index 41cfed1b..4217c0a8 100644 --- a/examples/network/device/example_2/go/go.mod +++ b/examples/network/device/example_2/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_2 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_2/python/__main__.py b/examples/network/device/example_2/python/__main__.py index d13753e3..7fb505d3 100644 --- a/examples/network/device/example_2/python/__main__.py +++ b/examples/network/device/example_2/python/__main__.py @@ -19,23 +19,23 @@ version="10.1.3", interface_count=10, core_count=2, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test", - key_name="test-key", - ), + ssh_key={ + "username": "test", + "key_name": "test-key", + }, acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b", - cluster_details=equinix.networkedge.DeviceClusterDetailsArgs( - cluster_name="tf-panw-cluster", - node0=equinix.networkedge.DeviceClusterDetailsNode0Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs( - hostname="panw-node0", - ), - license_token="licenseToken", - ), - node1=equinix.networkedge.DeviceClusterDetailsNode1Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs( - hostname="panw-node1", - ), - license_token="licenseToken", - ), - )) + cluster_details={ + "cluster_name": "tf-panw-cluster", + "node0": { + "vendor_configuration": { + "hostname": "panw-node0", + }, + "license_token": "licenseToken", + }, + "node1": { + "vendor_configuration": { + "hostname": "panw-node1", + }, + "license_token": "licenseToken", + }, + }) diff --git a/examples/network/device/example_3/csharp/equinix-network-device-example_3.csproj b/examples/network/device/example_3/csharp/equinix-network-device-example_3.csproj index ef1958d7..9bd72156 100644 --- a/examples/network/device/example_3/csharp/equinix-network-device-example_3.csproj +++ b/examples/network/device/example_3/csharp/equinix-network-device-example_3.csproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/examples/network/device/example_3/go/go.mod b/examples/network/device/example_3/go/go.mod index c6662441..7bad9f0a 100644 --- a/examples/network/device/example_3/go/go.mod +++ b/examples/network/device/example_3/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_3 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_3/go/main.go b/examples/network/device/example_3/go/main.go index f4543aff..ba038e83 100644 --- a/examples/network/device/example_3/go/main.go +++ b/examples/network/device/example_3/go/main.go @@ -29,7 +29,7 @@ func main() { } aviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, "aviatrixCloudinitFile", &networkedge.NetworkFileArgs{ FileName: pulumi.String("TF-AVX-cloud-init-file.txt"), - Content: invokeFile.Result, + Content: pulumi.String(invokeFile.Result), MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), DeviceTypeCode: pulumi.String("AVIATRIX_EDGE"), ProcessType: pulumi.String(networkedge.FileTypeCloudInit), diff --git a/examples/network/device/example_3/java/pom.xml b/examples/network/device/example_3/java/pom.xml index cebc1f1d..cc217c78 100644 --- a/examples/network/device/example_3/java/pom.xml +++ b/examples/network/device/example_3/java/pom.xml @@ -30,7 +30,7 @@ com.pulumi std - 1.7.2 + 1.7.3 diff --git a/examples/network/device/example_3/python/requirements.txt b/examples/network/device/example_3/python/requirements.txt index da9f8ddc..fc62473f 100644 --- a/examples/network/device/example_3/python/requirements.txt +++ b/examples/network/device/example_3/python/requirements.txt @@ -1,3 +1,3 @@ -pulumi-std==1.7.2 +pulumi-std==1.7.3 pulumi>=3.0.0,<4.0.0 pulumi_equinix==<1.0.0 diff --git a/examples/network/device/example_3/typescript/package.json b/examples/network/device/example_3/typescript/package.json index 2f688661..3a11d536 100644 --- a/examples/network/device/example_3/typescript/package.json +++ b/examples/network/device/example_3/typescript/package.json @@ -7,6 +7,6 @@ "typescript": "^4.0.0", "@pulumi/pulumi": "^3.0.0", "@equinix-labs/pulumi-equinix": "<1.0.0", - "@pulumi/std": "1.7.2" + "@pulumi/std": "1.7.3" } } \ No newline at end of file diff --git a/examples/network/device/example_4/go/go.mod b/examples/network/device/example_4/go/go.mod index 4e282b1b..b6ef987c 100644 --- a/examples/network/device/example_4/go/go.mod +++ b/examples/network/device/example_4/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_4 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_4/python/__main__.py b/examples/network/device/example_4/python/__main__.py index 4284214c..b9e0b12e 100644 --- a/examples/network/device/example_4/python/__main__.py +++ b/examples/network/device/example_4/python/__main__.py @@ -18,8 +18,8 @@ term_length=12, license_token="valid-license-token", additional_bandwidth=5, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name="valid-key-name", - ), + ssh_key={ + "username": "test-username", + "key_name": "valid-key-name", + }, acl_template_id="3e548c02-9164-4197-aa23-05b1f644883c") diff --git a/examples/network/device/example_5/go/go.mod b/examples/network/device/example_5/go/go.mod index 3d2cda9b..16cb03d6 100644 --- a/examples/network/device/example_5/go/go.mod +++ b/examples/network/device/example_5/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_5 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_5/python/__main__.py b/examples/network/device/example_5/python/__main__.py index 240abc16..f3a1cdd7 100644 --- a/examples/network/device/example_5/python/__main__.py +++ b/examples/network/device/example_5/python/__main__.py @@ -19,8 +19,8 @@ additional_bandwidth=5, project_id="a86d7112-d740-4758-9c9c-31e66373746b", diverse_device_id="ed7891bd-15b4-4f72-ac56-d96cfdacddcc", - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name="valid-key-name", - ), + ssh_key={ + "username": "test-username", + "key_name": "valid-key-name", + }, acl_template_id="3e548c02-9164-4197-aa23-05b1f644883c") diff --git a/examples/network/device/example_6/go/go.mod b/examples/network/device/example_6/go/go.mod index 28e43064..b4f82bdd 100644 --- a/examples/network/device/example_6/go/go.mod +++ b/examples/network/device/example_6/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_6 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_6/python/__main__.py b/examples/network/device/example_6/python/__main__.py index 6b0126b1..d8ea9726 100644 --- a/examples/network/device/example_6/python/__main__.py +++ b/examples/network/device/example_6/python/__main__.py @@ -22,16 +22,16 @@ core_count=4, term_length=12, additional_bandwidth=5, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name=test_public_key.name, - ), + ssh_key={ + "username": "test-username", + "key_name": test_public_key.name, + }, acl_template_id="c637a17b-7a6a-4486-924b-30e6c36904b0", - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-arista-s", - metro_code=sv.metro_code, - hostname="arista-s", - notifications=["test@eq.com"], - account_number=sv.number, - acl_template_id="fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138", - )) + secondary_device={ + "name": "tf-arista-s", + "metro_code": sv.metro_code, + "hostname": "arista-s", + "notifications": ["test@eq.com"], + "account_number": sv.number, + "acl_template_id": "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138", + }) diff --git a/examples/network/device/example_7/go/go.mod b/examples/network/device/example_7/go/go.mod index df85860e..f3b7b71b 100644 --- a/examples/network/device/example_7/go/go.mod +++ b/examples/network/device/example_7/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_7 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_7/python/__main__.py b/examples/network/device/example_7/python/__main__.py index 7ed1f829..dd045946 100644 --- a/examples/network/device/example_7/python/__main__.py +++ b/examples/network/device/example_7/python/__main__.py @@ -28,21 +28,21 @@ "licenseKey": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", "licenseId": "xxxxxxxxxxxxxxx", }, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name=test_public_key.name, - ), - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-bluecat-bdds-s", - metro_code=sv.metro_code, - notifications=["test@eq.com"], - account_number=sv.number, - vendor_configuration={ + ssh_key={ + "username": "test-username", + "key_name": test_public_key.name, + }, + secondary_device={ + "name": "tf-bluecat-bdds-s", + "metro_code": sv.metro_code, + "notifications": ["test@eq.com"], + "account_number": sv.number, + "vendor_configuration": { "hostname": "test", - "privateAddress": "x.x.x.x", - "privateCidrMask": "24", - "privateGateway": "x.x.x.x", - "licenseKey": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", - "licenseId": "xxxxxxxxxxxxxxx", + "private_address": "x.x.x.x", + "private_cidr_mask": "24", + "private_gateway": "x.x.x.x", + "license_key": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", + "license_id": "xxxxxxxxxxxxxxx", }, - )) + }) diff --git a/examples/network/device/example_8/csharp/equinix-network-device-example_8.csproj b/examples/network/device/example_8/csharp/equinix-network-device-example_8.csproj index ef1958d7..9bd72156 100644 --- a/examples/network/device/example_8/csharp/equinix-network-device-example_8.csproj +++ b/examples/network/device/example_8/csharp/equinix-network-device-example_8.csproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/examples/network/device/example_8/go/go.mod b/examples/network/device/example_8/go/go.mod index 4e76da69..ece0628c 100644 --- a/examples/network/device/example_8/go/go.mod +++ b/examples/network/device/example_8/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_8 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_8/go/main.go b/examples/network/device/example_8/go/main.go index 4b257811..38df2f49 100644 --- a/examples/network/device/example_8/go/main.go +++ b/examples/network/device/example_8/go/main.go @@ -24,7 +24,7 @@ func main() { } bluecatEdgeServicePointCloudinitPrimaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitPrimaryFile", &networkedge.NetworkFileArgs{ FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"), - Content: invokeFile.Result, + Content: pulumi.String(invokeFile.Result), MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), DeviceTypeCode: pulumi.String("BLUECAT-EDGE-SERVICE-POINT"), ProcessType: pulumi.String(networkedge.FileTypeCloudInit), @@ -42,7 +42,7 @@ func main() { } bluecatEdgeServicePointCloudinitSecondaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitSecondaryFile", &networkedge.NetworkFileArgs{ FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"), - Content: invokeFile1.Result, + Content: pulumi.String(invokeFile1.Result), MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), DeviceTypeCode: pulumi.String("BLUECAT-EDGE-SERVICE-POINT"), ProcessType: pulumi.String(networkedge.FileTypeCloudInit), diff --git a/examples/network/device/example_8/java/pom.xml b/examples/network/device/example_8/java/pom.xml index 4bd28f4c..eac3dc88 100644 --- a/examples/network/device/example_8/java/pom.xml +++ b/examples/network/device/example_8/java/pom.xml @@ -30,7 +30,7 @@ com.pulumi std - 1.7.2 + 1.7.3 diff --git a/examples/network/device/example_8/python/__main__.py b/examples/network/device/example_8/python/__main__.py index 78e64d2d..0632c3b7 100644 --- a/examples/network/device/example_8/python/__main__.py +++ b/examples/network/device/example_8/python/__main__.py @@ -34,10 +34,10 @@ version="4.6.3", core_count=4, term_length=12, - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-bluecat-edge-service-point-s", - metro_code=sv.metro_code, - notifications=["test@eq.com"], - account_number=sv.number, - cloud_init_file_id=bluecat_edge_service_point_cloudinit_secondary_file.uuid, - )) + secondary_device={ + "name": "tf-bluecat-edge-service-point-s", + "metro_code": sv.metro_code, + "notifications": ["test@eq.com"], + "account_number": sv.number, + "cloud_init_file_id": bluecat_edge_service_point_cloudinit_secondary_file.uuid, + }) diff --git a/examples/network/device/example_8/python/requirements.txt b/examples/network/device/example_8/python/requirements.txt index da9f8ddc..fc62473f 100644 --- a/examples/network/device/example_8/python/requirements.txt +++ b/examples/network/device/example_8/python/requirements.txt @@ -1,3 +1,3 @@ -pulumi-std==1.7.2 +pulumi-std==1.7.3 pulumi>=3.0.0,<4.0.0 pulumi_equinix==<1.0.0 diff --git a/examples/network/device/example_8/typescript/package.json b/examples/network/device/example_8/typescript/package.json index 7956f0b3..a1f118b7 100644 --- a/examples/network/device/example_8/typescript/package.json +++ b/examples/network/device/example_8/typescript/package.json @@ -7,6 +7,6 @@ "typescript": "^4.0.0", "@pulumi/pulumi": "^3.0.0", "@equinix-labs/pulumi-equinix": "<1.0.0", - "@pulumi/std": "1.7.2" + "@pulumi/std": "1.7.3" } } \ No newline at end of file diff --git a/examples/network/device/example_9/go/go.mod b/examples/network/device/example_9/go/go.mod index 832bbe26..175323a7 100644 --- a/examples/network/device/example_9/go/go.mod +++ b/examples/network/device/example_9/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device-example_9 go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device/example_9/python/__main__.py b/examples/network/device/example_9/python/__main__.py index 1dc39dcb..4a4b1556 100644 --- a/examples/network/device/example_9/python/__main__.py +++ b/examples/network/device/example_9/python/__main__.py @@ -19,27 +19,27 @@ version="11.1.3", interface_count=10, core_count=2, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test", - key_name="test-key", - ), + ssh_key={ + "username": "test", + "key_name": "test-key", + }, acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b", - cluster_details=equinix.networkedge.DeviceClusterDetailsArgs( - cluster_name="tf-panw-cluster", - node0=equinix.networkedge.DeviceClusterDetailsNode0Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs( - hostname="panw-node0", - panorama_ip_address="x.x.x.x", - panorama_auth_key="xxxxxxxxxxx", - ), - license_token="licenseToken", - ), - node1=equinix.networkedge.DeviceClusterDetailsNode1Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs( - hostname="panw-node1", - panorama_ip_address="x.x.x.x", - panorama_auth_key="xxxxxxxxxxx", - ), - license_token="licenseToken", - ), - )) + cluster_details={ + "cluster_name": "tf-panw-cluster", + "node0": { + "vendor_configuration": { + "hostname": "panw-node0", + "panorama_ip_address": "x.x.x.x", + "panorama_auth_key": "xxxxxxxxxxx", + }, + "license_token": "licenseToken", + }, + "node1": { + "vendor_configuration": { + "hostname": "panw-node1", + "panorama_ip_address": "x.x.x.x", + "panorama_auth_key": "xxxxxxxxxxx", + }, + "license_token": "licenseToken", + }, + }) diff --git a/examples/network/device_link/go/go.mod b/examples/network/device_link/go/go.mod index 0e18b800..fc5a4562 100644 --- a/examples/network/device_link/go/go.mod +++ b/examples/network/device_link/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-device_link go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/device_link/python/__main__.py b/examples/network/device_link/python/__main__.py index 2a76e354..f8b9aba3 100644 --- a/examples/network/device_link/python/__main__.py +++ b/examples/network/device_link/python/__main__.py @@ -6,21 +6,21 @@ subnet="192.168.40.64/27", project_id="a86d7112-d740-4758-9c9c-31e66373746b", devices=[ - equinix.networkedge.DeviceLinkDeviceArgs( - id=test_equinix_network_device["uuid"], - asn=22111, - interface_id=6, - ), - equinix.networkedge.DeviceLinkDeviceArgs( - id=test_equinix_network_device["secondaryDevice"][0]["uuid"], - asn=22333, - interface_id=7, - ), + { + "id": test_equinix_network_device["uuid"], + "asn": 22111, + "interface_id": 6, + }, + { + "id": test_equinix_network_device["secondaryDevice"][0]["uuid"], + "asn": 22333, + "interface_id": 7, + }, ], - links=[equinix.networkedge.DeviceLinkLinkArgs( - account_number=test_equinix_network_device["accountNumber"], - src_metro_code=test_equinix_network_device["metroCode"], - dst_metro_code=test_equinix_network_device["secondaryDevice"][0]["metroCode"], - throughput="50", - throughput_unit="Mbps", - )]) + links=[{ + "account_number": test_equinix_network_device["accountNumber"], + "src_metro_code": test_equinix_network_device["metroCode"], + "dst_metro_code": test_equinix_network_device["secondaryDevice"][0]["metroCode"], + "throughput": "50", + "throughput_unit": "Mbps", + }]) diff --git a/examples/network/file/csharp/equinix-network-file.csproj b/examples/network/file/csharp/equinix-network-file.csproj index ef1958d7..9bd72156 100644 --- a/examples/network/file/csharp/equinix-network-file.csproj +++ b/examples/network/file/csharp/equinix-network-file.csproj @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/examples/network/file/go/go.mod b/examples/network/file/go/go.mod index 2b89f446..f05e53b1 100644 --- a/examples/network/file/go/go.mod +++ b/examples/network/file/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-file go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/file/go/main.go b/examples/network/file/go/main.go index c5e13e00..fc61ed84 100644 --- a/examples/network/file/go/main.go +++ b/examples/network/file/go/main.go @@ -23,7 +23,7 @@ func main() { } _, err = networkedge.NewNetworkFile(ctx, "test-file", &networkedge.NetworkFileArgs{ FileName: pulumi.String("fileName.txt"), - Content: invokeFile.Result, + Content: pulumi.String(invokeFile.Result), MetroCode: pulumi.String(equinix.MetroSiliconValley), DeviceTypeCode: pulumi.String("AVIATRIX_EDGE"), ProcessType: pulumi.String(networkedge.FileTypeCloudInit), diff --git a/examples/network/file/java/pom.xml b/examples/network/file/java/pom.xml index 2a0e3242..4d0a03db 100644 --- a/examples/network/file/java/pom.xml +++ b/examples/network/file/java/pom.xml @@ -30,7 +30,7 @@ com.pulumi std - 1.7.2 + 1.7.3 diff --git a/examples/network/file/python/requirements.txt b/examples/network/file/python/requirements.txt index da9f8ddc..fc62473f 100644 --- a/examples/network/file/python/requirements.txt +++ b/examples/network/file/python/requirements.txt @@ -1,3 +1,3 @@ -pulumi-std==1.7.2 +pulumi-std==1.7.3 pulumi>=3.0.0,<4.0.0 pulumi_equinix==<1.0.0 diff --git a/examples/network/file/typescript/package.json b/examples/network/file/typescript/package.json index f7503340..6a815cd0 100644 --- a/examples/network/file/typescript/package.json +++ b/examples/network/file/typescript/package.json @@ -7,6 +7,6 @@ "typescript": "^4.0.0", "@pulumi/pulumi": "^3.0.0", "@equinix-labs/pulumi-equinix": "<1.0.0", - "@pulumi/std": "1.7.2" + "@pulumi/std": "1.7.3" } } \ No newline at end of file diff --git a/examples/network/ssh_key/go/go.mod b/examples/network/ssh_key/go/go.mod index e2750816..28861b3d 100644 --- a/examples/network/ssh_key/go/go.mod +++ b/examples/network/ssh_key/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-ssh_key go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/examples/network/ssh_user/go/go.mod b/examples/network/ssh_user/go/go.mod index 9c04ae3d..dfc20768 100644 --- a/examples/network/ssh_user/go/go.mod +++ b/examples/network/ssh_user/go/go.mod @@ -2,7 +2,7 @@ module equinix-network-ssh_user go 1.21 -toolchain go1.22.5 +toolchain go1.22.6 require ( github.com/equinix/pulumi-equinix/sdk 0.15.1 diff --git a/go.work.sum b/go.work.sum index 10463b81..fdb45027 100644 --- a/go.work.sum +++ b/go.work.sum @@ -933,6 +933,8 @@ github.com/equinix-labs/metal-go v0.25.1 h1:uL83lRKyAcOfab+9r2xujAuLD8lTsqv89+SP github.com/equinix-labs/metal-go v0.25.1/go.mod h1:SmxCklxW+KjmBLVMdEXgtFO5gD5/b4N0VxcNgUYbOH4= github.com/equinix/equinix-sdk-go v0.39.0 h1:ICJ0DVG/0eRBFJNNffpGn9936oHOxD5Ek71ormXKUJY= github.com/equinix/equinix-sdk-go v0.39.0/go.mod h1:hEb3XLaedz7xhl/dpPIS6eOIiXNPeqNiVoyDrT6paIg= +github.com/equinix/equinix-sdk-go v0.43.0 h1:7i5x6aM1ZDVcIuAr1+yPNSDqsMp1Jye+kVQraGsOBBM= +github.com/equinix/equinix-sdk-go v0.43.0/go.mod h1:hEb3XLaedz7xhl/dpPIS6eOIiXNPeqNiVoyDrT6paIg= github.com/erikgeiser/promptkit v0.9.0/go.mod h1:pU9dtogSe3Jlc2AY77EP7R4WFP/vgD4v+iImC83KsCo= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= @@ -2328,7 +2330,6 @@ golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= -golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/provider/cmd/pulumi-resource-equinix/schema.json b/provider/cmd/pulumi-resource-equinix/schema.json index 8f327594..935ec774 100644 --- a/provider/cmd/pulumi-resource-equinix/schema.json +++ b/provider/cmd/pulumi-resource-equinix/schema.json @@ -12810,7 +12810,7 @@ }, "resources": { "equinix:fabric/cloudRouter:CloudRouter": { - "description": "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).\n\nAdditional documentation:\n* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks\n* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst newCloudRouter = new equinix.fabric.CloudRouter(\"newCloudRouter\", {\n name: \"Router-SV\",\n type: \"XF_ROUTER\",\n notifications: [{\n type: \"ALL\",\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n location: {\n metroCode: \"SV\",\n },\n \"package\": {\n code: \"STANDARD\",\n },\n project: {\n projectId: \"776847000642406\",\n },\n account: {\n accountNumber: 203612,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nnew_cloud_router = equinix.fabric.CloudRouter(\"newCloudRouter\",\n name=\"Router-SV\",\n type=\"XF_ROUTER\",\n notifications=[equinix.fabric.CloudRouterNotificationArgs(\n type=\"ALL\",\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n order=equinix.fabric.CloudRouterOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n location=equinix.fabric.CloudRouterLocationArgs(\n metro_code=\"SV\",\n ),\n package=equinix.fabric.CloudRouterPackageArgs(\n code=\"STANDARD\",\n ),\n project=equinix.fabric.CloudRouterProjectArgs(\n project_id=\"776847000642406\",\n ),\n account=equinix.fabric.CloudRouterAccountArgs(\n account_number=203612,\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewCloudRouter(ctx, \"newCloudRouter\", \u0026fabric.CloudRouterArgs{\n\t\t\tName: pulumi.String(\"Router-SV\"),\n\t\t\tType: pulumi.String(\"XF_ROUTER\"),\n\t\t\tNotifications: fabric.CloudRouterNotificationArray{\n\t\t\t\t\u0026fabric.CloudRouterNotificationArgs{\n\t\t\t\t\tType: pulumi.String(\"ALL\"),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrder: \u0026fabric.CloudRouterOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tLocation: \u0026fabric.CloudRouterLocationArgs{\n\t\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t\t},\n\t\t\tPackage: \u0026fabric.CloudRouterPackageArgs{\n\t\t\t\tCode: pulumi.String(\"STANDARD\"),\n\t\t\t},\n\t\t\tProject: \u0026fabric.CloudRouterProjectArgs{\n\t\t\t\tProjectId: pulumi.String(\"776847000642406\"),\n\t\t\t},\n\t\t\tAccount: \u0026fabric.CloudRouterAccountArgs{\n\t\t\t\tAccountNumber: pulumi.Int(203612),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newCloudRouter = new Equinix.Fabric.CloudRouter(\"newCloudRouter\", new()\n {\n Name = \"Router-SV\",\n Type = \"XF_ROUTER\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.CloudRouterNotificationArgs\n {\n Type = \"ALL\",\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Order = new Equinix.Fabric.Inputs.CloudRouterOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n Location = new Equinix.Fabric.Inputs.CloudRouterLocationArgs\n {\n MetroCode = \"SV\",\n },\n Package = new Equinix.Fabric.Inputs.CloudRouterPackageArgs\n {\n Code = \"STANDARD\",\n },\n Project = new Equinix.Fabric.Inputs.CloudRouterProjectArgs\n {\n ProjectId = \"776847000642406\",\n },\n Account = new Equinix.Fabric.Inputs.CloudRouterAccountArgs\n {\n AccountNumber = 203612,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.CloudRouter;\nimport com.pulumi.equinix.fabric.CloudRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterLocationArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterPackageArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterProjectArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var newCloudRouter = new CloudRouter(\"newCloudRouter\", CloudRouterArgs.builder()\n .name(\"Router-SV\")\n .type(\"XF_ROUTER\")\n .notifications(CloudRouterNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .order(CloudRouterOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .location(CloudRouterLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .package_(CloudRouterPackageArgs.builder()\n .code(\"STANDARD\")\n .build())\n .project(CloudRouterProjectArgs.builder()\n .projectId(\"776847000642406\")\n .build())\n .account(CloudRouterAccountArgs.builder()\n .accountNumber(\"203612\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n newCloudRouter:\n type: equinix:fabric:CloudRouter\n name: new_cloud_router\n properties:\n name: Router-SV\n type: XF_ROUTER\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n order:\n purchaseOrderNumber: 1-323292\n location:\n metroCode: SV\n package:\n code: STANDARD\n project:\n projectId: '776847000642406'\n account:\n accountNumber: '203612'\n```\n{{% /example %}}\n\n{{% /examples %}}", + "description": "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).\n\nAdditional documentation:\n* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks\n* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst newCloudRouter = new equinix.fabric.CloudRouter(\"newCloudRouter\", {\n name: \"Router-SV\",\n type: \"XF_ROUTER\",\n notifications: [{\n type: \"ALL\",\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n location: {\n metroCode: \"SV\",\n },\n \"package\": {\n code: \"STANDARD\",\n },\n project: {\n projectId: \"776847000642406\",\n },\n account: {\n accountNumber: 203612,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nnew_cloud_router = equinix.fabric.CloudRouter(\"newCloudRouter\",\n name=\"Router-SV\",\n type=\"XF_ROUTER\",\n notifications=[{\n \"type\": \"ALL\",\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n location={\n \"metro_code\": \"SV\",\n },\n package={\n \"code\": \"STANDARD\",\n },\n project={\n \"project_id\": \"776847000642406\",\n },\n account={\n \"account_number\": 203612,\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewCloudRouter(ctx, \"newCloudRouter\", \u0026fabric.CloudRouterArgs{\n\t\t\tName: pulumi.String(\"Router-SV\"),\n\t\t\tType: pulumi.String(\"XF_ROUTER\"),\n\t\t\tNotifications: fabric.CloudRouterNotificationArray{\n\t\t\t\t\u0026fabric.CloudRouterNotificationArgs{\n\t\t\t\t\tType: pulumi.String(\"ALL\"),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrder: \u0026fabric.CloudRouterOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tLocation: \u0026fabric.CloudRouterLocationArgs{\n\t\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t\t},\n\t\t\tPackage: \u0026fabric.CloudRouterPackageArgs{\n\t\t\t\tCode: pulumi.String(\"STANDARD\"),\n\t\t\t},\n\t\t\tProject: \u0026fabric.CloudRouterProjectArgs{\n\t\t\t\tProjectId: pulumi.String(\"776847000642406\"),\n\t\t\t},\n\t\t\tAccount: \u0026fabric.CloudRouterAccountArgs{\n\t\t\t\tAccountNumber: pulumi.Int(203612),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newCloudRouter = new Equinix.Fabric.CloudRouter(\"newCloudRouter\", new()\n {\n Name = \"Router-SV\",\n Type = \"XF_ROUTER\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.CloudRouterNotificationArgs\n {\n Type = \"ALL\",\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Order = new Equinix.Fabric.Inputs.CloudRouterOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n Location = new Equinix.Fabric.Inputs.CloudRouterLocationArgs\n {\n MetroCode = \"SV\",\n },\n Package = new Equinix.Fabric.Inputs.CloudRouterPackageArgs\n {\n Code = \"STANDARD\",\n },\n Project = new Equinix.Fabric.Inputs.CloudRouterProjectArgs\n {\n ProjectId = \"776847000642406\",\n },\n Account = new Equinix.Fabric.Inputs.CloudRouterAccountArgs\n {\n AccountNumber = 203612,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.CloudRouter;\nimport com.pulumi.equinix.fabric.CloudRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterLocationArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterPackageArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterProjectArgs;\nimport com.pulumi.equinix.fabric.inputs.CloudRouterAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var newCloudRouter = new CloudRouter(\"newCloudRouter\", CloudRouterArgs.builder()\n .name(\"Router-SV\")\n .type(\"XF_ROUTER\")\n .notifications(CloudRouterNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .order(CloudRouterOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .location(CloudRouterLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .package_(CloudRouterPackageArgs.builder()\n .code(\"STANDARD\")\n .build())\n .project(CloudRouterProjectArgs.builder()\n .projectId(\"776847000642406\")\n .build())\n .account(CloudRouterAccountArgs.builder()\n .accountNumber(\"203612\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n newCloudRouter:\n type: equinix:fabric:CloudRouter\n name: new_cloud_router\n properties:\n name: Router-SV\n type: XF_ROUTER\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n order:\n purchaseOrderNumber: 1-323292\n location:\n metroCode: SV\n package:\n code: STANDARD\n project:\n projectId: '776847000642406'\n account:\n accountNumber: '203612'\n```\n{{% /example %}}\n\n{{% /examples %}}", "properties": { "account": { "$ref": "#/types/equinix:fabric/CloudRouterAccount:CloudRouterAccount", @@ -13062,7 +13062,7 @@ } }, "equinix:fabric/connection:Connection": { - "description": "\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example fcr to azure\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst fcr2Azure = new equinix.fabric.Connection(\"fcr2azure\", {\n name: \"ConnectionName\",\n type: \"IP_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peeringType: equinix.fabric.AccessPointPeeringType.Private,\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nfcr2_azure = equinix.fabric.Connection(\"fcr2azure\",\n name=\"ConnectionName\",\n type=\"IP_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=\"CLOUD_ROUTER\",\n router=equinix.fabric.ConnectionASideAccessPointRouterArgs(\n uuid=\"\u003ccloud_router_uuid\u003e\",\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.SP,\n authentication_key=\"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE,\n profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs(\n type=equinix.fabric.ProfileType.L2_PROFILE,\n uuid=\"\u003cAzure_Service_Profile_UUID\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"fcr2azure\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"IP_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003ccloud_router_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\"),\n\t\t\t\t\tPeeringType: pulumi.String(fabric.AccessPointPeeringTypePrivate),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cAzure_Service_Profile_UUID\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fcr2Azure = new Equinix.Fabric.Connection(\"fcr2azure\", new()\n {\n Name = \"ConnectionName\",\n Type = \"IP_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n PeeringType = Equinix.Fabric.AccessPointPeeringType.Private,\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fcr2Azure = new Connection(\"fcr2Azure\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"IP_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(\"\u003ccloud_router_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\")\n .peeringType(\"PRIVATE\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cAzure_Service_Profile_UUID\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fcr2azure:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: IP_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: \u003ccloud_router_uuid\u003e\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003cAzure_ExpressRouter_Auth_Key\u003e\n peeringType: PRIVATE\n profile:\n type: L2_PROFILE\n uuid: \u003cAzure_Service_Profile_UUID\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example fcr to metal\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst fcr2Metal = new equinix.fabric.Connection(\"fcr2metal\", {\n name: \"ConnectionName\",\n type: \"IP_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: \"METAL_NETWORK\",\n authenticationKey: \"\u003cmetal_authorization_code\u003e\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nfcr2_metal = equinix.fabric.Connection(\"fcr2metal\",\n name=\"ConnectionName\",\n type=\"IP_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=\"CLOUD_ROUTER\",\n router=equinix.fabric.ConnectionASideAccessPointRouterArgs(\n uuid=\"\u003ccloud_router_uuid\u003e\",\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=\"METAL_NETWORK\",\n authentication_key=\"\u003cmetal_authorization_code\u003e\",\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"fcr2metal\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"IP_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003ccloud_router_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"METAL_NETWORK\"),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cmetal_authorization_code\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fcr2Metal = new Equinix.Fabric.Connection(\"fcr2metal\", new()\n {\n Name = \"ConnectionName\",\n Type = \"IP_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = \"METAL_NETWORK\",\n AuthenticationKey = \"\u003cmetal_authorization_code\u003e\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fcr2Metal = new Connection(\"fcr2Metal\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"IP_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(\"\u003ccloud_router_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"METAL_NETWORK\")\n .authenticationKey(\"\u003cmetal_authorization_code\u003e\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fcr2metal:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: IP_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: \u003ccloud_router_uuid\u003e\n zSide:\n accessPoint:\n type: METAL_NETWORK\n authenticationKey: \u003cmetal_authorization_code\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example fcr to network\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst fcr2Network = new equinix.fabric.Connection(\"fcr2network\", {\n name: \"ConnectionName\",\n type: \"IPWAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Network,\n network: {\n uuid: \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nfcr2_network = equinix.fabric.Connection(\"fcr2network\",\n name=\"ConnectionName\",\n type=\"IPWAN_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=\"CLOUD_ROUTER\",\n router=equinix.fabric.ConnectionASideAccessPointRouterArgs(\n uuid=\"\u003ccloud_router_uuid\u003e\",\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.NETWORK,\n network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs(\n uuid=\"\u003cnetwork_uuid\u003e\",\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"fcr2network\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"IPWAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003ccloud_router_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeNetwork),\n\t\t\t\t\tNetwork: \u0026fabric.ConnectionZSideAccessPointNetworkArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cnetwork_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fcr2Network = new Equinix.Fabric.Connection(\"fcr2network\", new()\n {\n Name = \"ConnectionName\",\n Type = \"IPWAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Network,\n Network = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointNetworkArgs\n {\n Uuid = \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fcr2Network = new Connection(\"fcr2Network\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"IPWAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(\"\u003ccloud_router_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"NETWORK\")\n .network(ConnectionZSideAccessPointNetworkArgs.builder()\n .uuid(\"\u003cnetwork_uuid\u003e\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fcr2network:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: IPWAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: \u003ccloud_router_uuid\u003e\n zSide:\n accessPoint:\n type: NETWORK\n network:\n uuid: \u003cnetwork_uuid\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example fcr to port\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst fcr2Port = new equinix.fabric.Connection(\"fcr2port\", {\n name: \"ConnectionName\",\n type: \"IP_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003cport_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.Dot1q,\n vlanTag: 2711,\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nfcr2_port = equinix.fabric.Connection(\"fcr2port\",\n name=\"ConnectionName\",\n type=\"IP_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=\"CLOUD_ROUTER\",\n router=equinix.fabric.ConnectionASideAccessPointRouterArgs(\n uuid=\"\u003ccloud_router_uuid\u003e\",\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionZSideAccessPointPortArgs(\n uuid=\"\u003cport_uuid\u003e\",\n ),\n link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs(\n type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q,\n vlan_tag=2711,\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"fcr2port\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"IP_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003ccloud_router_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cport_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionZSideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeDot1q),\n\t\t\t\t\t\tVlanTag: pulumi.Int(2711),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fcr2Port = new Equinix.Fabric.Connection(\"fcr2port\", new()\n {\n Name = \"ConnectionName\",\n Type = \"IP_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003cport_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.Dot1q,\n VlanTag = 2711,\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fcr2Port = new Connection(\"fcr2Port\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"IP_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(\"\u003ccloud_router_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003cport_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionZSideAccessPointLinkProtocolArgs.builder()\n .type(\"DOT1Q\")\n .vlanTag(\"2711\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fcr2port:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: IP_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: \u003ccloud_router_uuid\u003e\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003cport_uuid\u003e\n linkProtocol:\n type: DOT1Q\n vlanTag: '2711'\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example metal to aws\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst metal2Aws = new equinix.fabric.Connection(\"metal2aws\", {\n name: \"ConnectionName\",\n type: \"EVPLAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"METAL_NETWORK\",\n authenticationKey: \"\u003cmetal_authorization_code\u003e\",\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003caws_account_id\u003e\",\n sellerRegion: \"us-west-1\",\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cservice_profile_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nmetal2_aws = equinix.fabric.Connection(\"metal2aws\",\n name=\"ConnectionName\",\n type=\"EVPLAN_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=\"METAL_NETWORK\",\n authentication_key=\"\u003cmetal_authorization_code\u003e\",\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.SP,\n authentication_key=\"\u003caws_account_id\u003e\",\n seller_region=\"us-west-1\",\n profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs(\n type=equinix.fabric.ProfileType.L2_PROFILE,\n uuid=\"\u003cservice_profile_uuid\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"metal2aws\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"EVPLAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"METAL_NETWORK\"),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cmetal_authorization_code\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003caws_account_id\u003e\"),\n\t\t\t\t\tSellerRegion: pulumi.String(\"us-west-1\"),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_profile_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var metal2Aws = new Equinix.Fabric.Connection(\"metal2aws\", new()\n {\n Name = \"ConnectionName\",\n Type = \"EVPLAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"METAL_NETWORK\",\n AuthenticationKey = \"\u003cmetal_authorization_code\u003e\",\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003caws_account_id\u003e\",\n SellerRegion = \"us-west-1\",\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cservice_profile_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var metal2Aws = new Connection(\"metal2Aws\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPLAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"METAL_NETWORK\")\n .authenticationKey(\"\u003cmetal_authorization_code\u003e\")\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003caws_account_id\u003e\")\n .sellerRegion(\"us-west-1\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cservice_profile_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n metal2aws:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPLAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: METAL_NETWORK\n authenticationKey: \u003cmetal_authorization_code\u003e\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003caws_account_id\u003e\n sellerRegion: us-west-1\n profile:\n type: L2_PROFILE\n uuid: \u003cservice_profile_uuid\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to aws\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst port2Aws = new equinix.fabric.Connection(\"port2aws\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n redundancy: {\n priority: \"PRIMARY\",\n },\n order: {\n purchaseOrderNumber: \"1-323929\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.QinQ,\n vlanSTag: 2019,\n vlanCTag: 2112,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003caws_account_id\u003e\",\n sellerRegion: \"us-west-1\",\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cservice_profile_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n additionalInfo: [\n {\n key: \"accessKey\",\n value: \"\u003caws_access_key\u003e\",\n },\n {\n key: \"secretKey\",\n value: \"\u003caws_secret_key\u003e\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nport2_aws = equinix.fabric.Connection(\"port2aws\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n redundancy=equinix.fabric.ConnectionRedundancyArgs(\n priority=\"PRIMARY\",\n ),\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323929\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionASideAccessPointPortArgs(\n uuid=\"\u003caside_port_uuid\u003e\",\n ),\n link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs(\n type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q,\n vlan_s_tag=2019,\n vlan_c_tag=2112,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.SP,\n authentication_key=\"\u003caws_account_id\u003e\",\n seller_region=\"us-west-1\",\n profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs(\n type=equinix.fabric.ProfileType.L2_PROFILE,\n uuid=\"\u003cservice_profile_uuid\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ),\n additional_info=[\n {\n \"key\": \"accessKey\",\n \"value\": \"\u003caws_access_key\u003e\",\n },\n {\n \"key\": \"secretKey\",\n \"value\": \"\u003caws_secret_key\u003e\",\n },\n ])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"port2aws\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tRedundancy: \u0026fabric.ConnectionRedundancyArgs{\n\t\t\t\tPriority: pulumi.String(\"PRIMARY\"),\n\t\t\t},\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323929\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionASideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeQinQ),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(2019),\n\t\t\t\t\t\tVlanCTag: pulumi.Int(2112),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003caws_account_id\u003e\"),\n\t\t\t\t\tSellerRegion: pulumi.String(\"us-west-1\"),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_profile_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdditionalInfo: pulumi.MapArray{\n\t\t\t\tpulumi.Map{\n\t\t\t\t\t\"key\": pulumi.Any(\"accessKey\"),\n\t\t\t\t\t\"value\": pulumi.Any(\"\u003caws_access_key\u003e\"),\n\t\t\t\t},\n\t\t\t\tpulumi.Map{\n\t\t\t\t\t\"key\": pulumi.Any(\"secretKey\"),\n\t\t\t\t\t\"value\": pulumi.Any(\"\u003caws_secret_key\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var port2Aws = new Equinix.Fabric.Connection(\"port2aws\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Redundancy = new Equinix.Fabric.Inputs.ConnectionRedundancyArgs\n {\n Priority = \"PRIMARY\",\n },\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323929\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.QinQ,\n VlanSTag = 2019,\n VlanCTag = 2112,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003caws_account_id\u003e\",\n SellerRegion = \"us-west-1\",\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cservice_profile_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n AdditionalInfo = new[]\n {\n \n {\n { \"key\", \"accessKey\" },\n { \"value\", \"\u003caws_access_key\u003e\" },\n },\n \n {\n { \"key\", \"secretKey\" },\n { \"value\", \"\u003caws_secret_key\u003e\" },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionRedundancyArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var port2Aws = new Connection(\"port2Aws\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .redundancy(ConnectionRedundancyArgs.builder()\n .priority(\"PRIMARY\")\n .build())\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323929\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()\n .type(\"QINQ\")\n .vlanSTag(\"2019\")\n .vlanCTag(\"2112\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003caws_account_id\u003e\")\n .sellerRegion(\"us-west-1\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cservice_profile_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .additionalInfo( \n Map.ofEntries(\n Map.entry(\"key\", \"accessKey\"),\n Map.entry(\"value\", \"\u003caws_access_key\u003e\")\n ),\n Map.ofEntries(\n Map.entry(\"key\", \"secretKey\"),\n Map.entry(\"value\", \"\u003caws_secret_key\u003e\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n port2aws:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n redundancy:\n priority: PRIMARY\n order:\n purchaseOrderNumber: 1-323929\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n linkProtocol:\n type: QINQ\n vlanSTag: '2019'\n vlanCTag: '2112'\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003caws_account_id\u003e\n sellerRegion: us-west-1\n profile:\n type: L2_PROFILE\n uuid: \u003cservice_profile_uuid\u003e\n location:\n metroCode: SV\n additionalInfo:\n - key: accessKey\n value: \u003caws_access_key\u003e\n - key: secretKey\n value: \u003caws_secret_key\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to network eplan\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst eplan = new equinix.fabric.Connection(\"eplan\", {\n name: \"ConnectionName\",\n type: \"EPLAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Network,\n network: {\n uuid: \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\neplan = equinix.fabric.Connection(\"eplan\",\n name=\"ConnectionName\",\n type=\"EPLAN_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionASideAccessPointPortArgs(\n uuid=\"\u003caside_port_uuid\u003e\",\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.NETWORK,\n network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs(\n uuid=\"\u003cnetwork_uuid\u003e\",\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"eplan\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"EPLAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeNetwork),\n\t\t\t\t\tNetwork: \u0026fabric.ConnectionZSideAccessPointNetworkArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cnetwork_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eplan = new Equinix.Fabric.Connection(\"eplan\", new()\n {\n Name = \"ConnectionName\",\n Type = \"EPLAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Network,\n Network = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointNetworkArgs\n {\n Uuid = \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var eplan = new Connection(\"eplan\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EPLAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"NETWORK\")\n .network(ConnectionZSideAccessPointNetworkArgs.builder()\n .uuid(\"\u003cnetwork_uuid\u003e\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eplan:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EPLAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n zSide:\n accessPoint:\n type: NETWORK\n network:\n uuid: \u003cnetwork_uuid\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to network evplan\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst evplan = new equinix.fabric.Connection(\"evplan\", {\n name: \"ConnectionName\",\n type: \"EVPLAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.Dot1q,\n vlanSTag: 1976,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Network,\n network: {\n uuid: \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nevplan = equinix.fabric.Connection(\"evplan\",\n name=\"ConnectionName\",\n type=\"EVPLAN_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionASideAccessPointPortArgs(\n uuid=\"\u003caside_port_uuid\u003e\",\n ),\n link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs(\n type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q,\n vlan_s_tag=1976,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.NETWORK,\n network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs(\n uuid=\"\u003cnetwork_uuid\u003e\",\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"evplan\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"EVPLAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionASideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeDot1q),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(1976),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeNetwork),\n\t\t\t\t\tNetwork: \u0026fabric.ConnectionZSideAccessPointNetworkArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cnetwork_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var evplan = new Equinix.Fabric.Connection(\"evplan\", new()\n {\n Name = \"ConnectionName\",\n Type = \"EVPLAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.Dot1q,\n VlanSTag = 1976,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Network,\n Network = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointNetworkArgs\n {\n Uuid = \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var evplan = new Connection(\"evplan\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPLAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()\n .type(\"DOT1Q\")\n .vlanSTag(\"1976\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"NETWORK\")\n .network(ConnectionZSideAccessPointNetworkArgs.builder()\n .uuid(\"\u003cnetwork_uuid\u003e\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n evplan:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPLAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n linkProtocol:\n type: DOT1Q\n vlanSTag: '1976'\n zSide:\n accessPoint:\n type: NETWORK\n network:\n uuid: \u003cnetwork_uuid\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to port\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst port2Port = new equinix.fabric.Connection(\"port2port\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.QinQ,\n vlanSTag: 1976,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003czside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.QinQ,\n vlanSTag: 3711,\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nport2_port = equinix.fabric.Connection(\"port2port\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionASideAccessPointPortArgs(\n uuid=\"\u003caside_port_uuid\u003e\",\n ),\n link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs(\n type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q,\n vlan_s_tag=1976,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionZSideAccessPointPortArgs(\n uuid=\"\u003czside_port_uuid\u003e\",\n ),\n link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs(\n type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q,\n vlan_s_tag=3711,\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"port2port\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionASideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeQinQ),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(1976),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003czside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionZSideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeQinQ),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(3711),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var port2Port = new Equinix.Fabric.Connection(\"port2port\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.QinQ,\n VlanSTag = 1976,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003czside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.QinQ,\n VlanSTag = 3711,\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var port2Port = new Connection(\"port2Port\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()\n .type(\"QINQ\")\n .vlanSTag(\"1976\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003czside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionZSideAccessPointLinkProtocolArgs.builder()\n .type(\"QINQ\")\n .vlanSTag(\"3711\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n port2port:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n linkProtocol:\n type: QINQ\n vlanSTag: '1976'\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003czside_port_uuid\u003e\n linkProtocol:\n type: QINQ\n vlanSTag: '3711'\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to port access epl\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst accessEplVc = new equinix.fabric.Connection(\"accessEplVc\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.AccessEPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.QinQ,\n vlanSTag: 1976,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003czside_port_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\naccess_epl_vc = equinix.fabric.Connection(\"accessEplVc\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.ACCESS_EPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionASideAccessPointPortArgs(\n uuid=\"\u003caside_port_uuid\u003e\",\n ),\n link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs(\n type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q,\n vlan_s_tag=1976,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionZSideAccessPointPortArgs(\n uuid=\"\u003czside_port_uuid\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"accessEplVc\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeAccessEPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionASideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeQinQ),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(1976),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003czside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accessEplVc = new Equinix.Fabric.Connection(\"accessEplVc\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.AccessEPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.QinQ,\n VlanSTag = 1976,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003czside_port_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var accessEplVc = new Connection(\"accessEplVc\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"ACCESS_EPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()\n .type(\"QINQ\")\n .vlanSTag(\"1976\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003czside_port_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n accessEplVc:\n type: equinix:fabric:Connection\n name: access_epl_vc\n properties:\n name: ConnectionName\n type: ACCESS_EPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n linkProtocol:\n type: QINQ\n vlanSTag: '1976'\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003czside_port_uuid\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to port epl\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst epl = new equinix.fabric.Connection(\"epl\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003czside_port_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nepl = equinix.fabric.Connection(\"epl\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionASideAccessPointPortArgs(\n uuid=\"\u003caside_port_uuid\u003e\",\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionZSideAccessPointPortArgs(\n uuid=\"\u003czside_port_uuid\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"epl\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003czside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var epl = new Equinix.Fabric.Connection(\"epl\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003czside_port_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var epl = new Connection(\"epl\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003czside_port_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n epl:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003czside_port_uuid\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to vd\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2Port = new equinix.fabric.Connection(\"vd2port\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"NETWORK\",\n id: 7,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003czside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.Dot1q,\n vlanSTag: 3711,\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_port = equinix.fabric.Connection(\"vd2port\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.VD,\n virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs(\n type=\"EDGE\",\n uuid=\"\u003cdevice_uuid\u003e\",\n ),\n interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs(\n type=\"NETWORK\",\n id=7,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.COLO,\n port=equinix.fabric.ConnectionZSideAccessPointPortArgs(\n uuid=\"\u003czside_port_uuid\u003e\",\n ),\n link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs(\n type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q,\n vlan_s_tag=3711,\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"vd2port\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"NETWORK\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003czside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionZSideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeDot1q),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(3711),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2Port = new Equinix.Fabric.Connection(\"vd2port\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"NETWORK\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003czside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.Dot1q,\n VlanSTag = 3711,\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2Port = new Connection(\"vd2Port\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"NETWORK\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003czside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionZSideAccessPointLinkProtocolArgs.builder()\n .type(\"DOT1Q\")\n .vlanSTag(\"3711\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2port:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: NETWORK\n id: 7\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003czside_port_uuid\u003e\n linkProtocol:\n type: DOT1Q\n vlanSTag: '3711'\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example token to aws\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst token2Aws = new equinix.fabric.Connection(\"token2aws\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n serviceToken: {\n uuid: \"\u003cservice_token_uuid\u003e\",\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003caws_account_id\u003e\",\n sellerRegion: \"us-west-1\",\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cservice_profile_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntoken2_aws = equinix.fabric.Connection(\"token2aws\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n service_token=equinix.fabric.ConnectionASideServiceTokenArgs(\n uuid=\"\u003cservice_token_uuid\u003e\",\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.SP,\n authentication_key=\"\u003caws_account_id\u003e\",\n seller_region=\"us-west-1\",\n profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs(\n type=equinix.fabric.ProfileType.L2_PROFILE,\n uuid=\"\u003cservice_profile_uuid\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"token2aws\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tServiceToken: \u0026fabric.ConnectionASideServiceTokenArgs{\n\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_token_uuid\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003caws_account_id\u003e\"),\n\t\t\t\t\tSellerRegion: pulumi.String(\"us-west-1\"),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_profile_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var token2Aws = new Equinix.Fabric.Connection(\"token2aws\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n ServiceToken = new Equinix.Fabric.Inputs.ConnectionASideServiceTokenArgs\n {\n Uuid = \"\u003cservice_token_uuid\u003e\",\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003caws_account_id\u003e\",\n SellerRegion = \"us-west-1\",\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cservice_profile_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideServiceTokenArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var token2Aws = new Connection(\"token2Aws\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .serviceToken(ConnectionASideServiceTokenArgs.builder()\n .uuid(\"\u003cservice_token_uuid\u003e\")\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003caws_account_id\u003e\")\n .sellerRegion(\"us-west-1\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cservice_profile_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n token2aws:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n serviceToken:\n uuid: \u003cservice_token_uuid\u003e\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003caws_account_id\u003e\n sellerRegion: us-west-1\n profile:\n type: L2_PROFILE\n uuid: \u003cservice_profile_uuid\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example vd to azure\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2Azure = new equinix.fabric.Connection(\"vd2azure\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"CLOUD\",\n id: 7,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peeringType: equinix.fabric.AccessPointPeeringType.Private,\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_azure = equinix.fabric.Connection(\"vd2azure\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.VD,\n virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs(\n type=\"EDGE\",\n uuid=\"\u003cdevice_uuid\u003e\",\n ),\n interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs(\n type=\"CLOUD\",\n id=7,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.SP,\n authentication_key=\"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE,\n profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs(\n type=equinix.fabric.ProfileType.L2_PROFILE,\n uuid=\"\u003cAzure_Service_Profile_UUID\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"vd2azure\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"CLOUD\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\"),\n\t\t\t\t\tPeeringType: pulumi.String(fabric.AccessPointPeeringTypePrivate),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cAzure_Service_Profile_UUID\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2Azure = new Equinix.Fabric.Connection(\"vd2azure\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"CLOUD\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n PeeringType = Equinix.Fabric.AccessPointPeeringType.Private,\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2Azure = new Connection(\"vd2Azure\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"CLOUD\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\")\n .peeringType(\"PRIVATE\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cAzure_Service_Profile_UUID\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2azure:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: CLOUD\n id: 7\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003cAzure_ExpressRouter_Auth_Key\u003e\n peeringType: PRIVATE\n profile:\n type: L2_PROFILE\n uuid: \u003cAzure_Service_Profile_UUID\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example vd to azure redundant\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2AzurePrimary = new equinix.fabric.Connection(\"vd2azurePrimary\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n redundancy: {\n priority: \"PRIMARY\",\n },\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"CLOUD\",\n id: 7,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peeringType: equinix.fabric.AccessPointPeeringType.Private,\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\nconst vd2AzureSecondary = new equinix.fabric.Connection(\"vd2azureSecondary\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n redundancy: {\n priority: \"SECONDARY\",\n group: vd2AzurePrimary.redundancy.apply(redundancy =\u003e redundancy?.group),\n },\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"CLOUD\",\n id: 5,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peeringType: equinix.fabric.AccessPointPeeringType.Private,\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_azure_primary = equinix.fabric.Connection(\"vd2azurePrimary\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n redundancy=equinix.fabric.ConnectionRedundancyArgs(\n priority=\"PRIMARY\",\n ),\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.VD,\n virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs(\n type=\"EDGE\",\n uuid=\"\u003cdevice_uuid\u003e\",\n ),\n interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs(\n type=\"CLOUD\",\n id=7,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.SP,\n authentication_key=\"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE,\n profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs(\n type=equinix.fabric.ProfileType.L2_PROFILE,\n uuid=\"\u003cAzure_Service_Profile_UUID\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\nvd2_azure_secondary = equinix.fabric.Connection(\"vd2azureSecondary\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n redundancy=equinix.fabric.ConnectionRedundancyArgs(\n priority=\"SECONDARY\",\n group=vd2_azure_primary.redundancy.group,\n ),\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.VD,\n virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs(\n type=\"EDGE\",\n uuid=\"\u003cdevice_uuid\u003e\",\n ),\n interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs(\n type=\"CLOUD\",\n id=5,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.SP,\n authentication_key=\"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE,\n profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs(\n type=equinix.fabric.ProfileType.L2_PROFILE,\n uuid=\"\u003cAzure_Service_Profile_UUID\u003e\",\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvd2AzurePrimary, err := fabric.NewConnection(ctx, \"vd2azurePrimary\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tRedundancy: \u0026fabric.ConnectionRedundancyArgs{\n\t\t\t\tPriority: pulumi.String(\"PRIMARY\"),\n\t\t\t},\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"CLOUD\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\"),\n\t\t\t\t\tPeeringType: pulumi.String(fabric.AccessPointPeeringTypePrivate),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cAzure_Service_Profile_UUID\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewConnection(ctx, \"vd2azureSecondary\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tRedundancy: \u0026fabric.ConnectionRedundancyArgs{\n\t\t\t\tPriority: pulumi.String(\"SECONDARY\"),\n\t\t\t\tGroup: vd2AzurePrimary.Redundancy.ApplyT(func(redundancy fabric.ConnectionRedundancy) (*string, error) {\n\t\t\t\t\treturn \u0026redundancy.Group, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"CLOUD\"),\n\t\t\t\t\t\tId: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\"),\n\t\t\t\t\tPeeringType: pulumi.String(fabric.AccessPointPeeringTypePrivate),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cAzure_Service_Profile_UUID\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2AzurePrimary = new Equinix.Fabric.Connection(\"vd2azurePrimary\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Redundancy = new Equinix.Fabric.Inputs.ConnectionRedundancyArgs\n {\n Priority = \"PRIMARY\",\n },\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"CLOUD\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n PeeringType = Equinix.Fabric.AccessPointPeeringType.Private,\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n var vd2AzureSecondary = new Equinix.Fabric.Connection(\"vd2azureSecondary\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Redundancy = new Equinix.Fabric.Inputs.ConnectionRedundancyArgs\n {\n Priority = \"SECONDARY\",\n Group = vd2AzurePrimary.Redundancy.Apply(redundancy =\u003e redundancy?.Group),\n },\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"CLOUD\",\n Id = 5,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n PeeringType = Equinix.Fabric.AccessPointPeeringType.Private,\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionRedundancyArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2AzurePrimary = new Connection(\"vd2AzurePrimary\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .redundancy(ConnectionRedundancyArgs.builder()\n .priority(\"PRIMARY\")\n .build())\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"CLOUD\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\")\n .peeringType(\"PRIVATE\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cAzure_Service_Profile_UUID\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n var vd2AzureSecondary = new Connection(\"vd2AzureSecondary\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .redundancy(ConnectionRedundancyArgs.builder()\n .priority(\"SECONDARY\")\n .group(vd2AzurePrimary.redundancy().applyValue(redundancy -\u003e redundancy.group()))\n .build())\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"CLOUD\")\n .id(5)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\")\n .peeringType(\"PRIVATE\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cAzure_Service_Profile_UUID\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2azurePrimary:\n type: equinix:fabric:Connection\n name: vd2azure_primary\n properties:\n name: ConnectionName\n type: EVPL_VC\n redundancy:\n priority: PRIMARY\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: CLOUD\n id: 7\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003cAzure_ExpressRouter_Auth_Key\u003e\n peeringType: PRIVATE\n profile:\n type: L2_PROFILE\n uuid: \u003cAzure_Service_Profile_UUID\u003e\n location:\n metroCode: SV\n vd2azureSecondary:\n type: equinix:fabric:Connection\n name: vd2azure_secondary\n properties:\n name: ConnectionName\n type: EVPL_VC\n redundancy:\n priority: SECONDARY\n group: ${vd2azurePrimary.redundancy.group}\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: CLOUD\n id: 5\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003cAzure_ExpressRouter_Auth_Key\u003e\n peeringType: PRIVATE\n profile:\n type: L2_PROFILE\n uuid: \u003cAzure_Service_Profile_UUID\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example vd to network\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2Network = new equinix.fabric.Connection(\"vd2network\", {\n name: \"ConnectionName\",\n type: \"EVPLAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"CLOUD\",\n id: 7,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Network,\n network: {\n uuid: \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_network = equinix.fabric.Connection(\"vd2network\",\n name=\"ConnectionName\",\n type=\"EVPLAN_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.VD,\n virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs(\n type=\"EDGE\",\n uuid=\"\u003cdevice_uuid\u003e\",\n ),\n interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs(\n type=\"CLOUD\",\n id=7,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.NETWORK,\n network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs(\n uuid=\"\u003cnetwork_uuid\u003e\",\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"vd2network\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"EVPLAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"CLOUD\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeNetwork),\n\t\t\t\t\tNetwork: \u0026fabric.ConnectionZSideAccessPointNetworkArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cnetwork_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2Network = new Equinix.Fabric.Connection(\"vd2network\", new()\n {\n Name = \"ConnectionName\",\n Type = \"EVPLAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"CLOUD\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Network,\n Network = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointNetworkArgs\n {\n Uuid = \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2Network = new Connection(\"vd2Network\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPLAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"CLOUD\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"NETWORK\")\n .network(ConnectionZSideAccessPointNetworkArgs.builder()\n .uuid(\"\u003cnetwork_uuid\u003e\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2network:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPLAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: CLOUD\n id: 7\n zSide:\n accessPoint:\n type: NETWORK\n network:\n uuid: \u003cnetwork_uuid\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example vd to token\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2Token = new equinix.fabric.Connection(\"vd2token\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"NETWORK\",\n id: 7,\n },\n },\n },\n zSide: {\n serviceToken: {\n uuid: \"\u003cservice_token_uuid\u003e\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_token = equinix.fabric.Connection(\"vd2token\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=[\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n )],\n bandwidth=50,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=equinix.fabric.AccessPointType.VD,\n virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs(\n type=\"EDGE\",\n uuid=\"\u003cdevice_uuid\u003e\",\n ),\n interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs(\n type=\"NETWORK\",\n id=7,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n service_token=equinix.fabric.ConnectionZSideServiceTokenArgs(\n uuid=\"\u003cservice_token_uuid\u003e\",\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"vd2token\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"NETWORK\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tServiceToken: \u0026fabric.ConnectionZSideServiceTokenArgs{\n\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_token_uuid\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2Token = new Equinix.Fabric.Connection(\"vd2token\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"NETWORK\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n ServiceToken = new Equinix.Fabric.Inputs.ConnectionZSideServiceTokenArgs\n {\n Uuid = \"\u003cservice_token_uuid\u003e\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideServiceTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2Token = new Connection(\"vd2Token\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"NETWORK\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .serviceToken(ConnectionZSideServiceTokenArgs.builder()\n .uuid(\"\u003cservice_token_uuid\u003e\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2token:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: NETWORK\n id: 7\n zSide:\n serviceToken:\n uuid: \u003cservice_token_uuid\u003e\n```\n{{% /example %}}\n\n{{% /examples %}}", + "description": "\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example fcr to azure\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst fcr2Azure = new equinix.fabric.Connection(\"fcr2azure\", {\n name: \"ConnectionName\",\n type: \"IP_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peeringType: equinix.fabric.AccessPointPeeringType.Private,\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nfcr2_azure = equinix.fabric.Connection(\"fcr2azure\",\n name=\"ConnectionName\",\n type=\"IP_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": \"CLOUD_ROUTER\",\n \"router\": {\n \"uuid\": \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.SP,\n \"authentication_key\": \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n \"peering_type\": equinix.fabric.AccessPointPeeringType.PRIVATE,\n \"profile\": {\n \"type\": equinix.fabric.ProfileType.L2_PROFILE,\n \"uuid\": \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"fcr2azure\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"IP_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003ccloud_router_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\"),\n\t\t\t\t\tPeeringType: pulumi.String(fabric.AccessPointPeeringTypePrivate),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cAzure_Service_Profile_UUID\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fcr2Azure = new Equinix.Fabric.Connection(\"fcr2azure\", new()\n {\n Name = \"ConnectionName\",\n Type = \"IP_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n PeeringType = Equinix.Fabric.AccessPointPeeringType.Private,\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fcr2Azure = new Connection(\"fcr2Azure\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"IP_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(\"\u003ccloud_router_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\")\n .peeringType(\"PRIVATE\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cAzure_Service_Profile_UUID\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fcr2azure:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: IP_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: \u003ccloud_router_uuid\u003e\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003cAzure_ExpressRouter_Auth_Key\u003e\n peeringType: PRIVATE\n profile:\n type: L2_PROFILE\n uuid: \u003cAzure_Service_Profile_UUID\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example fcr to metal\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst fcr2Metal = new equinix.fabric.Connection(\"fcr2metal\", {\n name: \"ConnectionName\",\n type: \"IP_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: \"METAL_NETWORK\",\n authenticationKey: \"\u003cmetal_authorization_code\u003e\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nfcr2_metal = equinix.fabric.Connection(\"fcr2metal\",\n name=\"ConnectionName\",\n type=\"IP_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": \"CLOUD_ROUTER\",\n \"router\": {\n \"uuid\": \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": \"METAL_NETWORK\",\n \"authentication_key\": \"\u003cmetal_authorization_code\u003e\",\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"fcr2metal\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"IP_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003ccloud_router_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"METAL_NETWORK\"),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cmetal_authorization_code\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fcr2Metal = new Equinix.Fabric.Connection(\"fcr2metal\", new()\n {\n Name = \"ConnectionName\",\n Type = \"IP_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = \"METAL_NETWORK\",\n AuthenticationKey = \"\u003cmetal_authorization_code\u003e\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fcr2Metal = new Connection(\"fcr2Metal\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"IP_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(\"\u003ccloud_router_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"METAL_NETWORK\")\n .authenticationKey(\"\u003cmetal_authorization_code\u003e\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fcr2metal:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: IP_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: \u003ccloud_router_uuid\u003e\n zSide:\n accessPoint:\n type: METAL_NETWORK\n authenticationKey: \u003cmetal_authorization_code\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example fcr to network\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst fcr2Network = new equinix.fabric.Connection(\"fcr2network\", {\n name: \"ConnectionName\",\n type: \"IPWAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Network,\n network: {\n uuid: \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nfcr2_network = equinix.fabric.Connection(\"fcr2network\",\n name=\"ConnectionName\",\n type=\"IPWAN_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": \"CLOUD_ROUTER\",\n \"router\": {\n \"uuid\": \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.NETWORK,\n \"network\": {\n \"uuid\": \"\u003cnetwork_uuid\u003e\",\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"fcr2network\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"IPWAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003ccloud_router_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeNetwork),\n\t\t\t\t\tNetwork: \u0026fabric.ConnectionZSideAccessPointNetworkArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cnetwork_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fcr2Network = new Equinix.Fabric.Connection(\"fcr2network\", new()\n {\n Name = \"ConnectionName\",\n Type = \"IPWAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Network,\n Network = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointNetworkArgs\n {\n Uuid = \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fcr2Network = new Connection(\"fcr2Network\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"IPWAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(\"\u003ccloud_router_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"NETWORK\")\n .network(ConnectionZSideAccessPointNetworkArgs.builder()\n .uuid(\"\u003cnetwork_uuid\u003e\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fcr2network:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: IPWAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: \u003ccloud_router_uuid\u003e\n zSide:\n accessPoint:\n type: NETWORK\n network:\n uuid: \u003cnetwork_uuid\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example fcr to port\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst fcr2Port = new equinix.fabric.Connection(\"fcr2port\", {\n name: \"ConnectionName\",\n type: \"IP_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003cport_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.Dot1q,\n vlanTag: 2711,\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nfcr2_port = equinix.fabric.Connection(\"fcr2port\",\n name=\"ConnectionName\",\n type=\"IP_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": \"CLOUD_ROUTER\",\n \"router\": {\n \"uuid\": \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003cport_uuid\u003e\",\n },\n \"link_protocol\": {\n \"type\": equinix.fabric.AccessPointLinkProtocolType.DOT1Q,\n \"vlan_tag\": 2711,\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"fcr2port\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"IP_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003ccloud_router_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cport_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionZSideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeDot1q),\n\t\t\t\t\t\tVlanTag: pulumi.Int(2711),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var fcr2Port = new Equinix.Fabric.Connection(\"fcr2port\", new()\n {\n Name = \"ConnectionName\",\n Type = \"IP_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = \"\u003ccloud_router_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003cport_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.Dot1q,\n VlanTag = 2711,\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var fcr2Port = new Connection(\"fcr2Port\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"IP_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(\"\u003ccloud_router_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003cport_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionZSideAccessPointLinkProtocolArgs.builder()\n .type(\"DOT1Q\")\n .vlanTag(\"2711\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n fcr2port:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: IP_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: \u003ccloud_router_uuid\u003e\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003cport_uuid\u003e\n linkProtocol:\n type: DOT1Q\n vlanTag: '2711'\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example metal to aws\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst metal2Aws = new equinix.fabric.Connection(\"metal2aws\", {\n name: \"ConnectionName\",\n type: \"EVPLAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"METAL_NETWORK\",\n authenticationKey: \"\u003cmetal_authorization_code\u003e\",\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003caws_account_id\u003e\",\n sellerRegion: \"us-west-1\",\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cservice_profile_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nmetal2_aws = equinix.fabric.Connection(\"metal2aws\",\n name=\"ConnectionName\",\n type=\"EVPLAN_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": \"METAL_NETWORK\",\n \"authentication_key\": \"\u003cmetal_authorization_code\u003e\",\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.SP,\n \"authentication_key\": \"\u003caws_account_id\u003e\",\n \"seller_region\": \"us-west-1\",\n \"profile\": {\n \"type\": equinix.fabric.ProfileType.L2_PROFILE,\n \"uuid\": \"\u003cservice_profile_uuid\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"metal2aws\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"EVPLAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"METAL_NETWORK\"),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cmetal_authorization_code\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003caws_account_id\u003e\"),\n\t\t\t\t\tSellerRegion: pulumi.String(\"us-west-1\"),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_profile_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var metal2Aws = new Equinix.Fabric.Connection(\"metal2aws\", new()\n {\n Name = \"ConnectionName\",\n Type = \"EVPLAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"METAL_NETWORK\",\n AuthenticationKey = \"\u003cmetal_authorization_code\u003e\",\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003caws_account_id\u003e\",\n SellerRegion = \"us-west-1\",\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cservice_profile_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var metal2Aws = new Connection(\"metal2Aws\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPLAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"METAL_NETWORK\")\n .authenticationKey(\"\u003cmetal_authorization_code\u003e\")\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003caws_account_id\u003e\")\n .sellerRegion(\"us-west-1\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cservice_profile_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n metal2aws:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPLAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: METAL_NETWORK\n authenticationKey: \u003cmetal_authorization_code\u003e\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003caws_account_id\u003e\n sellerRegion: us-west-1\n profile:\n type: L2_PROFILE\n uuid: \u003cservice_profile_uuid\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to aws\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst port2Aws = new equinix.fabric.Connection(\"port2aws\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n redundancy: {\n priority: \"PRIMARY\",\n },\n order: {\n purchaseOrderNumber: \"1-323929\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.QinQ,\n vlanSTag: 2019,\n vlanCTag: 2112,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003caws_account_id\u003e\",\n sellerRegion: \"us-west-1\",\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cservice_profile_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n additionalInfo: [\n {\n key: \"accessKey\",\n value: \"\u003caws_access_key\u003e\",\n },\n {\n key: \"secretKey\",\n value: \"\u003caws_secret_key\u003e\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nport2_aws = equinix.fabric.Connection(\"port2aws\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n redundancy={\n \"priority\": \"PRIMARY\",\n },\n order={\n \"purchase_order_number\": \"1-323929\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003caside_port_uuid\u003e\",\n },\n \"link_protocol\": {\n \"type\": equinix.fabric.AccessPointLinkProtocolType.QIN_Q,\n \"vlan_s_tag\": 2019,\n \"vlan_c_tag\": 2112,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.SP,\n \"authentication_key\": \"\u003caws_account_id\u003e\",\n \"seller_region\": \"us-west-1\",\n \"profile\": {\n \"type\": equinix.fabric.ProfileType.L2_PROFILE,\n \"uuid\": \"\u003cservice_profile_uuid\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n },\n additional_info=[\n {\n \"key\": \"accessKey\",\n \"value\": \"\u003caws_access_key\u003e\",\n },\n {\n \"key\": \"secretKey\",\n \"value\": \"\u003caws_secret_key\u003e\",\n },\n ])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"port2aws\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tRedundancy: \u0026fabric.ConnectionRedundancyArgs{\n\t\t\t\tPriority: pulumi.String(\"PRIMARY\"),\n\t\t\t},\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323929\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionASideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeQinQ),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(2019),\n\t\t\t\t\t\tVlanCTag: pulumi.Int(2112),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003caws_account_id\u003e\"),\n\t\t\t\t\tSellerRegion: pulumi.String(\"us-west-1\"),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_profile_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAdditionalInfo: pulumi.MapArray{\n\t\t\t\tpulumi.Map{\n\t\t\t\t\t\"key\": pulumi.Any(\"accessKey\"),\n\t\t\t\t\t\"value\": pulumi.Any(\"\u003caws_access_key\u003e\"),\n\t\t\t\t},\n\t\t\t\tpulumi.Map{\n\t\t\t\t\t\"key\": pulumi.Any(\"secretKey\"),\n\t\t\t\t\t\"value\": pulumi.Any(\"\u003caws_secret_key\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var port2Aws = new Equinix.Fabric.Connection(\"port2aws\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Redundancy = new Equinix.Fabric.Inputs.ConnectionRedundancyArgs\n {\n Priority = \"PRIMARY\",\n },\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323929\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.QinQ,\n VlanSTag = 2019,\n VlanCTag = 2112,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003caws_account_id\u003e\",\n SellerRegion = \"us-west-1\",\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cservice_profile_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n AdditionalInfo = new[]\n {\n \n {\n { \"key\", \"accessKey\" },\n { \"value\", \"\u003caws_access_key\u003e\" },\n },\n \n {\n { \"key\", \"secretKey\" },\n { \"value\", \"\u003caws_secret_key\u003e\" },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionRedundancyArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var port2Aws = new Connection(\"port2Aws\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .redundancy(ConnectionRedundancyArgs.builder()\n .priority(\"PRIMARY\")\n .build())\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323929\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()\n .type(\"QINQ\")\n .vlanSTag(\"2019\")\n .vlanCTag(\"2112\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003caws_account_id\u003e\")\n .sellerRegion(\"us-west-1\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cservice_profile_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .additionalInfo( \n Map.ofEntries(\n Map.entry(\"key\", \"accessKey\"),\n Map.entry(\"value\", \"\u003caws_access_key\u003e\")\n ),\n Map.ofEntries(\n Map.entry(\"key\", \"secretKey\"),\n Map.entry(\"value\", \"\u003caws_secret_key\u003e\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n port2aws:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n redundancy:\n priority: PRIMARY\n order:\n purchaseOrderNumber: 1-323929\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n linkProtocol:\n type: QINQ\n vlanSTag: '2019'\n vlanCTag: '2112'\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003caws_account_id\u003e\n sellerRegion: us-west-1\n profile:\n type: L2_PROFILE\n uuid: \u003cservice_profile_uuid\u003e\n location:\n metroCode: SV\n additionalInfo:\n - key: accessKey\n value: \u003caws_access_key\u003e\n - key: secretKey\n value: \u003caws_secret_key\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to network eplan\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst eplan = new equinix.fabric.Connection(\"eplan\", {\n name: \"ConnectionName\",\n type: \"EPLAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Network,\n network: {\n uuid: \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\neplan = equinix.fabric.Connection(\"eplan\",\n name=\"ConnectionName\",\n type=\"EPLAN_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.NETWORK,\n \"network\": {\n \"uuid\": \"\u003cnetwork_uuid\u003e\",\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"eplan\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"EPLAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeNetwork),\n\t\t\t\t\tNetwork: \u0026fabric.ConnectionZSideAccessPointNetworkArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cnetwork_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var eplan = new Equinix.Fabric.Connection(\"eplan\", new()\n {\n Name = \"ConnectionName\",\n Type = \"EPLAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Network,\n Network = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointNetworkArgs\n {\n Uuid = \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var eplan = new Connection(\"eplan\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EPLAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"NETWORK\")\n .network(ConnectionZSideAccessPointNetworkArgs.builder()\n .uuid(\"\u003cnetwork_uuid\u003e\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n eplan:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EPLAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n zSide:\n accessPoint:\n type: NETWORK\n network:\n uuid: \u003cnetwork_uuid\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to network evplan\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst evplan = new equinix.fabric.Connection(\"evplan\", {\n name: \"ConnectionName\",\n type: \"EVPLAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.Dot1q,\n vlanSTag: 1976,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Network,\n network: {\n uuid: \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nevplan = equinix.fabric.Connection(\"evplan\",\n name=\"ConnectionName\",\n type=\"EVPLAN_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003caside_port_uuid\u003e\",\n },\n \"link_protocol\": {\n \"type\": equinix.fabric.AccessPointLinkProtocolType.DOT1Q,\n \"vlan_s_tag\": 1976,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.NETWORK,\n \"network\": {\n \"uuid\": \"\u003cnetwork_uuid\u003e\",\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"evplan\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"EVPLAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionASideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeDot1q),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(1976),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeNetwork),\n\t\t\t\t\tNetwork: \u0026fabric.ConnectionZSideAccessPointNetworkArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cnetwork_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var evplan = new Equinix.Fabric.Connection(\"evplan\", new()\n {\n Name = \"ConnectionName\",\n Type = \"EVPLAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.Dot1q,\n VlanSTag = 1976,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Network,\n Network = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointNetworkArgs\n {\n Uuid = \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var evplan = new Connection(\"evplan\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPLAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()\n .type(\"DOT1Q\")\n .vlanSTag(\"1976\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"NETWORK\")\n .network(ConnectionZSideAccessPointNetworkArgs.builder()\n .uuid(\"\u003cnetwork_uuid\u003e\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n evplan:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPLAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n linkProtocol:\n type: DOT1Q\n vlanSTag: '1976'\n zSide:\n accessPoint:\n type: NETWORK\n network:\n uuid: \u003cnetwork_uuid\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to port\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst port2Port = new equinix.fabric.Connection(\"port2port\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.QinQ,\n vlanSTag: 1976,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003czside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.QinQ,\n vlanSTag: 3711,\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nport2_port = equinix.fabric.Connection(\"port2port\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003caside_port_uuid\u003e\",\n },\n \"link_protocol\": {\n \"type\": equinix.fabric.AccessPointLinkProtocolType.QIN_Q,\n \"vlan_s_tag\": 1976,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003czside_port_uuid\u003e\",\n },\n \"link_protocol\": {\n \"type\": equinix.fabric.AccessPointLinkProtocolType.QIN_Q,\n \"vlan_s_tag\": 3711,\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"port2port\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionASideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeQinQ),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(1976),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003czside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionZSideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeQinQ),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(3711),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var port2Port = new Equinix.Fabric.Connection(\"port2port\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.QinQ,\n VlanSTag = 1976,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003czside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.QinQ,\n VlanSTag = 3711,\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var port2Port = new Connection(\"port2Port\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()\n .type(\"QINQ\")\n .vlanSTag(\"1976\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003czside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionZSideAccessPointLinkProtocolArgs.builder()\n .type(\"QINQ\")\n .vlanSTag(\"3711\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n port2port:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n linkProtocol:\n type: QINQ\n vlanSTag: '1976'\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003czside_port_uuid\u003e\n linkProtocol:\n type: QINQ\n vlanSTag: '3711'\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to port access epl\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst accessEplVc = new equinix.fabric.Connection(\"accessEplVc\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.AccessEPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.QinQ,\n vlanSTag: 1976,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003czside_port_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\naccess_epl_vc = equinix.fabric.Connection(\"accessEplVc\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.ACCESS_EPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003caside_port_uuid\u003e\",\n },\n \"link_protocol\": {\n \"type\": equinix.fabric.AccessPointLinkProtocolType.QIN_Q,\n \"vlan_s_tag\": 1976,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003czside_port_uuid\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"accessEplVc\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeAccessEPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionASideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeQinQ),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(1976),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003czside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var accessEplVc = new Equinix.Fabric.Connection(\"accessEplVc\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.AccessEPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionASideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.QinQ,\n VlanSTag = 1976,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003czside_port_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var accessEplVc = new Connection(\"accessEplVc\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"ACCESS_EPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionASideAccessPointLinkProtocolArgs.builder()\n .type(\"QINQ\")\n .vlanSTag(\"1976\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003czside_port_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n accessEplVc:\n type: equinix:fabric:Connection\n name: access_epl_vc\n properties:\n name: ConnectionName\n type: ACCESS_EPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n linkProtocol:\n type: QINQ\n vlanSTag: '1976'\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003czside_port_uuid\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to port epl\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst epl = new equinix.fabric.Connection(\"epl\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003czside_port_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nepl = equinix.fabric.Connection(\"epl\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003czside_port_uuid\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"epl\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionASideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003caside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003czside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var epl = new Equinix.Fabric.Connection(\"epl\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionASideAccessPointPortArgs\n {\n Uuid = \"\u003caside_port_uuid\u003e\",\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003czside_port_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var epl = new Connection(\"epl\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionASideAccessPointPortArgs.builder()\n .uuid(\"\u003caside_port_uuid\u003e\")\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003czside_port_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n epl:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003caside_port_uuid\u003e\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003czside_port_uuid\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example port to vd\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2Port = new equinix.fabric.Connection(\"vd2port\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"NETWORK\",\n id: 7,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Colo,\n port: {\n uuid: \"\u003czside_port_uuid\u003e\",\n },\n linkProtocol: {\n type: equinix.fabric.AccessPointLinkProtocolType.Dot1q,\n vlanSTag: 3711,\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_port = equinix.fabric.Connection(\"vd2port\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.VD,\n \"virtual_device\": {\n \"type\": \"EDGE\",\n \"uuid\": \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n \"type\": \"NETWORK\",\n \"id\": 7,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.COLO,\n \"port\": {\n \"uuid\": \"\u003czside_port_uuid\u003e\",\n },\n \"link_protocol\": {\n \"type\": equinix.fabric.AccessPointLinkProtocolType.DOT1Q,\n \"vlan_s_tag\": 3711,\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"vd2port\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"NETWORK\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeColo),\n\t\t\t\t\tPort: \u0026fabric.ConnectionZSideAccessPointPortArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003czside_port_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLinkProtocol: \u0026fabric.ConnectionZSideAccessPointLinkProtocolArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.AccessPointLinkProtocolTypeDot1q),\n\t\t\t\t\t\tVlanSTag: pulumi.Int(3711),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2Port = new Equinix.Fabric.Connection(\"vd2port\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"NETWORK\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Colo,\n Port = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointPortArgs\n {\n Uuid = \"\u003czside_port_uuid\u003e\",\n },\n LinkProtocol = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLinkProtocolArgs\n {\n Type = Equinix.Fabric.AccessPointLinkProtocolType.Dot1q,\n VlanSTag = 3711,\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointPortArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLinkProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2Port = new Connection(\"vd2Port\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"NETWORK\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"COLO\")\n .port(ConnectionZSideAccessPointPortArgs.builder()\n .uuid(\"\u003czside_port_uuid\u003e\")\n .build())\n .linkProtocol(ConnectionZSideAccessPointLinkProtocolArgs.builder()\n .type(\"DOT1Q\")\n .vlanSTag(\"3711\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2port:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: NETWORK\n id: 7\n zSide:\n accessPoint:\n type: COLO\n port:\n uuid: \u003czside_port_uuid\u003e\n linkProtocol:\n type: DOT1Q\n vlanSTag: '3711'\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example token to aws\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst token2Aws = new equinix.fabric.Connection(\"token2aws\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n serviceToken: {\n uuid: \"\u003cservice_token_uuid\u003e\",\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003caws_account_id\u003e\",\n sellerRegion: \"us-west-1\",\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cservice_profile_uuid\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntoken2_aws = equinix.fabric.Connection(\"token2aws\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"service_token\": {\n \"uuid\": \"\u003cservice_token_uuid\u003e\",\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.SP,\n \"authentication_key\": \"\u003caws_account_id\u003e\",\n \"seller_region\": \"us-west-1\",\n \"profile\": {\n \"type\": equinix.fabric.ProfileType.L2_PROFILE,\n \"uuid\": \"\u003cservice_profile_uuid\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"token2aws\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tServiceToken: \u0026fabric.ConnectionASideServiceTokenArgs{\n\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_token_uuid\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003caws_account_id\u003e\"),\n\t\t\t\t\tSellerRegion: pulumi.String(\"us-west-1\"),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_profile_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var token2Aws = new Equinix.Fabric.Connection(\"token2aws\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n ServiceToken = new Equinix.Fabric.Inputs.ConnectionASideServiceTokenArgs\n {\n Uuid = \"\u003cservice_token_uuid\u003e\",\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003caws_account_id\u003e\",\n SellerRegion = \"us-west-1\",\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cservice_profile_uuid\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideServiceTokenArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var token2Aws = new Connection(\"token2Aws\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .serviceToken(ConnectionASideServiceTokenArgs.builder()\n .uuid(\"\u003cservice_token_uuid\u003e\")\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003caws_account_id\u003e\")\n .sellerRegion(\"us-west-1\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cservice_profile_uuid\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n token2aws:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n serviceToken:\n uuid: \u003cservice_token_uuid\u003e\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003caws_account_id\u003e\n sellerRegion: us-west-1\n profile:\n type: L2_PROFILE\n uuid: \u003cservice_profile_uuid\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example vd to azure\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2Azure = new equinix.fabric.Connection(\"vd2azure\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"CLOUD\",\n id: 7,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peeringType: equinix.fabric.AccessPointPeeringType.Private,\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_azure = equinix.fabric.Connection(\"vd2azure\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.VD,\n \"virtual_device\": {\n \"type\": \"EDGE\",\n \"uuid\": \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n \"type\": \"CLOUD\",\n \"id\": 7,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.SP,\n \"authentication_key\": \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n \"peering_type\": equinix.fabric.AccessPointPeeringType.PRIVATE,\n \"profile\": {\n \"type\": equinix.fabric.ProfileType.L2_PROFILE,\n \"uuid\": \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"vd2azure\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"CLOUD\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\"),\n\t\t\t\t\tPeeringType: pulumi.String(fabric.AccessPointPeeringTypePrivate),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cAzure_Service_Profile_UUID\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2Azure = new Equinix.Fabric.Connection(\"vd2azure\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"CLOUD\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n PeeringType = Equinix.Fabric.AccessPointPeeringType.Private,\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2Azure = new Connection(\"vd2Azure\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"CLOUD\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\")\n .peeringType(\"PRIVATE\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cAzure_Service_Profile_UUID\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2azure:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: CLOUD\n id: 7\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003cAzure_ExpressRouter_Auth_Key\u003e\n peeringType: PRIVATE\n profile:\n type: L2_PROFILE\n uuid: \u003cAzure_Service_Profile_UUID\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example vd to azure redundant\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2AzurePrimary = new equinix.fabric.Connection(\"vd2azurePrimary\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n redundancy: {\n priority: \"PRIMARY\",\n },\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"CLOUD\",\n id: 7,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peeringType: equinix.fabric.AccessPointPeeringType.Private,\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\nconst vd2AzureSecondary = new equinix.fabric.Connection(\"vd2azureSecondary\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n redundancy: {\n priority: \"SECONDARY\",\n group: vd2AzurePrimary.redundancy.apply(redundancy =\u003e redundancy?.group),\n },\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"CLOUD\",\n id: 5,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n peeringType: equinix.fabric.AccessPointPeeringType.Private,\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_azure_primary = equinix.fabric.Connection(\"vd2azurePrimary\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n redundancy={\n \"priority\": \"PRIMARY\",\n },\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.VD,\n \"virtual_device\": {\n \"type\": \"EDGE\",\n \"uuid\": \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n \"type\": \"CLOUD\",\n \"id\": 7,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.SP,\n \"authentication_key\": \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n \"peering_type\": equinix.fabric.AccessPointPeeringType.PRIVATE,\n \"profile\": {\n \"type\": equinix.fabric.ProfileType.L2_PROFILE,\n \"uuid\": \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\nvd2_azure_secondary = equinix.fabric.Connection(\"vd2azureSecondary\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n redundancy={\n \"priority\": \"SECONDARY\",\n \"group\": vd2_azure_primary.redundancy.group,\n },\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.VD,\n \"virtual_device\": {\n \"type\": \"EDGE\",\n \"uuid\": \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n \"type\": \"CLOUD\",\n \"id\": 5,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.SP,\n \"authentication_key\": \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n \"peering_type\": equinix.fabric.AccessPointPeeringType.PRIVATE,\n \"profile\": {\n \"type\": equinix.fabric.ProfileType.L2_PROFILE,\n \"uuid\": \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvd2AzurePrimary, err := fabric.NewConnection(ctx, \"vd2azurePrimary\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tRedundancy: \u0026fabric.ConnectionRedundancyArgs{\n\t\t\t\tPriority: pulumi.String(\"PRIMARY\"),\n\t\t\t},\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"CLOUD\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\"),\n\t\t\t\t\tPeeringType: pulumi.String(fabric.AccessPointPeeringTypePrivate),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cAzure_Service_Profile_UUID\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewConnection(ctx, \"vd2azureSecondary\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tRedundancy: \u0026fabric.ConnectionRedundancyArgs{\n\t\t\t\tPriority: pulumi.String(\"SECONDARY\"),\n\t\t\t\tGroup: vd2AzurePrimary.Redundancy.ApplyT(func(redundancy fabric.ConnectionRedundancy) (*string, error) {\n\t\t\t\t\treturn \u0026redundancy.Group, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t},\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"CLOUD\"),\n\t\t\t\t\t\tId: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.String(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\"),\n\t\t\t\t\tPeeringType: pulumi.String(fabric.AccessPointPeeringTypePrivate),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cAzure_Service_Profile_UUID\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2AzurePrimary = new Equinix.Fabric.Connection(\"vd2azurePrimary\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Redundancy = new Equinix.Fabric.Inputs.ConnectionRedundancyArgs\n {\n Priority = \"PRIMARY\",\n },\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"CLOUD\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n PeeringType = Equinix.Fabric.AccessPointPeeringType.Private,\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n var vd2AzureSecondary = new Equinix.Fabric.Connection(\"vd2azureSecondary\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Redundancy = new Equinix.Fabric.Inputs.ConnectionRedundancyArgs\n {\n Priority = \"SECONDARY\",\n Group = vd2AzurePrimary.Redundancy.Apply(redundancy =\u003e redundancy?.Group),\n },\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"CLOUD\",\n Id = 5,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = \"\u003cAzure_ExpressRouter_Auth_Key\u003e\",\n PeeringType = Equinix.Fabric.AccessPointPeeringType.Private,\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = \"\u003cAzure_Service_Profile_UUID\u003e\",\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionRedundancyArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2AzurePrimary = new Connection(\"vd2AzurePrimary\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .redundancy(ConnectionRedundancyArgs.builder()\n .priority(\"PRIMARY\")\n .build())\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"CLOUD\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\")\n .peeringType(\"PRIVATE\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cAzure_Service_Profile_UUID\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n var vd2AzureSecondary = new Connection(\"vd2AzureSecondary\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .redundancy(ConnectionRedundancyArgs.builder()\n .priority(\"SECONDARY\")\n .group(vd2AzurePrimary.redundancy().applyValue(redundancy -\u003e redundancy.group()))\n .build())\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"CLOUD\")\n .id(5)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(\"\u003cAzure_ExpressRouter_Auth_Key\u003e\")\n .peeringType(\"PRIVATE\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(\"\u003cAzure_Service_Profile_UUID\u003e\")\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2azurePrimary:\n type: equinix:fabric:Connection\n name: vd2azure_primary\n properties:\n name: ConnectionName\n type: EVPL_VC\n redundancy:\n priority: PRIMARY\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: CLOUD\n id: 7\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003cAzure_ExpressRouter_Auth_Key\u003e\n peeringType: PRIVATE\n profile:\n type: L2_PROFILE\n uuid: \u003cAzure_Service_Profile_UUID\u003e\n location:\n metroCode: SV\n vd2azureSecondary:\n type: equinix:fabric:Connection\n name: vd2azure_secondary\n properties:\n name: ConnectionName\n type: EVPL_VC\n redundancy:\n priority: SECONDARY\n group: ${vd2azurePrimary.redundancy.group}\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: CLOUD\n id: 5\n zSide:\n accessPoint:\n type: SP\n authenticationKey: \u003cAzure_ExpressRouter_Auth_Key\u003e\n peeringType: PRIVATE\n profile:\n type: L2_PROFILE\n uuid: \u003cAzure_Service_Profile_UUID\u003e\n location:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example vd to network\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2Network = new equinix.fabric.Connection(\"vd2network\", {\n name: \"ConnectionName\",\n type: \"EVPLAN_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"CLOUD\",\n id: 7,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.Network,\n network: {\n uuid: \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_network = equinix.fabric.Connection(\"vd2network\",\n name=\"ConnectionName\",\n type=\"EVPLAN_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.VD,\n \"virtual_device\": {\n \"type\": \"EDGE\",\n \"uuid\": \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n \"type\": \"CLOUD\",\n \"id\": 7,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.NETWORK,\n \"network\": {\n \"uuid\": \"\u003cnetwork_uuid\u003e\",\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"vd2network\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(\"EVPLAN_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"CLOUD\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeNetwork),\n\t\t\t\t\tNetwork: \u0026fabric.ConnectionZSideAccessPointNetworkArgs{\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cnetwork_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2Network = new Equinix.Fabric.Connection(\"vd2network\", new()\n {\n Name = \"ConnectionName\",\n Type = \"EVPLAN_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"CLOUD\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.Network,\n Network = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointNetworkArgs\n {\n Uuid = \"\u003cnetwork_uuid\u003e\",\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2Network = new Connection(\"vd2Network\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPLAN_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"CLOUD\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"NETWORK\")\n .network(ConnectionZSideAccessPointNetworkArgs.builder()\n .uuid(\"\u003cnetwork_uuid\u003e\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2network:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPLAN_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: CLOUD\n id: 7\n zSide:\n accessPoint:\n type: NETWORK\n network:\n uuid: \u003cnetwork_uuid\u003e\n```\n{{% /example %}}\n\n{{% example %}}\n### example vd to token\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst vd2Token = new equinix.fabric.Connection(\"vd2token\", {\n name: \"ConnectionName\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth: 50,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.VD,\n virtualDevice: {\n type: \"EDGE\",\n uuid: \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n type: \"NETWORK\",\n id: 7,\n },\n },\n },\n zSide: {\n serviceToken: {\n uuid: \"\u003cservice_token_uuid\u003e\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nvd2_token = equinix.fabric.Connection(\"vd2token\",\n name=\"ConnectionName\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": [\n \"example@equinix.com\",\n \"test1@equinix.com\",\n ],\n }],\n bandwidth=50,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.VD,\n \"virtual_device\": {\n \"type\": \"EDGE\",\n \"uuid\": \"\u003cdevice_uuid\u003e\",\n },\n \"interface\": {\n \"type\": \"NETWORK\",\n \"id\": 7,\n },\n },\n },\n z_side={\n \"service_token\": {\n \"uuid\": \"\u003cservice_token_uuid\u003e\",\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewConnection(ctx, \"vd2token\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"ConnectionName\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"example@equinix.com\"),\n\t\t\t\t\t\tpulumi.String(\"test1@equinix.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(50),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeVD),\n\t\t\t\t\tVirtualDevice: \u0026fabric.ConnectionASideAccessPointVirtualDeviceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"EDGE\"),\n\t\t\t\t\t\tUuid: pulumi.String(\"\u003cdevice_uuid\u003e\"),\n\t\t\t\t\t},\n\t\t\t\t\tInterface: \u0026fabric.ConnectionASideAccessPointInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"NETWORK\"),\n\t\t\t\t\t\tId: pulumi.Int(7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tServiceToken: \u0026fabric.ConnectionZSideServiceTokenArgs{\n\t\t\t\t\tUuid: pulumi.String(\"\u003cservice_token_uuid\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vd2Token = new Equinix.Fabric.Connection(\"vd2token\", new()\n {\n Name = \"ConnectionName\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = new[]\n {\n \"example@equinix.com\",\n \"test1@equinix.com\",\n },\n },\n },\n Bandwidth = 50,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.VD,\n VirtualDevice = new Equinix.Fabric.Inputs.ConnectionASideAccessPointVirtualDeviceArgs\n {\n Type = \"EDGE\",\n Uuid = \"\u003cdevice_uuid\u003e\",\n },\n Interface = new Equinix.Fabric.Inputs.ConnectionASideAccessPointInterfaceArgs\n {\n Type = \"NETWORK\",\n Id = 7,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n ServiceToken = new Equinix.Fabric.Inputs.ConnectionZSideServiceTokenArgs\n {\n Uuid = \"\u003cservice_token_uuid\u003e\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointVirtualDeviceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointInterfaceArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideServiceTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var vd2Token = new Connection(\"vd2Token\", ConnectionArgs.builder()\n .name(\"ConnectionName\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails( \n \"example@equinix.com\",\n \"test1@equinix.com\")\n .build())\n .bandwidth(50)\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"VD\")\n .virtualDevice(ConnectionASideAccessPointVirtualDeviceArgs.builder()\n .type(\"EDGE\")\n .uuid(\"\u003cdevice_uuid\u003e\")\n .build())\n .interface_(ConnectionASideAccessPointInterfaceArgs.builder()\n .type(\"NETWORK\")\n .id(7)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .serviceToken(ConnectionZSideServiceTokenArgs.builder()\n .uuid(\"\u003cservice_token_uuid\u003e\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vd2token:\n type: equinix:fabric:Connection\n properties:\n name: ConnectionName\n type: EVPL_VC\n notifications:\n - type: ALL\n emails:\n - example@equinix.com\n - test1@equinix.com\n bandwidth: 50\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: VD\n virtualDevice:\n type: EDGE\n uuid: \u003cdevice_uuid\u003e\n interface:\n type: NETWORK\n id: 7\n zSide:\n serviceToken:\n uuid: \u003cservice_token_uuid\u003e\n```\n{{% /example %}}\n\n{{% /examples %}}", "properties": { "aSide": { "$ref": "#/types/equinix:fabric/ConnectionASide:ConnectionASide", @@ -13512,7 +13512,7 @@ } }, "equinix:fabric/routingProtocol:RoutingProtocol": { - "description": "Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection\n\nAdditional documentation:\n* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/connections/FCR-connect-azureQC.htm#ConfigureRoutingDetailsintheFabricPortal\n* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst direct = new equinix.fabric.RoutingProtocol(\"direct\", {\n connectionUuid: \"\u003csome_id\u003e\",\n type: \"DIRECT\",\n name: \"direct_rp\",\n directIpv4: {\n equinixIfaceIp: \"190.1.1.1/30\",\n },\n directIpv6: {\n equinixIfaceIp: \"190::1:1/126\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ndirect = equinix.fabric.RoutingProtocol(\"direct\",\n connection_uuid=\"\u003csome_id\u003e\",\n type=\"DIRECT\",\n name=\"direct_rp\",\n direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args(\n equinix_iface_ip=\"190.1.1.1/30\",\n ),\n direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args(\n equinix_iface_ip=\"190::1:1/126\",\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewRoutingProtocol(ctx, \"direct\", \u0026fabric.RoutingProtocolArgs{\n\t\t\tConnectionUuid: pulumi.String(\"\u003csome_id\u003e\"),\n\t\t\tType: pulumi.String(\"DIRECT\"),\n\t\t\tName: pulumi.String(\"direct_rp\"),\n\t\t\tDirectIpv4: \u0026fabric.RoutingProtocolDirectIpv4Args{\n\t\t\t\tEquinixIfaceIp: pulumi.String(\"190.1.1.1/30\"),\n\t\t\t},\n\t\t\tDirectIpv6: \u0026fabric.RoutingProtocolDirectIpv6Args{\n\t\t\t\tEquinixIfaceIp: pulumi.String(\"190::1:1/126\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var direct = new Equinix.Fabric.RoutingProtocol(\"direct\", new()\n {\n ConnectionUuid = \"\u003csome_id\u003e\",\n Type = \"DIRECT\",\n Name = \"direct_rp\",\n DirectIpv4 = new Equinix.Fabric.Inputs.RoutingProtocolDirectIpv4Args\n {\n EquinixIfaceIp = \"190.1.1.1/30\",\n },\n DirectIpv6 = new Equinix.Fabric.Inputs.RoutingProtocolDirectIpv6Args\n {\n EquinixIfaceIp = \"190::1:1/126\",\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.RoutingProtocol;\nimport com.pulumi.equinix.fabric.RoutingProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv4Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var direct = new RoutingProtocol(\"direct\", RoutingProtocolArgs.builder()\n .connectionUuid(\"\u003csome_id\u003e\")\n .type(\"DIRECT\")\n .name(\"direct_rp\")\n .directIpv4(RoutingProtocolDirectIpv4Args.builder()\n .equinixIfaceIp(\"190.1.1.1/30\")\n .build())\n .directIpv6(RoutingProtocolDirectIpv6Args.builder()\n .equinixIfaceIp(\"190::1:1/126\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n direct:\n type: equinix:fabric:RoutingProtocol\n properties:\n connectionUuid: \u003csome_id\u003e\n type: DIRECT\n name: direct_rp\n directIpv4:\n equinixIfaceIp: 190.1.1.1/30\n directIpv6:\n equinixIfaceIp: 190::1:1/126\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst bgp = new equinix.fabric.RoutingProtocol(\"bgp\", {\n connectionUuid: \"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n type: \"BGP\",\n name: \"bgp_rp\",\n bgpIpv4: {\n customerPeerIp: \"190.1.1.2\",\n enabled: true,\n },\n bgpIpv6: {\n customerPeerIp: \"190::1:2\",\n enabled: true,\n },\n customerAsn: 4532,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nbgp = equinix.fabric.RoutingProtocol(\"bgp\",\n connection_uuid=\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n type=\"BGP\",\n name=\"bgp_rp\",\n bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args(\n customer_peer_ip=\"190.1.1.2\",\n enabled=True,\n ),\n bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args(\n customer_peer_ip=\"190::1:2\",\n enabled=True,\n ),\n customer_asn=4532)\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewRoutingProtocol(ctx, \"bgp\", \u0026fabric.RoutingProtocolArgs{\n\t\t\tConnectionUuid: pulumi.String(\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\"),\n\t\t\tType: pulumi.String(\"BGP\"),\n\t\t\tName: pulumi.String(\"bgp_rp\"),\n\t\t\tBgpIpv4: \u0026fabric.RoutingProtocolBgpIpv4Args{\n\t\t\t\tCustomerPeerIp: pulumi.String(\"190.1.1.2\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tBgpIpv6: \u0026fabric.RoutingProtocolBgpIpv6Args{\n\t\t\t\tCustomerPeerIp: pulumi.String(\"190::1:2\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tCustomerAsn: pulumi.Int(4532),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bgp = new Equinix.Fabric.RoutingProtocol(\"bgp\", new()\n {\n ConnectionUuid = \"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n Type = \"BGP\",\n Name = \"bgp_rp\",\n BgpIpv4 = new Equinix.Fabric.Inputs.RoutingProtocolBgpIpv4Args\n {\n CustomerPeerIp = \"190.1.1.2\",\n Enabled = true,\n },\n BgpIpv6 = new Equinix.Fabric.Inputs.RoutingProtocolBgpIpv6Args\n {\n CustomerPeerIp = \"190::1:2\",\n Enabled = true,\n },\n CustomerAsn = 4532,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.RoutingProtocol;\nimport com.pulumi.equinix.fabric.RoutingProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv4Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bgp = new RoutingProtocol(\"bgp\", RoutingProtocolArgs.builder()\n .connectionUuid(\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\")\n .type(\"BGP\")\n .name(\"bgp_rp\")\n .bgpIpv4(RoutingProtocolBgpIpv4Args.builder()\n .customerPeerIp(\"190.1.1.2\")\n .enabled(true)\n .build())\n .bgpIpv6(RoutingProtocolBgpIpv6Args.builder()\n .customerPeerIp(\"190::1:2\")\n .enabled(true)\n .build())\n .customerAsn(4532)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bgp:\n type: equinix:fabric:RoutingProtocol\n properties:\n connectionUuid: \u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\n type: BGP\n name: bgp_rp\n bgpIpv4:\n customerPeerIp: 190.1.1.2\n enabled: true\n bgpIpv6:\n customerPeerIp: 190::1:2\n enabled: true\n customerAsn: 4532\n```\n{{% /example %}}\n\n{{% example %}}\n### example 3\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst direct = new equinix.fabric.RoutingProtocol(\"direct\", {\n connectionUuid: \"\u003csome_id\u003e\",\n type: \"DIRECT\",\n name: \"direct_rp\",\n directIpv4: {\n equinixIfaceIp: \"190.1.1.1/30\",\n },\n directIpv6: {\n equinixIfaceIp: \"190::1:1/126\",\n },\n});\nconst bgp = new equinix.fabric.RoutingProtocol(\"bgp\", {\n connectionUuid: \"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n type: \"BGP\",\n name: \"bgp_rp\",\n bgpIpv4: {\n customerPeerIp: \"190.1.1.2\",\n enabled: true,\n },\n bgpIpv6: {\n customerPeerIp: \"190::1:2\",\n enabled: true,\n },\n customerAsn: 4532,\n}, {\n dependsOn: [direct],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ndirect = equinix.fabric.RoutingProtocol(\"direct\",\n connection_uuid=\"\u003csome_id\u003e\",\n type=\"DIRECT\",\n name=\"direct_rp\",\n direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args(\n equinix_iface_ip=\"190.1.1.1/30\",\n ),\n direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args(\n equinix_iface_ip=\"190::1:1/126\",\n ))\nbgp = equinix.fabric.RoutingProtocol(\"bgp\",\n connection_uuid=\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n type=\"BGP\",\n name=\"bgp_rp\",\n bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args(\n customer_peer_ip=\"190.1.1.2\",\n enabled=True,\n ),\n bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args(\n customer_peer_ip=\"190::1:2\",\n enabled=True,\n ),\n customer_asn=4532,\n opts = pulumi.ResourceOptions(depends_on=[direct]))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdirect, err := fabric.NewRoutingProtocol(ctx, \"direct\", \u0026fabric.RoutingProtocolArgs{\n\t\t\tConnectionUuid: pulumi.String(\"\u003csome_id\u003e\"),\n\t\t\tType: pulumi.String(\"DIRECT\"),\n\t\t\tName: pulumi.String(\"direct_rp\"),\n\t\t\tDirectIpv4: \u0026fabric.RoutingProtocolDirectIpv4Args{\n\t\t\t\tEquinixIfaceIp: pulumi.String(\"190.1.1.1/30\"),\n\t\t\t},\n\t\t\tDirectIpv6: \u0026fabric.RoutingProtocolDirectIpv6Args{\n\t\t\t\tEquinixIfaceIp: pulumi.String(\"190::1:1/126\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewRoutingProtocol(ctx, \"bgp\", \u0026fabric.RoutingProtocolArgs{\n\t\t\tConnectionUuid: pulumi.String(\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\"),\n\t\t\tType: pulumi.String(\"BGP\"),\n\t\t\tName: pulumi.String(\"bgp_rp\"),\n\t\t\tBgpIpv4: \u0026fabric.RoutingProtocolBgpIpv4Args{\n\t\t\t\tCustomerPeerIp: pulumi.String(\"190.1.1.2\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tBgpIpv6: \u0026fabric.RoutingProtocolBgpIpv6Args{\n\t\t\t\tCustomerPeerIp: pulumi.String(\"190::1:2\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tCustomerAsn: pulumi.Int(4532),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdirect,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var direct = new Equinix.Fabric.RoutingProtocol(\"direct\", new()\n {\n ConnectionUuid = \"\u003csome_id\u003e\",\n Type = \"DIRECT\",\n Name = \"direct_rp\",\n DirectIpv4 = new Equinix.Fabric.Inputs.RoutingProtocolDirectIpv4Args\n {\n EquinixIfaceIp = \"190.1.1.1/30\",\n },\n DirectIpv6 = new Equinix.Fabric.Inputs.RoutingProtocolDirectIpv6Args\n {\n EquinixIfaceIp = \"190::1:1/126\",\n },\n });\n\n var bgp = new Equinix.Fabric.RoutingProtocol(\"bgp\", new()\n {\n ConnectionUuid = \"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n Type = \"BGP\",\n Name = \"bgp_rp\",\n BgpIpv4 = new Equinix.Fabric.Inputs.RoutingProtocolBgpIpv4Args\n {\n CustomerPeerIp = \"190.1.1.2\",\n Enabled = true,\n },\n BgpIpv6 = new Equinix.Fabric.Inputs.RoutingProtocolBgpIpv6Args\n {\n CustomerPeerIp = \"190::1:2\",\n Enabled = true,\n },\n CustomerAsn = 4532,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n direct,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.RoutingProtocol;\nimport com.pulumi.equinix.fabric.RoutingProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv4Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv6Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv4Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv6Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var direct = new RoutingProtocol(\"direct\", RoutingProtocolArgs.builder()\n .connectionUuid(\"\u003csome_id\u003e\")\n .type(\"DIRECT\")\n .name(\"direct_rp\")\n .directIpv4(RoutingProtocolDirectIpv4Args.builder()\n .equinixIfaceIp(\"190.1.1.1/30\")\n .build())\n .directIpv6(RoutingProtocolDirectIpv6Args.builder()\n .equinixIfaceIp(\"190::1:1/126\")\n .build())\n .build());\n\n var bgp = new RoutingProtocol(\"bgp\", RoutingProtocolArgs.builder()\n .connectionUuid(\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\")\n .type(\"BGP\")\n .name(\"bgp_rp\")\n .bgpIpv4(RoutingProtocolBgpIpv4Args.builder()\n .customerPeerIp(\"190.1.1.2\")\n .enabled(true)\n .build())\n .bgpIpv6(RoutingProtocolBgpIpv6Args.builder()\n .customerPeerIp(\"190::1:2\")\n .enabled(true)\n .build())\n .customerAsn(4532)\n .build(), CustomResourceOptions.builder()\n .dependsOn(direct)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n direct:\n type: equinix:fabric:RoutingProtocol\n properties:\n connectionUuid: \u003csome_id\u003e\n type: DIRECT\n name: direct_rp\n directIpv4:\n equinixIfaceIp: 190.1.1.1/30\n directIpv6:\n equinixIfaceIp: 190::1:1/126\n bgp:\n type: equinix:fabric:RoutingProtocol\n properties:\n connectionUuid: \u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\n type: BGP\n name: bgp_rp\n bgpIpv4:\n customerPeerIp: 190.1.1.2\n enabled: true\n bgpIpv6:\n customerPeerIp: 190::1:2\n enabled: true\n customerAsn: 4532\n options:\n dependson:\n - ${direct}\n```\n{{% /example %}}\n\n{{% /examples %}}", + "description": "Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection\n\nAdditional documentation:\n* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/connections/FCR-connect-azureQC.htm#ConfigureRoutingDetailsintheFabricPortal\n* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst direct = new equinix.fabric.RoutingProtocol(\"direct\", {\n connectionUuid: \"\u003csome_id\u003e\",\n type: \"DIRECT\",\n name: \"direct_rp\",\n directIpv4: {\n equinixIfaceIp: \"190.1.1.1/30\",\n },\n directIpv6: {\n equinixIfaceIp: \"190::1:1/126\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ndirect = equinix.fabric.RoutingProtocol(\"direct\",\n connection_uuid=\"\u003csome_id\u003e\",\n type=\"DIRECT\",\n name=\"direct_rp\",\n direct_ipv4={\n \"equinix_iface_ip\": \"190.1.1.1/30\",\n },\n direct_ipv6={\n \"equinix_iface_ip\": \"190::1:1/126\",\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewRoutingProtocol(ctx, \"direct\", \u0026fabric.RoutingProtocolArgs{\n\t\t\tConnectionUuid: pulumi.String(\"\u003csome_id\u003e\"),\n\t\t\tType: pulumi.String(\"DIRECT\"),\n\t\t\tName: pulumi.String(\"direct_rp\"),\n\t\t\tDirectIpv4: \u0026fabric.RoutingProtocolDirectIpv4Args{\n\t\t\t\tEquinixIfaceIp: pulumi.String(\"190.1.1.1/30\"),\n\t\t\t},\n\t\t\tDirectIpv6: \u0026fabric.RoutingProtocolDirectIpv6Args{\n\t\t\t\tEquinixIfaceIp: pulumi.String(\"190::1:1/126\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var direct = new Equinix.Fabric.RoutingProtocol(\"direct\", new()\n {\n ConnectionUuid = \"\u003csome_id\u003e\",\n Type = \"DIRECT\",\n Name = \"direct_rp\",\n DirectIpv4 = new Equinix.Fabric.Inputs.RoutingProtocolDirectIpv4Args\n {\n EquinixIfaceIp = \"190.1.1.1/30\",\n },\n DirectIpv6 = new Equinix.Fabric.Inputs.RoutingProtocolDirectIpv6Args\n {\n EquinixIfaceIp = \"190::1:1/126\",\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.RoutingProtocol;\nimport com.pulumi.equinix.fabric.RoutingProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv4Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var direct = new RoutingProtocol(\"direct\", RoutingProtocolArgs.builder()\n .connectionUuid(\"\u003csome_id\u003e\")\n .type(\"DIRECT\")\n .name(\"direct_rp\")\n .directIpv4(RoutingProtocolDirectIpv4Args.builder()\n .equinixIfaceIp(\"190.1.1.1/30\")\n .build())\n .directIpv6(RoutingProtocolDirectIpv6Args.builder()\n .equinixIfaceIp(\"190::1:1/126\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n direct:\n type: equinix:fabric:RoutingProtocol\n properties:\n connectionUuid: \u003csome_id\u003e\n type: DIRECT\n name: direct_rp\n directIpv4:\n equinixIfaceIp: 190.1.1.1/30\n directIpv6:\n equinixIfaceIp: 190::1:1/126\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst bgp = new equinix.fabric.RoutingProtocol(\"bgp\", {\n connectionUuid: \"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n type: \"BGP\",\n name: \"bgp_rp\",\n bgpIpv4: {\n customerPeerIp: \"190.1.1.2\",\n enabled: true,\n },\n bgpIpv6: {\n customerPeerIp: \"190::1:2\",\n enabled: true,\n },\n customerAsn: 4532,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nbgp = equinix.fabric.RoutingProtocol(\"bgp\",\n connection_uuid=\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n type=\"BGP\",\n name=\"bgp_rp\",\n bgp_ipv4={\n \"customer_peer_ip\": \"190.1.1.2\",\n \"enabled\": True,\n },\n bgp_ipv6={\n \"customer_peer_ip\": \"190::1:2\",\n \"enabled\": True,\n },\n customer_asn=4532)\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewRoutingProtocol(ctx, \"bgp\", \u0026fabric.RoutingProtocolArgs{\n\t\t\tConnectionUuid: pulumi.String(\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\"),\n\t\t\tType: pulumi.String(\"BGP\"),\n\t\t\tName: pulumi.String(\"bgp_rp\"),\n\t\t\tBgpIpv4: \u0026fabric.RoutingProtocolBgpIpv4Args{\n\t\t\t\tCustomerPeerIp: pulumi.String(\"190.1.1.2\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tBgpIpv6: \u0026fabric.RoutingProtocolBgpIpv6Args{\n\t\t\t\tCustomerPeerIp: pulumi.String(\"190::1:2\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tCustomerAsn: pulumi.Int(4532),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bgp = new Equinix.Fabric.RoutingProtocol(\"bgp\", new()\n {\n ConnectionUuid = \"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n Type = \"BGP\",\n Name = \"bgp_rp\",\n BgpIpv4 = new Equinix.Fabric.Inputs.RoutingProtocolBgpIpv4Args\n {\n CustomerPeerIp = \"190.1.1.2\",\n Enabled = true,\n },\n BgpIpv6 = new Equinix.Fabric.Inputs.RoutingProtocolBgpIpv6Args\n {\n CustomerPeerIp = \"190::1:2\",\n Enabled = true,\n },\n CustomerAsn = 4532,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.RoutingProtocol;\nimport com.pulumi.equinix.fabric.RoutingProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv4Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var bgp = new RoutingProtocol(\"bgp\", RoutingProtocolArgs.builder()\n .connectionUuid(\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\")\n .type(\"BGP\")\n .name(\"bgp_rp\")\n .bgpIpv4(RoutingProtocolBgpIpv4Args.builder()\n .customerPeerIp(\"190.1.1.2\")\n .enabled(true)\n .build())\n .bgpIpv6(RoutingProtocolBgpIpv6Args.builder()\n .customerPeerIp(\"190::1:2\")\n .enabled(true)\n .build())\n .customerAsn(4532)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bgp:\n type: equinix:fabric:RoutingProtocol\n properties:\n connectionUuid: \u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\n type: BGP\n name: bgp_rp\n bgpIpv4:\n customerPeerIp: 190.1.1.2\n enabled: true\n bgpIpv6:\n customerPeerIp: 190::1:2\n enabled: true\n customerAsn: 4532\n```\n{{% /example %}}\n\n{{% example %}}\n### example 3\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst direct = new equinix.fabric.RoutingProtocol(\"direct\", {\n connectionUuid: \"\u003csome_id\u003e\",\n type: \"DIRECT\",\n name: \"direct_rp\",\n directIpv4: {\n equinixIfaceIp: \"190.1.1.1/30\",\n },\n directIpv6: {\n equinixIfaceIp: \"190::1:1/126\",\n },\n});\nconst bgp = new equinix.fabric.RoutingProtocol(\"bgp\", {\n connectionUuid: \"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n type: \"BGP\",\n name: \"bgp_rp\",\n bgpIpv4: {\n customerPeerIp: \"190.1.1.2\",\n enabled: true,\n },\n bgpIpv6: {\n customerPeerIp: \"190::1:2\",\n enabled: true,\n },\n customerAsn: 4532,\n}, {\n dependsOn: [direct],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ndirect = equinix.fabric.RoutingProtocol(\"direct\",\n connection_uuid=\"\u003csome_id\u003e\",\n type=\"DIRECT\",\n name=\"direct_rp\",\n direct_ipv4={\n \"equinix_iface_ip\": \"190.1.1.1/30\",\n },\n direct_ipv6={\n \"equinix_iface_ip\": \"190::1:1/126\",\n })\nbgp = equinix.fabric.RoutingProtocol(\"bgp\",\n connection_uuid=\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n type=\"BGP\",\n name=\"bgp_rp\",\n bgp_ipv4={\n \"customer_peer_ip\": \"190.1.1.2\",\n \"enabled\": True,\n },\n bgp_ipv6={\n \"customer_peer_ip\": \"190::1:2\",\n \"enabled\": True,\n },\n customer_asn=4532,\n opts = pulumi.ResourceOptions(depends_on=[direct]))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdirect, err := fabric.NewRoutingProtocol(ctx, \"direct\", \u0026fabric.RoutingProtocolArgs{\n\t\t\tConnectionUuid: pulumi.String(\"\u003csome_id\u003e\"),\n\t\t\tType: pulumi.String(\"DIRECT\"),\n\t\t\tName: pulumi.String(\"direct_rp\"),\n\t\t\tDirectIpv4: \u0026fabric.RoutingProtocolDirectIpv4Args{\n\t\t\t\tEquinixIfaceIp: pulumi.String(\"190.1.1.1/30\"),\n\t\t\t},\n\t\t\tDirectIpv6: \u0026fabric.RoutingProtocolDirectIpv6Args{\n\t\t\t\tEquinixIfaceIp: pulumi.String(\"190::1:1/126\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewRoutingProtocol(ctx, \"bgp\", \u0026fabric.RoutingProtocolArgs{\n\t\t\tConnectionUuid: pulumi.String(\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\"),\n\t\t\tType: pulumi.String(\"BGP\"),\n\t\t\tName: pulumi.String(\"bgp_rp\"),\n\t\t\tBgpIpv4: \u0026fabric.RoutingProtocolBgpIpv4Args{\n\t\t\t\tCustomerPeerIp: pulumi.String(\"190.1.1.2\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tBgpIpv6: \u0026fabric.RoutingProtocolBgpIpv6Args{\n\t\t\t\tCustomerPeerIp: pulumi.String(\"190::1:2\"),\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t},\n\t\t\tCustomerAsn: pulumi.Int(4532),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdirect,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var direct = new Equinix.Fabric.RoutingProtocol(\"direct\", new()\n {\n ConnectionUuid = \"\u003csome_id\u003e\",\n Type = \"DIRECT\",\n Name = \"direct_rp\",\n DirectIpv4 = new Equinix.Fabric.Inputs.RoutingProtocolDirectIpv4Args\n {\n EquinixIfaceIp = \"190.1.1.1/30\",\n },\n DirectIpv6 = new Equinix.Fabric.Inputs.RoutingProtocolDirectIpv6Args\n {\n EquinixIfaceIp = \"190::1:1/126\",\n },\n });\n\n var bgp = new Equinix.Fabric.RoutingProtocol(\"bgp\", new()\n {\n ConnectionUuid = \"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\",\n Type = \"BGP\",\n Name = \"bgp_rp\",\n BgpIpv4 = new Equinix.Fabric.Inputs.RoutingProtocolBgpIpv4Args\n {\n CustomerPeerIp = \"190.1.1.2\",\n Enabled = true,\n },\n BgpIpv6 = new Equinix.Fabric.Inputs.RoutingProtocolBgpIpv6Args\n {\n CustomerPeerIp = \"190::1:2\",\n Enabled = true,\n },\n CustomerAsn = 4532,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n direct,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.RoutingProtocol;\nimport com.pulumi.equinix.fabric.RoutingProtocolArgs;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv4Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolDirectIpv6Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv4Args;\nimport com.pulumi.equinix.fabric.inputs.RoutingProtocolBgpIpv6Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var direct = new RoutingProtocol(\"direct\", RoutingProtocolArgs.builder()\n .connectionUuid(\"\u003csome_id\u003e\")\n .type(\"DIRECT\")\n .name(\"direct_rp\")\n .directIpv4(RoutingProtocolDirectIpv4Args.builder()\n .equinixIfaceIp(\"190.1.1.1/30\")\n .build())\n .directIpv6(RoutingProtocolDirectIpv6Args.builder()\n .equinixIfaceIp(\"190::1:1/126\")\n .build())\n .build());\n\n var bgp = new RoutingProtocol(\"bgp\", RoutingProtocolArgs.builder()\n .connectionUuid(\"\u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\")\n .type(\"BGP\")\n .name(\"bgp_rp\")\n .bgpIpv4(RoutingProtocolBgpIpv4Args.builder()\n .customerPeerIp(\"190.1.1.2\")\n .enabled(true)\n .build())\n .bgpIpv6(RoutingProtocolBgpIpv6Args.builder()\n .customerPeerIp(\"190::1:2\")\n .enabled(true)\n .build())\n .customerAsn(4532)\n .build(), CustomResourceOptions.builder()\n .dependsOn(direct)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n direct:\n type: equinix:fabric:RoutingProtocol\n properties:\n connectionUuid: \u003csome_id\u003e\n type: DIRECT\n name: direct_rp\n directIpv4:\n equinixIfaceIp: 190.1.1.1/30\n directIpv6:\n equinixIfaceIp: 190::1:1/126\n bgp:\n type: equinix:fabric:RoutingProtocol\n properties:\n connectionUuid: \u003csame_connection_id_as_first_equinix_fabric_routing_protocol\u003e\n type: BGP\n name: bgp_rp\n bgpIpv4:\n customerPeerIp: 190.1.1.2\n enabled: true\n bgpIpv6:\n customerPeerIp: 190::1:2\n enabled: true\n customerAsn: 4532\n options:\n dependson:\n - ${direct}\n```\n{{% /example %}}\n\n{{% /examples %}}", "properties": { "bfd": { "$ref": "#/types/equinix:fabric/RoutingProtocolBfd:RoutingProtocolBfd", @@ -13758,7 +13758,7 @@ } }, "equinix:fabric/serviceProfile:ServiceProfile": { - "description": "Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile\n\nAdditional documentation:\n* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-Sprofiles-implement.htm\n* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#service-profiles\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst newServiceProfile = new equinix.fabric.ServiceProfile(\"newServiceProfile\", {\n description: \"Service Profile for Receiving Connections\",\n name: \"Name Of Business + Use Case Tag\",\n type: equinix.fabric.ProfileType.L2Profile,\n visibility: equinix.fabric.ProfileVisibility.Public,\n notifications: [{\n emails: [\"someone@sample.com\"],\n type: \"BANDWIDTH_ALERT\",\n }],\n allowedEmails: [\n \"test@equinix.com\",\n \"testagain@equinix.com\",\n ],\n ports: [{\n uuid: \"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\",\n type: \"XF_PORT\",\n }],\n accessPointTypeConfigs: [{\n type: equinix.fabric.ProfileAccessPointType.Colo,\n allowRemoteConnections: true,\n allowCustomBandwidth: true,\n allowBandwidthAutoApproval: false,\n connectionRedundancyRequired: false,\n connectionLabel: \"Service Profile Tag1\",\n bandwidthAlertThreshold: 10,\n supportedBandwidths: [\n 100,\n 500,\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nnew_service_profile = equinix.fabric.ServiceProfile(\"newServiceProfile\",\n description=\"Service Profile for Receiving Connections\",\n name=\"Name Of Business + Use Case Tag\",\n type=equinix.fabric.ProfileType.L2_PROFILE,\n visibility=equinix.fabric.ProfileVisibility.PUBLIC,\n notifications=[equinix.fabric.ServiceProfileNotificationArgs(\n emails=[\"someone@sample.com\"],\n type=\"BANDWIDTH_ALERT\",\n )],\n allowed_emails=[\n \"test@equinix.com\",\n \"testagain@equinix.com\",\n ],\n ports=[equinix.fabric.ServiceProfilePortArgs(\n uuid=\"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\",\n type=\"XF_PORT\",\n )],\n access_point_type_configs=[equinix.fabric.ServiceProfileAccessPointTypeConfigArgs(\n type=equinix.fabric.ProfileAccessPointType.COLO,\n allow_remote_connections=True,\n allow_custom_bandwidth=True,\n allow_bandwidth_auto_approval=False,\n connection_redundancy_required=False,\n connection_label=\"Service Profile Tag1\",\n bandwidth_alert_threshold=10,\n supported_bandwidths=[\n 100,\n 500,\n ],\n )])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewServiceProfile(ctx, \"newServiceProfile\", \u0026fabric.ServiceProfileArgs{\n\t\t\tDescription: pulumi.String(\"Service Profile for Receiving Connections\"),\n\t\t\tName: pulumi.String(\"Name Of Business + Use Case Tag\"),\n\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\tVisibility: pulumi.String(fabric.ProfileVisibilityPublic),\n\t\t\tNotifications: fabric.ServiceProfileNotificationArray{\n\t\t\t\t\u0026fabric.ServiceProfileNotificationArgs{\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"someone@sample.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"BANDWIDTH_ALERT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAllowedEmails: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t\tpulumi.String(\"testagain@equinix.com\"),\n\t\t\t},\n\t\t\tPorts: fabric.ServiceProfilePortArray{\n\t\t\t\t\u0026fabric.ServiceProfilePortArgs{\n\t\t\t\t\tUuid: pulumi.String(\"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\"),\n\t\t\t\t\tType: pulumi.String(\"XF_PORT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessPointTypeConfigs: fabric.ServiceProfileAccessPointTypeConfigArray{\n\t\t\t\t\u0026fabric.ServiceProfileAccessPointTypeConfigArgs{\n\t\t\t\t\tType: pulumi.String(fabric.ProfileAccessPointTypeColo),\n\t\t\t\t\tAllowRemoteConnections: pulumi.Bool(true),\n\t\t\t\t\tAllowCustomBandwidth: pulumi.Bool(true),\n\t\t\t\t\tAllowBandwidthAutoApproval: pulumi.Bool(false),\n\t\t\t\t\tConnectionRedundancyRequired: pulumi.Bool(false),\n\t\t\t\t\tConnectionLabel: pulumi.String(\"Service Profile Tag1\"),\n\t\t\t\t\tBandwidthAlertThreshold: pulumi.Float64(10),\n\t\t\t\t\tSupportedBandwidths: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(100),\n\t\t\t\t\t\tpulumi.Int(500),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newServiceProfile = new Equinix.Fabric.ServiceProfile(\"newServiceProfile\", new()\n {\n Description = \"Service Profile for Receiving Connections\",\n Name = \"Name Of Business + Use Case Tag\",\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Visibility = Equinix.Fabric.ProfileVisibility.Public,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ServiceProfileNotificationArgs\n {\n Emails = new[]\n {\n \"someone@sample.com\",\n },\n Type = \"BANDWIDTH_ALERT\",\n },\n },\n AllowedEmails = new[]\n {\n \"test@equinix.com\",\n \"testagain@equinix.com\",\n },\n Ports = new[]\n {\n new Equinix.Fabric.Inputs.ServiceProfilePortArgs\n {\n Uuid = \"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\",\n Type = \"XF_PORT\",\n },\n },\n AccessPointTypeConfigs = new[]\n {\n new Equinix.Fabric.Inputs.ServiceProfileAccessPointTypeConfigArgs\n {\n Type = Equinix.Fabric.ProfileAccessPointType.Colo,\n AllowRemoteConnections = true,\n AllowCustomBandwidth = true,\n AllowBandwidthAutoApproval = false,\n ConnectionRedundancyRequired = false,\n ConnectionLabel = \"Service Profile Tag1\",\n BandwidthAlertThreshold = 10,\n SupportedBandwidths = new[]\n {\n 100,\n 500,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.ServiceProfile;\nimport com.pulumi.equinix.fabric.ServiceProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ServiceProfileNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ServiceProfilePortArgs;\nimport com.pulumi.equinix.fabric.inputs.ServiceProfileAccessPointTypeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var newServiceProfile = new ServiceProfile(\"newServiceProfile\", ServiceProfileArgs.builder()\n .description(\"Service Profile for Receiving Connections\")\n .name(\"Name Of Business + Use Case Tag\")\n .type(\"L2_PROFILE\")\n .visibility(\"PUBLIC\")\n .notifications(ServiceProfileNotificationArgs.builder()\n .emails(\"someone@sample.com\")\n .type(\"BANDWIDTH_ALERT\")\n .build())\n .allowedEmails( \n \"test@equinix.com\",\n \"testagain@equinix.com\")\n .ports(ServiceProfilePortArgs.builder()\n .uuid(\"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\")\n .type(\"XF_PORT\")\n .build())\n .accessPointTypeConfigs(ServiceProfileAccessPointTypeConfigArgs.builder()\n .type(\"COLO\")\n .allowRemoteConnections(true)\n .allowCustomBandwidth(true)\n .allowBandwidthAutoApproval(false)\n .connectionRedundancyRequired(false)\n .connectionLabel(\"Service Profile Tag1\")\n .bandwidthAlertThreshold(10)\n .supportedBandwidths( \n 100,\n 500)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n newServiceProfile:\n type: equinix:fabric:ServiceProfile\n name: new_service_profile\n properties:\n description: Service Profile for Receiving Connections\n name: Name Of Business + Use Case Tag\n type: L2_PROFILE\n visibility: PUBLIC\n notifications:\n - emails:\n - someone@sample.com\n type: BANDWIDTH_ALERT\n allowedEmails:\n - test@equinix.com\n - testagain@equinix.com\n ports:\n - uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\n type: XF_PORT\n accessPointTypeConfigs:\n - type: COLO\n allowRemoteConnections: true\n allowCustomBandwidth: true\n allowBandwidthAutoApproval: false\n connectionRedundancyRequired: false\n connectionLabel: Service Profile Tag1\n bandwidthAlertThreshold: 10\n supportedBandwidths:\n - 100\n - 500\n```\n{{% /example %}}\n\n{{% /examples %}}", + "description": "Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile\n\nAdditional documentation:\n* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-Sprofiles-implement.htm\n* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#service-profiles\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst newServiceProfile = new equinix.fabric.ServiceProfile(\"newServiceProfile\", {\n description: \"Service Profile for Receiving Connections\",\n name: \"Name Of Business + Use Case Tag\",\n type: equinix.fabric.ProfileType.L2Profile,\n visibility: equinix.fabric.ProfileVisibility.Public,\n notifications: [{\n emails: [\"someone@sample.com\"],\n type: \"BANDWIDTH_ALERT\",\n }],\n allowedEmails: [\n \"test@equinix.com\",\n \"testagain@equinix.com\",\n ],\n ports: [{\n uuid: \"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\",\n type: \"XF_PORT\",\n }],\n accessPointTypeConfigs: [{\n type: equinix.fabric.ProfileAccessPointType.Colo,\n allowRemoteConnections: true,\n allowCustomBandwidth: true,\n allowBandwidthAutoApproval: false,\n connectionRedundancyRequired: false,\n connectionLabel: \"Service Profile Tag1\",\n bandwidthAlertThreshold: 10,\n supportedBandwidths: [\n 100,\n 500,\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nnew_service_profile = equinix.fabric.ServiceProfile(\"newServiceProfile\",\n description=\"Service Profile for Receiving Connections\",\n name=\"Name Of Business + Use Case Tag\",\n type=equinix.fabric.ProfileType.L2_PROFILE,\n visibility=equinix.fabric.ProfileVisibility.PUBLIC,\n notifications=[{\n \"emails\": [\"someone@sample.com\"],\n \"type\": \"BANDWIDTH_ALERT\",\n }],\n allowed_emails=[\n \"test@equinix.com\",\n \"testagain@equinix.com\",\n ],\n ports=[{\n \"uuid\": \"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\",\n \"type\": \"XF_PORT\",\n }],\n access_point_type_configs=[{\n \"type\": equinix.fabric.ProfileAccessPointType.COLO,\n \"allow_remote_connections\": True,\n \"allow_custom_bandwidth\": True,\n \"allow_bandwidth_auto_approval\": False,\n \"connection_redundancy_required\": False,\n \"connection_label\": \"Service Profile Tag1\",\n \"bandwidth_alert_threshold\": 10,\n \"supported_bandwidths\": [\n 100,\n 500,\n ],\n }])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fabric.NewServiceProfile(ctx, \"newServiceProfile\", \u0026fabric.ServiceProfileArgs{\n\t\t\tDescription: pulumi.String(\"Service Profile for Receiving Connections\"),\n\t\t\tName: pulumi.String(\"Name Of Business + Use Case Tag\"),\n\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\tVisibility: pulumi.String(fabric.ProfileVisibilityPublic),\n\t\t\tNotifications: fabric.ServiceProfileNotificationArray{\n\t\t\t\t\u0026fabric.ServiceProfileNotificationArgs{\n\t\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"someone@sample.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tType: pulumi.String(\"BANDWIDTH_ALERT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAllowedEmails: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t\tpulumi.String(\"testagain@equinix.com\"),\n\t\t\t},\n\t\t\tPorts: fabric.ServiceProfilePortArray{\n\t\t\t\t\u0026fabric.ServiceProfilePortArgs{\n\t\t\t\t\tUuid: pulumi.String(\"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\"),\n\t\t\t\t\tType: pulumi.String(\"XF_PORT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccessPointTypeConfigs: fabric.ServiceProfileAccessPointTypeConfigArray{\n\t\t\t\t\u0026fabric.ServiceProfileAccessPointTypeConfigArgs{\n\t\t\t\t\tType: pulumi.String(fabric.ProfileAccessPointTypeColo),\n\t\t\t\t\tAllowRemoteConnections: pulumi.Bool(true),\n\t\t\t\t\tAllowCustomBandwidth: pulumi.Bool(true),\n\t\t\t\t\tAllowBandwidthAutoApproval: pulumi.Bool(false),\n\t\t\t\t\tConnectionRedundancyRequired: pulumi.Bool(false),\n\t\t\t\t\tConnectionLabel: pulumi.String(\"Service Profile Tag1\"),\n\t\t\t\t\tBandwidthAlertThreshold: pulumi.Float64(10),\n\t\t\t\t\tSupportedBandwidths: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(100),\n\t\t\t\t\t\tpulumi.Int(500),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newServiceProfile = new Equinix.Fabric.ServiceProfile(\"newServiceProfile\", new()\n {\n Description = \"Service Profile for Receiving Connections\",\n Name = \"Name Of Business + Use Case Tag\",\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Visibility = Equinix.Fabric.ProfileVisibility.Public,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ServiceProfileNotificationArgs\n {\n Emails = new[]\n {\n \"someone@sample.com\",\n },\n Type = \"BANDWIDTH_ALERT\",\n },\n },\n AllowedEmails = new[]\n {\n \"test@equinix.com\",\n \"testagain@equinix.com\",\n },\n Ports = new[]\n {\n new Equinix.Fabric.Inputs.ServiceProfilePortArgs\n {\n Uuid = \"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\",\n Type = \"XF_PORT\",\n },\n },\n AccessPointTypeConfigs = new[]\n {\n new Equinix.Fabric.Inputs.ServiceProfileAccessPointTypeConfigArgs\n {\n Type = Equinix.Fabric.ProfileAccessPointType.Colo,\n AllowRemoteConnections = true,\n AllowCustomBandwidth = true,\n AllowBandwidthAutoApproval = false,\n ConnectionRedundancyRequired = false,\n ConnectionLabel = \"Service Profile Tag1\",\n BandwidthAlertThreshold = 10,\n SupportedBandwidths = new[]\n {\n 100,\n 500,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.ServiceProfile;\nimport com.pulumi.equinix.fabric.ServiceProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ServiceProfileNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ServiceProfilePortArgs;\nimport com.pulumi.equinix.fabric.inputs.ServiceProfileAccessPointTypeConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var newServiceProfile = new ServiceProfile(\"newServiceProfile\", ServiceProfileArgs.builder()\n .description(\"Service Profile for Receiving Connections\")\n .name(\"Name Of Business + Use Case Tag\")\n .type(\"L2_PROFILE\")\n .visibility(\"PUBLIC\")\n .notifications(ServiceProfileNotificationArgs.builder()\n .emails(\"someone@sample.com\")\n .type(\"BANDWIDTH_ALERT\")\n .build())\n .allowedEmails( \n \"test@equinix.com\",\n \"testagain@equinix.com\")\n .ports(ServiceProfilePortArgs.builder()\n .uuid(\"c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\")\n .type(\"XF_PORT\")\n .build())\n .accessPointTypeConfigs(ServiceProfileAccessPointTypeConfigArgs.builder()\n .type(\"COLO\")\n .allowRemoteConnections(true)\n .allowCustomBandwidth(true)\n .allowBandwidthAutoApproval(false)\n .connectionRedundancyRequired(false)\n .connectionLabel(\"Service Profile Tag1\")\n .bandwidthAlertThreshold(10)\n .supportedBandwidths( \n 100,\n 500)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n newServiceProfile:\n type: equinix:fabric:ServiceProfile\n name: new_service_profile\n properties:\n description: Service Profile for Receiving Connections\n name: Name Of Business + Use Case Tag\n type: L2_PROFILE\n visibility: PUBLIC\n notifications:\n - emails:\n - someone@sample.com\n type: BANDWIDTH_ALERT\n allowedEmails:\n - test@equinix.com\n - testagain@equinix.com\n ports:\n - uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee\n type: XF_PORT\n accessPointTypeConfigs:\n - type: COLO\n allowRemoteConnections: true\n allowCustomBandwidth: true\n allowBandwidthAutoApproval: false\n connectionRedundancyRequired: false\n connectionLabel: Service Profile Tag1\n bandwidthAlertThreshold: 10\n supportedBandwidths:\n - 100\n - 500\n```\n{{% /example %}}\n\n{{% /examples %}}", "properties": { "accessPointTypeConfigs": { "type": "array", @@ -14218,7 +14218,7 @@ } }, "equinix:metal/device:Device": { - "description": "Provides an Equinix Metal device resource. This can be used to create, modify, and delete devices.\n\n\u003e **NOTE:** All arguments including the `root_password` and `user_data` will be stored in the raw state as plain-text. Read more about sensitive data in state.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst web1 = new equinix.metal.Device(\"web1\", {\n hostname: \"tf.coreos2\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nweb1 = equinix.metal.Device(\"web1\",\n hostname=\"tf.coreos2\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id)\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"web1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.coreos2\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web1 = new Equinix.Metal.Device(\"web1\", new()\n {\n Hostname = \"tf.coreos2\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var web1 = new Device(\"web1\", DeviceArgs.builder()\n .hostname(\"tf.coreos2\")\n .plan(\"c3.small.x86\")\n .metro(\"sv\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web1:\n type: equinix:metal:Device\n properties:\n hostname: tf.coreos2\n plan: c3.small.x86\n metro: sv\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst pxe1 = new equinix.metal.Device(\"pxe1\", {\n hostname: \"tf.coreos2-pxe\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.CustomIPXE,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n ipxeScriptUrl: \"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n alwaysPxe: false,\n userData: example.rendered,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\npxe1 = equinix.metal.Device(\"pxe1\",\n hostname=\"tf.coreos2-pxe\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.CUSTOM_IPXE,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n ipxe_script_url=\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n always_pxe=False,\n user_data=example[\"rendered\"])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"pxe1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.coreos2-pxe\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystemCustomIPXE),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tIpxeScriptUrl: pulumi.String(\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\"),\n\t\t\tAlwaysPxe: pulumi.Bool(false),\n\t\t\tUserData: pulumi.Any(example.Rendered),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pxe1 = new Equinix.Metal.Device(\"pxe1\", new()\n {\n Hostname = \"tf.coreos2-pxe\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.CustomIPXE,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n IpxeScriptUrl = \"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n AlwaysPxe = false,\n UserData = example.Rendered,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pxe1 = new Device(\"pxe1\", DeviceArgs.builder()\n .hostname(\"tf.coreos2-pxe\")\n .plan(\"c3.small.x86\")\n .metro(\"sv\")\n .operatingSystem(\"custom_ipxe\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .ipxeScriptUrl(\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\")\n .alwaysPxe(\"false\")\n .userData(example.rendered())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pxe1:\n type: equinix:metal:Device\n properties:\n hostname: tf.coreos2-pxe\n plan: c3.small.x86\n metro: sv\n operatingSystem: custom_ipxe\n billingCycle: hourly\n projectId: ${projectId}\n ipxeScriptUrl: https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\n alwaysPxe: 'false'\n userData: ${example.rendered}\n```\n{{% /example %}}\n\n{{% example %}}\n### example 3\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst web1 = new equinix.metal.Device(\"web1\", {\n hostname: \"tf.coreos2\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"ny\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n ipAddresses: [{\n type: \"private_ipv4\",\n cidr: 30,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nweb1 = equinix.metal.Device(\"web1\",\n hostname=\"tf.coreos2\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"ny\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n ip_addresses=[equinix.metal.DeviceIpAddressArgs(\n type=\"private_ipv4\",\n cidr=30,\n )])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"web1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.coreos2\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tIpAddresses: metal.DeviceIpAddressArray{\n\t\t\t\t\u0026metal.DeviceIpAddressArgs{\n\t\t\t\t\tType: pulumi.String(\"private_ipv4\"),\n\t\t\t\t\tCidr: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web1 = new Equinix.Metal.Device(\"web1\", new()\n {\n Hostname = \"tf.coreos2\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"ny\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n IpAddresses = new[]\n {\n new Equinix.Metal.Inputs.DeviceIpAddressArgs\n {\n Type = \"private_ipv4\",\n Cidr = 30,\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.equinix.metal.inputs.DeviceIpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var web1 = new Device(\"web1\", DeviceArgs.builder()\n .hostname(\"tf.coreos2\")\n .plan(\"c3.small.x86\")\n .metro(\"ny\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .ipAddresses(DeviceIpAddressArgs.builder()\n .type(\"private_ipv4\")\n .cidr(30)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web1:\n type: equinix:metal:Device\n properties:\n hostname: tf.coreos2\n plan: c3.small.x86\n metro: ny\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\n ipAddresses:\n - type: private_ipv4\n cidr: 30\n```\n{{% /example %}}\n\n{{% example %}}\n### example 4\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst web1 = new equinix.metal.Device(\"web1\", {\n hostname: \"tftest\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"ny\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n hardwareReservationId: \"next-available\",\n storage: `{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nweb1 = equinix.metal.Device(\"web1\",\n hostname=\"tftest\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"ny\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n hardware_reservation_id=\"next-available\",\n storage=\"\"\"{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n\"\"\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"web1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tftest\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tHardwareReservationId: pulumi.String(\"next-available\"),\n\t\t\tStorage: pulumi.String(`{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web1 = new Equinix.Metal.Device(\"web1\", new()\n {\n Hostname = \"tftest\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"ny\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n HardwareReservationId = \"next-available\",\n Storage = @\"{\n \"\"disks\"\": [\n {\n \"\"device\"\": \"\"/dev/sda\"\",\n \"\"wipeTable\"\": true,\n \"\"partitions\"\": [\n {\n \"\"label\"\": \"\"BIOS\"\",\n \"\"number\"\": 1,\n \"\"size\"\": \"\"4096\"\"\n },\n {\n \"\"label\"\": \"\"SWAP\"\",\n \"\"number\"\": 2,\n \"\"size\"\": \"\"3993600\"\"\n },\n {\n \"\"label\"\": \"\"ROOT\"\",\n \"\"number\"\": 3,\n \"\"size\"\": \"\"0\"\"\n }\n ]\n }\n ],\n \"\"filesystems\"\": [\n {\n \"\"mount\"\": {\n \"\"device\"\": \"\"/dev/sda3\"\",\n \"\"format\"\": \"\"ext4\"\",\n \"\"point\"\": \"\"/\"\",\n \"\"create\"\": {\n \"\"options\"\": [\n \"\"-L\"\",\n \"\"ROOT\"\"\n ]\n }\n }\n },\n {\n \"\"mount\"\": {\n \"\"device\"\": \"\"/dev/sda2\"\",\n \"\"format\"\": \"\"swap\"\",\n \"\"point\"\": \"\"none\"\",\n \"\"create\"\": {\n \"\"options\"\": [\n \"\"-L\"\",\n \"\"SWAP\"\"\n ]\n }\n }\n }\n ]\n}\n\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var web1 = new Device(\"web1\", DeviceArgs.builder()\n .hostname(\"tftest\")\n .plan(\"c3.small.x86\")\n .metro(\"ny\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .hardwareReservationId(\"next-available\")\n .storage(\"\"\"\n{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web1:\n type: equinix:metal:Device\n properties:\n hostname: tftest\n plan: c3.small.x86\n metro: ny\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\n hardwareReservationId: next-available\n storage: |\n {\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n }\n```\n{{% /example %}}\n\n{{% example %}}\n### example 5\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst pxe1 = new equinix.metal.Device(\"pxe1\", {\n hostname: \"tf.coreos2-pxe\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.CustomIPXE,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n ipxeScriptUrl: \"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n alwaysPxe: false,\n userData: userData,\n customData: customData,\n behavior: {\n allowChanges: [\n \"custom_data\",\n \"user_data\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\npxe1 = equinix.metal.Device(\"pxe1\",\n hostname=\"tf.coreos2-pxe\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.CUSTOM_IPXE,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n ipxe_script_url=\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n always_pxe=False,\n user_data=user_data,\n custom_data=custom_data,\n behavior=equinix.metal.DeviceBehaviorArgs(\n allow_changes=[\n \"custom_data\",\n \"user_data\",\n ],\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"pxe1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.coreos2-pxe\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystemCustomIPXE),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tIpxeScriptUrl: pulumi.String(\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\"),\n\t\t\tAlwaysPxe: pulumi.Bool(false),\n\t\t\tUserData: pulumi.Any(userData),\n\t\t\tCustomData: pulumi.Any(customData),\n\t\t\tBehavior: \u0026metal.DeviceBehaviorArgs{\n\t\t\t\tAllowChanges: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"custom_data\"),\n\t\t\t\t\tpulumi.String(\"user_data\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pxe1 = new Equinix.Metal.Device(\"pxe1\", new()\n {\n Hostname = \"tf.coreos2-pxe\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.CustomIPXE,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n IpxeScriptUrl = \"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n AlwaysPxe = false,\n UserData = userData,\n CustomData = customData,\n Behavior = new Equinix.Metal.Inputs.DeviceBehaviorArgs\n {\n AllowChanges = new[]\n {\n \"custom_data\",\n \"user_data\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.equinix.metal.inputs.DeviceBehaviorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pxe1 = new Device(\"pxe1\", DeviceArgs.builder()\n .hostname(\"tf.coreos2-pxe\")\n .plan(\"c3.small.x86\")\n .metro(\"sv\")\n .operatingSystem(\"custom_ipxe\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .ipxeScriptUrl(\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\")\n .alwaysPxe(\"false\")\n .userData(userData)\n .customData(customData)\n .behavior(DeviceBehaviorArgs.builder()\n .allowChanges( \n \"custom_data\",\n \"user_data\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pxe1:\n type: equinix:metal:Device\n properties:\n hostname: tf.coreos2-pxe\n plan: c3.small.x86\n metro: sv\n operatingSystem: custom_ipxe\n billingCycle: hourly\n projectId: ${projectId}\n ipxeScriptUrl: https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\n alwaysPxe: 'false'\n userData: ${userData}\n customData: ${customData}\n behavior:\n allowChanges:\n - custom_data\n - user_data\n```\n{{% /example %}}\n\n{{% /examples %}}", + "description": "Provides an Equinix Metal device resource. This can be used to create, modify, and delete devices.\n\n\u003e **NOTE:** All arguments including the `root_password` and `user_data` will be stored in the raw state as plain-text. Read more about sensitive data in state.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst web1 = new equinix.metal.Device(\"web1\", {\n hostname: \"tf.coreos2\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nweb1 = equinix.metal.Device(\"web1\",\n hostname=\"tf.coreos2\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id)\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"web1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.coreos2\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web1 = new Equinix.Metal.Device(\"web1\", new()\n {\n Hostname = \"tf.coreos2\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var web1 = new Device(\"web1\", DeviceArgs.builder()\n .hostname(\"tf.coreos2\")\n .plan(\"c3.small.x86\")\n .metro(\"sv\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web1:\n type: equinix:metal:Device\n properties:\n hostname: tf.coreos2\n plan: c3.small.x86\n metro: sv\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst pxe1 = new equinix.metal.Device(\"pxe1\", {\n hostname: \"tf.coreos2-pxe\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.CustomIPXE,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n ipxeScriptUrl: \"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n alwaysPxe: false,\n userData: example.rendered,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\npxe1 = equinix.metal.Device(\"pxe1\",\n hostname=\"tf.coreos2-pxe\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.CUSTOM_IPXE,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n ipxe_script_url=\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n always_pxe=False,\n user_data=example[\"rendered\"])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"pxe1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.coreos2-pxe\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystemCustomIPXE),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tIpxeScriptUrl: pulumi.String(\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\"),\n\t\t\tAlwaysPxe: pulumi.Bool(false),\n\t\t\tUserData: pulumi.Any(example.Rendered),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pxe1 = new Equinix.Metal.Device(\"pxe1\", new()\n {\n Hostname = \"tf.coreos2-pxe\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.CustomIPXE,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n IpxeScriptUrl = \"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n AlwaysPxe = false,\n UserData = example.Rendered,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pxe1 = new Device(\"pxe1\", DeviceArgs.builder()\n .hostname(\"tf.coreos2-pxe\")\n .plan(\"c3.small.x86\")\n .metro(\"sv\")\n .operatingSystem(\"custom_ipxe\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .ipxeScriptUrl(\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\")\n .alwaysPxe(\"false\")\n .userData(example.rendered())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pxe1:\n type: equinix:metal:Device\n properties:\n hostname: tf.coreos2-pxe\n plan: c3.small.x86\n metro: sv\n operatingSystem: custom_ipxe\n billingCycle: hourly\n projectId: ${projectId}\n ipxeScriptUrl: https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\n alwaysPxe: 'false'\n userData: ${example.rendered}\n```\n{{% /example %}}\n\n{{% example %}}\n### example 3\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst web1 = new equinix.metal.Device(\"web1\", {\n hostname: \"tf.coreos2\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"ny\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n ipAddresses: [{\n type: \"private_ipv4\",\n cidr: 30,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nweb1 = equinix.metal.Device(\"web1\",\n hostname=\"tf.coreos2\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"ny\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n ip_addresses=[{\n \"type\": \"private_ipv4\",\n \"cidr\": 30,\n }])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"web1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.coreos2\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tIpAddresses: metal.DeviceIpAddressArray{\n\t\t\t\t\u0026metal.DeviceIpAddressArgs{\n\t\t\t\t\tType: pulumi.String(\"private_ipv4\"),\n\t\t\t\t\tCidr: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web1 = new Equinix.Metal.Device(\"web1\", new()\n {\n Hostname = \"tf.coreos2\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"ny\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n IpAddresses = new[]\n {\n new Equinix.Metal.Inputs.DeviceIpAddressArgs\n {\n Type = \"private_ipv4\",\n Cidr = 30,\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.equinix.metal.inputs.DeviceIpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var web1 = new Device(\"web1\", DeviceArgs.builder()\n .hostname(\"tf.coreos2\")\n .plan(\"c3.small.x86\")\n .metro(\"ny\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .ipAddresses(DeviceIpAddressArgs.builder()\n .type(\"private_ipv4\")\n .cidr(30)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web1:\n type: equinix:metal:Device\n properties:\n hostname: tf.coreos2\n plan: c3.small.x86\n metro: ny\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\n ipAddresses:\n - type: private_ipv4\n cidr: 30\n```\n{{% /example %}}\n\n{{% example %}}\n### example 4\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst web1 = new equinix.metal.Device(\"web1\", {\n hostname: \"tftest\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"ny\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n hardwareReservationId: \"next-available\",\n storage: `{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nweb1 = equinix.metal.Device(\"web1\",\n hostname=\"tftest\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"ny\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n hardware_reservation_id=\"next-available\",\n storage=\"\"\"{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n\"\"\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"web1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tftest\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tHardwareReservationId: pulumi.String(\"next-available\"),\n\t\t\tStorage: pulumi.String(`{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web1 = new Equinix.Metal.Device(\"web1\", new()\n {\n Hostname = \"tftest\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"ny\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n HardwareReservationId = \"next-available\",\n Storage = @\"{\n \"\"disks\"\": [\n {\n \"\"device\"\": \"\"/dev/sda\"\",\n \"\"wipeTable\"\": true,\n \"\"partitions\"\": [\n {\n \"\"label\"\": \"\"BIOS\"\",\n \"\"number\"\": 1,\n \"\"size\"\": \"\"4096\"\"\n },\n {\n \"\"label\"\": \"\"SWAP\"\",\n \"\"number\"\": 2,\n \"\"size\"\": \"\"3993600\"\"\n },\n {\n \"\"label\"\": \"\"ROOT\"\",\n \"\"number\"\": 3,\n \"\"size\"\": \"\"0\"\"\n }\n ]\n }\n ],\n \"\"filesystems\"\": [\n {\n \"\"mount\"\": {\n \"\"device\"\": \"\"/dev/sda3\"\",\n \"\"format\"\": \"\"ext4\"\",\n \"\"point\"\": \"\"/\"\",\n \"\"create\"\": {\n \"\"options\"\": [\n \"\"-L\"\",\n \"\"ROOT\"\"\n ]\n }\n }\n },\n {\n \"\"mount\"\": {\n \"\"device\"\": \"\"/dev/sda2\"\",\n \"\"format\"\": \"\"swap\"\",\n \"\"point\"\": \"\"none\"\",\n \"\"create\"\": {\n \"\"options\"\": [\n \"\"-L\"\",\n \"\"SWAP\"\"\n ]\n }\n }\n }\n ]\n}\n\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var web1 = new Device(\"web1\", DeviceArgs.builder()\n .hostname(\"tftest\")\n .plan(\"c3.small.x86\")\n .metro(\"ny\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .hardwareReservationId(\"next-available\")\n .storage(\"\"\"\n{\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n}\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web1:\n type: equinix:metal:Device\n properties:\n hostname: tftest\n plan: c3.small.x86\n metro: ny\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\n hardwareReservationId: next-available\n storage: |\n {\n \"disks\": [\n {\n \"device\": \"/dev/sda\",\n \"wipeTable\": true,\n \"partitions\": [\n {\n \"label\": \"BIOS\",\n \"number\": 1,\n \"size\": \"4096\"\n },\n {\n \"label\": \"SWAP\",\n \"number\": 2,\n \"size\": \"3993600\"\n },\n {\n \"label\": \"ROOT\",\n \"number\": 3,\n \"size\": \"0\"\n }\n ]\n }\n ],\n \"filesystems\": [\n {\n \"mount\": {\n \"device\": \"/dev/sda3\",\n \"format\": \"ext4\",\n \"point\": \"/\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"ROOT\"\n ]\n }\n }\n },\n {\n \"mount\": {\n \"device\": \"/dev/sda2\",\n \"format\": \"swap\",\n \"point\": \"none\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"SWAP\"\n ]\n }\n }\n }\n ]\n }\n```\n{{% /example %}}\n\n{{% example %}}\n### example 5\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst pxe1 = new equinix.metal.Device(\"pxe1\", {\n hostname: \"tf.coreos2-pxe\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.CustomIPXE,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n ipxeScriptUrl: \"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n alwaysPxe: false,\n userData: userData,\n customData: customData,\n behavior: {\n allowChanges: [\n \"custom_data\",\n \"user_data\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\npxe1 = equinix.metal.Device(\"pxe1\",\n hostname=\"tf.coreos2-pxe\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.CUSTOM_IPXE,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n ipxe_script_url=\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n always_pxe=False,\n user_data=user_data,\n custom_data=custom_data,\n behavior={\n \"allow_changes\": [\n \"custom_data\",\n \"user_data\",\n ],\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewDevice(ctx, \"pxe1\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"tf.coreos2-pxe\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystemCustomIPXE),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tIpxeScriptUrl: pulumi.String(\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\"),\n\t\t\tAlwaysPxe: pulumi.Bool(false),\n\t\t\tUserData: pulumi.Any(userData),\n\t\t\tCustomData: pulumi.Any(customData),\n\t\t\tBehavior: \u0026metal.DeviceBehaviorArgs{\n\t\t\t\tAllowChanges: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"custom_data\"),\n\t\t\t\t\tpulumi.String(\"user_data\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pxe1 = new Equinix.Metal.Device(\"pxe1\", new()\n {\n Hostname = \"tf.coreos2-pxe\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.CustomIPXE,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n IpxeScriptUrl = \"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\",\n AlwaysPxe = false,\n UserData = userData,\n CustomData = customData,\n Behavior = new Equinix.Metal.Inputs.DeviceBehaviorArgs\n {\n AllowChanges = new[]\n {\n \"custom_data\",\n \"user_data\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.equinix.metal.inputs.DeviceBehaviorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var pxe1 = new Device(\"pxe1\", DeviceArgs.builder()\n .hostname(\"tf.coreos2-pxe\")\n .plan(\"c3.small.x86\")\n .metro(\"sv\")\n .operatingSystem(\"custom_ipxe\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .ipxeScriptUrl(\"https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\")\n .alwaysPxe(\"false\")\n .userData(userData)\n .customData(customData)\n .behavior(DeviceBehaviorArgs.builder()\n .allowChanges( \n \"custom_data\",\n \"user_data\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pxe1:\n type: equinix:metal:Device\n properties:\n hostname: tf.coreos2-pxe\n plan: c3.small.x86\n metro: sv\n operatingSystem: custom_ipxe\n billingCycle: hourly\n projectId: ${projectId}\n ipxeScriptUrl: https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe\n alwaysPxe: 'false'\n userData: ${userData}\n customData: ${customData}\n behavior:\n allowChanges:\n - custom_data\n - user_data\n```\n{{% /example %}}\n\n{{% /examples %}}", "properties": { "accessPrivateIpv4": { "type": "string", @@ -14974,7 +14974,7 @@ } }, "equinix:metal/interconnection:Interconnection": { - "description": "Use this resource to request the creation an Interconnection asset to connect with other parties using [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/).\n\n\u003e Equinix Metal connection with with Service Token A-side / Z-side (service_token_type) is not generally available and may not be enabled yet for your organization.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example fabric billed token\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst config = new pulumi.Config();\nconst projectId = config.require(\"projectId\");\nconst metro = config.get(\"metro\") || \"SV\";\nconst speedInMbps = config.getNumber(\"speedInMbps\") || 200;\nconst connection = new equinix.metal.Interconnection(\"connection\", {\n name: \"fabric-port-to-metal\",\n projectId: projectId,\n type: \"shared\",\n redundancy: \"primary\",\n metro: metro,\n speed: `${speedInMbps}Mbps`,\n serviceTokenType: \"z_side\",\n});\nexport const connectionStatus = connection.status;\nexport const connectionTokens = connection.serviceTokens;\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nconfig = pulumi.Config()\nproject_id = config.require(\"projectId\")\nmetro = config.get(\"metro\")\nif metro is None:\n metro = \"SV\"\nspeed_in_mbps = config.get_int(\"speedInMbps\")\nif speed_in_mbps is None:\n speed_in_mbps = 200\nconnection = equinix.metal.Interconnection(\"connection\",\n name=\"fabric-port-to-metal\",\n project_id=project_id,\n type=\"shared\",\n redundancy=\"primary\",\n metro=metro,\n speed=f\"{speed_in_mbps}Mbps\",\n service_token_type=\"z_side\")\npulumi.export(\"connectionStatus\", connection.status)\npulumi.export(\"connectionTokens\", connection.service_tokens)\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprojectId := cfg.Require(\"projectId\")\n\t\tmetro := \"SV\"\n\t\tif param := cfg.Get(\"metro\"); param != \"\" {\n\t\t\tmetro = param\n\t\t}\n\t\tspeedInMbps := 200\n\t\tif param := cfg.GetInt(\"speedInMbps\"); param != 0 {\n\t\t\tspeedInMbps = param\n\t\t}\n\t\tconnection, err := metal.NewInterconnection(ctx, \"connection\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"fabric-port-to-metal\"),\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t\tType: pulumi.String(\"shared\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tMetro: pulumi.String(metro),\n\t\t\tSpeed: pulumi.String(fmt.Sprintf(\"%vMbps\", speedInMbps)),\n\t\t\tServiceTokenType: pulumi.String(\"z_side\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"connectionStatus\", connection.Status)\n\t\tctx.Export(\"connectionTokens\", connection.ServiceTokens)\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var projectId = config.Require(\"projectId\");\n var metro = config.Get(\"metro\") ?? \"SV\";\n var speedInMbps = config.GetInt32(\"speedInMbps\") ?? 200;\n var connection = new Equinix.Metal.Interconnection(\"connection\", new()\n {\n Name = \"fabric-port-to-metal\",\n ProjectId = projectId,\n Type = \"shared\",\n Redundancy = \"primary\",\n Metro = metro,\n Speed = $\"{speedInMbps}Mbps\",\n ServiceTokenType = \"z_side\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"connectionStatus\"] = connection.Status,\n [\"connectionTokens\"] = connection.ServiceTokens,\n };\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Interconnection;\nimport com.pulumi.equinix.metal.InterconnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var projectId = config.get(\"projectId\");\n final var metro = config.get(\"metro\").orElse(\"SV\");\n final var speedInMbps = config.get(\"speedInMbps\").orElse(200);\n var connection = new Interconnection(\"connection\", InterconnectionArgs.builder()\n .name(\"fabric-port-to-metal\")\n .projectId(projectId)\n .type(\"shared\")\n .redundancy(\"primary\")\n .metro(metro)\n .speed(String.format(\"%sMbps\", speedInMbps))\n .serviceTokenType(\"z_side\")\n .build());\n\n ctx.export(\"connectionStatus\", connection.status());\n ctx.export(\"connectionTokens\", connection.serviceTokens());\n }\n}\n```\n```yaml\nconfig:\n projectId:\n type: string\n metro:\n type: string\n default: SV\n speedInMbps:\n type: integer\n default: 200\nresources:\n connection:\n type: equinix:metal:Interconnection\n properties:\n name: fabric-port-to-metal\n projectId: ${projectId}\n type: shared\n redundancy: primary\n metro: ${metro}\n speed: ${speedInMbps}Mbps\n serviceTokenType: z_side\noutputs:\n connectionStatus: ${connection.status}\n connectionTokens: ${connection.serviceTokens}\n```\n{{% /example %}}\n\n{{% example %}}\n### example metal billed token\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst config = new pulumi.Config();\nconst projectId = config.require(\"projectId\");\nconst metro = config.get(\"metro\") || \"SV\";\nconst speedInMbps = config.getNumber(\"speedInMbps\") || 1000;\nconst connection = new equinix.metal.Interconnection(\"connection\", {\n name: \"metal-to-cloudprovider\",\n projectId: projectId,\n type: \"shared\",\n redundancy: \"primary\",\n metro: metro,\n speed: `${speedInMbps}Mbps`,\n serviceTokenType: \"a_side\",\n});\nexport const connectionStatus = connection.status;\nexport const connectionTokens = connection.serviceTokens;\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nconfig = pulumi.Config()\nproject_id = config.require(\"projectId\")\nmetro = config.get(\"metro\")\nif metro is None:\n metro = \"SV\"\nspeed_in_mbps = config.get_int(\"speedInMbps\")\nif speed_in_mbps is None:\n speed_in_mbps = 1000\nconnection = equinix.metal.Interconnection(\"connection\",\n name=\"metal-to-cloudprovider\",\n project_id=project_id,\n type=\"shared\",\n redundancy=\"primary\",\n metro=metro,\n speed=f\"{speed_in_mbps}Mbps\",\n service_token_type=\"a_side\")\npulumi.export(\"connectionStatus\", connection.status)\npulumi.export(\"connectionTokens\", connection.service_tokens)\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprojectId := cfg.Require(\"projectId\")\n\t\tmetro := \"SV\"\n\t\tif param := cfg.Get(\"metro\"); param != \"\" {\n\t\t\tmetro = param\n\t\t}\n\t\tspeedInMbps := 1000\n\t\tif param := cfg.GetInt(\"speedInMbps\"); param != 0 {\n\t\t\tspeedInMbps = param\n\t\t}\n\t\tconnection, err := metal.NewInterconnection(ctx, \"connection\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"metal-to-cloudprovider\"),\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t\tType: pulumi.String(\"shared\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tMetro: pulumi.String(metro),\n\t\t\tSpeed: pulumi.String(fmt.Sprintf(\"%vMbps\", speedInMbps)),\n\t\t\tServiceTokenType: pulumi.String(\"a_side\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"connectionStatus\", connection.Status)\n\t\tctx.Export(\"connectionTokens\", connection.ServiceTokens)\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var projectId = config.Require(\"projectId\");\n var metro = config.Get(\"metro\") ?? \"SV\";\n var speedInMbps = config.GetInt32(\"speedInMbps\") ?? 1000;\n var connection = new Equinix.Metal.Interconnection(\"connection\", new()\n {\n Name = \"metal-to-cloudprovider\",\n ProjectId = projectId,\n Type = \"shared\",\n Redundancy = \"primary\",\n Metro = metro,\n Speed = $\"{speedInMbps}Mbps\",\n ServiceTokenType = \"a_side\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"connectionStatus\"] = connection.Status,\n [\"connectionTokens\"] = connection.ServiceTokens,\n };\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Interconnection;\nimport com.pulumi.equinix.metal.InterconnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var projectId = config.get(\"projectId\");\n final var metro = config.get(\"metro\").orElse(\"SV\");\n final var speedInMbps = config.get(\"speedInMbps\").orElse(1000);\n var connection = new Interconnection(\"connection\", InterconnectionArgs.builder()\n .name(\"metal-to-cloudprovider\")\n .projectId(projectId)\n .type(\"shared\")\n .redundancy(\"primary\")\n .metro(metro)\n .speed(String.format(\"%sMbps\", speedInMbps))\n .serviceTokenType(\"a_side\")\n .build());\n\n ctx.export(\"connectionStatus\", connection.status());\n ctx.export(\"connectionTokens\", connection.serviceTokens());\n }\n}\n```\n```yaml\nconfig:\n projectId:\n type: string\n metro:\n type: string\n default: SV\n speedInMbps:\n type: integer\n default: 1000\nresources:\n connection:\n type: equinix:metal:Interconnection\n properties:\n name: metal-to-cloudprovider\n projectId: ${projectId}\n type: shared\n redundancy: primary\n metro: ${metro}\n speed: ${speedInMbps}Mbps\n serviceTokenType: a_side\noutputs:\n connectionStatus: ${connection.status}\n connectionTokens: ${connection.serviceTokens}\n```\n{{% /example %}}\n\n{{% example %}}\n### example shared metal fabric connection from fcr\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst example1 = new equinix.metal.Vlan(\"example1\", {\n projectId: myProjectId,\n metro: \"SV\",\n});\nconst example = new equinix.metal.Interconnection(\"example\", {\n name: \"tf-port-to-metal-legacy\",\n projectId: myProjectId,\n metro: \"SV\",\n redundancy: \"primary\",\n type: \"shared_port_vlan\",\n contactEmail: \"username@example.com\",\n vlans: [example1.vxlan],\n});\nconst exampleConnection = new equinix.fabric.Connection(\"exampleConnection\", {\n name: \"tf-NIMF-metal-2-aws-legacy\",\n type: \"IP_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: \"sername@example.com\",\n }],\n project: {\n projectId: fabricProjectId,\n },\n bandwidth: 200,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: cloudRouterUuid,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: \"METAL_NETWORK\",\n authenticationKey: example.authorizationCode,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample1 = equinix.metal.Vlan(\"example1\",\n project_id=my_project_id,\n metro=\"SV\")\nexample = equinix.metal.Interconnection(\"example\",\n name=\"tf-port-to-metal-legacy\",\n project_id=my_project_id,\n metro=\"SV\",\n redundancy=\"primary\",\n type=\"shared_port_vlan\",\n contact_email=\"username@example.com\",\n vlans=[example1.vxlan])\nexample_connection = equinix.fabric.Connection(\"exampleConnection\",\n name=\"tf-NIMF-metal-2-aws-legacy\",\n type=\"IP_VC\",\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=\"sername@example.com\",\n )],\n project=equinix.fabric.ConnectionProjectArgs(\n project_id=fabric_project_id,\n ),\n bandwidth=200,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=\"CLOUD_ROUTER\",\n router=equinix.fabric.ConnectionASideAccessPointRouterArgs(\n uuid=cloud_router_uuid,\n ),\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=\"METAL_NETWORK\",\n authentication_key=example.authorization_code,\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample1, err := metal.NewVlan(ctx, \"example1\", \u0026metal.VlanArgs{\n\t\t\tProjectId: pulumi.Any(myProjectId),\n\t\t\tMetro: pulumi.String(\"SV\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := metal.NewInterconnection(ctx, \"example\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"tf-port-to-metal-legacy\"),\n\t\t\tProjectId: pulumi.Any(myProjectId),\n\t\t\tMetro: pulumi.String(\"SV\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tType: pulumi.String(\"shared_port_vlan\"),\n\t\t\tContactEmail: pulumi.String(\"username@example.com\"),\n\t\t\tVlans: pulumi.IntArray{\n\t\t\t\texample1.Vxlan,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewConnection(ctx, \"exampleConnection\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-NIMF-metal-2-aws-legacy\"),\n\t\t\tType: pulumi.String(\"IP_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray(\"sername@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProject: \u0026fabric.ConnectionProjectArgs{\n\t\t\t\tProjectId: pulumi.Any(fabricProjectId),\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(200),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.Any(cloudRouterUuid),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"METAL_NETWORK\"),\n\t\t\t\t\tAuthenticationKey: example.AuthorizationCode,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example1 = new Equinix.Metal.Vlan(\"example1\", new()\n {\n ProjectId = myProjectId,\n Metro = \"SV\",\n });\n\n var example = new Equinix.Metal.Interconnection(\"example\", new()\n {\n Name = \"tf-port-to-metal-legacy\",\n ProjectId = myProjectId,\n Metro = \"SV\",\n Redundancy = \"primary\",\n Type = \"shared_port_vlan\",\n ContactEmail = \"username@example.com\",\n Vlans = new[]\n {\n example1.Vxlan,\n },\n });\n\n var exampleConnection = new Equinix.Fabric.Connection(\"exampleConnection\", new()\n {\n Name = \"tf-NIMF-metal-2-aws-legacy\",\n Type = \"IP_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = \"sername@example.com\",\n },\n },\n Project = new Equinix.Fabric.Inputs.ConnectionProjectArgs\n {\n ProjectId = fabricProjectId,\n },\n Bandwidth = 200,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = cloudRouterUuid,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = \"METAL_NETWORK\",\n AuthenticationKey = example.AuthorizationCode,\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Vlan;\nimport com.pulumi.equinix.metal.VlanArgs;\nimport com.pulumi.equinix.metal.Interconnection;\nimport com.pulumi.equinix.metal.InterconnectionArgs;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionProjectArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example1 = new Vlan(\"example1\", VlanArgs.builder()\n .projectId(myProjectId)\n .metro(\"SV\")\n .build());\n\n var example = new Interconnection(\"example\", InterconnectionArgs.builder()\n .name(\"tf-port-to-metal-legacy\")\n .projectId(myProjectId)\n .metro(\"SV\")\n .redundancy(\"primary\")\n .type(\"shared_port_vlan\")\n .contactEmail(\"username@example.com\")\n .vlans(example1.vxlan())\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"tf-NIMF-metal-2-aws-legacy\")\n .type(\"IP_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails(\"sername@example.com\")\n .build())\n .project(ConnectionProjectArgs.builder()\n .projectId(fabricProjectId)\n .build())\n .bandwidth(\"200\")\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(cloudRouterUuid)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"METAL_NETWORK\")\n .authenticationKey(example.authorizationCode())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: equinix:metal:Vlan\n properties:\n projectId: ${myProjectId}\n metro: SV\n example:\n type: equinix:metal:Interconnection\n properties:\n name: tf-port-to-metal-legacy\n projectId: ${myProjectId}\n metro: SV\n redundancy: primary\n type: shared_port_vlan\n contactEmail: username@example.com\n vlans:\n - ${example1.vxlan}\n exampleConnection:\n type: equinix:fabric:Connection\n name: example\n properties:\n name: tf-NIMF-metal-2-aws-legacy\n type: IP_VC\n notifications:\n - type: ALL\n emails: sername@example.com\n project:\n projectId: ${fabricProjectId}\n bandwidth: '200'\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: ${cloudRouterUuid}\n zSide:\n accessPoint:\n type: METAL_NETWORK\n authenticationKey: ${example.authorizationCode}\n```\n{{% /example %}}\n\n{{% example %}}\n### example shared metal fabric connection to csp\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst zside = equinix.fabric.getServiceProfilesOutput({\n filter: {\n property: \"/name\",\n operator: \"=\",\n values: [\"AWS Direct Connect\"],\n },\n});\nconst example1 = new equinix.metal.Vlan(\"example1\", {\n projectId: myProjectId,\n metro: \"SV\",\n});\nconst example = new equinix.metal.Interconnection(\"example\", {\n name: \"tf-port-to-metal-legacy\",\n projectId: myProjectId,\n metro: \"SV\",\n redundancy: \"primary\",\n type: \"shared_port_vlan\",\n contactEmail: \"username@example.com\",\n vlans: [example1.vxlan],\n});\nconst exampleConnection = new equinix.fabric.Connection(\"exampleConnection\", {\n name: \"tf-NIMF-metal-2-aws-legacy\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: \"sername@example.com\",\n }],\n project: {\n projectId: fabricProjectId,\n },\n bandwidth: 200,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"METAL_NETWORK\",\n authenticationKey: example.authorizationCode,\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: awsAccountId,\n sellerRegion: \"us-west-1\",\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: zside.apply(zside =\u003e zside.id),\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nzside = equinix.fabric.get_service_profiles_output(filter=equinix.fabric.GetServiceProfilesFilterArgs(\n property=\"/name\",\n operator=\"=\",\n values=[\"AWS Direct Connect\"],\n))\nexample1 = equinix.metal.Vlan(\"example1\",\n project_id=my_project_id,\n metro=\"SV\")\nexample = equinix.metal.Interconnection(\"example\",\n name=\"tf-port-to-metal-legacy\",\n project_id=my_project_id,\n metro=\"SV\",\n redundancy=\"primary\",\n type=\"shared_port_vlan\",\n contact_email=\"username@example.com\",\n vlans=[example1.vxlan])\nexample_connection = equinix.fabric.Connection(\"exampleConnection\",\n name=\"tf-NIMF-metal-2-aws-legacy\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[equinix.fabric.ConnectionNotificationArgs(\n type=equinix.fabric.NotificationsType.ALL,\n emails=\"sername@example.com\",\n )],\n project=equinix.fabric.ConnectionProjectArgs(\n project_id=fabric_project_id,\n ),\n bandwidth=200,\n order=equinix.fabric.ConnectionOrderArgs(\n purchase_order_number=\"1-323292\",\n ),\n a_side=equinix.fabric.ConnectionASideArgs(\n access_point=equinix.fabric.ConnectionASideAccessPointArgs(\n type=\"METAL_NETWORK\",\n authentication_key=example.authorization_code,\n ),\n ),\n z_side=equinix.fabric.ConnectionZSideArgs(\n access_point=equinix.fabric.ConnectionZSideAccessPointArgs(\n type=equinix.fabric.AccessPointType.SP,\n authentication_key=aws_account_id,\n seller_region=\"us-west-1\",\n profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs(\n type=equinix.fabric.ProfileType.L2_PROFILE,\n uuid=zside.id,\n ),\n location=equinix.fabric.ConnectionZSideAccessPointLocationArgs(\n metro_code=equinix.Metro.SILICON_VALLEY,\n ),\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzside, err := fabric.GetServiceProfiles(ctx, \u0026fabric.GetServiceProfilesArgs{\n\t\t\tFilter: fabric.GetServiceProfilesFilter{\n\t\t\t\tProperty: \"/name\",\n\t\t\t\tOperator: \"=\",\n\t\t\t\tValues: []string{\n\t\t\t\t\t\"AWS Direct Connect\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := metal.NewVlan(ctx, \"example1\", \u0026metal.VlanArgs{\n\t\t\tProjectId: pulumi.Any(myProjectId),\n\t\t\tMetro: pulumi.String(\"SV\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := metal.NewInterconnection(ctx, \"example\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"tf-port-to-metal-legacy\"),\n\t\t\tProjectId: pulumi.Any(myProjectId),\n\t\t\tMetro: pulumi.String(\"SV\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tType: pulumi.String(\"shared_port_vlan\"),\n\t\t\tContactEmail: pulumi.String(\"username@example.com\"),\n\t\t\tVlans: pulumi.IntArray{\n\t\t\t\texample1.Vxlan,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewConnection(ctx, \"exampleConnection\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-NIMF-metal-2-aws-legacy\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray(\"sername@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProject: \u0026fabric.ConnectionProjectArgs{\n\t\t\t\tProjectId: pulumi.Any(fabricProjectId),\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(200),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"METAL_NETWORK\"),\n\t\t\t\t\tAuthenticationKey: example.AuthorizationCode,\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.Any(awsAccountId),\n\t\t\t\t\tSellerRegion: pulumi.String(\"us-west-1\"),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(zside.Id),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zside = Equinix.Fabric.GetServiceProfiles.Invoke(new()\n {\n Filter = new Equinix.Fabric.Inputs.GetServiceProfilesFilterInputArgs\n {\n Property = \"/name\",\n Operator = \"=\",\n Values = new[]\n {\n \"AWS Direct Connect\",\n },\n },\n });\n\n var example1 = new Equinix.Metal.Vlan(\"example1\", new()\n {\n ProjectId = myProjectId,\n Metro = \"SV\",\n });\n\n var example = new Equinix.Metal.Interconnection(\"example\", new()\n {\n Name = \"tf-port-to-metal-legacy\",\n ProjectId = myProjectId,\n Metro = \"SV\",\n Redundancy = \"primary\",\n Type = \"shared_port_vlan\",\n ContactEmail = \"username@example.com\",\n Vlans = new[]\n {\n example1.Vxlan,\n },\n });\n\n var exampleConnection = new Equinix.Fabric.Connection(\"exampleConnection\", new()\n {\n Name = \"tf-NIMF-metal-2-aws-legacy\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = \"sername@example.com\",\n },\n },\n Project = new Equinix.Fabric.Inputs.ConnectionProjectArgs\n {\n ProjectId = fabricProjectId,\n },\n Bandwidth = 200,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"METAL_NETWORK\",\n AuthenticationKey = example.AuthorizationCode,\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = awsAccountId,\n SellerRegion = \"us-west-1\",\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = zside.Apply(getServiceProfilesResult =\u003e getServiceProfilesResult.Id),\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.FabricFunctions;\nimport com.pulumi.equinix.fabric.inputs.GetServiceProfilesArgs;\nimport com.pulumi.equinix.fabric.inputs.GetServiceProfilesFilterArgs;\nimport com.pulumi.equinix.metal.Vlan;\nimport com.pulumi.equinix.metal.VlanArgs;\nimport com.pulumi.equinix.metal.Interconnection;\nimport com.pulumi.equinix.metal.InterconnectionArgs;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionProjectArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var zside = FabricFunctions.getServiceProfiles(GetServiceProfilesArgs.builder()\n .filter(GetServiceProfilesFilterArgs.builder()\n .property(\"/name\")\n .operator(\"=\")\n .values(\"AWS Direct Connect\")\n .build())\n .build());\n\n var example1 = new Vlan(\"example1\", VlanArgs.builder()\n .projectId(myProjectId)\n .metro(\"SV\")\n .build());\n\n var example = new Interconnection(\"example\", InterconnectionArgs.builder()\n .name(\"tf-port-to-metal-legacy\")\n .projectId(myProjectId)\n .metro(\"SV\")\n .redundancy(\"primary\")\n .type(\"shared_port_vlan\")\n .contactEmail(\"username@example.com\")\n .vlans(example1.vxlan())\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"tf-NIMF-metal-2-aws-legacy\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails(\"sername@example.com\")\n .build())\n .project(ConnectionProjectArgs.builder()\n .projectId(fabricProjectId)\n .build())\n .bandwidth(\"200\")\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"METAL_NETWORK\")\n .authenticationKey(example.authorizationCode())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(awsAccountId)\n .sellerRegion(\"us-west-1\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(zside.applyValue(getServiceProfilesResult -\u003e getServiceProfilesResult.id()))\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: equinix:metal:Vlan\n properties:\n projectId: ${myProjectId}\n metro: SV\n example:\n type: equinix:metal:Interconnection\n properties:\n name: tf-port-to-metal-legacy\n projectId: ${myProjectId}\n metro: SV\n redundancy: primary\n type: shared_port_vlan\n contactEmail: username@example.com\n vlans:\n - ${example1.vxlan}\n exampleConnection:\n type: equinix:fabric:Connection\n name: example\n properties:\n name: tf-NIMF-metal-2-aws-legacy\n type: EVPL_VC\n notifications:\n - type: ALL\n emails: sername@example.com\n project:\n projectId: ${fabricProjectId}\n bandwidth: '200'\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: METAL_NETWORK\n authenticationKey: ${example.authorizationCode}\n zSide:\n accessPoint:\n type: SP\n authenticationKey: ${awsAccountId}\n sellerRegion: us-west-1\n profile:\n type: L2_PROFILE\n uuid: ${zside.id}\n location:\n metroCode: SV\nvariables:\n zside:\n fn::invoke:\n Function: equinix:fabric:getServiceProfiles\n Arguments:\n filter:\n property: /name\n operator: =\n values:\n - AWS Direct Connect\n```\n{{% /example %}}\n\n{{% /examples %}}", + "description": "Use this resource to request the creation an Interconnection asset to connect with other parties using [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/).\n\n\u003e Equinix Metal connection with with Service Token A-side / Z-side (service_token_type) is not generally available and may not be enabled yet for your organization.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example fabric billed token\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst config = new pulumi.Config();\nconst projectId = config.require(\"projectId\");\nconst metro = config.get(\"metro\") || \"SV\";\nconst speedInMbps = config.getNumber(\"speedInMbps\") || 200;\nconst connection = new equinix.metal.Interconnection(\"connection\", {\n name: \"fabric-port-to-metal\",\n projectId: projectId,\n type: \"shared\",\n redundancy: \"primary\",\n metro: metro,\n speed: `${speedInMbps}Mbps`,\n serviceTokenType: \"z_side\",\n});\nexport const connectionStatus = connection.status;\nexport const connectionTokens = connection.serviceTokens;\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nconfig = pulumi.Config()\nproject_id = config.require(\"projectId\")\nmetro = config.get(\"metro\")\nif metro is None:\n metro = \"SV\"\nspeed_in_mbps = config.get_int(\"speedInMbps\")\nif speed_in_mbps is None:\n speed_in_mbps = 200\nconnection = equinix.metal.Interconnection(\"connection\",\n name=\"fabric-port-to-metal\",\n project_id=project_id,\n type=\"shared\",\n redundancy=\"primary\",\n metro=metro,\n speed=f\"{speed_in_mbps}Mbps\",\n service_token_type=\"z_side\")\npulumi.export(\"connectionStatus\", connection.status)\npulumi.export(\"connectionTokens\", connection.service_tokens)\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprojectId := cfg.Require(\"projectId\")\n\t\tmetro := \"SV\"\n\t\tif param := cfg.Get(\"metro\"); param != \"\" {\n\t\t\tmetro = param\n\t\t}\n\t\tspeedInMbps := 200\n\t\tif param := cfg.GetInt(\"speedInMbps\"); param != 0 {\n\t\t\tspeedInMbps = param\n\t\t}\n\t\tconnection, err := metal.NewInterconnection(ctx, \"connection\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"fabric-port-to-metal\"),\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t\tType: pulumi.String(\"shared\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tMetro: pulumi.String(metro),\n\t\t\tSpeed: pulumi.Sprintf(\"%vMbps\", speedInMbps),\n\t\t\tServiceTokenType: pulumi.String(\"z_side\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"connectionStatus\", connection.Status)\n\t\tctx.Export(\"connectionTokens\", connection.ServiceTokens)\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var projectId = config.Require(\"projectId\");\n var metro = config.Get(\"metro\") ?? \"SV\";\n var speedInMbps = config.GetInt32(\"speedInMbps\") ?? 200;\n var connection = new Equinix.Metal.Interconnection(\"connection\", new()\n {\n Name = \"fabric-port-to-metal\",\n ProjectId = projectId,\n Type = \"shared\",\n Redundancy = \"primary\",\n Metro = metro,\n Speed = $\"{speedInMbps}Mbps\",\n ServiceTokenType = \"z_side\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"connectionStatus\"] = connection.Status,\n [\"connectionTokens\"] = connection.ServiceTokens,\n };\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Interconnection;\nimport com.pulumi.equinix.metal.InterconnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var projectId = config.get(\"projectId\");\n final var metro = config.get(\"metro\").orElse(\"SV\");\n final var speedInMbps = config.get(\"speedInMbps\").orElse(200);\n var connection = new Interconnection(\"connection\", InterconnectionArgs.builder()\n .name(\"fabric-port-to-metal\")\n .projectId(projectId)\n .type(\"shared\")\n .redundancy(\"primary\")\n .metro(metro)\n .speed(String.format(\"%sMbps\", speedInMbps))\n .serviceTokenType(\"z_side\")\n .build());\n\n ctx.export(\"connectionStatus\", connection.status());\n ctx.export(\"connectionTokens\", connection.serviceTokens());\n }\n}\n```\n```yaml\nconfig:\n projectId:\n type: string\n metro:\n type: string\n default: SV\n speedInMbps:\n type: integer\n default: 200\nresources:\n connection:\n type: equinix:metal:Interconnection\n properties:\n name: fabric-port-to-metal\n projectId: ${projectId}\n type: shared\n redundancy: primary\n metro: ${metro}\n speed: ${speedInMbps}Mbps\n serviceTokenType: z_side\noutputs:\n connectionStatus: ${connection.status}\n connectionTokens: ${connection.serviceTokens}\n```\n{{% /example %}}\n\n{{% example %}}\n### example metal billed token\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst config = new pulumi.Config();\nconst projectId = config.require(\"projectId\");\nconst metro = config.get(\"metro\") || \"SV\";\nconst speedInMbps = config.getNumber(\"speedInMbps\") || 1000;\nconst connection = new equinix.metal.Interconnection(\"connection\", {\n name: \"metal-to-cloudprovider\",\n projectId: projectId,\n type: \"shared\",\n redundancy: \"primary\",\n metro: metro,\n speed: `${speedInMbps}Mbps`,\n serviceTokenType: \"a_side\",\n});\nexport const connectionStatus = connection.status;\nexport const connectionTokens = connection.serviceTokens;\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nconfig = pulumi.Config()\nproject_id = config.require(\"projectId\")\nmetro = config.get(\"metro\")\nif metro is None:\n metro = \"SV\"\nspeed_in_mbps = config.get_int(\"speedInMbps\")\nif speed_in_mbps is None:\n speed_in_mbps = 1000\nconnection = equinix.metal.Interconnection(\"connection\",\n name=\"metal-to-cloudprovider\",\n project_id=project_id,\n type=\"shared\",\n redundancy=\"primary\",\n metro=metro,\n speed=f\"{speed_in_mbps}Mbps\",\n service_token_type=\"a_side\")\npulumi.export(\"connectionStatus\", connection.status)\npulumi.export(\"connectionTokens\", connection.service_tokens)\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprojectId := cfg.Require(\"projectId\")\n\t\tmetro := \"SV\"\n\t\tif param := cfg.Get(\"metro\"); param != \"\" {\n\t\t\tmetro = param\n\t\t}\n\t\tspeedInMbps := 1000\n\t\tif param := cfg.GetInt(\"speedInMbps\"); param != 0 {\n\t\t\tspeedInMbps = param\n\t\t}\n\t\tconnection, err := metal.NewInterconnection(ctx, \"connection\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"metal-to-cloudprovider\"),\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t\tType: pulumi.String(\"shared\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tMetro: pulumi.String(metro),\n\t\t\tSpeed: pulumi.Sprintf(\"%vMbps\", speedInMbps),\n\t\t\tServiceTokenType: pulumi.String(\"a_side\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"connectionStatus\", connection.Status)\n\t\tctx.Export(\"connectionTokens\", connection.ServiceTokens)\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var projectId = config.Require(\"projectId\");\n var metro = config.Get(\"metro\") ?? \"SV\";\n var speedInMbps = config.GetInt32(\"speedInMbps\") ?? 1000;\n var connection = new Equinix.Metal.Interconnection(\"connection\", new()\n {\n Name = \"metal-to-cloudprovider\",\n ProjectId = projectId,\n Type = \"shared\",\n Redundancy = \"primary\",\n Metro = metro,\n Speed = $\"{speedInMbps}Mbps\",\n ServiceTokenType = \"a_side\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"connectionStatus\"] = connection.Status,\n [\"connectionTokens\"] = connection.ServiceTokens,\n };\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Interconnection;\nimport com.pulumi.equinix.metal.InterconnectionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var projectId = config.get(\"projectId\");\n final var metro = config.get(\"metro\").orElse(\"SV\");\n final var speedInMbps = config.get(\"speedInMbps\").orElse(1000);\n var connection = new Interconnection(\"connection\", InterconnectionArgs.builder()\n .name(\"metal-to-cloudprovider\")\n .projectId(projectId)\n .type(\"shared\")\n .redundancy(\"primary\")\n .metro(metro)\n .speed(String.format(\"%sMbps\", speedInMbps))\n .serviceTokenType(\"a_side\")\n .build());\n\n ctx.export(\"connectionStatus\", connection.status());\n ctx.export(\"connectionTokens\", connection.serviceTokens());\n }\n}\n```\n```yaml\nconfig:\n projectId:\n type: string\n metro:\n type: string\n default: SV\n speedInMbps:\n type: integer\n default: 1000\nresources:\n connection:\n type: equinix:metal:Interconnection\n properties:\n name: metal-to-cloudprovider\n projectId: ${projectId}\n type: shared\n redundancy: primary\n metro: ${metro}\n speed: ${speedInMbps}Mbps\n serviceTokenType: a_side\noutputs:\n connectionStatus: ${connection.status}\n connectionTokens: ${connection.serviceTokens}\n```\n{{% /example %}}\n\n{{% example %}}\n### example shared metal fabric connection from fcr\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst example1 = new equinix.metal.Vlan(\"example1\", {\n projectId: myProjectId,\n metro: \"SV\",\n});\nconst example = new equinix.metal.Interconnection(\"example\", {\n name: \"tf-port-to-metal-legacy\",\n projectId: myProjectId,\n metro: \"SV\",\n redundancy: \"primary\",\n type: \"shared_port_vlan\",\n contactEmail: \"username@example.com\",\n vlans: [example1.vxlan],\n});\nconst exampleConnection = new equinix.fabric.Connection(\"exampleConnection\", {\n name: \"tf-NIMF-metal-2-aws-legacy\",\n type: \"IP_VC\",\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: \"sername@example.com\",\n }],\n project: {\n projectId: fabricProjectId,\n },\n bandwidth: 200,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"CLOUD_ROUTER\",\n router: {\n uuid: cloudRouterUuid,\n },\n },\n },\n zSide: {\n accessPoint: {\n type: \"METAL_NETWORK\",\n authenticationKey: example.authorizationCode,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample1 = equinix.metal.Vlan(\"example1\",\n project_id=my_project_id,\n metro=\"SV\")\nexample = equinix.metal.Interconnection(\"example\",\n name=\"tf-port-to-metal-legacy\",\n project_id=my_project_id,\n metro=\"SV\",\n redundancy=\"primary\",\n type=\"shared_port_vlan\",\n contact_email=\"username@example.com\",\n vlans=[example1.vxlan])\nexample_connection = equinix.fabric.Connection(\"exampleConnection\",\n name=\"tf-NIMF-metal-2-aws-legacy\",\n type=\"IP_VC\",\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": \"sername@example.com\",\n }],\n project={\n \"project_id\": fabric_project_id,\n },\n bandwidth=200,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": \"CLOUD_ROUTER\",\n \"router\": {\n \"uuid\": cloud_router_uuid,\n },\n },\n },\n z_side={\n \"access_point\": {\n \"type\": \"METAL_NETWORK\",\n \"authentication_key\": example.authorization_code,\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample1, err := metal.NewVlan(ctx, \"example1\", \u0026metal.VlanArgs{\n\t\t\tProjectId: pulumi.Any(myProjectId),\n\t\t\tMetro: pulumi.String(\"SV\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := metal.NewInterconnection(ctx, \"example\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"tf-port-to-metal-legacy\"),\n\t\t\tProjectId: pulumi.Any(myProjectId),\n\t\t\tMetro: pulumi.String(\"SV\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tType: pulumi.String(\"shared_port_vlan\"),\n\t\t\tContactEmail: pulumi.String(\"username@example.com\"),\n\t\t\tVlans: pulumi.IntArray{\n\t\t\t\texample1.Vxlan,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewConnection(ctx, \"exampleConnection\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-NIMF-metal-2-aws-legacy\"),\n\t\t\tType: pulumi.String(\"IP_VC\"),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray(\"sername@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProject: \u0026fabric.ConnectionProjectArgs{\n\t\t\t\tProjectId: pulumi.Any(fabricProjectId),\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(200),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"CLOUD_ROUTER\"),\n\t\t\t\t\tRouter: \u0026fabric.ConnectionASideAccessPointRouterArgs{\n\t\t\t\t\t\tUuid: pulumi.Any(cloudRouterUuid),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"METAL_NETWORK\"),\n\t\t\t\t\tAuthenticationKey: example.AuthorizationCode,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example1 = new Equinix.Metal.Vlan(\"example1\", new()\n {\n ProjectId = myProjectId,\n Metro = \"SV\",\n });\n\n var example = new Equinix.Metal.Interconnection(\"example\", new()\n {\n Name = \"tf-port-to-metal-legacy\",\n ProjectId = myProjectId,\n Metro = \"SV\",\n Redundancy = \"primary\",\n Type = \"shared_port_vlan\",\n ContactEmail = \"username@example.com\",\n Vlans = new[]\n {\n example1.Vxlan,\n },\n });\n\n var exampleConnection = new Equinix.Fabric.Connection(\"exampleConnection\", new()\n {\n Name = \"tf-NIMF-metal-2-aws-legacy\",\n Type = \"IP_VC\",\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = \"sername@example.com\",\n },\n },\n Project = new Equinix.Fabric.Inputs.ConnectionProjectArgs\n {\n ProjectId = fabricProjectId,\n },\n Bandwidth = 200,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"CLOUD_ROUTER\",\n Router = new Equinix.Fabric.Inputs.ConnectionASideAccessPointRouterArgs\n {\n Uuid = cloudRouterUuid,\n },\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = \"METAL_NETWORK\",\n AuthenticationKey = example.AuthorizationCode,\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Vlan;\nimport com.pulumi.equinix.metal.VlanArgs;\nimport com.pulumi.equinix.metal.Interconnection;\nimport com.pulumi.equinix.metal.InterconnectionArgs;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionProjectArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointRouterArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example1 = new Vlan(\"example1\", VlanArgs.builder()\n .projectId(myProjectId)\n .metro(\"SV\")\n .build());\n\n var example = new Interconnection(\"example\", InterconnectionArgs.builder()\n .name(\"tf-port-to-metal-legacy\")\n .projectId(myProjectId)\n .metro(\"SV\")\n .redundancy(\"primary\")\n .type(\"shared_port_vlan\")\n .contactEmail(\"username@example.com\")\n .vlans(example1.vxlan())\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"tf-NIMF-metal-2-aws-legacy\")\n .type(\"IP_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails(\"sername@example.com\")\n .build())\n .project(ConnectionProjectArgs.builder()\n .projectId(fabricProjectId)\n .build())\n .bandwidth(\"200\")\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"CLOUD_ROUTER\")\n .router(ConnectionASideAccessPointRouterArgs.builder()\n .uuid(cloudRouterUuid)\n .build())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"METAL_NETWORK\")\n .authenticationKey(example.authorizationCode())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: equinix:metal:Vlan\n properties:\n projectId: ${myProjectId}\n metro: SV\n example:\n type: equinix:metal:Interconnection\n properties:\n name: tf-port-to-metal-legacy\n projectId: ${myProjectId}\n metro: SV\n redundancy: primary\n type: shared_port_vlan\n contactEmail: username@example.com\n vlans:\n - ${example1.vxlan}\n exampleConnection:\n type: equinix:fabric:Connection\n name: example\n properties:\n name: tf-NIMF-metal-2-aws-legacy\n type: IP_VC\n notifications:\n - type: ALL\n emails: sername@example.com\n project:\n projectId: ${fabricProjectId}\n bandwidth: '200'\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: CLOUD_ROUTER\n router:\n uuid: ${cloudRouterUuid}\n zSide:\n accessPoint:\n type: METAL_NETWORK\n authenticationKey: ${example.authorizationCode}\n```\n{{% /example %}}\n\n{{% example %}}\n### example shared metal fabric connection to csp\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst zside = equinix.fabric.getServiceProfilesOutput({\n filter: {\n property: \"/name\",\n operator: \"=\",\n values: [\"AWS Direct Connect\"],\n },\n});\nconst example1 = new equinix.metal.Vlan(\"example1\", {\n projectId: myProjectId,\n metro: \"SV\",\n});\nconst example = new equinix.metal.Interconnection(\"example\", {\n name: \"tf-port-to-metal-legacy\",\n projectId: myProjectId,\n metro: \"SV\",\n redundancy: \"primary\",\n type: \"shared_port_vlan\",\n contactEmail: \"username@example.com\",\n vlans: [example1.vxlan],\n});\nconst exampleConnection = new equinix.fabric.Connection(\"exampleConnection\", {\n name: \"tf-NIMF-metal-2-aws-legacy\",\n type: equinix.fabric.ConnectionType.EVPL,\n notifications: [{\n type: equinix.fabric.NotificationsType.All,\n emails: \"sername@example.com\",\n }],\n project: {\n projectId: fabricProjectId,\n },\n bandwidth: 200,\n order: {\n purchaseOrderNumber: \"1-323292\",\n },\n aSide: {\n accessPoint: {\n type: \"METAL_NETWORK\",\n authenticationKey: example.authorizationCode,\n },\n },\n zSide: {\n accessPoint: {\n type: equinix.fabric.AccessPointType.SP,\n authenticationKey: awsAccountId,\n sellerRegion: \"us-west-1\",\n profile: {\n type: equinix.fabric.ProfileType.L2Profile,\n uuid: zside.apply(zside =\u003e zside.id),\n },\n location: {\n metroCode: equinix.index.Metro.SiliconValley,\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nzside = equinix.fabric.get_service_profiles_output(filter={\n \"property\": \"/name\",\n \"operator\": \"=\",\n \"values\": [\"AWS Direct Connect\"],\n})\nexample1 = equinix.metal.Vlan(\"example1\",\n project_id=my_project_id,\n metro=\"SV\")\nexample = equinix.metal.Interconnection(\"example\",\n name=\"tf-port-to-metal-legacy\",\n project_id=my_project_id,\n metro=\"SV\",\n redundancy=\"primary\",\n type=\"shared_port_vlan\",\n contact_email=\"username@example.com\",\n vlans=[example1.vxlan])\nexample_connection = equinix.fabric.Connection(\"exampleConnection\",\n name=\"tf-NIMF-metal-2-aws-legacy\",\n type=equinix.fabric.ConnectionType.EVPL,\n notifications=[{\n \"type\": equinix.fabric.NotificationsType.ALL,\n \"emails\": \"sername@example.com\",\n }],\n project={\n \"project_id\": fabric_project_id,\n },\n bandwidth=200,\n order={\n \"purchase_order_number\": \"1-323292\",\n },\n a_side={\n \"access_point\": {\n \"type\": \"METAL_NETWORK\",\n \"authentication_key\": example.authorization_code,\n },\n },\n z_side={\n \"access_point\": {\n \"type\": equinix.fabric.AccessPointType.SP,\n \"authentication_key\": aws_account_id,\n \"seller_region\": \"us-west-1\",\n \"profile\": {\n \"type\": equinix.fabric.ProfileType.L2_PROFILE,\n \"uuid\": zside.id,\n },\n \"location\": {\n \"metro_code\": equinix.Metro.SILICON_VALLEY,\n },\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/fabric\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tzside, err := fabric.GetServiceProfiles(ctx, \u0026fabric.GetServiceProfilesArgs{\n\t\t\tFilter: fabric.GetServiceProfilesFilter{\n\t\t\t\tProperty: \"/name\",\n\t\t\t\tOperator: \"=\",\n\t\t\t\tValues: []string{\n\t\t\t\t\t\"AWS Direct Connect\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample1, err := metal.NewVlan(ctx, \"example1\", \u0026metal.VlanArgs{\n\t\t\tProjectId: pulumi.Any(myProjectId),\n\t\t\tMetro: pulumi.String(\"SV\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := metal.NewInterconnection(ctx, \"example\", \u0026metal.InterconnectionArgs{\n\t\t\tName: pulumi.String(\"tf-port-to-metal-legacy\"),\n\t\t\tProjectId: pulumi.Any(myProjectId),\n\t\t\tMetro: pulumi.String(\"SV\"),\n\t\t\tRedundancy: pulumi.String(\"primary\"),\n\t\t\tType: pulumi.String(\"shared_port_vlan\"),\n\t\t\tContactEmail: pulumi.String(\"username@example.com\"),\n\t\t\tVlans: pulumi.IntArray{\n\t\t\t\texample1.Vxlan,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fabric.NewConnection(ctx, \"exampleConnection\", \u0026fabric.ConnectionArgs{\n\t\t\tName: pulumi.String(\"tf-NIMF-metal-2-aws-legacy\"),\n\t\t\tType: pulumi.String(fabric.ConnectionTypeEVPL),\n\t\t\tNotifications: fabric.ConnectionNotificationArray{\n\t\t\t\t\u0026fabric.ConnectionNotificationArgs{\n\t\t\t\t\tType: pulumi.String(fabric.NotificationsTypeAll),\n\t\t\t\t\tEmails: pulumi.StringArray(\"sername@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProject: \u0026fabric.ConnectionProjectArgs{\n\t\t\t\tProjectId: pulumi.Any(fabricProjectId),\n\t\t\t},\n\t\t\tBandwidth: pulumi.Int(200),\n\t\t\tOrder: \u0026fabric.ConnectionOrderArgs{\n\t\t\t\tPurchaseOrderNumber: pulumi.String(\"1-323292\"),\n\t\t\t},\n\t\t\tASide: \u0026fabric.ConnectionASideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionASideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(\"METAL_NETWORK\"),\n\t\t\t\t\tAuthenticationKey: example.AuthorizationCode,\n\t\t\t\t},\n\t\t\t},\n\t\t\tZSide: \u0026fabric.ConnectionZSideArgs{\n\t\t\t\tAccessPoint: \u0026fabric.ConnectionZSideAccessPointArgs{\n\t\t\t\t\tType: pulumi.String(fabric.AccessPointTypeSP),\n\t\t\t\t\tAuthenticationKey: pulumi.Any(awsAccountId),\n\t\t\t\t\tSellerRegion: pulumi.String(\"us-west-1\"),\n\t\t\t\t\tProfile: \u0026fabric.ConnectionZSideAccessPointProfileArgs{\n\t\t\t\t\t\tType: pulumi.String(fabric.ProfileTypeL2Profile),\n\t\t\t\t\t\tUuid: pulumi.String(zside.Id),\n\t\t\t\t\t},\n\t\t\t\t\tLocation: \u0026fabric.ConnectionZSideAccessPointLocationArgs{\n\t\t\t\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var zside = Equinix.Fabric.GetServiceProfiles.Invoke(new()\n {\n Filter = new Equinix.Fabric.Inputs.GetServiceProfilesFilterInputArgs\n {\n Property = \"/name\",\n Operator = \"=\",\n Values = new[]\n {\n \"AWS Direct Connect\",\n },\n },\n });\n\n var example1 = new Equinix.Metal.Vlan(\"example1\", new()\n {\n ProjectId = myProjectId,\n Metro = \"SV\",\n });\n\n var example = new Equinix.Metal.Interconnection(\"example\", new()\n {\n Name = \"tf-port-to-metal-legacy\",\n ProjectId = myProjectId,\n Metro = \"SV\",\n Redundancy = \"primary\",\n Type = \"shared_port_vlan\",\n ContactEmail = \"username@example.com\",\n Vlans = new[]\n {\n example1.Vxlan,\n },\n });\n\n var exampleConnection = new Equinix.Fabric.Connection(\"exampleConnection\", new()\n {\n Name = \"tf-NIMF-metal-2-aws-legacy\",\n Type = Equinix.Fabric.ConnectionType.EVPL,\n Notifications = new[]\n {\n new Equinix.Fabric.Inputs.ConnectionNotificationArgs\n {\n Type = Equinix.Fabric.NotificationsType.All,\n Emails = \"sername@example.com\",\n },\n },\n Project = new Equinix.Fabric.Inputs.ConnectionProjectArgs\n {\n ProjectId = fabricProjectId,\n },\n Bandwidth = 200,\n Order = new Equinix.Fabric.Inputs.ConnectionOrderArgs\n {\n PurchaseOrderNumber = \"1-323292\",\n },\n ASide = new Equinix.Fabric.Inputs.ConnectionASideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionASideAccessPointArgs\n {\n Type = \"METAL_NETWORK\",\n AuthenticationKey = example.AuthorizationCode,\n },\n },\n ZSide = new Equinix.Fabric.Inputs.ConnectionZSideArgs\n {\n AccessPoint = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointArgs\n {\n Type = Equinix.Fabric.AccessPointType.SP,\n AuthenticationKey = awsAccountId,\n SellerRegion = \"us-west-1\",\n Profile = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointProfileArgs\n {\n Type = Equinix.Fabric.ProfileType.L2Profile,\n Uuid = zside.Apply(getServiceProfilesResult =\u003e getServiceProfilesResult.Id),\n },\n Location = new Equinix.Fabric.Inputs.ConnectionZSideAccessPointLocationArgs\n {\n MetroCode = Equinix.Metro.SiliconValley,\n },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.fabric.FabricFunctions;\nimport com.pulumi.equinix.fabric.inputs.GetServiceProfilesArgs;\nimport com.pulumi.equinix.fabric.inputs.GetServiceProfilesFilterArgs;\nimport com.pulumi.equinix.metal.Vlan;\nimport com.pulumi.equinix.metal.VlanArgs;\nimport com.pulumi.equinix.metal.Interconnection;\nimport com.pulumi.equinix.metal.InterconnectionArgs;\nimport com.pulumi.equinix.fabric.Connection;\nimport com.pulumi.equinix.fabric.ConnectionArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionNotificationArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionProjectArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionOrderArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionASideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointProfileArgs;\nimport com.pulumi.equinix.fabric.inputs.ConnectionZSideAccessPointLocationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var zside = FabricFunctions.getServiceProfiles(GetServiceProfilesArgs.builder()\n .filter(GetServiceProfilesFilterArgs.builder()\n .property(\"/name\")\n .operator(\"=\")\n .values(\"AWS Direct Connect\")\n .build())\n .build());\n\n var example1 = new Vlan(\"example1\", VlanArgs.builder()\n .projectId(myProjectId)\n .metro(\"SV\")\n .build());\n\n var example = new Interconnection(\"example\", InterconnectionArgs.builder()\n .name(\"tf-port-to-metal-legacy\")\n .projectId(myProjectId)\n .metro(\"SV\")\n .redundancy(\"primary\")\n .type(\"shared_port_vlan\")\n .contactEmail(\"username@example.com\")\n .vlans(example1.vxlan())\n .build());\n\n var exampleConnection = new Connection(\"exampleConnection\", ConnectionArgs.builder()\n .name(\"tf-NIMF-metal-2-aws-legacy\")\n .type(\"EVPL_VC\")\n .notifications(ConnectionNotificationArgs.builder()\n .type(\"ALL\")\n .emails(\"sername@example.com\")\n .build())\n .project(ConnectionProjectArgs.builder()\n .projectId(fabricProjectId)\n .build())\n .bandwidth(\"200\")\n .order(ConnectionOrderArgs.builder()\n .purchaseOrderNumber(\"1-323292\")\n .build())\n .aSide(ConnectionASideArgs.builder()\n .accessPoint(ConnectionASideAccessPointArgs.builder()\n .type(\"METAL_NETWORK\")\n .authenticationKey(example.authorizationCode())\n .build())\n .build())\n .zSide(ConnectionZSideArgs.builder()\n .accessPoint(ConnectionZSideAccessPointArgs.builder()\n .type(\"SP\")\n .authenticationKey(awsAccountId)\n .sellerRegion(\"us-west-1\")\n .profile(ConnectionZSideAccessPointProfileArgs.builder()\n .type(\"L2_PROFILE\")\n .uuid(zside.applyValue(getServiceProfilesResult -\u003e getServiceProfilesResult.id()))\n .build())\n .location(ConnectionZSideAccessPointLocationArgs.builder()\n .metroCode(\"SV\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example1:\n type: equinix:metal:Vlan\n properties:\n projectId: ${myProjectId}\n metro: SV\n example:\n type: equinix:metal:Interconnection\n properties:\n name: tf-port-to-metal-legacy\n projectId: ${myProjectId}\n metro: SV\n redundancy: primary\n type: shared_port_vlan\n contactEmail: username@example.com\n vlans:\n - ${example1.vxlan}\n exampleConnection:\n type: equinix:fabric:Connection\n name: example\n properties:\n name: tf-NIMF-metal-2-aws-legacy\n type: EVPL_VC\n notifications:\n - type: ALL\n emails: sername@example.com\n project:\n projectId: ${fabricProjectId}\n bandwidth: '200'\n order:\n purchaseOrderNumber: 1-323292\n aSide:\n accessPoint:\n type: METAL_NETWORK\n authenticationKey: ${example.authorizationCode}\n zSide:\n accessPoint:\n type: SP\n authenticationKey: ${awsAccountId}\n sellerRegion: us-west-1\n profile:\n type: L2_PROFILE\n uuid: ${zside.id}\n location:\n metroCode: SV\nvariables:\n zside:\n fn::invoke:\n Function: equinix:fabric:getServiceProfiles\n Arguments:\n filter:\n property: /name\n operator: =\n values:\n - AWS Direct Connect\n```\n{{% /example %}}\n\n{{% /examples %}}", "properties": { "authorizationCode": { "type": "string", @@ -15272,7 +15272,7 @@ } }, "equinix:metal/ipAttachment:IpAttachment": { - "description": "Provides a resource to attach elastic IP subnets to devices.\n\nTo attach an IP subnet from a reserved block to a provisioned device, you must derive a subnet CIDR belonging to one of your reserved blocks in the same project and metro as the target device.\n\nFor example, you have reserved IPv4 address block `147.229.10.152/30`, you can choose to assign either the whole block as one subnet to a device; or 2 subnets with CIDRs `147.229.10.152/31` and `147.229.10.154/31`; or 4 subnets with mask prefix length `32`. More about the elastic IP subnets is [here](https://metal.equinix.com/developers/docs/networking/elastic-ips/).\n\nDevice and reserved block must be in the same metro.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst myblock = new equinix.metal.ReservedIpBlock(\"myblock\", {\n projectId: projectId,\n metro: \"ny\",\n quantity: 2,\n});\nconst firstAddressAssignment = new equinix.metal.IpAttachment(\"firstAddressAssignment\", {\n deviceId: mydevice.id,\n cidrNotation: std.joinOutput({\n separator: \"/\",\n input: [\n std.cidrhostOutput({\n input: myblockMetalReservedIpBlock.cidrNotation,\n host: 0,\n }).apply(invoke =\u003e invoke.result),\n \"32\",\n ],\n }).apply(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nmyblock = equinix.metal.ReservedIpBlock(\"myblock\",\n project_id=project_id,\n metro=\"ny\",\n quantity=2)\nfirst_address_assignment = equinix.metal.IpAttachment(\"firstAddressAssignment\",\n device_id=mydevice[\"id\"],\n cidr_notation=std.join_output(separator=\"/\",\n input=[\n std.cidrhost_output(input=myblock_metal_reserved_ip_block[\"cidrNotation\"],\n host=0).apply(lambda invoke: invoke.result),\n \"32\",\n ]).apply(lambda invoke: invoke.result))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\n_, err := metal.NewReservedIpBlock(ctx, \"myblock\", \u0026metal.ReservedIpBlockArgs{\nProjectId: pulumi.Any(projectId),\nMetro: pulumi.String(\"ny\"),\nQuantity: pulumi.Int(2),\n})\nif err != nil {\nreturn err\n}\ninvokeJoin, err := std.Join(ctx, invokeCidrhost1, err := std.Cidrhost(ctx, \u0026std.CidrhostArgs{\nInput: myblockMetalReservedIpBlock.CidrNotation,\nHost: 0,\n}, nil)\nif err != nil {\nreturn err\n}\n\u0026std.JoinArgs{\nSeparator: \"/\",\nInput: []*string{\ninvokeCidrhost1.Result,\n\"32\",\n},\n}, nil)\nif err != nil {\nreturn err\n}\n_, err = metal.NewIpAttachment(ctx, \"firstAddressAssignment\", \u0026metal.IpAttachmentArgs{\nDeviceId: pulumi.Any(mydevice.Id),\nCidrNotation: invokeJoin.Result,\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myblock = new Equinix.Metal.ReservedIpBlock(\"myblock\", new()\n {\n ProjectId = projectId,\n Metro = \"ny\",\n Quantity = 2,\n });\n\n var firstAddressAssignment = new Equinix.Metal.IpAttachment(\"firstAddressAssignment\", new()\n {\n DeviceId = mydevice.Id,\n CidrNotation = Std.Cidrhost.Invoke(new()\n {\n Input = myblockMetalReservedIpBlock.CidrNotation,\n Host = 0,\n }).Apply(invoke =\u003e Std.Join.Invoke(new()\n {\n Separator = \"/\",\n Input = new[]\n {\n invoke.Result,\n \"32\",\n },\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.ReservedIpBlock;\nimport com.pulumi.equinix.metal.ReservedIpBlockArgs;\nimport com.pulumi.equinix.metal.IpAttachment;\nimport com.pulumi.equinix.metal.IpAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myblock = new ReservedIpBlock(\"myblock\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .metro(\"ny\")\n .quantity(2)\n .build());\n\n var firstAddressAssignment = new IpAttachment(\"firstAddressAssignment\", IpAttachmentArgs.builder()\n .deviceId(mydevice.id())\n .cidrNotation(StdFunctions.join(JoinArgs.builder()\n .separator(\"/\")\n .input( \n StdFunctions.cidrhost(CidrhostArgs.builder()\n .input(myblockMetalReservedIpBlock.cidrNotation())\n .host(0)\n .build()).result(),\n \"32\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Reserve /30 block of max 2 public IPv4 addresses in metro ny for myproject\n myblock:\n type: equinix:metal:ReservedIpBlock\n properties:\n projectId: ${projectId}\n metro: ny\n quantity: 2\n # Assign /32 subnet (single address) from reserved block to a device\n firstAddressAssignment:\n type: equinix:metal:IpAttachment\n name: first_address_assignment\n properties:\n deviceId: ${mydevice.id}\n cidrNotation:\n fn::invoke:\n Function: std:join\n Arguments:\n separator: /\n input:\n - fn::invoke:\n Function: std:cidrhost\n Arguments:\n input: ${myblockMetalReservedIpBlock.cidrNotation}\n host: 0\n Return: result\n - '32'\n Return: result\n```\n{{% /example %}}\n\n{{% /examples %}}", + "description": "Provides a resource to attach elastic IP subnets to devices.\n\nTo attach an IP subnet from a reserved block to a provisioned device, you must derive a subnet CIDR belonging to one of your reserved blocks in the same project and metro as the target device.\n\nFor example, you have reserved IPv4 address block `147.229.10.152/30`, you can choose to assign either the whole block as one subnet to a device; or 2 subnets with CIDRs `147.229.10.152/31` and `147.229.10.154/31`; or 4 subnets with mask prefix length `32`. More about the elastic IP subnets is [here](https://metal.equinix.com/developers/docs/networking/elastic-ips/).\n\nDevice and reserved block must be in the same metro.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst myblock = new equinix.metal.ReservedIpBlock(\"myblock\", {\n projectId: projectId,\n metro: \"ny\",\n quantity: 2,\n});\nconst firstAddressAssignment = new equinix.metal.IpAttachment(\"firstAddressAssignment\", {\n deviceId: mydevice.id,\n cidrNotation: std.joinOutput({\n separator: \"/\",\n input: [\n std.cidrhostOutput({\n input: myblockMetalReservedIpBlock.cidrNotation,\n host: 0,\n }).apply(invoke =\u003e invoke.result),\n \"32\",\n ],\n }).apply(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nmyblock = equinix.metal.ReservedIpBlock(\"myblock\",\n project_id=project_id,\n metro=\"ny\",\n quantity=2)\nfirst_address_assignment = equinix.metal.IpAttachment(\"firstAddressAssignment\",\n device_id=mydevice[\"id\"],\n cidr_notation=std.join_output(separator=\"/\",\n input=[\n std.cidrhost_output(input=myblock_metal_reserved_ip_block[\"cidrNotation\"],\n host=0).apply(lambda invoke: invoke.result),\n \"32\",\n ]).apply(lambda invoke: invoke.result))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewReservedIpBlock(ctx, \"myblock\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tQuantity: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJoin, err := std.Join(ctx, \u0026std.JoinArgs{\n\t\t\tSeparator: \"/\",\n\t\t\tInput: []*string{\n\t\t\t\tstd.Cidrhost(ctx, \u0026std.CidrhostArgs{\n\t\t\t\t\tInput: myblockMetalReservedIpBlock.CidrNotation,\n\t\t\t\t\tHost: 0,\n\t\t\t\t}, nil).Result,\n\t\t\t\t\"32\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewIpAttachment(ctx, \"firstAddressAssignment\", \u0026metal.IpAttachmentArgs{\n\t\t\tDeviceId: pulumi.Any(mydevice.Id),\n\t\t\tCidrNotation: pulumi.String(invokeJoin.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myblock = new Equinix.Metal.ReservedIpBlock(\"myblock\", new()\n {\n ProjectId = projectId,\n Metro = \"ny\",\n Quantity = 2,\n });\n\n var firstAddressAssignment = new Equinix.Metal.IpAttachment(\"firstAddressAssignment\", new()\n {\n DeviceId = mydevice.Id,\n CidrNotation = Std.Cidrhost.Invoke(new()\n {\n Input = myblockMetalReservedIpBlock.CidrNotation,\n Host = 0,\n }).Apply(invoke =\u003e Std.Join.Invoke(new()\n {\n Separator = \"/\",\n Input = new[]\n {\n invoke.Result,\n \"32\",\n },\n })).Apply(invoke =\u003e invoke.Result),\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.ReservedIpBlock;\nimport com.pulumi.equinix.metal.ReservedIpBlockArgs;\nimport com.pulumi.equinix.metal.IpAttachment;\nimport com.pulumi.equinix.metal.IpAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myblock = new ReservedIpBlock(\"myblock\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .metro(\"ny\")\n .quantity(2)\n .build());\n\n var firstAddressAssignment = new IpAttachment(\"firstAddressAssignment\", IpAttachmentArgs.builder()\n .deviceId(mydevice.id())\n .cidrNotation(StdFunctions.join(JoinArgs.builder()\n .separator(\"/\")\n .input( \n StdFunctions.cidrhost(CidrhostArgs.builder()\n .input(myblockMetalReservedIpBlock.cidrNotation())\n .host(0)\n .build()).result(),\n \"32\")\n .build()).result())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Reserve /30 block of max 2 public IPv4 addresses in metro ny for myproject\n myblock:\n type: equinix:metal:ReservedIpBlock\n properties:\n projectId: ${projectId}\n metro: ny\n quantity: 2\n # Assign /32 subnet (single address) from reserved block to a device\n firstAddressAssignment:\n type: equinix:metal:IpAttachment\n name: first_address_assignment\n properties:\n deviceId: ${mydevice.id}\n cidrNotation:\n fn::invoke:\n Function: std:join\n Arguments:\n separator: /\n input:\n - fn::invoke:\n Function: std:cidrhost\n Arguments:\n input: ${myblockMetalReservedIpBlock.cidrNotation}\n host: 0\n Return: result\n - '32'\n Return: result\n```\n{{% /example %}}\n\n{{% /examples %}}", "properties": { "address": { "type": "string" @@ -15968,7 +15968,7 @@ } }, "equinix:metal/project:Project": { - "description": "Provides an Equinix Metal project resource to allow you manage devices in your projects.\n\n\u003e **NOTE:** Keep in mind that Equinix Metal invoicing is per project, so creating many `equinix.metal.Project` resources will affect the rendered invoice. If you want to keep your Equinix Metal bill simple and easy to review, please re-use your existing projects.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst tfProject1 = new equinix.metal.Project(\"tfProject1\", {name: \"Terraform Fun\"});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntf_project1 = equinix.metal.Project(\"tfProject1\", name=\"Terraform Fun\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewProject(ctx, \"tfProject1\", \u0026metal.ProjectArgs{\n\t\t\tName: pulumi.String(\"Terraform Fun\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tfProject1 = new Equinix.Metal.Project(\"tfProject1\", new()\n {\n Name = \"Terraform Fun\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Project;\nimport com.pulumi.equinix.metal.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tfProject1 = new Project(\"tfProject1\", ProjectArgs.builder()\n .name(\"Terraform Fun\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tfProject1:\n type: equinix:metal:Project\n name: tf_project_1\n properties:\n name: Terraform Fun\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst tfProject1 = new equinix.metal.Project(\"tfProject1\", {\n name: \"tftest\",\n bgpConfig: {\n deploymentType: \"local\",\n md5: \"C179c28c41a85b\",\n asn: 65000,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntf_project1 = equinix.metal.Project(\"tfProject1\",\n name=\"tftest\",\n bgp_config=equinix.metal.ProjectBgpConfigArgs(\n deployment_type=\"local\",\n md5=\"C179c28c41a85b\",\n asn=65000,\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewProject(ctx, \"tfProject1\", \u0026metal.ProjectArgs{\n\t\t\tName: pulumi.String(\"tftest\"),\n\t\t\tBgpConfig: \u0026metal.ProjectBgpConfigArgs{\n\t\t\t\tDeploymentType: pulumi.String(\"local\"),\n\t\t\t\tMd5: pulumi.String(\"C179c28c41a85b\"),\n\t\t\t\tAsn: pulumi.Int(65000),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tfProject1 = new Equinix.Metal.Project(\"tfProject1\", new()\n {\n Name = \"tftest\",\n BgpConfig = new Equinix.Metal.Inputs.ProjectBgpConfigArgs\n {\n DeploymentType = \"local\",\n Md5 = \"C179c28c41a85b\",\n Asn = 65000,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Project;\nimport com.pulumi.equinix.metal.ProjectArgs;\nimport com.pulumi.equinix.metal.inputs.ProjectBgpConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tfProject1 = new Project(\"tfProject1\", ProjectArgs.builder()\n .name(\"tftest\")\n .bgpConfig(ProjectBgpConfigArgs.builder()\n .deploymentType(\"local\")\n .md5(\"C179c28c41a85b\")\n .asn(65000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Project\n tfProject1:\n type: equinix:metal:Project\n name: tf_project_1\n properties:\n name: tftest\n bgpConfig:\n deploymentType: local\n md5: C179c28c41a85b\n asn: 65000\n```\n{{% /example %}}\n\n{{% example %}}\n### example 3\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst existingProject = new equinix.metal.Project(\"existingProject\", {\n name: \"The name of the project (if different, will rewrite)\",\n bgpConfig: {\n deploymentType: \"local\",\n md5: \"C179c28c41a85b\",\n asn: 65000,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexisting_project = equinix.metal.Project(\"existingProject\",\n name=\"The name of the project (if different, will rewrite)\",\n bgp_config=equinix.metal.ProjectBgpConfigArgs(\n deployment_type=\"local\",\n md5=\"C179c28c41a85b\",\n asn=65000,\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewProject(ctx, \"existingProject\", \u0026metal.ProjectArgs{\n\t\t\tName: pulumi.String(\"The name of the project (if different, will rewrite)\"),\n\t\t\tBgpConfig: \u0026metal.ProjectBgpConfigArgs{\n\t\t\t\tDeploymentType: pulumi.String(\"local\"),\n\t\t\t\tMd5: pulumi.String(\"C179c28c41a85b\"),\n\t\t\t\tAsn: pulumi.Int(65000),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var existingProject = new Equinix.Metal.Project(\"existingProject\", new()\n {\n Name = \"The name of the project (if different, will rewrite)\",\n BgpConfig = new Equinix.Metal.Inputs.ProjectBgpConfigArgs\n {\n DeploymentType = \"local\",\n Md5 = \"C179c28c41a85b\",\n Asn = 65000,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Project;\nimport com.pulumi.equinix.metal.ProjectArgs;\nimport com.pulumi.equinix.metal.inputs.ProjectBgpConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var existingProject = new Project(\"existingProject\", ProjectArgs.builder()\n .name(\"The name of the project (if different, will rewrite)\")\n .bgpConfig(ProjectBgpConfigArgs.builder()\n .deploymentType(\"local\")\n .md5(\"C179c28c41a85b\")\n .asn(65000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n existingProject:\n type: equinix:metal:Project\n name: existing_project\n properties:\n name: The name of the project (if different, will rewrite)\n bgpConfig:\n deploymentType: local\n md5: C179c28c41a85b\n asn: 65000\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing project ID:\n\n```sh\n$ pulumi import equinix:metal/project:Project equinix_metal_project {existing_project_id}\n```\n\n\n{{% /examples %}}", + "description": "Provides an Equinix Metal project resource to allow you manage devices in your projects.\n\n\u003e **NOTE:** Keep in mind that Equinix Metal invoicing is per project, so creating many `equinix.metal.Project` resources will affect the rendered invoice. If you want to keep your Equinix Metal bill simple and easy to review, please re-use your existing projects.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst tfProject1 = new equinix.metal.Project(\"tfProject1\", {name: \"Terraform Fun\"});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntf_project1 = equinix.metal.Project(\"tfProject1\", name=\"Terraform Fun\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewProject(ctx, \"tfProject1\", \u0026metal.ProjectArgs{\n\t\t\tName: pulumi.String(\"Terraform Fun\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tfProject1 = new Equinix.Metal.Project(\"tfProject1\", new()\n {\n Name = \"Terraform Fun\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Project;\nimport com.pulumi.equinix.metal.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tfProject1 = new Project(\"tfProject1\", ProjectArgs.builder()\n .name(\"Terraform Fun\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n tfProject1:\n type: equinix:metal:Project\n name: tf_project_1\n properties:\n name: Terraform Fun\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst tfProject1 = new equinix.metal.Project(\"tfProject1\", {\n name: \"tftest\",\n bgpConfig: {\n deploymentType: \"local\",\n md5: \"C179c28c41a85b\",\n asn: 65000,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntf_project1 = equinix.metal.Project(\"tfProject1\",\n name=\"tftest\",\n bgp_config={\n \"deployment_type\": \"local\",\n \"md5\": \"C179c28c41a85b\",\n \"asn\": 65000,\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewProject(ctx, \"tfProject1\", \u0026metal.ProjectArgs{\n\t\t\tName: pulumi.String(\"tftest\"),\n\t\t\tBgpConfig: \u0026metal.ProjectBgpConfigArgs{\n\t\t\t\tDeploymentType: pulumi.String(\"local\"),\n\t\t\t\tMd5: pulumi.String(\"C179c28c41a85b\"),\n\t\t\t\tAsn: pulumi.Int(65000),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tfProject1 = new Equinix.Metal.Project(\"tfProject1\", new()\n {\n Name = \"tftest\",\n BgpConfig = new Equinix.Metal.Inputs.ProjectBgpConfigArgs\n {\n DeploymentType = \"local\",\n Md5 = \"C179c28c41a85b\",\n Asn = 65000,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Project;\nimport com.pulumi.equinix.metal.ProjectArgs;\nimport com.pulumi.equinix.metal.inputs.ProjectBgpConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var tfProject1 = new Project(\"tfProject1\", ProjectArgs.builder()\n .name(\"tftest\")\n .bgpConfig(ProjectBgpConfigArgs.builder()\n .deploymentType(\"local\")\n .md5(\"C179c28c41a85b\")\n .asn(65000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Project\n tfProject1:\n type: equinix:metal:Project\n name: tf_project_1\n properties:\n name: tftest\n bgpConfig:\n deploymentType: local\n md5: C179c28c41a85b\n asn: 65000\n```\n{{% /example %}}\n\n{{% example %}}\n### example 3\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst existingProject = new equinix.metal.Project(\"existingProject\", {\n name: \"The name of the project (if different, will rewrite)\",\n bgpConfig: {\n deploymentType: \"local\",\n md5: \"C179c28c41a85b\",\n asn: 65000,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexisting_project = equinix.metal.Project(\"existingProject\",\n name=\"The name of the project (if different, will rewrite)\",\n bgp_config={\n \"deployment_type\": \"local\",\n \"md5\": \"C179c28c41a85b\",\n \"asn\": 65000,\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewProject(ctx, \"existingProject\", \u0026metal.ProjectArgs{\n\t\t\tName: pulumi.String(\"The name of the project (if different, will rewrite)\"),\n\t\t\tBgpConfig: \u0026metal.ProjectBgpConfigArgs{\n\t\t\t\tDeploymentType: pulumi.String(\"local\"),\n\t\t\t\tMd5: pulumi.String(\"C179c28c41a85b\"),\n\t\t\t\tAsn: pulumi.Int(65000),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var existingProject = new Equinix.Metal.Project(\"existingProject\", new()\n {\n Name = \"The name of the project (if different, will rewrite)\",\n BgpConfig = new Equinix.Metal.Inputs.ProjectBgpConfigArgs\n {\n DeploymentType = \"local\",\n Md5 = \"C179c28c41a85b\",\n Asn = 65000,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.Project;\nimport com.pulumi.equinix.metal.ProjectArgs;\nimport com.pulumi.equinix.metal.inputs.ProjectBgpConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var existingProject = new Project(\"existingProject\", ProjectArgs.builder()\n .name(\"The name of the project (if different, will rewrite)\")\n .bgpConfig(ProjectBgpConfigArgs.builder()\n .deploymentType(\"local\")\n .md5(\"C179c28c41a85b\")\n .asn(65000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n existingProject:\n type: equinix:metal:Project\n name: existing_project\n properties:\n name: The name of the project (if different, will rewrite)\n bgpConfig:\n deploymentType: local\n md5: C179c28c41a85b\n asn: 65000\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing project ID:\n\n```sh\n$ pulumi import equinix:metal/project:Project equinix_metal_project {existing_project_id}\n```\n\n\n{{% /examples %}}", "properties": { "backendTransfer": { "type": "boolean", @@ -16235,7 +16235,7 @@ } }, "equinix:metal/reservedIpBlock:ReservedIpBlock": { - "description": "Provides a resource to create and manage blocks of reserved IP addresses in a project.\n\nWhen a user provisions first device in a metro, Equinix Metal API automatically allocates IPv6/56 and private IPv4/25 blocks. The new device then gets IPv6 and private IPv4 addresses from those block. It also gets a public IPv4/31 address. Every new device in the project and metro will automatically get IPv6 and private IPv4 addresses from these pre-allocated blocks. The IPv6 and private IPv4 blocks can't be created, only imported. With this resource, it's possible to create either public IPv4 blocks or global IPv4 blocks.\n\nPublic blocks are allocated in a metro. Addresses from public blocks can only be assigned to devices in the metro. Public blocks can have mask from /24 (256 addresses) to /32 (1 address). If you create public block with this resource, you must fill the metro argument.\n\nAddresses from global blocks can be assigned in any metro. Global blocks can have mask from /30 (4 addresses), to /32 (1 address). If you create global block with this resource, you must specify type = \"global_ipv4\" and you must omit the metro argument.\n\nOnce IP block is allocated or imported, an address from it can be assigned to device with the `equinix.metal.IpAttachment` resource.\n\nSee the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst twoElasticAddresses = new equinix.metal.ReservedIpBlock(\"twoElasticAddresses\", {\n projectId: projectId,\n metro: \"sv\",\n quantity: 2,\n});\nconst test1 = new equinix.metal.ReservedIpBlock(\"test1\", {\n projectId: projectId,\n type: equinix.metal.IpBlockType.PublicIPv4,\n metro: \"sv\",\n quantity: 1,\n});\nconst test = new equinix.metal.ReservedIpBlock(\"test\", {\n projectId: projectId,\n type: equinix.metal.IpBlockType.GlobalIPv4,\n quantity: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntwo_elastic_addresses = equinix.metal.ReservedIpBlock(\"twoElasticAddresses\",\n project_id=project_id,\n metro=\"sv\",\n quantity=2)\ntest1 = equinix.metal.ReservedIpBlock(\"test1\",\n project_id=project_id,\n type=equinix.metal.IpBlockType.PUBLIC_I_PV4,\n metro=\"sv\",\n quantity=1)\ntest = equinix.metal.ReservedIpBlock(\"test\",\n project_id=project_id,\n type=equinix.metal.IpBlockType.GLOBAL_I_PV4,\n quantity=1)\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewReservedIpBlock(ctx, \"twoElasticAddresses\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tQuantity: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewReservedIpBlock(ctx, \"test1\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tType: pulumi.String(metal.IpBlockTypePublicIPv4),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tQuantity: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewReservedIpBlock(ctx, \"test\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tType: pulumi.String(metal.IpBlockTypeGlobalIPv4),\n\t\t\tQuantity: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var twoElasticAddresses = new Equinix.Metal.ReservedIpBlock(\"twoElasticAddresses\", new()\n {\n ProjectId = projectId,\n Metro = \"sv\",\n Quantity = 2,\n });\n\n var test1 = new Equinix.Metal.ReservedIpBlock(\"test1\", new()\n {\n ProjectId = projectId,\n Type = Equinix.Metal.IpBlockType.PublicIPv4,\n Metro = \"sv\",\n Quantity = 1,\n });\n\n var test = new Equinix.Metal.ReservedIpBlock(\"test\", new()\n {\n ProjectId = projectId,\n Type = Equinix.Metal.IpBlockType.GlobalIPv4,\n Quantity = 1,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.ReservedIpBlock;\nimport com.pulumi.equinix.metal.ReservedIpBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var twoElasticAddresses = new ReservedIpBlock(\"twoElasticAddresses\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .metro(\"sv\")\n .quantity(2)\n .build());\n\n var test1 = new ReservedIpBlock(\"test1\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .type(\"public_ipv4\")\n .metro(\"sv\")\n .quantity(1)\n .build());\n\n var test = new ReservedIpBlock(\"test\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .type(\"global_ipv4\")\n .quantity(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv) metro for myproject\n twoElasticAddresses:\n type: equinix:metal:ReservedIpBlock\n name: two_elastic_addresses\n properties:\n projectId: ${projectId}\n metro: sv\n quantity: 2\n # Allocate 1 floating IP in Silicon Valley (sv) metro\n test1:\n type: equinix:metal:ReservedIpBlock\n properties:\n projectId: ${projectId}\n type: public_ipv4\n metro: sv\n quantity: 1\n # Allocate 1 global floating IP, which can be assigned to device in any metro\n test:\n type: equinix:metal:ReservedIpBlock\n properties:\n projectId: ${projectId}\n type: global_ipv4\n quantity: 1\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst example = new equinix.metal.ReservedIpBlock(\"example\", {\n projectId: projectId,\n metro: \"sv\",\n quantity: 2,\n});\nconst nodes = new equinix.metal.Device(\"nodes\", {\n projectId: projectId,\n metro: \"sv\",\n plan: equinix.metal.Plan.C3SmallX86,\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n hostname: \"test\",\n billingCycle: equinix.metal.BillingCycle.Hourly,\n ipAddresses: [\n {\n type: \"public_ipv4\",\n cidr: 31,\n reservationIds: [example.id],\n },\n {\n type: \"private_ipv4\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample = equinix.metal.ReservedIpBlock(\"example\",\n project_id=project_id,\n metro=\"sv\",\n quantity=2)\nnodes = equinix.metal.Device(\"nodes\",\n project_id=project_id,\n metro=\"sv\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n hostname=\"test\",\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n ip_addresses=[\n equinix.metal.DeviceIpAddressArgs(\n type=\"public_ipv4\",\n cidr=31,\n reservation_ids=[example.id],\n ),\n equinix.metal.DeviceIpAddressArgs(\n type=\"private_ipv4\",\n ),\n ])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := metal.NewReservedIpBlock(ctx, \"example\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tQuantity: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewDevice(ctx, \"nodes\", \u0026metal.DeviceArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tIpAddresses: metal.DeviceIpAddressArray{\n\t\t\t\t\u0026metal.DeviceIpAddressArgs{\n\t\t\t\t\tType: pulumi.String(\"public_ipv4\"),\n\t\t\t\t\tCidr: pulumi.Int(31),\n\t\t\t\t\tReservationIds: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026metal.DeviceIpAddressArgs{\n\t\t\t\t\tType: pulumi.String(\"private_ipv4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Equinix.Metal.ReservedIpBlock(\"example\", new()\n {\n ProjectId = projectId,\n Metro = \"sv\",\n Quantity = 2,\n });\n\n var nodes = new Equinix.Metal.Device(\"nodes\", new()\n {\n ProjectId = projectId,\n Metro = \"sv\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n Hostname = \"test\",\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n IpAddresses = new[]\n {\n new Equinix.Metal.Inputs.DeviceIpAddressArgs\n {\n Type = \"public_ipv4\",\n Cidr = 31,\n ReservationIds = new[]\n {\n example.Id,\n },\n },\n new Equinix.Metal.Inputs.DeviceIpAddressArgs\n {\n Type = \"private_ipv4\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.ReservedIpBlock;\nimport com.pulumi.equinix.metal.ReservedIpBlockArgs;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.equinix.metal.inputs.DeviceIpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ReservedIpBlock(\"example\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .metro(\"sv\")\n .quantity(2)\n .build());\n\n var nodes = new Device(\"nodes\", DeviceArgs.builder()\n .projectId(projectId)\n .metro(\"sv\")\n .plan(\"c3.small.x86\")\n .operatingSystem(\"ubuntu_20_04\")\n .hostname(\"test\")\n .billingCycle(\"hourly\")\n .ipAddresses( \n DeviceIpAddressArgs.builder()\n .type(\"public_ipv4\")\n .cidr(31)\n .reservationIds(example.id())\n .build(),\n DeviceIpAddressArgs.builder()\n .type(\"private_ipv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv) metro\n example:\n type: equinix:metal:ReservedIpBlock\n properties:\n projectId: ${projectId}\n metro: sv\n quantity: 2\n # Run a device with both public IPv4 from the block assigned\n nodes:\n type: equinix:metal:Device\n properties:\n projectId: ${projectId}\n metro: sv\n plan: c3.small.x86\n operatingSystem: ubuntu_20_04\n hostname: test\n billingCycle: hourly\n ipAddresses:\n - type: public_ipv4\n cidr: 31\n reservationIds:\n - ${example.id}\n - type: private_ipv4\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing IP reservation ID:\n\n```sh\n$ pulumi import equinix:metal/reservedIpBlock:ReservedIpBlock equinix_metal_reserved_ip_block {existing_ip_reservation_id}\n```\n\n\n{{% /examples %}}", + "description": "Provides a resource to create and manage blocks of reserved IP addresses in a project.\n\nWhen a user provisions first device in a metro, Equinix Metal API automatically allocates IPv6/56 and private IPv4/25 blocks. The new device then gets IPv6 and private IPv4 addresses from those block. It also gets a public IPv4/31 address. Every new device in the project and metro will automatically get IPv6 and private IPv4 addresses from these pre-allocated blocks. The IPv6 and private IPv4 blocks can't be created, only imported. With this resource, it's possible to create either public IPv4 blocks or global IPv4 blocks.\n\nPublic blocks are allocated in a metro. Addresses from public blocks can only be assigned to devices in the metro. Public blocks can have mask from /24 (256 addresses) to /32 (1 address). If you create public block with this resource, you must fill the metro argument.\n\nAddresses from global blocks can be assigned in any metro. Global blocks can have mask from /30 (4 addresses), to /32 (1 address). If you create global block with this resource, you must specify type = \"global_ipv4\" and you must omit the metro argument.\n\nOnce IP block is allocated or imported, an address from it can be assigned to device with the `equinix.metal.IpAttachment` resource.\n\nSee the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst twoElasticAddresses = new equinix.metal.ReservedIpBlock(\"twoElasticAddresses\", {\n projectId: projectId,\n metro: \"sv\",\n quantity: 2,\n});\nconst test1 = new equinix.metal.ReservedIpBlock(\"test1\", {\n projectId: projectId,\n type: equinix.metal.IpBlockType.PublicIPv4,\n metro: \"sv\",\n quantity: 1,\n});\nconst test = new equinix.metal.ReservedIpBlock(\"test\", {\n projectId: projectId,\n type: equinix.metal.IpBlockType.GlobalIPv4,\n quantity: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntwo_elastic_addresses = equinix.metal.ReservedIpBlock(\"twoElasticAddresses\",\n project_id=project_id,\n metro=\"sv\",\n quantity=2)\ntest1 = equinix.metal.ReservedIpBlock(\"test1\",\n project_id=project_id,\n type=equinix.metal.IpBlockType.PUBLIC_I_PV4,\n metro=\"sv\",\n quantity=1)\ntest = equinix.metal.ReservedIpBlock(\"test\",\n project_id=project_id,\n type=equinix.metal.IpBlockType.GLOBAL_I_PV4,\n quantity=1)\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewReservedIpBlock(ctx, \"twoElasticAddresses\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tQuantity: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewReservedIpBlock(ctx, \"test1\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tType: pulumi.String(metal.IpBlockTypePublicIPv4),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tQuantity: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewReservedIpBlock(ctx, \"test\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tType: pulumi.String(metal.IpBlockTypeGlobalIPv4),\n\t\t\tQuantity: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var twoElasticAddresses = new Equinix.Metal.ReservedIpBlock(\"twoElasticAddresses\", new()\n {\n ProjectId = projectId,\n Metro = \"sv\",\n Quantity = 2,\n });\n\n var test1 = new Equinix.Metal.ReservedIpBlock(\"test1\", new()\n {\n ProjectId = projectId,\n Type = Equinix.Metal.IpBlockType.PublicIPv4,\n Metro = \"sv\",\n Quantity = 1,\n });\n\n var test = new Equinix.Metal.ReservedIpBlock(\"test\", new()\n {\n ProjectId = projectId,\n Type = Equinix.Metal.IpBlockType.GlobalIPv4,\n Quantity = 1,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.ReservedIpBlock;\nimport com.pulumi.equinix.metal.ReservedIpBlockArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var twoElasticAddresses = new ReservedIpBlock(\"twoElasticAddresses\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .metro(\"sv\")\n .quantity(2)\n .build());\n\n var test1 = new ReservedIpBlock(\"test1\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .type(\"public_ipv4\")\n .metro(\"sv\")\n .quantity(1)\n .build());\n\n var test = new ReservedIpBlock(\"test\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .type(\"global_ipv4\")\n .quantity(1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv) metro for myproject\n twoElasticAddresses:\n type: equinix:metal:ReservedIpBlock\n name: two_elastic_addresses\n properties:\n projectId: ${projectId}\n metro: sv\n quantity: 2\n # Allocate 1 floating IP in Silicon Valley (sv) metro\n test1:\n type: equinix:metal:ReservedIpBlock\n properties:\n projectId: ${projectId}\n type: public_ipv4\n metro: sv\n quantity: 1\n # Allocate 1 global floating IP, which can be assigned to device in any metro\n test:\n type: equinix:metal:ReservedIpBlock\n properties:\n projectId: ${projectId}\n type: global_ipv4\n quantity: 1\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst example = new equinix.metal.ReservedIpBlock(\"example\", {\n projectId: projectId,\n metro: \"sv\",\n quantity: 2,\n});\nconst nodes = new equinix.metal.Device(\"nodes\", {\n projectId: projectId,\n metro: \"sv\",\n plan: equinix.metal.Plan.C3SmallX86,\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n hostname: \"test\",\n billingCycle: equinix.metal.BillingCycle.Hourly,\n ipAddresses: [\n {\n type: \"public_ipv4\",\n cidr: 31,\n reservationIds: [example.id],\n },\n {\n type: \"private_ipv4\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nexample = equinix.metal.ReservedIpBlock(\"example\",\n project_id=project_id,\n metro=\"sv\",\n quantity=2)\nnodes = equinix.metal.Device(\"nodes\",\n project_id=project_id,\n metro=\"sv\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n hostname=\"test\",\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n ip_addresses=[\n {\n \"type\": \"public_ipv4\",\n \"cidr\": 31,\n \"reservation_ids\": [example.id],\n },\n {\n \"type\": \"private_ipv4\",\n },\n ])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := metal.NewReservedIpBlock(ctx, \"example\", \u0026metal.ReservedIpBlockArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tQuantity: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewDevice(ctx, \"nodes\", \u0026metal.DeviceArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tIpAddresses: metal.DeviceIpAddressArray{\n\t\t\t\t\u0026metal.DeviceIpAddressArgs{\n\t\t\t\t\tType: pulumi.String(\"public_ipv4\"),\n\t\t\t\t\tCidr: pulumi.Int(31),\n\t\t\t\t\tReservationIds: pulumi.StringArray{\n\t\t\t\t\t\texample.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026metal.DeviceIpAddressArgs{\n\t\t\t\t\tType: pulumi.String(\"private_ipv4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Equinix.Metal.ReservedIpBlock(\"example\", new()\n {\n ProjectId = projectId,\n Metro = \"sv\",\n Quantity = 2,\n });\n\n var nodes = new Equinix.Metal.Device(\"nodes\", new()\n {\n ProjectId = projectId,\n Metro = \"sv\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n Hostname = \"test\",\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n IpAddresses = new[]\n {\n new Equinix.Metal.Inputs.DeviceIpAddressArgs\n {\n Type = \"public_ipv4\",\n Cidr = 31,\n ReservationIds = new[]\n {\n example.Id,\n },\n },\n new Equinix.Metal.Inputs.DeviceIpAddressArgs\n {\n Type = \"private_ipv4\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.ReservedIpBlock;\nimport com.pulumi.equinix.metal.ReservedIpBlockArgs;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.equinix.metal.inputs.DeviceIpAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ReservedIpBlock(\"example\", ReservedIpBlockArgs.builder()\n .projectId(projectId)\n .metro(\"sv\")\n .quantity(2)\n .build());\n\n var nodes = new Device(\"nodes\", DeviceArgs.builder()\n .projectId(projectId)\n .metro(\"sv\")\n .plan(\"c3.small.x86\")\n .operatingSystem(\"ubuntu_20_04\")\n .hostname(\"test\")\n .billingCycle(\"hourly\")\n .ipAddresses( \n DeviceIpAddressArgs.builder()\n .type(\"public_ipv4\")\n .cidr(31)\n .reservationIds(example.id())\n .build(),\n DeviceIpAddressArgs.builder()\n .type(\"private_ipv4\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv) metro\n example:\n type: equinix:metal:ReservedIpBlock\n properties:\n projectId: ${projectId}\n metro: sv\n quantity: 2\n # Run a device with both public IPv4 from the block assigned\n nodes:\n type: equinix:metal:Device\n properties:\n projectId: ${projectId}\n metro: sv\n plan: c3.small.x86\n operatingSystem: ubuntu_20_04\n hostname: test\n billingCycle: hourly\n ipAddresses:\n - type: public_ipv4\n cidr: 31\n reservationIds:\n - ${example.id}\n - type: private_ipv4\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing IP reservation ID:\n\n```sh\n$ pulumi import equinix:metal/reservedIpBlock:ReservedIpBlock equinix_metal_reserved_ip_block {existing_ip_reservation_id}\n```\n\n\n{{% /examples %}}", "properties": { "address": { "type": "string" @@ -16532,7 +16532,7 @@ } }, "equinix:metal/spotMarketRequest:SpotMarketRequest": { - "description": "Provides an Equinix Metal Spot Market Request resource to allow you to manage spot market requests on your account. For more detail on Spot Market, see [this article in Equinix Metal documentation](https://metal.equinix.com/developers/docs/deploy/spot-market/).\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst req = new equinix.metal.SpotMarketRequest(\"req\", {\n projectId: projectId,\n maxBidPrice: 0.03,\n metro: \"ny\",\n devicesMin: 1,\n devicesMax: 1,\n instanceParameters: {\n hostname: \"testspot\",\n billingCycle: \"hourly\",\n operatingSystem: \"ubuntu_20_04\",\n plan: \"c3.small.x86\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nreq = equinix.metal.SpotMarketRequest(\"req\",\n project_id=project_id,\n max_bid_price=0.03,\n metro=\"ny\",\n devices_min=1,\n devices_max=1,\n instance_parameters=equinix.metal.SpotMarketRequestInstanceParametersArgs(\n hostname=\"testspot\",\n billing_cycle=\"hourly\",\n operating_system=\"ubuntu_20_04\",\n plan=\"c3.small.x86\",\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewSpotMarketRequest(ctx, \"req\", \u0026metal.SpotMarketRequestArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMaxBidPrice: pulumi.Float64(0.03),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tDevicesMin: pulumi.Int(1),\n\t\t\tDevicesMax: pulumi.Int(1),\n\t\t\tInstanceParameters: \u0026metal.SpotMarketRequestInstanceParametersArgs{\n\t\t\t\tHostname: pulumi.String(\"testspot\"),\n\t\t\t\tBillingCycle: pulumi.String(\"hourly\"),\n\t\t\t\tOperatingSystem: pulumi.String(\"ubuntu_20_04\"),\n\t\t\t\tPlan: pulumi.String(\"c3.small.x86\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var req = new Equinix.Metal.SpotMarketRequest(\"req\", new()\n {\n ProjectId = projectId,\n MaxBidPrice = 0.03,\n Metro = \"ny\",\n DevicesMin = 1,\n DevicesMax = 1,\n InstanceParameters = new Equinix.Metal.Inputs.SpotMarketRequestInstanceParametersArgs\n {\n Hostname = \"testspot\",\n BillingCycle = \"hourly\",\n OperatingSystem = \"ubuntu_20_04\",\n Plan = \"c3.small.x86\",\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.SpotMarketRequest;\nimport com.pulumi.equinix.metal.SpotMarketRequestArgs;\nimport com.pulumi.equinix.metal.inputs.SpotMarketRequestInstanceParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var req = new SpotMarketRequest(\"req\", SpotMarketRequestArgs.builder()\n .projectId(projectId)\n .maxBidPrice(0.03)\n .metro(\"ny\")\n .devicesMin(1)\n .devicesMax(1)\n .instanceParameters(SpotMarketRequestInstanceParametersArgs.builder()\n .hostname(\"testspot\")\n .billingCycle(\"hourly\")\n .operatingSystem(\"ubuntu_20_04\")\n .plan(\"c3.small.x86\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a spot market request\n req:\n type: equinix:metal:SpotMarketRequest\n properties:\n projectId: ${projectId}\n maxBidPrice: 0.03\n metro: ny\n devicesMin: 1\n devicesMax: 1\n instanceParameters:\n hostname: testspot\n billingCycle: hourly\n operatingSystem: ubuntu_20_04\n plan: c3.small.x86\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing spot market request ID:\n\n```sh\n$ pulumi import equinix:metal/spotMarketRequest:SpotMarketRequest equinix_metal_spot_market_request {existing_spot_market_request_id}\n```\n\n\n{{% /examples %}}", + "description": "Provides an Equinix Metal Spot Market Request resource to allow you to manage spot market requests on your account. For more detail on Spot Market, see [this article in Equinix Metal documentation](https://metal.equinix.com/developers/docs/deploy/spot-market/).\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst req = new equinix.metal.SpotMarketRequest(\"req\", {\n projectId: projectId,\n maxBidPrice: 0.03,\n metro: \"ny\",\n devicesMin: 1,\n devicesMax: 1,\n instanceParameters: {\n hostname: \"testspot\",\n billingCycle: \"hourly\",\n operatingSystem: \"ubuntu_20_04\",\n plan: \"c3.small.x86\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nreq = equinix.metal.SpotMarketRequest(\"req\",\n project_id=project_id,\n max_bid_price=0.03,\n metro=\"ny\",\n devices_min=1,\n devices_max=1,\n instance_parameters={\n \"hostname\": \"testspot\",\n \"billing_cycle\": \"hourly\",\n \"operating_system\": \"ubuntu_20_04\",\n \"plan\": \"c3.small.x86\",\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := metal.NewSpotMarketRequest(ctx, \"req\", \u0026metal.SpotMarketRequestArgs{\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t\tMaxBidPrice: pulumi.Float64(0.03),\n\t\t\tMetro: pulumi.String(\"ny\"),\n\t\t\tDevicesMin: pulumi.Int(1),\n\t\t\tDevicesMax: pulumi.Int(1),\n\t\t\tInstanceParameters: \u0026metal.SpotMarketRequestInstanceParametersArgs{\n\t\t\t\tHostname: pulumi.String(\"testspot\"),\n\t\t\t\tBillingCycle: pulumi.String(\"hourly\"),\n\t\t\t\tOperatingSystem: pulumi.String(\"ubuntu_20_04\"),\n\t\t\t\tPlan: pulumi.String(\"c3.small.x86\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var req = new Equinix.Metal.SpotMarketRequest(\"req\", new()\n {\n ProjectId = projectId,\n MaxBidPrice = 0.03,\n Metro = \"ny\",\n DevicesMin = 1,\n DevicesMax = 1,\n InstanceParameters = new Equinix.Metal.Inputs.SpotMarketRequestInstanceParametersArgs\n {\n Hostname = \"testspot\",\n BillingCycle = \"hourly\",\n OperatingSystem = \"ubuntu_20_04\",\n Plan = \"c3.small.x86\",\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.SpotMarketRequest;\nimport com.pulumi.equinix.metal.SpotMarketRequestArgs;\nimport com.pulumi.equinix.metal.inputs.SpotMarketRequestInstanceParametersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var req = new SpotMarketRequest(\"req\", SpotMarketRequestArgs.builder()\n .projectId(projectId)\n .maxBidPrice(0.03)\n .metro(\"ny\")\n .devicesMin(1)\n .devicesMax(1)\n .instanceParameters(SpotMarketRequestInstanceParametersArgs.builder()\n .hostname(\"testspot\")\n .billingCycle(\"hourly\")\n .operatingSystem(\"ubuntu_20_04\")\n .plan(\"c3.small.x86\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a spot market request\n req:\n type: equinix:metal:SpotMarketRequest\n properties:\n projectId: ${projectId}\n maxBidPrice: 0.03\n metro: ny\n devicesMin: 1\n devicesMax: 1\n instanceParameters:\n hostname: testspot\n billingCycle: hourly\n operatingSystem: ubuntu_20_04\n plan: c3.small.x86\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing spot market request ID:\n\n```sh\n$ pulumi import equinix:metal/spotMarketRequest:SpotMarketRequest equinix_metal_spot_market_request {existing_spot_market_request_id}\n```\n\n\n{{% /examples %}}", "properties": { "devicesMax": { "type": "integer", @@ -16684,7 +16684,7 @@ } }, "equinix:metal/sshKey:SshKey": { - "description": "Provides a resource to manage User SSH keys on your Equinix Metal user account. If you create a new device in a project, all the keys of the project's collaborators will be injected to the device.\n\nThe link between User SSH key and device is implicit. If you want to make sure that a key will be copied to a device, you must ensure that the device resource `depends_on` the key resource.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst key1 = new equinix.metal.SshKey(\"key1\", {\n name: \"terraform-1\",\n publicKey: std.fileOutput({\n input: \"/home/terraform/.ssh/id_rsa.pub\",\n }).apply(invoke =\u003e invoke.result),\n});\nconst test = new equinix.metal.Device(\"test\", {\n hostname: \"test-device\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n}, {\n dependsOn: [key1],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nkey1 = equinix.metal.SshKey(\"key1\",\n name=\"terraform-1\",\n public_key=std.file_output(input=\"/home/terraform/.ssh/id_rsa.pub\").apply(lambda invoke: invoke.result))\ntest = equinix.metal.Device(\"test\",\n hostname=\"test-device\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n opts = pulumi.ResourceOptions(depends_on=[key1]))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/home/terraform/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey1, err := metal.NewSshKey(ctx, \"key1\", \u0026metal.SshKeyArgs{\n\t\t\tName: pulumi.String(\"terraform-1\"),\n\t\t\tPublicKey: invokeFile.Result,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewDevice(ctx, \"test\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"test-device\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tkey1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var key1 = new Equinix.Metal.SshKey(\"key1\", new()\n {\n Name = \"terraform-1\",\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"/home/terraform/.ssh/id_rsa.pub\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var test = new Equinix.Metal.Device(\"test\", new()\n {\n Hostname = \"test-device\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n key1,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.SshKey;\nimport com.pulumi.equinix.metal.SshKeyArgs;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var key1 = new SshKey(\"key1\", SshKeyArgs.builder()\n .name(\"terraform-1\")\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"/home/terraform/.ssh/id_rsa.pub\")\n .build()).result())\n .build());\n\n var test = new Device(\"test\", DeviceArgs.builder()\n .hostname(\"test-device\")\n .plan(\"c3.small.x86\")\n .metro(\"sv\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .build(), CustomResourceOptions.builder()\n .dependsOn(key1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new SSH key\n key1:\n type: equinix:metal:SshKey\n properties:\n name: terraform-1\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: /home/terraform/.ssh/id_rsa.pub\n Return: result\n # Create new device with \"key1\" included. The device resource \"depends_on\" the\n # key, in order to make sure the key is created before the device.\n test:\n type: equinix:metal:Device\n properties:\n hostname: test-device\n plan: c3.small.x86\n metro: sv\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\n options:\n dependson:\n - ${key1}\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing SSH Key ID:\n\n```sh\n$ pulumi import equinix:metal/sshKey:SshKey equinix_metal_ssh_key {existing_sshkey_id}\n```\n\n\n{{% /examples %}}", + "description": "Provides a resource to manage User SSH keys on your Equinix Metal user account. If you create a new device in a project, all the keys of the project's collaborators will be injected to the device.\n\nThe link between User SSH key and device is implicit. If you want to make sure that a key will be copied to a device, you must ensure that the device resource `depends_on` the key resource.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst key1 = new equinix.metal.SshKey(\"key1\", {\n name: \"terraform-1\",\n publicKey: std.fileOutput({\n input: \"/home/terraform/.ssh/id_rsa.pub\",\n }).apply(invoke =\u003e invoke.result),\n});\nconst test = new equinix.metal.Device(\"test\", {\n hostname: \"test-device\",\n plan: equinix.metal.Plan.C3SmallX86,\n metro: \"sv\",\n operatingSystem: equinix.metal.OperatingSystem.Ubuntu20_04,\n billingCycle: equinix.metal.BillingCycle.Hourly,\n projectId: projectId,\n}, {\n dependsOn: [key1],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nkey1 = equinix.metal.SshKey(\"key1\",\n name=\"terraform-1\",\n public_key=std.file_output(input=\"/home/terraform/.ssh/id_rsa.pub\").apply(lambda invoke: invoke.result))\ntest = equinix.metal.Device(\"test\",\n hostname=\"test-device\",\n plan=equinix.metal.Plan.C3_SMALL_X86,\n metro=\"sv\",\n operating_system=equinix.metal.OperatingSystem.UBUNTU20_04,\n billing_cycle=equinix.metal.BillingCycle.HOURLY,\n project_id=project_id,\n opts = pulumi.ResourceOptions(depends_on=[key1]))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/home/terraform/.ssh/id_rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey1, err := metal.NewSshKey(ctx, \"key1\", \u0026metal.SshKeyArgs{\n\t\t\tName: pulumi.String(\"terraform-1\"),\n\t\t\tPublicKey: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = metal.NewDevice(ctx, \"test\", \u0026metal.DeviceArgs{\n\t\t\tHostname: pulumi.String(\"test-device\"),\n\t\t\tPlan: pulumi.String(metal.PlanC3SmallX86),\n\t\t\tMetro: pulumi.String(\"sv\"),\n\t\t\tOperatingSystem: pulumi.String(metal.OperatingSystem_Ubuntu20_04),\n\t\t\tBillingCycle: pulumi.String(metal.BillingCycleHourly),\n\t\t\tProjectId: pulumi.Any(projectId),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tkey1,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var key1 = new Equinix.Metal.SshKey(\"key1\", new()\n {\n Name = \"terraform-1\",\n PublicKey = Std.File.Invoke(new()\n {\n Input = \"/home/terraform/.ssh/id_rsa.pub\",\n }).Apply(invoke =\u003e invoke.Result),\n });\n\n var test = new Equinix.Metal.Device(\"test\", new()\n {\n Hostname = \"test-device\",\n Plan = Equinix.Metal.Plan.C3SmallX86,\n Metro = \"sv\",\n OperatingSystem = Equinix.Metal.OperatingSystem.Ubuntu20_04,\n BillingCycle = Equinix.Metal.BillingCycle.Hourly,\n ProjectId = projectId,\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n key1,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.metal.SshKey;\nimport com.pulumi.equinix.metal.SshKeyArgs;\nimport com.pulumi.equinix.metal.Device;\nimport com.pulumi.equinix.metal.DeviceArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var key1 = new SshKey(\"key1\", SshKeyArgs.builder()\n .name(\"terraform-1\")\n .publicKey(StdFunctions.file(FileArgs.builder()\n .input(\"/home/terraform/.ssh/id_rsa.pub\")\n .build()).result())\n .build());\n\n var test = new Device(\"test\", DeviceArgs.builder()\n .hostname(\"test-device\")\n .plan(\"c3.small.x86\")\n .metro(\"sv\")\n .operatingSystem(\"ubuntu_20_04\")\n .billingCycle(\"hourly\")\n .projectId(projectId)\n .build(), CustomResourceOptions.builder()\n .dependsOn(key1)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new SSH key\n key1:\n type: equinix:metal:SshKey\n properties:\n name: terraform-1\n publicKey:\n fn::invoke:\n Function: std:file\n Arguments:\n input: /home/terraform/.ssh/id_rsa.pub\n Return: result\n # Create new device with \"key1\" included. The device resource \"depends_on\" the\n # key, in order to make sure the key is created before the device.\n test:\n type: equinix:metal:Device\n properties:\n hostname: test-device\n plan: c3.small.x86\n metro: sv\n operatingSystem: ubuntu_20_04\n billingCycle: hourly\n projectId: ${projectId}\n options:\n dependson:\n - ${key1}\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing SSH Key ID:\n\n```sh\n$ pulumi import equinix:metal/sshKey:SshKey equinix_metal_ssh_key {existing_sshkey_id}\n```\n\n\n{{% /examples %}}", "properties": { "created": { "type": "string", @@ -17350,7 +17350,7 @@ } }, "equinix:networkedge/aclTemplate:AclTemplate": { - "description": "Resource `equinix.networkedge.AclTemplate` allows creation and management of Equinix Network Edge device Access Control List templates.\n\nDevice ACL templates give possibility to define set of rules will allowed inbound traffic. Templates can be assigned to the network devices.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst myacl = new equinix.networkedge.AclTemplate(\"myacl\", {\n name: \"test\",\n description: \"Test ACL template\",\n projectId: \"a86d7112-d740-4758-9c9c-31e66373746b\",\n inboundRules: [\n {\n subnet: \"1.1.1.1/32\",\n protocol: equinix.networkedge.AclRuleProtocolType.IP,\n srcPort: \"any\",\n dstPort: \"any\",\n description: \"inbound rule description\",\n },\n {\n subnet: \"172.16.25.0/24\",\n protocol: equinix.networkedge.AclRuleProtocolType.UDP,\n srcPort: \"any\",\n dstPort: \"53,1045,2041\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nmyacl = equinix.networkedge.AclTemplate(\"myacl\",\n name=\"test\",\n description=\"Test ACL template\",\n project_id=\"a86d7112-d740-4758-9c9c-31e66373746b\",\n inbound_rules=[\n equinix.networkedge.AclTemplateInboundRuleArgs(\n subnet=\"1.1.1.1/32\",\n protocol=equinix.networkedge.AclRuleProtocolType.IP,\n src_port=\"any\",\n dst_port=\"any\",\n description=\"inbound rule description\",\n ),\n equinix.networkedge.AclTemplateInboundRuleArgs(\n subnet=\"172.16.25.0/24\",\n protocol=equinix.networkedge.AclRuleProtocolType.UDP,\n src_port=\"any\",\n dst_port=\"53,1045,2041\",\n ),\n ])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkedge.NewAclTemplate(ctx, \"myacl\", \u0026networkedge.AclTemplateArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"Test ACL template\"),\n\t\t\tProjectId: pulumi.String(\"a86d7112-d740-4758-9c9c-31e66373746b\"),\n\t\t\tInboundRules: networkedge.AclTemplateInboundRuleArray{\n\t\t\t\t\u0026networkedge.AclTemplateInboundRuleArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"1.1.1.1/32\"),\n\t\t\t\t\tProtocol: pulumi.String(networkedge.AclRuleProtocolTypeIP),\n\t\t\t\t\tSrcPort: pulumi.String(\"any\"),\n\t\t\t\t\tDstPort: pulumi.String(\"any\"),\n\t\t\t\t\tDescription: pulumi.String(\"inbound rule description\"),\n\t\t\t\t},\n\t\t\t\t\u0026networkedge.AclTemplateInboundRuleArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"172.16.25.0/24\"),\n\t\t\t\t\tProtocol: pulumi.String(networkedge.AclRuleProtocolTypeUDP),\n\t\t\t\t\tSrcPort: pulumi.String(\"any\"),\n\t\t\t\t\tDstPort: pulumi.String(\"53,1045,2041\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myacl = new Equinix.NetworkEdge.AclTemplate(\"myacl\", new()\n {\n Name = \"test\",\n Description = \"Test ACL template\",\n ProjectId = \"a86d7112-d740-4758-9c9c-31e66373746b\",\n InboundRules = new[]\n {\n new Equinix.NetworkEdge.Inputs.AclTemplateInboundRuleArgs\n {\n Subnet = \"1.1.1.1/32\",\n Protocol = Equinix.NetworkEdge.AclRuleProtocolType.IP,\n SrcPort = \"any\",\n DstPort = \"any\",\n Description = \"inbound rule description\",\n },\n new Equinix.NetworkEdge.Inputs.AclTemplateInboundRuleArgs\n {\n Subnet = \"172.16.25.0/24\",\n Protocol = Equinix.NetworkEdge.AclRuleProtocolType.UDP,\n SrcPort = \"any\",\n DstPort = \"53,1045,2041\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.AclTemplate;\nimport com.pulumi.equinix.networkedge.AclTemplateArgs;\nimport com.pulumi.equinix.networkedge.inputs.AclTemplateInboundRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myacl = new AclTemplate(\"myacl\", AclTemplateArgs.builder()\n .name(\"test\")\n .description(\"Test ACL template\")\n .projectId(\"a86d7112-d740-4758-9c9c-31e66373746b\")\n .inboundRules( \n AclTemplateInboundRuleArgs.builder()\n .subnet(\"1.1.1.1/32\")\n .protocol(\"IP\")\n .srcPort(\"any\")\n .dstPort(\"any\")\n .description(\"inbound rule description\")\n .build(),\n AclTemplateInboundRuleArgs.builder()\n .subnet(\"172.16.25.0/24\")\n .protocol(\"UDP\")\n .srcPort(\"any\")\n .dstPort(\"53,1045,2041\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creates ACL template and assigns it to the network device\n myacl:\n type: equinix:networkedge:AclTemplate\n properties:\n name: test\n description: Test ACL template\n projectId: a86d7112-d740-4758-9c9c-31e66373746b\n inboundRules:\n - subnet: 1.1.1.1/32\n protocol: IP\n srcPort: any\n dstPort: any\n description: inbound rule description\n - subnet: 172.16.25.0/24\n protocol: UDP\n srcPort: any\n dstPort: 53,1045,2041\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing ID:\n\n```sh\n$ pulumi import equinix:networkedge/aclTemplate:AclTemplate example {existing_id}\n```\n\n\n{{% /examples %}}", + "description": "Resource `equinix.networkedge.AclTemplate` allows creation and management of Equinix Network Edge device Access Control List templates.\n\nDevice ACL templates give possibility to define set of rules will allowed inbound traffic. Templates can be assigned to the network devices.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst myacl = new equinix.networkedge.AclTemplate(\"myacl\", {\n name: \"test\",\n description: \"Test ACL template\",\n projectId: \"a86d7112-d740-4758-9c9c-31e66373746b\",\n inboundRules: [\n {\n subnet: \"1.1.1.1/32\",\n protocol: equinix.networkedge.AclRuleProtocolType.IP,\n srcPort: \"any\",\n dstPort: \"any\",\n description: \"inbound rule description\",\n },\n {\n subnet: \"172.16.25.0/24\",\n protocol: equinix.networkedge.AclRuleProtocolType.UDP,\n srcPort: \"any\",\n dstPort: \"53,1045,2041\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nmyacl = equinix.networkedge.AclTemplate(\"myacl\",\n name=\"test\",\n description=\"Test ACL template\",\n project_id=\"a86d7112-d740-4758-9c9c-31e66373746b\",\n inbound_rules=[\n {\n \"subnet\": \"1.1.1.1/32\",\n \"protocol\": equinix.networkedge.AclRuleProtocolType.IP,\n \"src_port\": \"any\",\n \"dst_port\": \"any\",\n \"description\": \"inbound rule description\",\n },\n {\n \"subnet\": \"172.16.25.0/24\",\n \"protocol\": equinix.networkedge.AclRuleProtocolType.UDP,\n \"src_port\": \"any\",\n \"dst_port\": \"53,1045,2041\",\n },\n ])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkedge.NewAclTemplate(ctx, \"myacl\", \u0026networkedge.AclTemplateArgs{\n\t\t\tName: pulumi.String(\"test\"),\n\t\t\tDescription: pulumi.String(\"Test ACL template\"),\n\t\t\tProjectId: pulumi.String(\"a86d7112-d740-4758-9c9c-31e66373746b\"),\n\t\t\tInboundRules: networkedge.AclTemplateInboundRuleArray{\n\t\t\t\t\u0026networkedge.AclTemplateInboundRuleArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"1.1.1.1/32\"),\n\t\t\t\t\tProtocol: pulumi.String(networkedge.AclRuleProtocolTypeIP),\n\t\t\t\t\tSrcPort: pulumi.String(\"any\"),\n\t\t\t\t\tDstPort: pulumi.String(\"any\"),\n\t\t\t\t\tDescription: pulumi.String(\"inbound rule description\"),\n\t\t\t\t},\n\t\t\t\t\u0026networkedge.AclTemplateInboundRuleArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"172.16.25.0/24\"),\n\t\t\t\t\tProtocol: pulumi.String(networkedge.AclRuleProtocolTypeUDP),\n\t\t\t\t\tSrcPort: pulumi.String(\"any\"),\n\t\t\t\t\tDstPort: pulumi.String(\"53,1045,2041\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myacl = new Equinix.NetworkEdge.AclTemplate(\"myacl\", new()\n {\n Name = \"test\",\n Description = \"Test ACL template\",\n ProjectId = \"a86d7112-d740-4758-9c9c-31e66373746b\",\n InboundRules = new[]\n {\n new Equinix.NetworkEdge.Inputs.AclTemplateInboundRuleArgs\n {\n Subnet = \"1.1.1.1/32\",\n Protocol = Equinix.NetworkEdge.AclRuleProtocolType.IP,\n SrcPort = \"any\",\n DstPort = \"any\",\n Description = \"inbound rule description\",\n },\n new Equinix.NetworkEdge.Inputs.AclTemplateInboundRuleArgs\n {\n Subnet = \"172.16.25.0/24\",\n Protocol = Equinix.NetworkEdge.AclRuleProtocolType.UDP,\n SrcPort = \"any\",\n DstPort = \"53,1045,2041\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.AclTemplate;\nimport com.pulumi.equinix.networkedge.AclTemplateArgs;\nimport com.pulumi.equinix.networkedge.inputs.AclTemplateInboundRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myacl = new AclTemplate(\"myacl\", AclTemplateArgs.builder()\n .name(\"test\")\n .description(\"Test ACL template\")\n .projectId(\"a86d7112-d740-4758-9c9c-31e66373746b\")\n .inboundRules( \n AclTemplateInboundRuleArgs.builder()\n .subnet(\"1.1.1.1/32\")\n .protocol(\"IP\")\n .srcPort(\"any\")\n .dstPort(\"any\")\n .description(\"inbound rule description\")\n .build(),\n AclTemplateInboundRuleArgs.builder()\n .subnet(\"172.16.25.0/24\")\n .protocol(\"UDP\")\n .srcPort(\"any\")\n .dstPort(\"53,1045,2041\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Creates ACL template and assigns it to the network device\n myacl:\n type: equinix:networkedge:AclTemplate\n properties:\n name: test\n description: Test ACL template\n projectId: a86d7112-d740-4758-9c9c-31e66373746b\n inboundRules:\n - subnet: 1.1.1.1/32\n protocol: IP\n srcPort: any\n dstPort: any\n description: inbound rule description\n - subnet: 172.16.25.0/24\n protocol: UDP\n srcPort: any\n dstPort: 53,1045,2041\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing ID:\n\n```sh\n$ pulumi import equinix:networkedge/aclTemplate:AclTemplate example {existing_id}\n```\n\n\n{{% /examples %}}", "properties": { "description": { "type": "string", @@ -17629,7 +17629,7 @@ } }, "equinix:networkedge/device:Device": { - "description": "Resource `equinix.networkedge.Device` allows creation and management of Equinix Network Edge virtual network devices.\n\nNetwork Edge virtual network devices can be created in two modes:\n\n* **managed** - (default) Where Equinix manages connectivity and services in the device and customer gets limited access to the device.\n* **self-configured** - Where customer provisions and manages own services in the device with less restricted access. Some device types are offered only in this mode.\n\nIn addition to management modes, there are two software license modes available:\n\n* **subscription** - Where Equinix provides software license, including end-to-end support, and bills for the service respectively.\n* **BYOL** - [bring your own license] Where customer brings his own, already procured device software license. There are no charges associated with such license. It is the only licensing mode for `self-configured` devices.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst dc = equinix.networkedge.getAccountOutput({\n metroCode: \"DC\",\n});\nconst sv = equinix.networkedge.getAccountOutput({\n metroCode: \"SV\",\n});\nconst csr1000VHa = new equinix.networkedge.Device(\"csr1000vHa\", {\n name: \"tf-csr1000v-p\",\n throughput: 500,\n throughputUnit: equinix.networkedge.ThroughputUnit.Mbps,\n metroCode: dc.apply(dc =\u003e dc.metroCode),\n typeCode: \"CSR1000V\",\n selfManaged: false,\n connectivity: \"INTERNET-ACCESS\",\n byol: false,\n packageCode: \"SEC\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n hostname: \"csr1000v-p\",\n termLength: 12,\n accountNumber: dc.apply(dc =\u003e dc.number),\n version: \"16.09.05\",\n coreCount: 2,\n secondaryDevice: {\n name: \"tf-csr1000v-s\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n hostname: \"csr1000v-s\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n accountNumber: sv.apply(sv =\u003e sv.number),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ndc = equinix.networkedge.get_account_output(metro_code=\"DC\")\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\ncsr1000_v_ha = equinix.networkedge.Device(\"csr1000vHa\",\n name=\"tf-csr1000v-p\",\n throughput=500,\n throughput_unit=equinix.networkedge.ThroughputUnit.MBPS,\n metro_code=dc.metro_code,\n type_code=\"CSR1000V\",\n self_managed=False,\n connectivity=\"INTERNET-ACCESS\",\n byol=False,\n package_code=\"SEC\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n hostname=\"csr1000v-p\",\n term_length=12,\n account_number=dc.number,\n version=\"16.09.05\",\n core_count=2,\n secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs(\n name=\"tf-csr1000v-s\",\n metro_code=sv.metro_code,\n hostname=\"csr1000v-s\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n account_number=sv.number,\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"DC\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"csr1000vHa\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-csr1000v-p\"),\n\t\t\tThroughput: pulumi.Int(500),\n\t\t\tThroughputUnit: pulumi.String(networkedge.ThroughputUnitMbps),\n\t\t\tMetroCode: pulumi.String(dc.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"CSR1000V\"),\n\t\t\tSelfManaged: pulumi.Bool(false),\n\t\t\tConnectivity: pulumi.String(\"INTERNET-ACCESS\"),\n\t\t\tByol: pulumi.Bool(false),\n\t\t\tPackageCode: pulumi.String(\"SEC\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\tpulumi.String(\"fred@equinix.com\"),\n\t\t\t},\n\t\t\tHostname: pulumi.String(\"csr1000v-p\"),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAccountNumber: pulumi.String(dc.Number),\n\t\t\tVersion: pulumi.String(\"16.09.05\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"tf-csr1000v-s\"),\n\t\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\t\tHostname: pulumi.String(\"csr1000v-s\"),\n\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t\t\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\t},\n\t\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dc = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"DC\",\n });\n\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"SV\",\n });\n\n var csr1000VHa = new Equinix.NetworkEdge.Device(\"csr1000vHa\", new()\n {\n Name = \"tf-csr1000v-p\",\n Throughput = 500,\n ThroughputUnit = Equinix.NetworkEdge.ThroughputUnit.Mbps,\n MetroCode = dc.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"CSR1000V\",\n SelfManaged = false,\n Connectivity = \"INTERNET-ACCESS\",\n Byol = false,\n PackageCode = \"SEC\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n },\n Hostname = \"csr1000v-p\",\n TermLength = 12,\n AccountNumber = dc.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"16.09.05\",\n CoreCount = 2,\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"tf-csr1000v-s\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Hostname = \"csr1000v-s\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dc = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"DC\")\n .build());\n\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"SV\")\n .build());\n\n var csr1000VHa = new Device(\"csr1000VHa\", DeviceArgs.builder()\n .name(\"tf-csr1000v-p\")\n .throughput(500)\n .throughputUnit(\"Mbps\")\n .metroCode(dc.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"CSR1000V\")\n .selfManaged(false)\n .connectivity(\"INTERNET-ACCESS\")\n .byol(false)\n .packageCode(\"SEC\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .hostname(\"csr1000v-p\")\n .termLength(12)\n .accountNumber(dc.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"16.09.05\")\n .coreCount(2)\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-csr1000v-s\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .hostname(\"csr1000v-s\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n csr1000vHa:\n type: equinix:networkedge:Device\n name: csr1000v_ha\n properties:\n name: tf-csr1000v-p\n throughput: 500\n throughputUnit: Mbps\n metroCode: ${dc.metroCode}\n typeCode: CSR1000V\n selfManaged: false\n connectivity: INTERNET-ACCESS\n byol: false\n packageCode: SEC\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n hostname: csr1000v-p\n termLength: 12\n accountNumber: ${dc.number}\n version: 16.09.05\n coreCount: 2\n secondaryDevice:\n name: tf-csr1000v-s\n metroCode: ${sv.metroCode}\n hostname: csr1000v-s\n notifications:\n - john@equinix.com\n - marry@equinix.com\n accountNumber: ${sv.number}\nvariables:\n # Create pair of redundant, managed CSR1000V routers with license subscription\n # in two different metro locations\n dc:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: DC\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n metroCode: \"SV\",\n});\nconst panwCluster = new equinix.networkedge.Device(\"panwCluster\", {\n name: \"tf-panw\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"PA-VM\",\n selfManaged: true,\n byol: true,\n packageCode: \"VM100\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n termLength: 12,\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"10.1.3\",\n interfaceCount: 10,\n coreCount: 2,\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n aclTemplateId: \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n clusterDetails: {\n clusterName: \"tf-panw-cluster\",\n node0: {\n vendorConfiguration: {\n hostname: \"panw-node0\",\n },\n licenseToken: \"licenseToken\",\n },\n node1: {\n vendorConfiguration: {\n hostname: \"panw-node1\",\n },\n licenseToken: \"licenseToken\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\npanw_cluster = equinix.networkedge.Device(\"panwCluster\",\n name=\"tf-panw\",\n metro_code=sv.metro_code,\n type_code=\"PA-VM\",\n self_managed=True,\n byol=True,\n package_code=\"VM100\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n term_length=12,\n account_number=sv.number,\n version=\"10.1.3\",\n interface_count=10,\n core_count=2,\n ssh_key=equinix.networkedge.DeviceSshKeyArgs(\n username=\"test\",\n key_name=\"test-key\",\n ),\n acl_template_id=\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n cluster_details=equinix.networkedge.DeviceClusterDetailsArgs(\n cluster_name=\"tf-panw-cluster\",\n node0=equinix.networkedge.DeviceClusterDetailsNode0Args(\n vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs(\n hostname=\"panw-node0\",\n ),\n license_token=\"licenseToken\",\n ),\n node1=equinix.networkedge.DeviceClusterDetailsNode1Args(\n vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs(\n hostname=\"panw-node1\",\n ),\n license_token=\"licenseToken\",\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"panwCluster\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-panw\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"PA-VM\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"VM100\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\tpulumi.String(\"fred@equinix.com\"),\n\t\t\t},\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"10.1.3\"),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\tKeyName: pulumi.String(\"test-key\"),\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\"),\n\t\t\tClusterDetails: \u0026networkedge.DeviceClusterDetailsArgs{\n\t\t\t\tClusterName: pulumi.String(\"tf-panw-cluster\"),\n\t\t\t\tNode0: \u0026networkedge.DeviceClusterDetailsNode0Args{\n\t\t\t\t\tVendorConfiguration: \u0026networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"panw-node0\"),\n\t\t\t\t\t},\n\t\t\t\t\tLicenseToken: pulumi.String(\"licenseToken\"),\n\t\t\t\t},\n\t\t\t\tNode1: \u0026networkedge.DeviceClusterDetailsNode1Args{\n\t\t\t\t\tVendorConfiguration: \u0026networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"panw-node1\"),\n\t\t\t\t\t},\n\t\t\t\t\tLicenseToken: pulumi.String(\"licenseToken\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"SV\",\n });\n\n var panwCluster = new Equinix.NetworkEdge.Device(\"panwCluster\", new()\n {\n Name = \"tf-panw\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"PA-VM\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"VM100\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n },\n TermLength = 12,\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"10.1.3\",\n InterfaceCount = 10,\n CoreCount = 2,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\n },\n AclTemplateId = \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n ClusterDetails = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsArgs\n {\n ClusterName = \"tf-panw-cluster\",\n Node0 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0Args\n {\n VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0VendorConfigurationArgs\n {\n Hostname = \"panw-node0\",\n },\n LicenseToken = \"licenseToken\",\n },\n Node1 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1Args\n {\n VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1VendorConfigurationArgs\n {\n Hostname = \"panw-node1\",\n },\n LicenseToken = \"licenseToken\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0Args;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0VendorConfigurationArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1Args;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1VendorConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"SV\")\n .build());\n\n var panwCluster = new Device(\"panwCluster\", DeviceArgs.builder()\n .name(\"tf-panw\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"PA-VM\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"VM100\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"10.1.3\")\n .interfaceCount(10)\n .coreCount(2)\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .aclTemplateId(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\")\n .clusterDetails(DeviceClusterDetailsArgs.builder()\n .clusterName(\"tf-panw-cluster\")\n .node0(DeviceClusterDetailsNode0Args.builder()\n .vendorConfiguration(DeviceClusterDetailsNode0VendorConfigurationArgs.builder()\n .hostname(\"panw-node0\")\n .build())\n .licenseToken(\"licenseToken\")\n .build())\n .node1(DeviceClusterDetailsNode1Args.builder()\n .vendorConfiguration(DeviceClusterDetailsNode1VendorConfigurationArgs.builder()\n .hostname(\"panw-node1\")\n .build())\n .licenseToken(\"licenseToken\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n panwCluster:\n type: equinix:networkedge:Device\n name: panw_cluster\n properties:\n name: tf-panw\n metroCode: ${sv.metroCode}\n typeCode: PA-VM\n selfManaged: true\n byol: true\n packageCode: VM100\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 10.1.3\n interfaceCount: 10\n coreCount: 2\n sshKey:\n username: test\n keyName: test-key\n aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b\n clusterDetails:\n clusterName: tf-panw-cluster\n node0:\n vendorConfiguration:\n hostname: panw-node0\n licenseToken: licenseToken\n node1:\n vendorConfiguration:\n hostname: panw-node1\n licenseToken: licenseToken\nvariables:\n # Create self configured PANW cluster with BYOL license\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 3\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst filepath = config.get(\"filepath\") || \"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\";\nconst sv = equinix.networkedge.getAccountOutput({\n metroCode: \"SV\",\n});\nconst aviatrixCloudinitFile = new equinix.networkedge.NetworkFile(\"aviatrixCloudinitFile\", {\n fileName: \"TF-AVX-cloud-init-file.txt\",\n content: std.fileOutput({\n input: filepath,\n }).apply(invoke =\u003e invoke.result),\n metroCode: sv.apply(sv =\u003e sv.metroCode).apply((x) =\u003e equinix.index.Metro[x]),\n deviceTypeCode: \"AVIATRIX_EDGE\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\nconst aviatrixSingle = new equinix.networkedge.Device(\"aviatrixSingle\", {\n name: \"tf-aviatrix\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"AVIATRIX_EDGE\",\n selfManaged: true,\n byol: true,\n packageCode: \"STD\",\n notifications: [\"john@equinix.com\"],\n termLength: 12,\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"6.9\",\n coreCount: 2,\n cloudInitFileId: aviatrixCloudinitFile.uuid,\n aclTemplateId: \"c06150ea-b604-4ad1-832a-d63936e9b938\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nfilepath = config.get(\"filepath\")\nif filepath is None:\n filepath = \"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\"\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\naviatrix_cloudinit_file = equinix.networkedge.NetworkFile(\"aviatrixCloudinitFile\",\n file_name=\"TF-AVX-cloud-init-file.txt\",\n content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),\n metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),\n device_type_code=\"AVIATRIX_EDGE\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\naviatrix_single = equinix.networkedge.Device(\"aviatrixSingle\",\n name=\"tf-aviatrix\",\n metro_code=sv.metro_code,\n type_code=\"AVIATRIX_EDGE\",\n self_managed=True,\n byol=True,\n package_code=\"STD\",\n notifications=[\"john@equinix.com\"],\n term_length=12,\n account_number=sv.number,\n version=\"6.9\",\n core_count=2,\n cloud_init_file_id=aviatrix_cloudinit_file.uuid,\n acl_template_id=\"c06150ea-b604-4ad1-832a-d63936e9b938\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfilepath := \"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\"\n\t\tif param := cfg.Get(\"filepath\"); param != \"\" {\n\t\t\tfilepath = param\n\t\t}\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: filepath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, \"aviatrixCloudinitFile\", \u0026networkedge.NetworkFileArgs{\n\t\t\tFileName: pulumi.String(\"TF-AVX-cloud-init-file.txt\"),\n\t\t\tContent: invokeFile.Result,\n\t\t\tMetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"AVIATRIX_EDGE\"),\n\t\t\tProcessType: pulumi.String(networkedge.FileTypeCloudInit),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"aviatrixSingle\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-aviatrix\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"AVIATRIX_EDGE\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t},\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"6.9\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tCloudInitFileId: aviatrixCloudinitFile.Uuid,\n\t\t\tAclTemplateId: pulumi.String(\"c06150ea-b604-4ad1-832a-d63936e9b938\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var filepath = config.Get(\"filepath\") ?? \"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\";\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"SV\",\n });\n\n var aviatrixCloudinitFile = new Equinix.NetworkEdge.NetworkFile(\"aviatrixCloudinitFile\", new()\n {\n FileName = \"TF-AVX-cloud-init-file.txt\",\n Content = Std.File.Invoke(new()\n {\n Input = filepath,\n }).Apply(invoke =\u003e invoke.Result),\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode).Apply(System.Enum.Parse\u003cEquinix.Metro\u003e),\n DeviceTypeCode = \"AVIATRIX_EDGE\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n var aviatrixSingle = new Equinix.NetworkEdge.Device(\"aviatrixSingle\", new()\n {\n Name = \"tf-aviatrix\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"AVIATRIX_EDGE\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n },\n TermLength = 12,\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"6.9\",\n CoreCount = 2,\n CloudInitFileId = aviatrixCloudinitFile.Uuid,\n AclTemplateId = \"c06150ea-b604-4ad1-832a-d63936e9b938\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.NetworkFile;\nimport com.pulumi.equinix.networkedge.NetworkFileArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var filepath = config.get(\"filepath\").orElse(\"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\");\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"SV\")\n .build());\n\n var aviatrixCloudinitFile = new NetworkFile(\"aviatrixCloudinitFile\", NetworkFileArgs.builder()\n .fileName(\"TF-AVX-cloud-init-file.txt\")\n .content(StdFunctions.file(FileArgs.builder()\n .input(filepath)\n .build()).result())\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .deviceTypeCode(\"AVIATRIX_EDGE\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n var aviatrixSingle = new Device(\"aviatrixSingle\", DeviceArgs.builder()\n .name(\"tf-aviatrix\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"AVIATRIX_EDGE\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"john@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"6.9\")\n .coreCount(2)\n .cloudInitFileId(aviatrixCloudinitFile.uuid())\n .aclTemplateId(\"c06150ea-b604-4ad1-832a-d63936e9b938\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n filepath:\n type: string\n default: cloudInitFileFolder/TF-AVX-cloud-init-file.txt\nresources:\n aviatrixCloudinitFile:\n type: equinix:networkedge:NetworkFile\n name: aviatrix_cloudinit_file\n properties:\n fileName: TF-AVX-cloud-init-file.txt\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ${filepath}\n Return: result\n metroCode: ${sv.metroCode}\n deviceTypeCode: AVIATRIX_EDGE\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n aviatrixSingle:\n type: equinix:networkedge:Device\n name: aviatrix_single\n properties:\n name: tf-aviatrix\n metroCode: ${sv.metroCode}\n typeCode: AVIATRIX_EDGE\n selfManaged: true\n byol: true\n packageCode: STD\n notifications:\n - john@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: '6.9'\n coreCount: 2\n cloudInitFileId: ${aviatrixCloudinitFile.uuid}\n aclTemplateId: c06150ea-b604-4ad1-832a-d63936e9b938\nvariables:\n # Create self configured single Aviatrix device with cloud init file\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 4\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst c8KvSingle = new equinix.networkedge.Device(\"c8kvSingle\", {\n name: \"tf-c8kv\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"C8000V\",\n selfManaged: true,\n byol: true,\n packageCode: \"network-essentials\",\n notifications: [\"test@equinix.com\"],\n hostname: \"C8KV\",\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"17.06.01a\",\n coreCount: 2,\n termLength: 12,\n licenseToken: \"valid-license-token\",\n additionalBandwidth: 5,\n sshKey: {\n username: \"test-username\",\n keyName: \"valid-key-name\",\n },\n aclTemplateId: \"3e548c02-9164-4197-aa23-05b1f644883c\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\nc8_kv_single = equinix.networkedge.Device(\"c8kvSingle\",\n name=\"tf-c8kv\",\n metro_code=sv.metro_code,\n type_code=\"C8000V\",\n self_managed=True,\n byol=True,\n package_code=\"network-essentials\",\n notifications=[\"test@equinix.com\"],\n hostname=\"C8KV\",\n account_number=sv.number,\n version=\"17.06.01a\",\n core_count=2,\n term_length=12,\n license_token=\"valid-license-token\",\n additional_bandwidth=5,\n ssh_key=equinix.networkedge.DeviceSshKeyArgs(\n username=\"test-username\",\n key_name=\"valid-key-name\",\n ),\n acl_template_id=\"3e548c02-9164-4197-aa23-05b1f644883c\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"c8kvSingle\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-c8kv\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"C8000V\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"network-essentials\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tHostname: pulumi.String(\"C8KV\"),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"17.06.01a\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tLicenseToken: pulumi.String(\"valid-license-token\"),\n\t\t\tAdditionalBandwidth: pulumi.Int(5),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test-username\"),\n\t\t\t\tKeyName: pulumi.String(\"valid-key-name\"),\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"3e548c02-9164-4197-aa23-05b1f644883c\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var c8KvSingle = new Equinix.NetworkEdge.Device(\"c8kvSingle\", new()\n {\n Name = \"tf-c8kv\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"C8000V\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"network-essentials\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n Hostname = \"C8KV\",\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"17.06.01a\",\n CoreCount = 2,\n TermLength = 12,\n LicenseToken = \"valid-license-token\",\n AdditionalBandwidth = 5,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test-username\",\n KeyName = \"valid-key-name\",\n },\n AclTemplateId = \"3e548c02-9164-4197-aa23-05b1f644883c\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var c8KvSingle = new Device(\"c8KvSingle\", DeviceArgs.builder()\n .name(\"tf-c8kv\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"C8000V\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"network-essentials\")\n .notifications(\"test@equinix.com\")\n .hostname(\"C8KV\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"17.06.01a\")\n .coreCount(2)\n .termLength(12)\n .licenseToken(\"valid-license-token\")\n .additionalBandwidth(5)\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test-username\")\n .keyName(\"valid-key-name\")\n .build())\n .aclTemplateId(\"3e548c02-9164-4197-aa23-05b1f644883c\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n c8kvSingle:\n type: equinix:networkedge:Device\n name: c8kv_single\n properties:\n name: tf-c8kv\n metroCode: ${sv.metroCode}\n typeCode: C8000V\n selfManaged: true\n byol: true\n packageCode: network-essentials\n notifications:\n - test@equinix.com\n hostname: C8KV\n accountNumber: ${sv.number}\n version: 17.06.01a\n coreCount: 2\n termLength: 12\n licenseToken: valid-license-token\n additionalBandwidth: 5\n sshKey:\n username: test-username\n keyName: valid-key-name\n aclTemplateId: 3e548c02-9164-4197-aa23-05b1f644883c\nvariables:\n # Create self configured single Catalyst 8000V (Autonomous Mode) router with license token\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 5\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst vsrxSingle = new equinix.networkedge.Device(\"vsrxSingle\", {\n name: \"tf-c8kv-sdwan\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"VSRX\",\n selfManaged: true,\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@equinix.com\"],\n hostname: \"VSRX\",\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"23.2R1.13\",\n coreCount: 2,\n termLength: 12,\n additionalBandwidth: 5,\n projectId: \"a86d7112-d740-4758-9c9c-31e66373746b\",\n diverseDeviceId: \"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\",\n sshKey: {\n username: \"test-username\",\n keyName: \"valid-key-name\",\n },\n aclTemplateId: \"3e548c02-9164-4197-aa23-05b1f644883c\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\nvsrx_single = equinix.networkedge.Device(\"vsrxSingle\",\n name=\"tf-c8kv-sdwan\",\n metro_code=sv.metro_code,\n type_code=\"VSRX\",\n self_managed=True,\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@equinix.com\"],\n hostname=\"VSRX\",\n account_number=sv.number,\n version=\"23.2R1.13\",\n core_count=2,\n term_length=12,\n additional_bandwidth=5,\n project_id=\"a86d7112-d740-4758-9c9c-31e66373746b\",\n diverse_device_id=\"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\",\n ssh_key=equinix.networkedge.DeviceSshKeyArgs(\n username=\"test-username\",\n key_name=\"valid-key-name\",\n ),\n acl_template_id=\"3e548c02-9164-4197-aa23-05b1f644883c\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"vsrxSingle\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-c8kv-sdwan\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"VSRX\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tHostname: pulumi.String(\"VSRX\"),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"23.2R1.13\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAdditionalBandwidth: pulumi.Int(5),\n\t\t\tProjectId: pulumi.String(\"a86d7112-d740-4758-9c9c-31e66373746b\"),\n\t\t\tDiverseDeviceId: pulumi.String(\"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\"),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test-username\"),\n\t\t\t\tKeyName: pulumi.String(\"valid-key-name\"),\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"3e548c02-9164-4197-aa23-05b1f644883c\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var vsrxSingle = new Equinix.NetworkEdge.Device(\"vsrxSingle\", new()\n {\n Name = \"tf-c8kv-sdwan\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"VSRX\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n Hostname = \"VSRX\",\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"23.2R1.13\",\n CoreCount = 2,\n TermLength = 12,\n AdditionalBandwidth = 5,\n ProjectId = \"a86d7112-d740-4758-9c9c-31e66373746b\",\n DiverseDeviceId = \"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\",\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test-username\",\n KeyName = \"valid-key-name\",\n },\n AclTemplateId = \"3e548c02-9164-4197-aa23-05b1f644883c\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var vsrxSingle = new Device(\"vsrxSingle\", DeviceArgs.builder()\n .name(\"tf-c8kv-sdwan\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"VSRX\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@equinix.com\")\n .hostname(\"VSRX\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"23.2R1.13\")\n .coreCount(2)\n .termLength(12)\n .additionalBandwidth(5)\n .projectId(\"a86d7112-d740-4758-9c9c-31e66373746b\")\n .diverseDeviceId(\"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\")\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test-username\")\n .keyName(\"valid-key-name\")\n .build())\n .aclTemplateId(\"3e548c02-9164-4197-aa23-05b1f644883c\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vsrxSingle:\n type: equinix:networkedge:Device\n name: vsrx_single\n properties:\n name: tf-c8kv-sdwan\n metroCode: ${sv.metroCode}\n typeCode: VSRX\n selfManaged: true\n byol: true\n packageCode: STD\n notifications:\n - test@equinix.com\n hostname: VSRX\n accountNumber: ${sv.number}\n version: 23.2R1.13\n coreCount: 2\n termLength: 12\n additionalBandwidth: 5\n projectId: a86d7112-d740-4758-9c9c-31e66373746b\n diverseDeviceId: ed7891bd-15b4-4f72-ac56-d96cfdacddcc\n sshKey:\n username: test-username\n keyName: valid-key-name\n aclTemplateId: 3e548c02-9164-4197-aa23-05b1f644883c\nvariables:\n # Create self configured single VSRX device with BYOL License\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 6\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst testPublicKey = new equinix.networkedge.SshKey(\"testPublicKey\", {\n name: \"key-name\",\n publicKey: \"ssh-dss key-value\",\n type: \"DSA\",\n});\nconst aristaHa = new equinix.networkedge.Device(\"aristaHa\", {\n name: \"tf-arista-p\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"ARISTA-ROUTER\",\n selfManaged: true,\n connectivity: \"PRIVATE\",\n byol: true,\n packageCode: \"CloudEOS\",\n notifications: [\"test@equinix.com\"],\n hostname: \"arista-p\",\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"4.29.0\",\n coreCount: 4,\n termLength: 12,\n additionalBandwidth: 5,\n sshKey: {\n username: \"test-username\",\n keyName: testPublicKey.name,\n },\n aclTemplateId: \"c637a17b-7a6a-4486-924b-30e6c36904b0\",\n secondaryDevice: {\n name: \"tf-arista-s\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n hostname: \"arista-s\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n aclTemplateId: \"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\ntest_public_key = equinix.networkedge.SshKey(\"testPublicKey\",\n name=\"key-name\",\n public_key=\"ssh-dss key-value\",\n type=\"DSA\")\narista_ha = equinix.networkedge.Device(\"aristaHa\",\n name=\"tf-arista-p\",\n metro_code=sv.metro_code,\n type_code=\"ARISTA-ROUTER\",\n self_managed=True,\n connectivity=\"PRIVATE\",\n byol=True,\n package_code=\"CloudEOS\",\n notifications=[\"test@equinix.com\"],\n hostname=\"arista-p\",\n account_number=sv.number,\n version=\"4.29.0\",\n core_count=4,\n term_length=12,\n additional_bandwidth=5,\n ssh_key=equinix.networkedge.DeviceSshKeyArgs(\n username=\"test-username\",\n key_name=test_public_key.name,\n ),\n acl_template_id=\"c637a17b-7a6a-4486-924b-30e6c36904b0\",\n secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs(\n name=\"tf-arista-s\",\n metro_code=sv.metro_code,\n hostname=\"arista-s\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n acl_template_id=\"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\",\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestPublicKey, err := networkedge.NewSshKey(ctx, \"testPublicKey\", \u0026networkedge.SshKeyArgs{\n\t\t\tName: pulumi.String(\"key-name\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-dss key-value\"),\n\t\t\tType: pulumi.String(\"DSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"aristaHa\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-arista-p\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"ARISTA-ROUTER\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"CloudEOS\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tHostname: pulumi.String(\"arista-p\"),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"4.29.0\"),\n\t\t\tCoreCount: pulumi.Int(4),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAdditionalBandwidth: pulumi.Int(5),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test-username\"),\n\t\t\t\tKeyName: testPublicKey.Name,\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"c637a17b-7a6a-4486-924b-30e6c36904b0\"),\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"tf-arista-s\"),\n\t\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\t\tHostname: pulumi.String(\"arista-s\"),\n\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t\t},\n\t\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\t\tAclTemplateId: pulumi.String(\"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var testPublicKey = new Equinix.NetworkEdge.SshKey(\"testPublicKey\", new()\n {\n Name = \"key-name\",\n PublicKey = \"ssh-dss key-value\",\n Type = \"DSA\",\n });\n\n var aristaHa = new Equinix.NetworkEdge.Device(\"aristaHa\", new()\n {\n Name = \"tf-arista-p\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"ARISTA-ROUTER\",\n SelfManaged = true,\n Connectivity = \"PRIVATE\",\n Byol = true,\n PackageCode = \"CloudEOS\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n Hostname = \"arista-p\",\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"4.29.0\",\n CoreCount = 4,\n TermLength = 12,\n AdditionalBandwidth = 5,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test-username\",\n KeyName = testPublicKey.Name,\n },\n AclTemplateId = \"c637a17b-7a6a-4486-924b-30e6c36904b0\",\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"tf-arista-s\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Hostname = \"arista-s\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n AclTemplateId = \"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\",\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.SshKey;\nimport com.pulumi.equinix.networkedge.SshKeyArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var testPublicKey = new SshKey(\"testPublicKey\", SshKeyArgs.builder()\n .name(\"key-name\")\n .publicKey(\"ssh-dss key-value\")\n .type(\"DSA\")\n .build());\n\n var aristaHa = new Device(\"aristaHa\", DeviceArgs.builder()\n .name(\"tf-arista-p\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"ARISTA-ROUTER\")\n .selfManaged(true)\n .connectivity(\"PRIVATE\")\n .byol(true)\n .packageCode(\"CloudEOS\")\n .notifications(\"test@equinix.com\")\n .hostname(\"arista-p\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"4.29.0\")\n .coreCount(4)\n .termLength(12)\n .additionalBandwidth(5)\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test-username\")\n .keyName(testPublicKey.name())\n .build())\n .aclTemplateId(\"c637a17b-7a6a-4486-924b-30e6c36904b0\")\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-arista-s\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .hostname(\"arista-s\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .aclTemplateId(\"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPublicKey:\n type: equinix:networkedge:SshKey\n name: test_public_key\n properties:\n name: key-name\n publicKey: ssh-dss key-value\n type: DSA\n aristaHa:\n type: equinix:networkedge:Device\n name: arista_ha\n properties:\n name: tf-arista-p\n metroCode: ${sv.metroCode}\n typeCode: ARISTA-ROUTER\n selfManaged: true\n connectivity: PRIVATE\n byol: true\n packageCode: CloudEOS\n notifications:\n - test@equinix.com\n hostname: arista-p\n accountNumber: ${sv.number}\n version: 4.29.0\n coreCount: 4\n termLength: 12\n additionalBandwidth: 5\n sshKey:\n username: test-username\n keyName: ${testPublicKey.name}\n aclTemplateId: c637a17b-7a6a-4486-924b-30e6c36904b0\n secondaryDevice:\n name: tf-arista-s\n metroCode: ${sv.metroCode}\n hostname: arista-s\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n aclTemplateId: fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\nvariables:\n # Create self configured redundant Arista router with DSA key\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 7\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst testPublicKey = new equinix.networkedge.SshKey(\"testPublicKey\", {\n name: \"key-name\",\n publicKey: \"ssh-dss key-value\",\n type: \"DSA\",\n});\nconst bluecatBddsHa = new equinix.networkedge.Device(\"bluecatBddsHa\", {\n name: \"tf-bluecat-bdds-p\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"BLUECAT\",\n selfManaged: true,\n connectivity: \"PRIVATE\",\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@equinix.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"9.6.0\",\n coreCount: 2,\n termLength: 12,\n vendorConfiguration: {\n hostname: \"test\",\n privateAddress: \"x.x.x.x\",\n privateCidrMask: \"24\",\n privateGateway: \"x.x.x.x\",\n licenseKey: \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\",\n licenseId: \"xxxxxxxxxxxxxxx\",\n },\n sshKey: {\n username: \"test-username\",\n keyName: testPublicKey.name,\n },\n secondaryDevice: {\n name: \"tf-bluecat-bdds-s\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n vendorConfiguration: {\n hostname: \"test\",\n privateAddress: \"x.x.x.x\",\n privateCidrMask: \"24\",\n privateGateway: \"x.x.x.x\",\n licenseKey: \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\",\n licenseId: \"xxxxxxxxxxxxxxx\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\ntest_public_key = equinix.networkedge.SshKey(\"testPublicKey\",\n name=\"key-name\",\n public_key=\"ssh-dss key-value\",\n type=\"DSA\")\nbluecat_bdds_ha = equinix.networkedge.Device(\"bluecatBddsHa\",\n name=\"tf-bluecat-bdds-p\",\n metro_code=sv.metro_code,\n type_code=\"BLUECAT\",\n self_managed=True,\n connectivity=\"PRIVATE\",\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@equinix.com\"],\n account_number=sv.number,\n version=\"9.6.0\",\n core_count=2,\n term_length=12,\n vendor_configuration={\n \"hostname\": \"test\",\n \"privateAddress\": \"x.x.x.x\",\n \"privateCidrMask\": \"24\",\n \"privateGateway\": \"x.x.x.x\",\n \"licenseKey\": \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\",\n \"licenseId\": \"xxxxxxxxxxxxxxx\",\n },\n ssh_key=equinix.networkedge.DeviceSshKeyArgs(\n username=\"test-username\",\n key_name=test_public_key.name,\n ),\n secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs(\n name=\"tf-bluecat-bdds-s\",\n metro_code=sv.metro_code,\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n vendor_configuration={\n \"hostname\": \"test\",\n \"privateAddress\": \"x.x.x.x\",\n \"privateCidrMask\": \"24\",\n \"privateGateway\": \"x.x.x.x\",\n \"licenseKey\": \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\",\n \"licenseId\": \"xxxxxxxxxxxxxxx\",\n },\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestPublicKey, err := networkedge.NewSshKey(ctx, \"testPublicKey\", \u0026networkedge.SshKeyArgs{\n\t\t\tName: pulumi.String(\"key-name\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-dss key-value\"),\n\t\t\tType: pulumi.String(\"DSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"bluecatBddsHa\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-bluecat-bdds-p\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"BLUECAT\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"9.6.0\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"hostname\": pulumi.String(\"test\"),\n\t\t\t\t\"privateAddress\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\"privateCidrMask\": pulumi.String(\"24\"),\n\t\t\t\t\"privateGateway\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\"licenseKey\": pulumi.String(\"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\"),\n\t\t\t\t\"licenseId\": pulumi.String(\"xxxxxxxxxxxxxxx\"),\n\t\t\t},\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test-username\"),\n\t\t\t\tKeyName: testPublicKey.Name,\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"tf-bluecat-bdds-s\"),\n\t\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t\t},\n\t\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"hostname\": pulumi.String(\"test\"),\n\t\t\t\t\t\"privateAddress\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\t\"privateCidrMask\": pulumi.String(\"24\"),\n\t\t\t\t\t\"privateGateway\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\t\"licenseKey\": pulumi.String(\"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\"),\n\t\t\t\t\t\"licenseId\": pulumi.String(\"xxxxxxxxxxxxxxx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var testPublicKey = new Equinix.NetworkEdge.SshKey(\"testPublicKey\", new()\n {\n Name = \"key-name\",\n PublicKey = \"ssh-dss key-value\",\n Type = \"DSA\",\n });\n\n var bluecatBddsHa = new Equinix.NetworkEdge.Device(\"bluecatBddsHa\", new()\n {\n Name = \"tf-bluecat-bdds-p\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"BLUECAT\",\n SelfManaged = true,\n Connectivity = \"PRIVATE\",\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"9.6.0\",\n CoreCount = 2,\n TermLength = 12,\n VendorConfiguration = \n {\n { \"hostname\", \"test\" },\n { \"privateAddress\", \"x.x.x.x\" },\n { \"privateCidrMask\", \"24\" },\n { \"privateGateway\", \"x.x.x.x\" },\n { \"licenseKey\", \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\" },\n { \"licenseId\", \"xxxxxxxxxxxxxxx\" },\n },\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test-username\",\n KeyName = testPublicKey.Name,\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"tf-bluecat-bdds-s\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n VendorConfiguration = \n {\n { \"hostname\", \"test\" },\n { \"privateAddress\", \"x.x.x.x\" },\n { \"privateCidrMask\", \"24\" },\n { \"privateGateway\", \"x.x.x.x\" },\n { \"licenseKey\", \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\" },\n { \"licenseId\", \"xxxxxxxxxxxxxxx\" },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.SshKey;\nimport com.pulumi.equinix.networkedge.SshKeyArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var testPublicKey = new SshKey(\"testPublicKey\", SshKeyArgs.builder()\n .name(\"key-name\")\n .publicKey(\"ssh-dss key-value\")\n .type(\"DSA\")\n .build());\n\n var bluecatBddsHa = new Device(\"bluecatBddsHa\", DeviceArgs.builder()\n .name(\"tf-bluecat-bdds-p\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"BLUECAT\")\n .selfManaged(true)\n .connectivity(\"PRIVATE\")\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@equinix.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"9.6.0\")\n .coreCount(2)\n .termLength(12)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"hostname\", \"test\"),\n Map.entry(\"privateAddress\", \"x.x.x.x\"),\n Map.entry(\"privateCidrMask\", \"24\"),\n Map.entry(\"privateGateway\", \"x.x.x.x\"),\n Map.entry(\"licenseKey\", \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\"),\n Map.entry(\"licenseId\", \"xxxxxxxxxxxxxxx\")\n ))\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test-username\")\n .keyName(testPublicKey.name())\n .build())\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-bluecat-bdds-s\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"hostname\", \"test\"),\n Map.entry(\"privateAddress\", \"x.x.x.x\"),\n Map.entry(\"privateCidrMask\", \"24\"),\n Map.entry(\"privateGateway\", \"x.x.x.x\"),\n Map.entry(\"licenseKey\", \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\"),\n Map.entry(\"licenseId\", \"xxxxxxxxxxxxxxx\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPublicKey:\n type: equinix:networkedge:SshKey\n name: test_public_key\n properties:\n name: key-name\n publicKey: ssh-dss key-value\n type: DSA\n bluecatBddsHa:\n type: equinix:networkedge:Device\n name: bluecat_bdds_ha\n properties:\n name: tf-bluecat-bdds-p\n metroCode: ${sv.metroCode}\n typeCode: BLUECAT\n selfManaged: true\n connectivity: PRIVATE\n byol: true\n packageCode: STD\n notifications:\n - test@equinix.com\n accountNumber: ${sv.number}\n version: 9.6.0\n coreCount: 2\n termLength: 12\n vendorConfiguration:\n hostname: test\n privateAddress: x.x.x.x\n privateCidrMask: '24'\n privateGateway: x.x.x.x\n licenseKey: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\n licenseId: xxxxxxxxxxxxxxx\n sshKey:\n username: test-username\n keyName: ${testPublicKey.name}\n secondaryDevice:\n name: tf-bluecat-bdds-s\n metroCode: ${sv.metroCode}\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n vendorConfiguration:\n hostname: test\n privateAddress: x.x.x.x\n privateCidrMask: '24'\n privateGateway: x.x.x.x\n licenseKey: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\n licenseId: xxxxxxxxxxxxxxx\nvariables:\n # Create self configured redundant BlueCat DNS and DHCP Server\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 8\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst bluecatEdgeServicePointCloudinitPrimaryFile = new equinix.networkedge.NetworkFile(\"bluecatEdgeServicePointCloudinitPrimaryFile\", {\n fileName: \"TF-BLUECAT-ESP-cloud-init-file.txt\",\n content: std.fileOutput({\n input: filepath,\n }).apply(invoke =\u003e invoke.result),\n metroCode: sv.apply(sv =\u003e sv.metroCode).apply((x) =\u003e equinix.index.Metro[x]),\n deviceTypeCode: \"BLUECAT-EDGE-SERVICE-POINT\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\nconst bluecatEdgeServicePointCloudinitSecondaryFile = new equinix.networkedge.NetworkFile(\"bluecatEdgeServicePointCloudinitSecondaryFile\", {\n fileName: \"TF-BLUECAT-ESP-cloud-init-file.txt\",\n content: std.fileOutput({\n input: filepath,\n }).apply(invoke =\u003e invoke.result),\n metroCode: sv.apply(sv =\u003e sv.metroCode).apply((x) =\u003e equinix.index.Metro[x]),\n deviceTypeCode: \"BLUECAT-EDGE-SERVICE-POINT\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\nconst bluecatEdgeServicePointHa = new equinix.networkedge.Device(\"bluecatEdgeServicePointHa\", {\n name: \"tf-bluecat-edge-service-point-p\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"BLUECAT-EDGE-SERVICE-POINT\",\n selfManaged: true,\n connectivity: \"PRIVATE\",\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@equinix.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n cloudInitFileId: bluecatEdgeServicePointCloudinitPrimaryFile.uuid,\n version: \"4.6.3\",\n coreCount: 4,\n termLength: 12,\n secondaryDevice: {\n name: \"tf-bluecat-edge-service-point-s\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n cloudInitFileId: bluecatEdgeServicePointCloudinitSecondaryFile.uuid,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\nbluecat_edge_service_point_cloudinit_primary_file = equinix.networkedge.NetworkFile(\"bluecatEdgeServicePointCloudinitPrimaryFile\",\n file_name=\"TF-BLUECAT-ESP-cloud-init-file.txt\",\n content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),\n metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),\n device_type_code=\"BLUECAT-EDGE-SERVICE-POINT\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\nbluecat_edge_service_point_cloudinit_secondary_file = equinix.networkedge.NetworkFile(\"bluecatEdgeServicePointCloudinitSecondaryFile\",\n file_name=\"TF-BLUECAT-ESP-cloud-init-file.txt\",\n content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),\n metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),\n device_type_code=\"BLUECAT-EDGE-SERVICE-POINT\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\nbluecat_edge_service_point_ha = equinix.networkedge.Device(\"bluecatEdgeServicePointHa\",\n name=\"tf-bluecat-edge-service-point-p\",\n metro_code=sv.metro_code,\n type_code=\"BLUECAT-EDGE-SERVICE-POINT\",\n self_managed=True,\n connectivity=\"PRIVATE\",\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@equinix.com\"],\n account_number=sv.number,\n cloud_init_file_id=bluecat_edge_service_point_cloudinit_primary_file.uuid,\n version=\"4.6.3\",\n core_count=4,\n term_length=12,\n secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs(\n name=\"tf-bluecat-edge-service-point-s\",\n metro_code=sv.metro_code,\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n cloud_init_file_id=bluecat_edge_service_point_cloudinit_secondary_file.uuid,\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: filepath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbluecatEdgeServicePointCloudinitPrimaryFile, err := networkedge.NewNetworkFile(ctx, \"bluecatEdgeServicePointCloudinitPrimaryFile\", \u0026networkedge.NetworkFileArgs{\n\t\t\tFileName: pulumi.String(\"TF-BLUECAT-ESP-cloud-init-file.txt\"),\n\t\t\tContent: invokeFile.Result,\n\t\t\tMetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"BLUECAT-EDGE-SERVICE-POINT\"),\n\t\t\tProcessType: pulumi.String(networkedge.FileTypeCloudInit),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: filepath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbluecatEdgeServicePointCloudinitSecondaryFile, err := networkedge.NewNetworkFile(ctx, \"bluecatEdgeServicePointCloudinitSecondaryFile\", \u0026networkedge.NetworkFileArgs{\n\t\t\tFileName: pulumi.String(\"TF-BLUECAT-ESP-cloud-init-file.txt\"),\n\t\t\tContent: invokeFile1.Result,\n\t\t\tMetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"BLUECAT-EDGE-SERVICE-POINT\"),\n\t\t\tProcessType: pulumi.String(networkedge.FileTypeCloudInit),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"bluecatEdgeServicePointHa\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-bluecat-edge-service-point-p\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"BLUECAT-EDGE-SERVICE-POINT\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tCloudInitFileId: bluecatEdgeServicePointCloudinitPrimaryFile.Uuid,\n\t\t\tVersion: pulumi.String(\"4.6.3\"),\n\t\t\tCoreCount: pulumi.Int(4),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"tf-bluecat-edge-service-point-s\"),\n\t\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t\t},\n\t\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\t\tCloudInitFileId: bluecatEdgeServicePointCloudinitSecondaryFile.Uuid,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var bluecatEdgeServicePointCloudinitPrimaryFile = new Equinix.NetworkEdge.NetworkFile(\"bluecatEdgeServicePointCloudinitPrimaryFile\", new()\n {\n FileName = \"TF-BLUECAT-ESP-cloud-init-file.txt\",\n Content = Std.File.Invoke(new()\n {\n Input = filepath,\n }).Apply(invoke =\u003e invoke.Result),\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode).Apply(System.Enum.Parse\u003cEquinix.Metro\u003e),\n DeviceTypeCode = \"BLUECAT-EDGE-SERVICE-POINT\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n var bluecatEdgeServicePointCloudinitSecondaryFile = new Equinix.NetworkEdge.NetworkFile(\"bluecatEdgeServicePointCloudinitSecondaryFile\", new()\n {\n FileName = \"TF-BLUECAT-ESP-cloud-init-file.txt\",\n Content = Std.File.Invoke(new()\n {\n Input = filepath,\n }).Apply(invoke =\u003e invoke.Result),\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode).Apply(System.Enum.Parse\u003cEquinix.Metro\u003e),\n DeviceTypeCode = \"BLUECAT-EDGE-SERVICE-POINT\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n var bluecatEdgeServicePointHa = new Equinix.NetworkEdge.Device(\"bluecatEdgeServicePointHa\", new()\n {\n Name = \"tf-bluecat-edge-service-point-p\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"BLUECAT-EDGE-SERVICE-POINT\",\n SelfManaged = true,\n Connectivity = \"PRIVATE\",\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n CloudInitFileId = bluecatEdgeServicePointCloudinitPrimaryFile.Uuid,\n Version = \"4.6.3\",\n CoreCount = 4,\n TermLength = 12,\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"tf-bluecat-edge-service-point-s\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n CloudInitFileId = bluecatEdgeServicePointCloudinitSecondaryFile.Uuid,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.NetworkFile;\nimport com.pulumi.equinix.networkedge.NetworkFileArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var bluecatEdgeServicePointCloudinitPrimaryFile = new NetworkFile(\"bluecatEdgeServicePointCloudinitPrimaryFile\", NetworkFileArgs.builder()\n .fileName(\"TF-BLUECAT-ESP-cloud-init-file.txt\")\n .content(StdFunctions.file(FileArgs.builder()\n .input(filepath)\n .build()).result())\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .deviceTypeCode(\"BLUECAT-EDGE-SERVICE-POINT\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n var bluecatEdgeServicePointCloudinitSecondaryFile = new NetworkFile(\"bluecatEdgeServicePointCloudinitSecondaryFile\", NetworkFileArgs.builder()\n .fileName(\"TF-BLUECAT-ESP-cloud-init-file.txt\")\n .content(StdFunctions.file(FileArgs.builder()\n .input(filepath)\n .build()).result())\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .deviceTypeCode(\"BLUECAT-EDGE-SERVICE-POINT\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n var bluecatEdgeServicePointHa = new Device(\"bluecatEdgeServicePointHa\", DeviceArgs.builder()\n .name(\"tf-bluecat-edge-service-point-p\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"BLUECAT-EDGE-SERVICE-POINT\")\n .selfManaged(true)\n .connectivity(\"PRIVATE\")\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@equinix.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .cloudInitFileId(bluecatEdgeServicePointCloudinitPrimaryFile.uuid())\n .version(\"4.6.3\")\n .coreCount(4)\n .termLength(12)\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-bluecat-edge-service-point-s\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .cloudInitFileId(bluecatEdgeServicePointCloudinitSecondaryFile.uuid())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bluecatEdgeServicePointCloudinitPrimaryFile:\n type: equinix:networkedge:NetworkFile\n name: bluecat_edge_service_point_cloudinit_primary_file\n properties:\n fileName: TF-BLUECAT-ESP-cloud-init-file.txt\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ${filepath}\n Return: result\n metroCode: ${sv.metroCode}\n deviceTypeCode: BLUECAT-EDGE-SERVICE-POINT\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n bluecatEdgeServicePointCloudinitSecondaryFile:\n type: equinix:networkedge:NetworkFile\n name: bluecat_edge_service_point_cloudinit_secondary_file\n properties:\n fileName: TF-BLUECAT-ESP-cloud-init-file.txt\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ${filepath}\n Return: result\n metroCode: ${sv.metroCode}\n deviceTypeCode: BLUECAT-EDGE-SERVICE-POINT\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n bluecatEdgeServicePointHa:\n type: equinix:networkedge:Device\n name: bluecat_edge_service_point_ha\n properties:\n name: tf-bluecat-edge-service-point-p\n metroCode: ${sv.metroCode}\n typeCode: BLUECAT-EDGE-SERVICE-POINT\n selfManaged: true\n connectivity: PRIVATE\n byol: true\n packageCode: STD\n notifications:\n - test@equinix.com\n accountNumber: ${sv.number}\n cloudInitFileId: ${bluecatEdgeServicePointCloudinitPrimaryFile.uuid}\n version: 4.6.3\n coreCount: 4\n termLength: 12\n secondaryDevice:\n name: tf-bluecat-edge-service-point-s\n metroCode: ${sv.metroCode}\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n cloudInitFileId: ${bluecatEdgeServicePointCloudinitSecondaryFile.uuid}\nvariables:\n # Create self configured redundant BlueCat Edge Service Point\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 9\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n metroCode: \"SV\",\n});\nconst panwCluster = new equinix.networkedge.Device(\"panwCluster\", {\n name: \"tf-panw\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"PA-VM\",\n selfManaged: true,\n byol: true,\n packageCode: \"VM100\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n termLength: 12,\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"11.1.3\",\n interfaceCount: 10,\n coreCount: 2,\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n aclTemplateId: \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n clusterDetails: {\n clusterName: \"tf-panw-cluster\",\n node0: {\n vendorConfiguration: {\n hostname: \"panw-node0\",\n panoramaIpAddress: \"x.x.x.x\",\n panoramaAuthKey: \"xxxxxxxxxxx\",\n },\n licenseToken: \"licenseToken\",\n },\n node1: {\n vendorConfiguration: {\n hostname: \"panw-node1\",\n panoramaIpAddress: \"x.x.x.x\",\n panoramaAuthKey: \"xxxxxxxxxxx\",\n },\n licenseToken: \"licenseToken\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\npanw_cluster = equinix.networkedge.Device(\"panwCluster\",\n name=\"tf-panw\",\n metro_code=sv.metro_code,\n type_code=\"PA-VM\",\n self_managed=True,\n byol=True,\n package_code=\"VM100\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n term_length=12,\n account_number=sv.number,\n version=\"11.1.3\",\n interface_count=10,\n core_count=2,\n ssh_key=equinix.networkedge.DeviceSshKeyArgs(\n username=\"test\",\n key_name=\"test-key\",\n ),\n acl_template_id=\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n cluster_details=equinix.networkedge.DeviceClusterDetailsArgs(\n cluster_name=\"tf-panw-cluster\",\n node0=equinix.networkedge.DeviceClusterDetailsNode0Args(\n vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs(\n hostname=\"panw-node0\",\n panorama_ip_address=\"x.x.x.x\",\n panorama_auth_key=\"xxxxxxxxxxx\",\n ),\n license_token=\"licenseToken\",\n ),\n node1=equinix.networkedge.DeviceClusterDetailsNode1Args(\n vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs(\n hostname=\"panw-node1\",\n panorama_ip_address=\"x.x.x.x\",\n panorama_auth_key=\"xxxxxxxxxxx\",\n ),\n license_token=\"licenseToken\",\n ),\n ))\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"panwCluster\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-panw\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"PA-VM\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"VM100\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\tpulumi.String(\"fred@equinix.com\"),\n\t\t\t},\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"11.1.3\"),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\tKeyName: pulumi.String(\"test-key\"),\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\"),\n\t\t\tClusterDetails: \u0026networkedge.DeviceClusterDetailsArgs{\n\t\t\t\tClusterName: pulumi.String(\"tf-panw-cluster\"),\n\t\t\t\tNode0: \u0026networkedge.DeviceClusterDetailsNode0Args{\n\t\t\t\t\tVendorConfiguration: \u0026networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"panw-node0\"),\n\t\t\t\t\t\tPanoramaIpAddress: pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\t\tPanoramaAuthKey: pulumi.String(\"xxxxxxxxxxx\"),\n\t\t\t\t\t},\n\t\t\t\t\tLicenseToken: pulumi.String(\"licenseToken\"),\n\t\t\t\t},\n\t\t\t\tNode1: \u0026networkedge.DeviceClusterDetailsNode1Args{\n\t\t\t\t\tVendorConfiguration: \u0026networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"panw-node1\"),\n\t\t\t\t\t\tPanoramaIpAddress: pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\t\tPanoramaAuthKey: pulumi.String(\"xxxxxxxxxxx\"),\n\t\t\t\t\t},\n\t\t\t\t\tLicenseToken: pulumi.String(\"licenseToken\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"SV\",\n });\n\n var panwCluster = new Equinix.NetworkEdge.Device(\"panwCluster\", new()\n {\n Name = \"tf-panw\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"PA-VM\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"VM100\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n },\n TermLength = 12,\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"11.1.3\",\n InterfaceCount = 10,\n CoreCount = 2,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\n },\n AclTemplateId = \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n ClusterDetails = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsArgs\n {\n ClusterName = \"tf-panw-cluster\",\n Node0 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0Args\n {\n VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0VendorConfigurationArgs\n {\n Hostname = \"panw-node0\",\n PanoramaIpAddress = \"x.x.x.x\",\n PanoramaAuthKey = \"xxxxxxxxxxx\",\n },\n LicenseToken = \"licenseToken\",\n },\n Node1 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1Args\n {\n VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1VendorConfigurationArgs\n {\n Hostname = \"panw-node1\",\n PanoramaIpAddress = \"x.x.x.x\",\n PanoramaAuthKey = \"xxxxxxxxxxx\",\n },\n LicenseToken = \"licenseToken\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0Args;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0VendorConfigurationArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1Args;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1VendorConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"SV\")\n .build());\n\n var panwCluster = new Device(\"panwCluster\", DeviceArgs.builder()\n .name(\"tf-panw\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"PA-VM\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"VM100\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"11.1.3\")\n .interfaceCount(10)\n .coreCount(2)\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .aclTemplateId(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\")\n .clusterDetails(DeviceClusterDetailsArgs.builder()\n .clusterName(\"tf-panw-cluster\")\n .node0(DeviceClusterDetailsNode0Args.builder()\n .vendorConfiguration(DeviceClusterDetailsNode0VendorConfigurationArgs.builder()\n .hostname(\"panw-node0\")\n .panoramaIpAddress(\"x.x.x.x\")\n .panoramaAuthKey(\"xxxxxxxxxxx\")\n .build())\n .licenseToken(\"licenseToken\")\n .build())\n .node1(DeviceClusterDetailsNode1Args.builder()\n .vendorConfiguration(DeviceClusterDetailsNode1VendorConfigurationArgs.builder()\n .hostname(\"panw-node1\")\n .panoramaIpAddress(\"x.x.x.x\")\n .panoramaAuthKey(\"xxxxxxxxxxx\")\n .build())\n .licenseToken(\"licenseToken\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n panwCluster:\n type: equinix:networkedge:Device\n name: panw_cluster\n properties:\n name: tf-panw\n metroCode: ${sv.metroCode}\n typeCode: PA-VM\n selfManaged: true\n byol: true\n packageCode: VM100\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 11.1.3\n interfaceCount: 10\n coreCount: 2\n sshKey:\n username: test\n keyName: test-key\n aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b\n clusterDetails:\n clusterName: tf-panw-cluster\n node0:\n vendorConfiguration:\n hostname: panw-node0\n panoramaIpAddress: x.x.x.x\n panoramaAuthKey: xxxxxxxxxxx\n licenseToken: licenseToken\n node1:\n vendorConfiguration:\n hostname: panw-node1\n panoramaIpAddress: x.x.x.x\n panoramaAuthKey: xxxxxxxxxxx\n licenseToken: licenseToken\nvariables:\n # Create PA-VM firewall cluster with Panorama Server Integration\n # with Panorama Server IP and Panorama Auth Key in vendor Configuration\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing ID:\n\n```sh\n$ pulumi import equinix:networkedge/device:Device example {existing_id}\n```\n\nThe `license_token`, `mgmt_acl_template_uuid` and `cloud_init_file_id` fields can not be imported.\n\n\n{{% /examples %}}", + "description": "Resource `equinix.networkedge.Device` allows creation and management of Equinix Network Edge virtual network devices.\n\nNetwork Edge virtual network devices can be created in two modes:\n\n* **managed** - (default) Where Equinix manages connectivity and services in the device and customer gets limited access to the device.\n* **self-configured** - Where customer provisions and manages own services in the device with less restricted access. Some device types are offered only in this mode.\n\nIn addition to management modes, there are two software license modes available:\n\n* **subscription** - Where Equinix provides software license, including end-to-end support, and bills for the service respectively.\n* **BYOL** - [bring your own license] Where customer brings his own, already procured device software license. There are no charges associated with such license. It is the only licensing mode for `self-configured` devices.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### example 1\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst dc = equinix.networkedge.getAccountOutput({\n metroCode: \"DC\",\n});\nconst sv = equinix.networkedge.getAccountOutput({\n metroCode: \"SV\",\n});\nconst csr1000VHa = new equinix.networkedge.Device(\"csr1000vHa\", {\n name: \"tf-csr1000v-p\",\n throughput: 500,\n throughputUnit: equinix.networkedge.ThroughputUnit.Mbps,\n metroCode: dc.apply(dc =\u003e dc.metroCode),\n typeCode: \"CSR1000V\",\n selfManaged: false,\n connectivity: \"INTERNET-ACCESS\",\n byol: false,\n packageCode: \"SEC\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n hostname: \"csr1000v-p\",\n termLength: 12,\n accountNumber: dc.apply(dc =\u003e dc.number),\n version: \"16.09.05\",\n coreCount: 2,\n secondaryDevice: {\n name: \"tf-csr1000v-s\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n hostname: \"csr1000v-s\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n accountNumber: sv.apply(sv =\u003e sv.number),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ndc = equinix.networkedge.get_account_output(metro_code=\"DC\")\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\ncsr1000_v_ha = equinix.networkedge.Device(\"csr1000vHa\",\n name=\"tf-csr1000v-p\",\n throughput=500,\n throughput_unit=equinix.networkedge.ThroughputUnit.MBPS,\n metro_code=dc.metro_code,\n type_code=\"CSR1000V\",\n self_managed=False,\n connectivity=\"INTERNET-ACCESS\",\n byol=False,\n package_code=\"SEC\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n hostname=\"csr1000v-p\",\n term_length=12,\n account_number=dc.number,\n version=\"16.09.05\",\n core_count=2,\n secondary_device={\n \"name\": \"tf-csr1000v-s\",\n \"metro_code\": sv.metro_code,\n \"hostname\": \"csr1000v-s\",\n \"notifications\": [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n \"account_number\": sv.number,\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdc, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"DC\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"csr1000vHa\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-csr1000v-p\"),\n\t\t\tThroughput: pulumi.Int(500),\n\t\t\tThroughputUnit: pulumi.String(networkedge.ThroughputUnitMbps),\n\t\t\tMetroCode: pulumi.String(dc.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"CSR1000V\"),\n\t\t\tSelfManaged: pulumi.Bool(false),\n\t\t\tConnectivity: pulumi.String(\"INTERNET-ACCESS\"),\n\t\t\tByol: pulumi.Bool(false),\n\t\t\tPackageCode: pulumi.String(\"SEC\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\tpulumi.String(\"fred@equinix.com\"),\n\t\t\t},\n\t\t\tHostname: pulumi.String(\"csr1000v-p\"),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAccountNumber: pulumi.String(dc.Number),\n\t\t\tVersion: pulumi.String(\"16.09.05\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"tf-csr1000v-s\"),\n\t\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\t\tHostname: pulumi.String(\"csr1000v-s\"),\n\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t\t\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\t},\n\t\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dc = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"DC\",\n });\n\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"SV\",\n });\n\n var csr1000VHa = new Equinix.NetworkEdge.Device(\"csr1000vHa\", new()\n {\n Name = \"tf-csr1000v-p\",\n Throughput = 500,\n ThroughputUnit = Equinix.NetworkEdge.ThroughputUnit.Mbps,\n MetroCode = dc.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"CSR1000V\",\n SelfManaged = false,\n Connectivity = \"INTERNET-ACCESS\",\n Byol = false,\n PackageCode = \"SEC\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n },\n Hostname = \"csr1000v-p\",\n TermLength = 12,\n AccountNumber = dc.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"16.09.05\",\n CoreCount = 2,\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"tf-csr1000v-s\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Hostname = \"csr1000v-s\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dc = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"DC\")\n .build());\n\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"SV\")\n .build());\n\n var csr1000VHa = new Device(\"csr1000VHa\", DeviceArgs.builder()\n .name(\"tf-csr1000v-p\")\n .throughput(500)\n .throughputUnit(\"Mbps\")\n .metroCode(dc.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"CSR1000V\")\n .selfManaged(false)\n .connectivity(\"INTERNET-ACCESS\")\n .byol(false)\n .packageCode(\"SEC\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .hostname(\"csr1000v-p\")\n .termLength(12)\n .accountNumber(dc.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"16.09.05\")\n .coreCount(2)\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-csr1000v-s\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .hostname(\"csr1000v-s\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n csr1000vHa:\n type: equinix:networkedge:Device\n name: csr1000v_ha\n properties:\n name: tf-csr1000v-p\n throughput: 500\n throughputUnit: Mbps\n metroCode: ${dc.metroCode}\n typeCode: CSR1000V\n selfManaged: false\n connectivity: INTERNET-ACCESS\n byol: false\n packageCode: SEC\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n hostname: csr1000v-p\n termLength: 12\n accountNumber: ${dc.number}\n version: 16.09.05\n coreCount: 2\n secondaryDevice:\n name: tf-csr1000v-s\n metroCode: ${sv.metroCode}\n hostname: csr1000v-s\n notifications:\n - john@equinix.com\n - marry@equinix.com\n accountNumber: ${sv.number}\nvariables:\n # Create pair of redundant, managed CSR1000V routers with license subscription\n # in two different metro locations\n dc:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: DC\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 2\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n metroCode: \"SV\",\n});\nconst panwCluster = new equinix.networkedge.Device(\"panwCluster\", {\n name: \"tf-panw\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"PA-VM\",\n selfManaged: true,\n byol: true,\n packageCode: \"VM100\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n termLength: 12,\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"10.1.3\",\n interfaceCount: 10,\n coreCount: 2,\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n aclTemplateId: \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n clusterDetails: {\n clusterName: \"tf-panw-cluster\",\n node0: {\n vendorConfiguration: {\n hostname: \"panw-node0\",\n },\n licenseToken: \"licenseToken\",\n },\n node1: {\n vendorConfiguration: {\n hostname: \"panw-node1\",\n },\n licenseToken: \"licenseToken\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\npanw_cluster = equinix.networkedge.Device(\"panwCluster\",\n name=\"tf-panw\",\n metro_code=sv.metro_code,\n type_code=\"PA-VM\",\n self_managed=True,\n byol=True,\n package_code=\"VM100\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n term_length=12,\n account_number=sv.number,\n version=\"10.1.3\",\n interface_count=10,\n core_count=2,\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"test-key\",\n },\n acl_template_id=\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n cluster_details={\n \"cluster_name\": \"tf-panw-cluster\",\n \"node0\": {\n \"vendor_configuration\": {\n \"hostname\": \"panw-node0\",\n },\n \"license_token\": \"licenseToken\",\n },\n \"node1\": {\n \"vendor_configuration\": {\n \"hostname\": \"panw-node1\",\n },\n \"license_token\": \"licenseToken\",\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"panwCluster\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-panw\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"PA-VM\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"VM100\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\tpulumi.String(\"fred@equinix.com\"),\n\t\t\t},\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"10.1.3\"),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\tKeyName: pulumi.String(\"test-key\"),\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\"),\n\t\t\tClusterDetails: \u0026networkedge.DeviceClusterDetailsArgs{\n\t\t\t\tClusterName: pulumi.String(\"tf-panw-cluster\"),\n\t\t\t\tNode0: \u0026networkedge.DeviceClusterDetailsNode0Args{\n\t\t\t\t\tVendorConfiguration: \u0026networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"panw-node0\"),\n\t\t\t\t\t},\n\t\t\t\t\tLicenseToken: pulumi.String(\"licenseToken\"),\n\t\t\t\t},\n\t\t\t\tNode1: \u0026networkedge.DeviceClusterDetailsNode1Args{\n\t\t\t\t\tVendorConfiguration: \u0026networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"panw-node1\"),\n\t\t\t\t\t},\n\t\t\t\t\tLicenseToken: pulumi.String(\"licenseToken\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"SV\",\n });\n\n var panwCluster = new Equinix.NetworkEdge.Device(\"panwCluster\", new()\n {\n Name = \"tf-panw\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"PA-VM\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"VM100\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n },\n TermLength = 12,\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"10.1.3\",\n InterfaceCount = 10,\n CoreCount = 2,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\n },\n AclTemplateId = \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n ClusterDetails = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsArgs\n {\n ClusterName = \"tf-panw-cluster\",\n Node0 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0Args\n {\n VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0VendorConfigurationArgs\n {\n Hostname = \"panw-node0\",\n },\n LicenseToken = \"licenseToken\",\n },\n Node1 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1Args\n {\n VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1VendorConfigurationArgs\n {\n Hostname = \"panw-node1\",\n },\n LicenseToken = \"licenseToken\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0Args;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0VendorConfigurationArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1Args;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1VendorConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"SV\")\n .build());\n\n var panwCluster = new Device(\"panwCluster\", DeviceArgs.builder()\n .name(\"tf-panw\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"PA-VM\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"VM100\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"10.1.3\")\n .interfaceCount(10)\n .coreCount(2)\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .aclTemplateId(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\")\n .clusterDetails(DeviceClusterDetailsArgs.builder()\n .clusterName(\"tf-panw-cluster\")\n .node0(DeviceClusterDetailsNode0Args.builder()\n .vendorConfiguration(DeviceClusterDetailsNode0VendorConfigurationArgs.builder()\n .hostname(\"panw-node0\")\n .build())\n .licenseToken(\"licenseToken\")\n .build())\n .node1(DeviceClusterDetailsNode1Args.builder()\n .vendorConfiguration(DeviceClusterDetailsNode1VendorConfigurationArgs.builder()\n .hostname(\"panw-node1\")\n .build())\n .licenseToken(\"licenseToken\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n panwCluster:\n type: equinix:networkedge:Device\n name: panw_cluster\n properties:\n name: tf-panw\n metroCode: ${sv.metroCode}\n typeCode: PA-VM\n selfManaged: true\n byol: true\n packageCode: VM100\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 10.1.3\n interfaceCount: 10\n coreCount: 2\n sshKey:\n username: test\n keyName: test-key\n aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b\n clusterDetails:\n clusterName: tf-panw-cluster\n node0:\n vendorConfiguration:\n hostname: panw-node0\n licenseToken: licenseToken\n node1:\n vendorConfiguration:\n hostname: panw-node1\n licenseToken: licenseToken\nvariables:\n # Create self configured PANW cluster with BYOL license\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 3\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst filepath = config.get(\"filepath\") || \"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\";\nconst sv = equinix.networkedge.getAccountOutput({\n metroCode: \"SV\",\n});\nconst aviatrixCloudinitFile = new equinix.networkedge.NetworkFile(\"aviatrixCloudinitFile\", {\n fileName: \"TF-AVX-cloud-init-file.txt\",\n content: std.fileOutput({\n input: filepath,\n }).apply(invoke =\u003e invoke.result),\n metroCode: sv.apply(sv =\u003e sv.metroCode).apply((x) =\u003e equinix.index.Metro[x]),\n deviceTypeCode: \"AVIATRIX_EDGE\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\nconst aviatrixSingle = new equinix.networkedge.Device(\"aviatrixSingle\", {\n name: \"tf-aviatrix\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"AVIATRIX_EDGE\",\n selfManaged: true,\n byol: true,\n packageCode: \"STD\",\n notifications: [\"john@equinix.com\"],\n termLength: 12,\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"6.9\",\n coreCount: 2,\n cloudInitFileId: aviatrixCloudinitFile.uuid,\n aclTemplateId: \"c06150ea-b604-4ad1-832a-d63936e9b938\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nfilepath = config.get(\"filepath\")\nif filepath is None:\n filepath = \"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\"\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\naviatrix_cloudinit_file = equinix.networkedge.NetworkFile(\"aviatrixCloudinitFile\",\n file_name=\"TF-AVX-cloud-init-file.txt\",\n content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),\n metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),\n device_type_code=\"AVIATRIX_EDGE\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\naviatrix_single = equinix.networkedge.Device(\"aviatrixSingle\",\n name=\"tf-aviatrix\",\n metro_code=sv.metro_code,\n type_code=\"AVIATRIX_EDGE\",\n self_managed=True,\n byol=True,\n package_code=\"STD\",\n notifications=[\"john@equinix.com\"],\n term_length=12,\n account_number=sv.number,\n version=\"6.9\",\n core_count=2,\n cloud_init_file_id=aviatrix_cloudinit_file.uuid,\n acl_template_id=\"c06150ea-b604-4ad1-832a-d63936e9b938\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfilepath := \"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\"\n\t\tif param := cfg.Get(\"filepath\"); param != \"\" {\n\t\t\tfilepath = param\n\t\t}\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: filepath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, \"aviatrixCloudinitFile\", \u0026networkedge.NetworkFileArgs{\n\t\t\tFileName: pulumi.String(\"TF-AVX-cloud-init-file.txt\"),\n\t\t\tContent: pulumi.String(invokeFile.Result),\n\t\t\tMetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"AVIATRIX_EDGE\"),\n\t\t\tProcessType: pulumi.String(networkedge.FileTypeCloudInit),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"aviatrixSingle\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-aviatrix\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"AVIATRIX_EDGE\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t},\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"6.9\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tCloudInitFileId: aviatrixCloudinitFile.Uuid,\n\t\t\tAclTemplateId: pulumi.String(\"c06150ea-b604-4ad1-832a-d63936e9b938\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var filepath = config.Get(\"filepath\") ?? \"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\";\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"SV\",\n });\n\n var aviatrixCloudinitFile = new Equinix.NetworkEdge.NetworkFile(\"aviatrixCloudinitFile\", new()\n {\n FileName = \"TF-AVX-cloud-init-file.txt\",\n Content = Std.File.Invoke(new()\n {\n Input = filepath,\n }).Apply(invoke =\u003e invoke.Result),\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode).Apply(System.Enum.Parse\u003cEquinix.Metro\u003e),\n DeviceTypeCode = \"AVIATRIX_EDGE\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n var aviatrixSingle = new Equinix.NetworkEdge.Device(\"aviatrixSingle\", new()\n {\n Name = \"tf-aviatrix\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"AVIATRIX_EDGE\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n },\n TermLength = 12,\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"6.9\",\n CoreCount = 2,\n CloudInitFileId = aviatrixCloudinitFile.Uuid,\n AclTemplateId = \"c06150ea-b604-4ad1-832a-d63936e9b938\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.NetworkFile;\nimport com.pulumi.equinix.networkedge.NetworkFileArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var filepath = config.get(\"filepath\").orElse(\"cloudInitFileFolder/TF-AVX-cloud-init-file.txt\");\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"SV\")\n .build());\n\n var aviatrixCloudinitFile = new NetworkFile(\"aviatrixCloudinitFile\", NetworkFileArgs.builder()\n .fileName(\"TF-AVX-cloud-init-file.txt\")\n .content(StdFunctions.file(FileArgs.builder()\n .input(filepath)\n .build()).result())\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .deviceTypeCode(\"AVIATRIX_EDGE\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n var aviatrixSingle = new Device(\"aviatrixSingle\", DeviceArgs.builder()\n .name(\"tf-aviatrix\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"AVIATRIX_EDGE\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"john@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"6.9\")\n .coreCount(2)\n .cloudInitFileId(aviatrixCloudinitFile.uuid())\n .aclTemplateId(\"c06150ea-b604-4ad1-832a-d63936e9b938\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n filepath:\n type: string\n default: cloudInitFileFolder/TF-AVX-cloud-init-file.txt\nresources:\n aviatrixCloudinitFile:\n type: equinix:networkedge:NetworkFile\n name: aviatrix_cloudinit_file\n properties:\n fileName: TF-AVX-cloud-init-file.txt\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ${filepath}\n Return: result\n metroCode: ${sv.metroCode}\n deviceTypeCode: AVIATRIX_EDGE\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n aviatrixSingle:\n type: equinix:networkedge:Device\n name: aviatrix_single\n properties:\n name: tf-aviatrix\n metroCode: ${sv.metroCode}\n typeCode: AVIATRIX_EDGE\n selfManaged: true\n byol: true\n packageCode: STD\n notifications:\n - john@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: '6.9'\n coreCount: 2\n cloudInitFileId: ${aviatrixCloudinitFile.uuid}\n aclTemplateId: c06150ea-b604-4ad1-832a-d63936e9b938\nvariables:\n # Create self configured single Aviatrix device with cloud init file\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 4\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst c8KvSingle = new equinix.networkedge.Device(\"c8kvSingle\", {\n name: \"tf-c8kv\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"C8000V\",\n selfManaged: true,\n byol: true,\n packageCode: \"network-essentials\",\n notifications: [\"test@equinix.com\"],\n hostname: \"C8KV\",\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"17.06.01a\",\n coreCount: 2,\n termLength: 12,\n licenseToken: \"valid-license-token\",\n additionalBandwidth: 5,\n sshKey: {\n username: \"test-username\",\n keyName: \"valid-key-name\",\n },\n aclTemplateId: \"3e548c02-9164-4197-aa23-05b1f644883c\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\nc8_kv_single = equinix.networkedge.Device(\"c8kvSingle\",\n name=\"tf-c8kv\",\n metro_code=sv.metro_code,\n type_code=\"C8000V\",\n self_managed=True,\n byol=True,\n package_code=\"network-essentials\",\n notifications=[\"test@equinix.com\"],\n hostname=\"C8KV\",\n account_number=sv.number,\n version=\"17.06.01a\",\n core_count=2,\n term_length=12,\n license_token=\"valid-license-token\",\n additional_bandwidth=5,\n ssh_key={\n \"username\": \"test-username\",\n \"key_name\": \"valid-key-name\",\n },\n acl_template_id=\"3e548c02-9164-4197-aa23-05b1f644883c\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"c8kvSingle\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-c8kv\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"C8000V\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"network-essentials\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tHostname: pulumi.String(\"C8KV\"),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"17.06.01a\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tLicenseToken: pulumi.String(\"valid-license-token\"),\n\t\t\tAdditionalBandwidth: pulumi.Int(5),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test-username\"),\n\t\t\t\tKeyName: pulumi.String(\"valid-key-name\"),\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"3e548c02-9164-4197-aa23-05b1f644883c\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var c8KvSingle = new Equinix.NetworkEdge.Device(\"c8kvSingle\", new()\n {\n Name = \"tf-c8kv\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"C8000V\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"network-essentials\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n Hostname = \"C8KV\",\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"17.06.01a\",\n CoreCount = 2,\n TermLength = 12,\n LicenseToken = \"valid-license-token\",\n AdditionalBandwidth = 5,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test-username\",\n KeyName = \"valid-key-name\",\n },\n AclTemplateId = \"3e548c02-9164-4197-aa23-05b1f644883c\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var c8KvSingle = new Device(\"c8KvSingle\", DeviceArgs.builder()\n .name(\"tf-c8kv\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"C8000V\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"network-essentials\")\n .notifications(\"test@equinix.com\")\n .hostname(\"C8KV\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"17.06.01a\")\n .coreCount(2)\n .termLength(12)\n .licenseToken(\"valid-license-token\")\n .additionalBandwidth(5)\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test-username\")\n .keyName(\"valid-key-name\")\n .build())\n .aclTemplateId(\"3e548c02-9164-4197-aa23-05b1f644883c\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n c8kvSingle:\n type: equinix:networkedge:Device\n name: c8kv_single\n properties:\n name: tf-c8kv\n metroCode: ${sv.metroCode}\n typeCode: C8000V\n selfManaged: true\n byol: true\n packageCode: network-essentials\n notifications:\n - test@equinix.com\n hostname: C8KV\n accountNumber: ${sv.number}\n version: 17.06.01a\n coreCount: 2\n termLength: 12\n licenseToken: valid-license-token\n additionalBandwidth: 5\n sshKey:\n username: test-username\n keyName: valid-key-name\n aclTemplateId: 3e548c02-9164-4197-aa23-05b1f644883c\nvariables:\n # Create self configured single Catalyst 8000V (Autonomous Mode) router with license token\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 5\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst vsrxSingle = new equinix.networkedge.Device(\"vsrxSingle\", {\n name: \"tf-c8kv-sdwan\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"VSRX\",\n selfManaged: true,\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@equinix.com\"],\n hostname: \"VSRX\",\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"23.2R1.13\",\n coreCount: 2,\n termLength: 12,\n additionalBandwidth: 5,\n projectId: \"a86d7112-d740-4758-9c9c-31e66373746b\",\n diverseDeviceId: \"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\",\n sshKey: {\n username: \"test-username\",\n keyName: \"valid-key-name\",\n },\n aclTemplateId: \"3e548c02-9164-4197-aa23-05b1f644883c\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\nvsrx_single = equinix.networkedge.Device(\"vsrxSingle\",\n name=\"tf-c8kv-sdwan\",\n metro_code=sv.metro_code,\n type_code=\"VSRX\",\n self_managed=True,\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@equinix.com\"],\n hostname=\"VSRX\",\n account_number=sv.number,\n version=\"23.2R1.13\",\n core_count=2,\n term_length=12,\n additional_bandwidth=5,\n project_id=\"a86d7112-d740-4758-9c9c-31e66373746b\",\n diverse_device_id=\"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\",\n ssh_key={\n \"username\": \"test-username\",\n \"key_name\": \"valid-key-name\",\n },\n acl_template_id=\"3e548c02-9164-4197-aa23-05b1f644883c\")\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"vsrxSingle\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-c8kv-sdwan\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"VSRX\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tHostname: pulumi.String(\"VSRX\"),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"23.2R1.13\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAdditionalBandwidth: pulumi.Int(5),\n\t\t\tProjectId: pulumi.String(\"a86d7112-d740-4758-9c9c-31e66373746b\"),\n\t\t\tDiverseDeviceId: pulumi.String(\"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\"),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test-username\"),\n\t\t\t\tKeyName: pulumi.String(\"valid-key-name\"),\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"3e548c02-9164-4197-aa23-05b1f644883c\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var vsrxSingle = new Equinix.NetworkEdge.Device(\"vsrxSingle\", new()\n {\n Name = \"tf-c8kv-sdwan\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"VSRX\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n Hostname = \"VSRX\",\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"23.2R1.13\",\n CoreCount = 2,\n TermLength = 12,\n AdditionalBandwidth = 5,\n ProjectId = \"a86d7112-d740-4758-9c9c-31e66373746b\",\n DiverseDeviceId = \"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\",\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test-username\",\n KeyName = \"valid-key-name\",\n },\n AclTemplateId = \"3e548c02-9164-4197-aa23-05b1f644883c\",\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var vsrxSingle = new Device(\"vsrxSingle\", DeviceArgs.builder()\n .name(\"tf-c8kv-sdwan\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"VSRX\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@equinix.com\")\n .hostname(\"VSRX\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"23.2R1.13\")\n .coreCount(2)\n .termLength(12)\n .additionalBandwidth(5)\n .projectId(\"a86d7112-d740-4758-9c9c-31e66373746b\")\n .diverseDeviceId(\"ed7891bd-15b4-4f72-ac56-d96cfdacddcc\")\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test-username\")\n .keyName(\"valid-key-name\")\n .build())\n .aclTemplateId(\"3e548c02-9164-4197-aa23-05b1f644883c\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vsrxSingle:\n type: equinix:networkedge:Device\n name: vsrx_single\n properties:\n name: tf-c8kv-sdwan\n metroCode: ${sv.metroCode}\n typeCode: VSRX\n selfManaged: true\n byol: true\n packageCode: STD\n notifications:\n - test@equinix.com\n hostname: VSRX\n accountNumber: ${sv.number}\n version: 23.2R1.13\n coreCount: 2\n termLength: 12\n additionalBandwidth: 5\n projectId: a86d7112-d740-4758-9c9c-31e66373746b\n diverseDeviceId: ed7891bd-15b4-4f72-ac56-d96cfdacddcc\n sshKey:\n username: test-username\n keyName: valid-key-name\n aclTemplateId: 3e548c02-9164-4197-aa23-05b1f644883c\nvariables:\n # Create self configured single VSRX device with BYOL License\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 6\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst testPublicKey = new equinix.networkedge.SshKey(\"testPublicKey\", {\n name: \"key-name\",\n publicKey: \"ssh-dss key-value\",\n type: \"DSA\",\n});\nconst aristaHa = new equinix.networkedge.Device(\"aristaHa\", {\n name: \"tf-arista-p\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"ARISTA-ROUTER\",\n selfManaged: true,\n connectivity: \"PRIVATE\",\n byol: true,\n packageCode: \"CloudEOS\",\n notifications: [\"test@equinix.com\"],\n hostname: \"arista-p\",\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"4.29.0\",\n coreCount: 4,\n termLength: 12,\n additionalBandwidth: 5,\n sshKey: {\n username: \"test-username\",\n keyName: testPublicKey.name,\n },\n aclTemplateId: \"c637a17b-7a6a-4486-924b-30e6c36904b0\",\n secondaryDevice: {\n name: \"tf-arista-s\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n hostname: \"arista-s\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n aclTemplateId: \"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\ntest_public_key = equinix.networkedge.SshKey(\"testPublicKey\",\n name=\"key-name\",\n public_key=\"ssh-dss key-value\",\n type=\"DSA\")\narista_ha = equinix.networkedge.Device(\"aristaHa\",\n name=\"tf-arista-p\",\n metro_code=sv.metro_code,\n type_code=\"ARISTA-ROUTER\",\n self_managed=True,\n connectivity=\"PRIVATE\",\n byol=True,\n package_code=\"CloudEOS\",\n notifications=[\"test@equinix.com\"],\n hostname=\"arista-p\",\n account_number=sv.number,\n version=\"4.29.0\",\n core_count=4,\n term_length=12,\n additional_bandwidth=5,\n ssh_key={\n \"username\": \"test-username\",\n \"key_name\": test_public_key.name,\n },\n acl_template_id=\"c637a17b-7a6a-4486-924b-30e6c36904b0\",\n secondary_device={\n \"name\": \"tf-arista-s\",\n \"metro_code\": sv.metro_code,\n \"hostname\": \"arista-s\",\n \"notifications\": [\"test@eq.com\"],\n \"account_number\": sv.number,\n \"acl_template_id\": \"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\",\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestPublicKey, err := networkedge.NewSshKey(ctx, \"testPublicKey\", \u0026networkedge.SshKeyArgs{\n\t\t\tName: pulumi.String(\"key-name\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-dss key-value\"),\n\t\t\tType: pulumi.String(\"DSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"aristaHa\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-arista-p\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"ARISTA-ROUTER\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"CloudEOS\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tHostname: pulumi.String(\"arista-p\"),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"4.29.0\"),\n\t\t\tCoreCount: pulumi.Int(4),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAdditionalBandwidth: pulumi.Int(5),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test-username\"),\n\t\t\t\tKeyName: testPublicKey.Name,\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"c637a17b-7a6a-4486-924b-30e6c36904b0\"),\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"tf-arista-s\"),\n\t\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\t\tHostname: pulumi.String(\"arista-s\"),\n\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t\t},\n\t\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\t\tAclTemplateId: pulumi.String(\"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var testPublicKey = new Equinix.NetworkEdge.SshKey(\"testPublicKey\", new()\n {\n Name = \"key-name\",\n PublicKey = \"ssh-dss key-value\",\n Type = \"DSA\",\n });\n\n var aristaHa = new Equinix.NetworkEdge.Device(\"aristaHa\", new()\n {\n Name = \"tf-arista-p\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"ARISTA-ROUTER\",\n SelfManaged = true,\n Connectivity = \"PRIVATE\",\n Byol = true,\n PackageCode = \"CloudEOS\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n Hostname = \"arista-p\",\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"4.29.0\",\n CoreCount = 4,\n TermLength = 12,\n AdditionalBandwidth = 5,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test-username\",\n KeyName = testPublicKey.Name,\n },\n AclTemplateId = \"c637a17b-7a6a-4486-924b-30e6c36904b0\",\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"tf-arista-s\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Hostname = \"arista-s\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n AclTemplateId = \"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\",\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.SshKey;\nimport com.pulumi.equinix.networkedge.SshKeyArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var testPublicKey = new SshKey(\"testPublicKey\", SshKeyArgs.builder()\n .name(\"key-name\")\n .publicKey(\"ssh-dss key-value\")\n .type(\"DSA\")\n .build());\n\n var aristaHa = new Device(\"aristaHa\", DeviceArgs.builder()\n .name(\"tf-arista-p\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"ARISTA-ROUTER\")\n .selfManaged(true)\n .connectivity(\"PRIVATE\")\n .byol(true)\n .packageCode(\"CloudEOS\")\n .notifications(\"test@equinix.com\")\n .hostname(\"arista-p\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"4.29.0\")\n .coreCount(4)\n .termLength(12)\n .additionalBandwidth(5)\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test-username\")\n .keyName(testPublicKey.name())\n .build())\n .aclTemplateId(\"c637a17b-7a6a-4486-924b-30e6c36904b0\")\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-arista-s\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .hostname(\"arista-s\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .aclTemplateId(\"fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPublicKey:\n type: equinix:networkedge:SshKey\n name: test_public_key\n properties:\n name: key-name\n publicKey: ssh-dss key-value\n type: DSA\n aristaHa:\n type: equinix:networkedge:Device\n name: arista_ha\n properties:\n name: tf-arista-p\n metroCode: ${sv.metroCode}\n typeCode: ARISTA-ROUTER\n selfManaged: true\n connectivity: PRIVATE\n byol: true\n packageCode: CloudEOS\n notifications:\n - test@equinix.com\n hostname: arista-p\n accountNumber: ${sv.number}\n version: 4.29.0\n coreCount: 4\n termLength: 12\n additionalBandwidth: 5\n sshKey:\n username: test-username\n keyName: ${testPublicKey.name}\n aclTemplateId: c637a17b-7a6a-4486-924b-30e6c36904b0\n secondaryDevice:\n name: tf-arista-s\n metroCode: ${sv.metroCode}\n hostname: arista-s\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n aclTemplateId: fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138\nvariables:\n # Create self configured redundant Arista router with DSA key\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 7\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst testPublicKey = new equinix.networkedge.SshKey(\"testPublicKey\", {\n name: \"key-name\",\n publicKey: \"ssh-dss key-value\",\n type: \"DSA\",\n});\nconst bluecatBddsHa = new equinix.networkedge.Device(\"bluecatBddsHa\", {\n name: \"tf-bluecat-bdds-p\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"BLUECAT\",\n selfManaged: true,\n connectivity: \"PRIVATE\",\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@equinix.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"9.6.0\",\n coreCount: 2,\n termLength: 12,\n vendorConfiguration: {\n hostname: \"test\",\n privateAddress: \"x.x.x.x\",\n privateCidrMask: \"24\",\n privateGateway: \"x.x.x.x\",\n licenseKey: \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\",\n licenseId: \"xxxxxxxxxxxxxxx\",\n },\n sshKey: {\n username: \"test-username\",\n keyName: testPublicKey.name,\n },\n secondaryDevice: {\n name: \"tf-bluecat-bdds-s\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n vendorConfiguration: {\n hostname: \"test\",\n privateAddress: \"x.x.x.x\",\n privateCidrMask: \"24\",\n privateGateway: \"x.x.x.x\",\n licenseKey: \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\",\n licenseId: \"xxxxxxxxxxxxxxx\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\ntest_public_key = equinix.networkedge.SshKey(\"testPublicKey\",\n name=\"key-name\",\n public_key=\"ssh-dss key-value\",\n type=\"DSA\")\nbluecat_bdds_ha = equinix.networkedge.Device(\"bluecatBddsHa\",\n name=\"tf-bluecat-bdds-p\",\n metro_code=sv.metro_code,\n type_code=\"BLUECAT\",\n self_managed=True,\n connectivity=\"PRIVATE\",\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@equinix.com\"],\n account_number=sv.number,\n version=\"9.6.0\",\n core_count=2,\n term_length=12,\n vendor_configuration={\n \"hostname\": \"test\",\n \"privateAddress\": \"x.x.x.x\",\n \"privateCidrMask\": \"24\",\n \"privateGateway\": \"x.x.x.x\",\n \"licenseKey\": \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\",\n \"licenseId\": \"xxxxxxxxxxxxxxx\",\n },\n ssh_key={\n \"username\": \"test-username\",\n \"key_name\": test_public_key.name,\n },\n secondary_device={\n \"name\": \"tf-bluecat-bdds-s\",\n \"metro_code\": sv.metro_code,\n \"notifications\": [\"test@eq.com\"],\n \"account_number\": sv.number,\n \"vendor_configuration\": {\n \"hostname\": \"test\",\n \"private_address\": \"x.x.x.x\",\n \"private_cidr_mask\": \"24\",\n \"private_gateway\": \"x.x.x.x\",\n \"license_key\": \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\",\n \"license_id\": \"xxxxxxxxxxxxxxx\",\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestPublicKey, err := networkedge.NewSshKey(ctx, \"testPublicKey\", \u0026networkedge.SshKeyArgs{\n\t\t\tName: pulumi.String(\"key-name\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-dss key-value\"),\n\t\t\tType: pulumi.String(\"DSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"bluecatBddsHa\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-bluecat-bdds-p\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"BLUECAT\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"9.6.0\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"hostname\": pulumi.String(\"test\"),\n\t\t\t\t\"privateAddress\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\"privateCidrMask\": pulumi.String(\"24\"),\n\t\t\t\t\"privateGateway\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\"licenseKey\": pulumi.String(\"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\"),\n\t\t\t\t\"licenseId\": pulumi.String(\"xxxxxxxxxxxxxxx\"),\n\t\t\t},\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test-username\"),\n\t\t\t\tKeyName: testPublicKey.Name,\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"tf-bluecat-bdds-s\"),\n\t\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t\t},\n\t\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"hostname\": pulumi.String(\"test\"),\n\t\t\t\t\t\"privateAddress\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\t\"privateCidrMask\": pulumi.String(\"24\"),\n\t\t\t\t\t\"privateGateway\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\t\"licenseKey\": pulumi.String(\"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\"),\n\t\t\t\t\t\"licenseId\": pulumi.String(\"xxxxxxxxxxxxxxx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var testPublicKey = new Equinix.NetworkEdge.SshKey(\"testPublicKey\", new()\n {\n Name = \"key-name\",\n PublicKey = \"ssh-dss key-value\",\n Type = \"DSA\",\n });\n\n var bluecatBddsHa = new Equinix.NetworkEdge.Device(\"bluecatBddsHa\", new()\n {\n Name = \"tf-bluecat-bdds-p\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"BLUECAT\",\n SelfManaged = true,\n Connectivity = \"PRIVATE\",\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"9.6.0\",\n CoreCount = 2,\n TermLength = 12,\n VendorConfiguration = \n {\n { \"hostname\", \"test\" },\n { \"privateAddress\", \"x.x.x.x\" },\n { \"privateCidrMask\", \"24\" },\n { \"privateGateway\", \"x.x.x.x\" },\n { \"licenseKey\", \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\" },\n { \"licenseId\", \"xxxxxxxxxxxxxxx\" },\n },\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test-username\",\n KeyName = testPublicKey.Name,\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"tf-bluecat-bdds-s\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n VendorConfiguration = \n {\n { \"hostname\", \"test\" },\n { \"privateAddress\", \"x.x.x.x\" },\n { \"privateCidrMask\", \"24\" },\n { \"privateGateway\", \"x.x.x.x\" },\n { \"licenseKey\", \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\" },\n { \"licenseId\", \"xxxxxxxxxxxxxxx\" },\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.SshKey;\nimport com.pulumi.equinix.networkedge.SshKeyArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var testPublicKey = new SshKey(\"testPublicKey\", SshKeyArgs.builder()\n .name(\"key-name\")\n .publicKey(\"ssh-dss key-value\")\n .type(\"DSA\")\n .build());\n\n var bluecatBddsHa = new Device(\"bluecatBddsHa\", DeviceArgs.builder()\n .name(\"tf-bluecat-bdds-p\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"BLUECAT\")\n .selfManaged(true)\n .connectivity(\"PRIVATE\")\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@equinix.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"9.6.0\")\n .coreCount(2)\n .termLength(12)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"hostname\", \"test\"),\n Map.entry(\"privateAddress\", \"x.x.x.x\"),\n Map.entry(\"privateCidrMask\", \"24\"),\n Map.entry(\"privateGateway\", \"x.x.x.x\"),\n Map.entry(\"licenseKey\", \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\"),\n Map.entry(\"licenseId\", \"xxxxxxxxxxxxxxx\")\n ))\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test-username\")\n .keyName(testPublicKey.name())\n .build())\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-bluecat-bdds-s\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"hostname\", \"test\"),\n Map.entry(\"privateAddress\", \"x.x.x.x\"),\n Map.entry(\"privateCidrMask\", \"24\"),\n Map.entry(\"privateGateway\", \"x.x.x.x\"),\n Map.entry(\"licenseKey\", \"xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\"),\n Map.entry(\"licenseId\", \"xxxxxxxxxxxxxxx\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testPublicKey:\n type: equinix:networkedge:SshKey\n name: test_public_key\n properties:\n name: key-name\n publicKey: ssh-dss key-value\n type: DSA\n bluecatBddsHa:\n type: equinix:networkedge:Device\n name: bluecat_bdds_ha\n properties:\n name: tf-bluecat-bdds-p\n metroCode: ${sv.metroCode}\n typeCode: BLUECAT\n selfManaged: true\n connectivity: PRIVATE\n byol: true\n packageCode: STD\n notifications:\n - test@equinix.com\n accountNumber: ${sv.number}\n version: 9.6.0\n coreCount: 2\n termLength: 12\n vendorConfiguration:\n hostname: test\n privateAddress: x.x.x.x\n privateCidrMask: '24'\n privateGateway: x.x.x.x\n licenseKey: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\n licenseId: xxxxxxxxxxxxxxx\n sshKey:\n username: test-username\n keyName: ${testPublicKey.name}\n secondaryDevice:\n name: tf-bluecat-bdds-s\n metroCode: ${sv.metroCode}\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n vendorConfiguration:\n hostname: test\n privateAddress: x.x.x.x\n privateCidrMask: '24'\n privateGateway: x.x.x.x\n licenseKey: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx\n licenseId: xxxxxxxxxxxxxxx\nvariables:\n # Create self configured redundant BlueCat DNS and DHCP Server\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 8\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n name: \"account-name\",\n metroCode: \"SV\",\n});\nconst bluecatEdgeServicePointCloudinitPrimaryFile = new equinix.networkedge.NetworkFile(\"bluecatEdgeServicePointCloudinitPrimaryFile\", {\n fileName: \"TF-BLUECAT-ESP-cloud-init-file.txt\",\n content: std.fileOutput({\n input: filepath,\n }).apply(invoke =\u003e invoke.result),\n metroCode: sv.apply(sv =\u003e sv.metroCode).apply((x) =\u003e equinix.index.Metro[x]),\n deviceTypeCode: \"BLUECAT-EDGE-SERVICE-POINT\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\nconst bluecatEdgeServicePointCloudinitSecondaryFile = new equinix.networkedge.NetworkFile(\"bluecatEdgeServicePointCloudinitSecondaryFile\", {\n fileName: \"TF-BLUECAT-ESP-cloud-init-file.txt\",\n content: std.fileOutput({\n input: filepath,\n }).apply(invoke =\u003e invoke.result),\n metroCode: sv.apply(sv =\u003e sv.metroCode).apply((x) =\u003e equinix.index.Metro[x]),\n deviceTypeCode: \"BLUECAT-EDGE-SERVICE-POINT\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\nconst bluecatEdgeServicePointHa = new equinix.networkedge.Device(\"bluecatEdgeServicePointHa\", {\n name: \"tf-bluecat-edge-service-point-p\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"BLUECAT-EDGE-SERVICE-POINT\",\n selfManaged: true,\n connectivity: \"PRIVATE\",\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@equinix.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n cloudInitFileId: bluecatEdgeServicePointCloudinitPrimaryFile.uuid,\n version: \"4.6.3\",\n coreCount: 4,\n termLength: 12,\n secondaryDevice: {\n name: \"tf-bluecat-edge-service-point-s\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n cloudInitFileId: bluecatEdgeServicePointCloudinitSecondaryFile.uuid,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nsv = equinix.networkedge.get_account_output(name=\"account-name\",\n metro_code=\"SV\")\nbluecat_edge_service_point_cloudinit_primary_file = equinix.networkedge.NetworkFile(\"bluecatEdgeServicePointCloudinitPrimaryFile\",\n file_name=\"TF-BLUECAT-ESP-cloud-init-file.txt\",\n content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),\n metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),\n device_type_code=\"BLUECAT-EDGE-SERVICE-POINT\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\nbluecat_edge_service_point_cloudinit_secondary_file = equinix.networkedge.NetworkFile(\"bluecatEdgeServicePointCloudinitSecondaryFile\",\n file_name=\"TF-BLUECAT-ESP-cloud-init-file.txt\",\n content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),\n metro_code=sv.metro_code.apply(lambda x: equinix.Metro(x)),\n device_type_code=\"BLUECAT-EDGE-SERVICE-POINT\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\nbluecat_edge_service_point_ha = equinix.networkedge.Device(\"bluecatEdgeServicePointHa\",\n name=\"tf-bluecat-edge-service-point-p\",\n metro_code=sv.metro_code,\n type_code=\"BLUECAT-EDGE-SERVICE-POINT\",\n self_managed=True,\n connectivity=\"PRIVATE\",\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@equinix.com\"],\n account_number=sv.number,\n cloud_init_file_id=bluecat_edge_service_point_cloudinit_primary_file.uuid,\n version=\"4.6.3\",\n core_count=4,\n term_length=12,\n secondary_device={\n \"name\": \"tf-bluecat-edge-service-point-s\",\n \"metro_code\": sv.metro_code,\n \"notifications\": [\"test@eq.com\"],\n \"account_number\": sv.number,\n \"cloud_init_file_id\": bluecat_edge_service_point_cloudinit_secondary_file.uuid,\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tName: pulumi.StringRef(\"account-name\"),\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: filepath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbluecatEdgeServicePointCloudinitPrimaryFile, err := networkedge.NewNetworkFile(ctx, \"bluecatEdgeServicePointCloudinitPrimaryFile\", \u0026networkedge.NetworkFileArgs{\n\t\t\tFileName: pulumi.String(\"TF-BLUECAT-ESP-cloud-init-file.txt\"),\n\t\t\tContent: pulumi.String(invokeFile.Result),\n\t\t\tMetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"BLUECAT-EDGE-SERVICE-POINT\"),\n\t\t\tProcessType: pulumi.String(networkedge.FileTypeCloudInit),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: filepath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbluecatEdgeServicePointCloudinitSecondaryFile, err := networkedge.NewNetworkFile(ctx, \"bluecatEdgeServicePointCloudinitSecondaryFile\", \u0026networkedge.NetworkFileArgs{\n\t\t\tFileName: pulumi.String(\"TF-BLUECAT-ESP-cloud-init-file.txt\"),\n\t\t\tContent: pulumi.String(invokeFile1.Result),\n\t\t\tMetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"BLUECAT-EDGE-SERVICE-POINT\"),\n\t\t\tProcessType: pulumi.String(networkedge.FileTypeCloudInit),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"bluecatEdgeServicePointHa\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-bluecat-edge-service-point-p\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"BLUECAT-EDGE-SERVICE-POINT\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@equinix.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tCloudInitFileId: bluecatEdgeServicePointCloudinitPrimaryFile.Uuid,\n\t\t\tVersion: pulumi.String(\"4.6.3\"),\n\t\t\tCoreCount: pulumi.Int(4),\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"tf-bluecat-edge-service-point-s\"),\n\t\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t\t},\n\t\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\t\tCloudInitFileId: bluecatEdgeServicePointCloudinitSecondaryFile.Uuid,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n Name = \"account-name\",\n MetroCode = \"SV\",\n });\n\n var bluecatEdgeServicePointCloudinitPrimaryFile = new Equinix.NetworkEdge.NetworkFile(\"bluecatEdgeServicePointCloudinitPrimaryFile\", new()\n {\n FileName = \"TF-BLUECAT-ESP-cloud-init-file.txt\",\n Content = Std.File.Invoke(new()\n {\n Input = filepath,\n }).Apply(invoke =\u003e invoke.Result),\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode).Apply(System.Enum.Parse\u003cEquinix.Metro\u003e),\n DeviceTypeCode = \"BLUECAT-EDGE-SERVICE-POINT\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n var bluecatEdgeServicePointCloudinitSecondaryFile = new Equinix.NetworkEdge.NetworkFile(\"bluecatEdgeServicePointCloudinitSecondaryFile\", new()\n {\n FileName = \"TF-BLUECAT-ESP-cloud-init-file.txt\",\n Content = Std.File.Invoke(new()\n {\n Input = filepath,\n }).Apply(invoke =\u003e invoke.Result),\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode).Apply(System.Enum.Parse\u003cEquinix.Metro\u003e),\n DeviceTypeCode = \"BLUECAT-EDGE-SERVICE-POINT\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n var bluecatEdgeServicePointHa = new Equinix.NetworkEdge.Device(\"bluecatEdgeServicePointHa\", new()\n {\n Name = \"tf-bluecat-edge-service-point-p\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"BLUECAT-EDGE-SERVICE-POINT\",\n SelfManaged = true,\n Connectivity = \"PRIVATE\",\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n CloudInitFileId = bluecatEdgeServicePointCloudinitPrimaryFile.Uuid,\n Version = \"4.6.3\",\n CoreCount = 4,\n TermLength = 12,\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"tf-bluecat-edge-service-point-s\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n CloudInitFileId = bluecatEdgeServicePointCloudinitSecondaryFile.Uuid,\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.NetworkFile;\nimport com.pulumi.equinix.networkedge.NetworkFileArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSecondaryDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .name(\"account-name\")\n .metroCode(\"SV\")\n .build());\n\n var bluecatEdgeServicePointCloudinitPrimaryFile = new NetworkFile(\"bluecatEdgeServicePointCloudinitPrimaryFile\", NetworkFileArgs.builder()\n .fileName(\"TF-BLUECAT-ESP-cloud-init-file.txt\")\n .content(StdFunctions.file(FileArgs.builder()\n .input(filepath)\n .build()).result())\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .deviceTypeCode(\"BLUECAT-EDGE-SERVICE-POINT\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n var bluecatEdgeServicePointCloudinitSecondaryFile = new NetworkFile(\"bluecatEdgeServicePointCloudinitSecondaryFile\", NetworkFileArgs.builder()\n .fileName(\"TF-BLUECAT-ESP-cloud-init-file.txt\")\n .content(StdFunctions.file(FileArgs.builder()\n .input(filepath)\n .build()).result())\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .deviceTypeCode(\"BLUECAT-EDGE-SERVICE-POINT\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n var bluecatEdgeServicePointHa = new Device(\"bluecatEdgeServicePointHa\", DeviceArgs.builder()\n .name(\"tf-bluecat-edge-service-point-p\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"BLUECAT-EDGE-SERVICE-POINT\")\n .selfManaged(true)\n .connectivity(\"PRIVATE\")\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@equinix.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .cloudInitFileId(bluecatEdgeServicePointCloudinitPrimaryFile.uuid())\n .version(\"4.6.3\")\n .coreCount(4)\n .termLength(12)\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-bluecat-edge-service-point-s\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .cloudInitFileId(bluecatEdgeServicePointCloudinitSecondaryFile.uuid())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n bluecatEdgeServicePointCloudinitPrimaryFile:\n type: equinix:networkedge:NetworkFile\n name: bluecat_edge_service_point_cloudinit_primary_file\n properties:\n fileName: TF-BLUECAT-ESP-cloud-init-file.txt\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ${filepath}\n Return: result\n metroCode: ${sv.metroCode}\n deviceTypeCode: BLUECAT-EDGE-SERVICE-POINT\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n bluecatEdgeServicePointCloudinitSecondaryFile:\n type: equinix:networkedge:NetworkFile\n name: bluecat_edge_service_point_cloudinit_secondary_file\n properties:\n fileName: TF-BLUECAT-ESP-cloud-init-file.txt\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ${filepath}\n Return: result\n metroCode: ${sv.metroCode}\n deviceTypeCode: BLUECAT-EDGE-SERVICE-POINT\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n bluecatEdgeServicePointHa:\n type: equinix:networkedge:Device\n name: bluecat_edge_service_point_ha\n properties:\n name: tf-bluecat-edge-service-point-p\n metroCode: ${sv.metroCode}\n typeCode: BLUECAT-EDGE-SERVICE-POINT\n selfManaged: true\n connectivity: PRIVATE\n byol: true\n packageCode: STD\n notifications:\n - test@equinix.com\n accountNumber: ${sv.number}\n cloudInitFileId: ${bluecatEdgeServicePointCloudinitPrimaryFile.uuid}\n version: 4.6.3\n coreCount: 4\n termLength: 12\n secondaryDevice:\n name: tf-bluecat-edge-service-point-s\n metroCode: ${sv.metroCode}\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n cloudInitFileId: ${bluecatEdgeServicePointCloudinitSecondaryFile.uuid}\nvariables:\n # Create self configured redundant BlueCat Edge Service Point\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n name: account-name\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example 9\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst sv = equinix.networkedge.getAccountOutput({\n metroCode: \"SV\",\n});\nconst panwCluster = new equinix.networkedge.Device(\"panwCluster\", {\n name: \"tf-panw\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"PA-VM\",\n selfManaged: true,\n byol: true,\n packageCode: \"VM100\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n termLength: 12,\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"11.1.3\",\n interfaceCount: 10,\n coreCount: 2,\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n aclTemplateId: \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n clusterDetails: {\n clusterName: \"tf-panw-cluster\",\n node0: {\n vendorConfiguration: {\n hostname: \"panw-node0\",\n panoramaIpAddress: \"x.x.x.x\",\n panoramaAuthKey: \"xxxxxxxxxxx\",\n },\n licenseToken: \"licenseToken\",\n },\n node1: {\n vendorConfiguration: {\n hostname: \"panw-node1\",\n panoramaIpAddress: \"x.x.x.x\",\n panoramaAuthKey: \"xxxxxxxxxxx\",\n },\n licenseToken: \"licenseToken\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\npanw_cluster = equinix.networkedge.Device(\"panwCluster\",\n name=\"tf-panw\",\n metro_code=sv.metro_code,\n type_code=\"PA-VM\",\n self_managed=True,\n byol=True,\n package_code=\"VM100\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n term_length=12,\n account_number=sv.number,\n version=\"11.1.3\",\n interface_count=10,\n core_count=2,\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"test-key\",\n },\n acl_template_id=\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n cluster_details={\n \"cluster_name\": \"tf-panw-cluster\",\n \"node0\": {\n \"vendor_configuration\": {\n \"hostname\": \"panw-node0\",\n \"panorama_ip_address\": \"x.x.x.x\",\n \"panorama_auth_key\": \"xxxxxxxxxxx\",\n },\n \"license_token\": \"licenseToken\",\n },\n \"node1\": {\n \"vendor_configuration\": {\n \"hostname\": \"panw-node1\",\n \"panorama_ip_address\": \"x.x.x.x\",\n \"panorama_auth_key\": \"xxxxxxxxxxx\",\n },\n \"license_token\": \"licenseToken\",\n },\n })\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsv, err := networkedge.GetAccount(ctx, \u0026networkedge.GetAccountArgs{\n\t\t\tMetroCode: \"SV\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewDevice(ctx, \"panwCluster\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-panw\"),\n\t\t\tMetroCode: pulumi.String(sv.MetroCode),\n\t\t\tTypeCode: pulumi.String(\"PA-VM\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"VM100\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"john@equinix.com\"),\n\t\t\t\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\tpulumi.String(\"fred@equinix.com\"),\n\t\t\t},\n\t\t\tTermLength: pulumi.Int(12),\n\t\t\tAccountNumber: pulumi.String(sv.Number),\n\t\t\tVersion: pulumi.String(\"11.1.3\"),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\tKeyName: pulumi.String(\"test-key\"),\n\t\t\t},\n\t\t\tAclTemplateId: pulumi.String(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\"),\n\t\t\tClusterDetails: \u0026networkedge.DeviceClusterDetailsArgs{\n\t\t\t\tClusterName: pulumi.String(\"tf-panw-cluster\"),\n\t\t\t\tNode0: \u0026networkedge.DeviceClusterDetailsNode0Args{\n\t\t\t\t\tVendorConfiguration: \u0026networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"panw-node0\"),\n\t\t\t\t\t\tPanoramaIpAddress: pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\t\tPanoramaAuthKey: pulumi.String(\"xxxxxxxxxxx\"),\n\t\t\t\t\t},\n\t\t\t\t\tLicenseToken: pulumi.String(\"licenseToken\"),\n\t\t\t\t},\n\t\t\t\tNode1: \u0026networkedge.DeviceClusterDetailsNode1Args{\n\t\t\t\t\tVendorConfiguration: \u0026networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs{\n\t\t\t\t\t\tHostname: pulumi.String(\"panw-node1\"),\n\t\t\t\t\t\tPanoramaIpAddress: pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\t\tPanoramaAuthKey: pulumi.String(\"xxxxxxxxxxx\"),\n\t\t\t\t\t},\n\t\t\t\t\tLicenseToken: pulumi.String(\"licenseToken\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sv = Equinix.NetworkEdge.GetAccount.Invoke(new()\n {\n MetroCode = \"SV\",\n });\n\n var panwCluster = new Equinix.NetworkEdge.Device(\"panwCluster\", new()\n {\n Name = \"tf-panw\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"PA-VM\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"VM100\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n },\n TermLength = 12,\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"11.1.3\",\n InterfaceCount = 10,\n CoreCount = 2,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\n },\n AclTemplateId = \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n ClusterDetails = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsArgs\n {\n ClusterName = \"tf-panw-cluster\",\n Node0 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0Args\n {\n VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode0VendorConfigurationArgs\n {\n Hostname = \"panw-node0\",\n PanoramaIpAddress = \"x.x.x.x\",\n PanoramaAuthKey = \"xxxxxxxxxxx\",\n },\n LicenseToken = \"licenseToken\",\n },\n Node1 = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1Args\n {\n VendorConfiguration = new Equinix.NetworkEdge.Inputs.DeviceClusterDetailsNode1VendorConfigurationArgs\n {\n Hostname = \"panw-node1\",\n PanoramaIpAddress = \"x.x.x.x\",\n PanoramaAuthKey = \"xxxxxxxxxxx\",\n },\n LicenseToken = \"licenseToken\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkedgeFunctions;\nimport com.pulumi.equinix.networkedge.inputs.GetAccountArgs;\nimport com.pulumi.equinix.networkedge.Device;\nimport com.pulumi.equinix.networkedge.DeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceSshKeyArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0Args;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode0VendorConfigurationArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1Args;\nimport com.pulumi.equinix.networkedge.inputs.DeviceClusterDetailsNode1VendorConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sv = NetworkedgeFunctions.getAccount(GetAccountArgs.builder()\n .metroCode(\"SV\")\n .build());\n\n var panwCluster = new Device(\"panwCluster\", DeviceArgs.builder()\n .name(\"tf-panw\")\n .metroCode(sv.applyValue(getAccountResult -\u003e getAccountResult.metroCode()))\n .typeCode(\"PA-VM\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"VM100\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(getAccountResult -\u003e getAccountResult.number()))\n .version(\"11.1.3\")\n .interfaceCount(10)\n .coreCount(2)\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .aclTemplateId(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\")\n .clusterDetails(DeviceClusterDetailsArgs.builder()\n .clusterName(\"tf-panw-cluster\")\n .node0(DeviceClusterDetailsNode0Args.builder()\n .vendorConfiguration(DeviceClusterDetailsNode0VendorConfigurationArgs.builder()\n .hostname(\"panw-node0\")\n .panoramaIpAddress(\"x.x.x.x\")\n .panoramaAuthKey(\"xxxxxxxxxxx\")\n .build())\n .licenseToken(\"licenseToken\")\n .build())\n .node1(DeviceClusterDetailsNode1Args.builder()\n .vendorConfiguration(DeviceClusterDetailsNode1VendorConfigurationArgs.builder()\n .hostname(\"panw-node1\")\n .panoramaIpAddress(\"x.x.x.x\")\n .panoramaAuthKey(\"xxxxxxxxxxx\")\n .build())\n .licenseToken(\"licenseToken\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n panwCluster:\n type: equinix:networkedge:Device\n name: panw_cluster\n properties:\n name: tf-panw\n metroCode: ${sv.metroCode}\n typeCode: PA-VM\n selfManaged: true\n byol: true\n packageCode: VM100\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 11.1.3\n interfaceCount: 10\n coreCount: 2\n sshKey:\n username: test\n keyName: test-key\n aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b\n clusterDetails:\n clusterName: tf-panw-cluster\n node0:\n vendorConfiguration:\n hostname: panw-node0\n panoramaIpAddress: x.x.x.x\n panoramaAuthKey: xxxxxxxxxxx\n licenseToken: licenseToken\n node1:\n vendorConfiguration:\n hostname: panw-node1\n panoramaIpAddress: x.x.x.x\n panoramaAuthKey: xxxxxxxxxxx\n licenseToken: licenseToken\nvariables:\n # Create PA-VM firewall cluster with Panorama Server Integration\n # with Panorama Server IP and Panorama Auth Key in vendor Configuration\n sv:\n fn::invoke:\n Function: equinix:networkedge:getAccount\n Arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing ID:\n\n```sh\n$ pulumi import equinix:networkedge/device:Device example {existing_id}\n```\n\nThe `license_token`, `mgmt_acl_template_uuid` and `cloud_init_file_id` fields can not be imported.\n\n\n{{% /examples %}}", "properties": { "accountNumber": { "type": "string", @@ -18261,7 +18261,7 @@ } }, "equinix:networkedge/deviceLink:DeviceLink": { - "description": "Resource `equinix.networkedge.DeviceLink` allows creation and management of Equinix Network Edge virtual network device links.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst test = new equinix.networkedge.DeviceLink(\"test\", {\n name: \"test-link\",\n subnet: \"192.168.40.64/27\",\n projectId: \"a86d7112-d740-4758-9c9c-31e66373746b\",\n devices: [\n {\n id: testEquinixNetworkDevice.uuid,\n asn: 22111,\n interfaceId: 6,\n },\n {\n id: testEquinixNetworkDevice.secondaryDevice[0].uuid,\n asn: 22333,\n interfaceId: 7,\n },\n ],\n links: [{\n accountNumber: testEquinixNetworkDevice.accountNumber,\n srcMetroCode: testEquinixNetworkDevice.metroCode,\n dstMetroCode: testEquinixNetworkDevice.secondaryDevice[0].metroCode,\n throughput: \"50\",\n throughputUnit: \"Mbps\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntest = equinix.networkedge.DeviceLink(\"test\",\n name=\"test-link\",\n subnet=\"192.168.40.64/27\",\n project_id=\"a86d7112-d740-4758-9c9c-31e66373746b\",\n devices=[\n equinix.networkedge.DeviceLinkDeviceArgs(\n id=test_equinix_network_device[\"uuid\"],\n asn=22111,\n interface_id=6,\n ),\n equinix.networkedge.DeviceLinkDeviceArgs(\n id=test_equinix_network_device[\"secondaryDevice\"][0][\"uuid\"],\n asn=22333,\n interface_id=7,\n ),\n ],\n links=[equinix.networkedge.DeviceLinkLinkArgs(\n account_number=test_equinix_network_device[\"accountNumber\"],\n src_metro_code=test_equinix_network_device[\"metroCode\"],\n dst_metro_code=test_equinix_network_device[\"secondaryDevice\"][0][\"metroCode\"],\n throughput=\"50\",\n throughput_unit=\"Mbps\",\n )])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkedge.NewDeviceLink(ctx, \"test\", \u0026networkedge.DeviceLinkArgs{\n\t\t\tName: pulumi.String(\"test-link\"),\n\t\t\tSubnet: pulumi.String(\"192.168.40.64/27\"),\n\t\t\tProjectId: pulumi.String(\"a86d7112-d740-4758-9c9c-31e66373746b\"),\n\t\t\tDevices: networkedge.DeviceLinkDeviceArray{\n\t\t\t\t\u0026networkedge.DeviceLinkDeviceArgs{\n\t\t\t\t\tId: pulumi.Any(testEquinixNetworkDevice.Uuid),\n\t\t\t\t\tAsn: pulumi.Int(22111),\n\t\t\t\t\tInterfaceId: pulumi.Int(6),\n\t\t\t\t},\n\t\t\t\t\u0026networkedge.DeviceLinkDeviceArgs{\n\t\t\t\t\tId: pulumi.Any(testEquinixNetworkDevice.SecondaryDevice[0].Uuid),\n\t\t\t\t\tAsn: pulumi.Int(22333),\n\t\t\t\t\tInterfaceId: pulumi.Int(7),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLinks: networkedge.DeviceLinkLinkArray{\n\t\t\t\t\u0026networkedge.DeviceLinkLinkArgs{\n\t\t\t\t\tAccountNumber: pulumi.Any(testEquinixNetworkDevice.AccountNumber),\n\t\t\t\t\tSrcMetroCode: pulumi.Any(testEquinixNetworkDevice.MetroCode),\n\t\t\t\t\tDstMetroCode: pulumi.Any(testEquinixNetworkDevice.SecondaryDevice[0].MetroCode),\n\t\t\t\t\tThroughput: pulumi.String(\"50\"),\n\t\t\t\t\tThroughputUnit: pulumi.String(\"Mbps\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Equinix.NetworkEdge.DeviceLink(\"test\", new()\n {\n Name = \"test-link\",\n Subnet = \"192.168.40.64/27\",\n ProjectId = \"a86d7112-d740-4758-9c9c-31e66373746b\",\n Devices = new[]\n {\n new Equinix.NetworkEdge.Inputs.DeviceLinkDeviceArgs\n {\n Id = testEquinixNetworkDevice.Uuid,\n Asn = 22111,\n InterfaceId = 6,\n },\n new Equinix.NetworkEdge.Inputs.DeviceLinkDeviceArgs\n {\n Id = testEquinixNetworkDevice.SecondaryDevice[0].Uuid,\n Asn = 22333,\n InterfaceId = 7,\n },\n },\n Links = new[]\n {\n new Equinix.NetworkEdge.Inputs.DeviceLinkLinkArgs\n {\n AccountNumber = testEquinixNetworkDevice.AccountNumber,\n SrcMetroCode = testEquinixNetworkDevice.MetroCode,\n DstMetroCode = testEquinixNetworkDevice.SecondaryDevice[0].MetroCode,\n Throughput = \"50\",\n ThroughputUnit = \"Mbps\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.DeviceLink;\nimport com.pulumi.equinix.networkedge.DeviceLinkArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceLinkDeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceLinkLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new DeviceLink(\"test\", DeviceLinkArgs.builder()\n .name(\"test-link\")\n .subnet(\"192.168.40.64/27\")\n .projectId(\"a86d7112-d740-4758-9c9c-31e66373746b\")\n .devices( \n DeviceLinkDeviceArgs.builder()\n .id(testEquinixNetworkDevice.uuid())\n .asn(22111)\n .interfaceId(6)\n .build(),\n DeviceLinkDeviceArgs.builder()\n .id(testEquinixNetworkDevice.secondaryDevice()[0].uuid())\n .asn(22333)\n .interfaceId(7)\n .build())\n .links(DeviceLinkLinkArgs.builder()\n .accountNumber(testEquinixNetworkDevice.accountNumber())\n .srcMetroCode(testEquinixNetworkDevice.metroCode())\n .dstMetroCode(testEquinixNetworkDevice.secondaryDevice()[0].metroCode())\n .throughput(\"50\")\n .throughputUnit(\"Mbps\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example of device link with HA device pair\n # where each device is in different metro\n test:\n type: equinix:networkedge:DeviceLink\n properties:\n name: test-link\n subnet: 192.168.40.64/27\n projectId: a86d7112-d740-4758-9c9c-31e66373746b\n devices:\n - id: ${testEquinixNetworkDevice.uuid}\n asn: 22111\n interfaceId: 6\n - id: ${testEquinixNetworkDevice.secondaryDevice[0].uuid}\n asn: 22333\n interfaceId: 7\n links:\n - accountNumber: ${testEquinixNetworkDevice.accountNumber}\n srcMetroCode: ${testEquinixNetworkDevice.metroCode}\n dstMetroCode: ${testEquinixNetworkDevice.secondaryDevice[0].metroCode}\n throughput: '50'\n throughputUnit: Mbps\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing ID:\n\n```sh\n$ pulumi import equinix:networkedge/deviceLink:DeviceLink example {existing_id}\n```\n\n\n{{% /examples %}}", + "description": "Resource `equinix.networkedge.DeviceLink` allows creation and management of Equinix Network Edge virtual network device links.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\n\nconst test = new equinix.networkedge.DeviceLink(\"test\", {\n name: \"test-link\",\n subnet: \"192.168.40.64/27\",\n projectId: \"a86d7112-d740-4758-9c9c-31e66373746b\",\n devices: [\n {\n id: testEquinixNetworkDevice.uuid,\n asn: 22111,\n interfaceId: 6,\n },\n {\n id: testEquinixNetworkDevice.secondaryDevice[0].uuid,\n asn: 22333,\n interfaceId: 7,\n },\n ],\n links: [{\n accountNumber: testEquinixNetworkDevice.accountNumber,\n srcMetroCode: testEquinixNetworkDevice.metroCode,\n dstMetroCode: testEquinixNetworkDevice.secondaryDevice[0].metroCode,\n throughput: \"50\",\n throughputUnit: \"Mbps\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ntest = equinix.networkedge.DeviceLink(\"test\",\n name=\"test-link\",\n subnet=\"192.168.40.64/27\",\n project_id=\"a86d7112-d740-4758-9c9c-31e66373746b\",\n devices=[\n {\n \"id\": test_equinix_network_device[\"uuid\"],\n \"asn\": 22111,\n \"interface_id\": 6,\n },\n {\n \"id\": test_equinix_network_device[\"secondaryDevice\"][0][\"uuid\"],\n \"asn\": 22333,\n \"interface_id\": 7,\n },\n ],\n links=[{\n \"account_number\": test_equinix_network_device[\"accountNumber\"],\n \"src_metro_code\": test_equinix_network_device[\"metroCode\"],\n \"dst_metro_code\": test_equinix_network_device[\"secondaryDevice\"][0][\"metroCode\"],\n \"throughput\": \"50\",\n \"throughput_unit\": \"Mbps\",\n }])\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := networkedge.NewDeviceLink(ctx, \"test\", \u0026networkedge.DeviceLinkArgs{\n\t\t\tName: pulumi.String(\"test-link\"),\n\t\t\tSubnet: pulumi.String(\"192.168.40.64/27\"),\n\t\t\tProjectId: pulumi.String(\"a86d7112-d740-4758-9c9c-31e66373746b\"),\n\t\t\tDevices: networkedge.DeviceLinkDeviceArray{\n\t\t\t\t\u0026networkedge.DeviceLinkDeviceArgs{\n\t\t\t\t\tId: pulumi.Any(testEquinixNetworkDevice.Uuid),\n\t\t\t\t\tAsn: pulumi.Int(22111),\n\t\t\t\t\tInterfaceId: pulumi.Int(6),\n\t\t\t\t},\n\t\t\t\t\u0026networkedge.DeviceLinkDeviceArgs{\n\t\t\t\t\tId: pulumi.Any(testEquinixNetworkDevice.SecondaryDevice[0].Uuid),\n\t\t\t\t\tAsn: pulumi.Int(22333),\n\t\t\t\t\tInterfaceId: pulumi.Int(7),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLinks: networkedge.DeviceLinkLinkArray{\n\t\t\t\t\u0026networkedge.DeviceLinkLinkArgs{\n\t\t\t\t\tAccountNumber: pulumi.Any(testEquinixNetworkDevice.AccountNumber),\n\t\t\t\t\tSrcMetroCode: pulumi.Any(testEquinixNetworkDevice.MetroCode),\n\t\t\t\t\tDstMetroCode: pulumi.Any(testEquinixNetworkDevice.SecondaryDevice[0].MetroCode),\n\t\t\t\t\tThroughput: pulumi.String(\"50\"),\n\t\t\t\t\tThroughputUnit: pulumi.String(\"Mbps\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Equinix.NetworkEdge.DeviceLink(\"test\", new()\n {\n Name = \"test-link\",\n Subnet = \"192.168.40.64/27\",\n ProjectId = \"a86d7112-d740-4758-9c9c-31e66373746b\",\n Devices = new[]\n {\n new Equinix.NetworkEdge.Inputs.DeviceLinkDeviceArgs\n {\n Id = testEquinixNetworkDevice.Uuid,\n Asn = 22111,\n InterfaceId = 6,\n },\n new Equinix.NetworkEdge.Inputs.DeviceLinkDeviceArgs\n {\n Id = testEquinixNetworkDevice.SecondaryDevice[0].Uuid,\n Asn = 22333,\n InterfaceId = 7,\n },\n },\n Links = new[]\n {\n new Equinix.NetworkEdge.Inputs.DeviceLinkLinkArgs\n {\n AccountNumber = testEquinixNetworkDevice.AccountNumber,\n SrcMetroCode = testEquinixNetworkDevice.MetroCode,\n DstMetroCode = testEquinixNetworkDevice.SecondaryDevice[0].MetroCode,\n Throughput = \"50\",\n ThroughputUnit = \"Mbps\",\n },\n },\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.DeviceLink;\nimport com.pulumi.equinix.networkedge.DeviceLinkArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceLinkDeviceArgs;\nimport com.pulumi.equinix.networkedge.inputs.DeviceLinkLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new DeviceLink(\"test\", DeviceLinkArgs.builder()\n .name(\"test-link\")\n .subnet(\"192.168.40.64/27\")\n .projectId(\"a86d7112-d740-4758-9c9c-31e66373746b\")\n .devices( \n DeviceLinkDeviceArgs.builder()\n .id(testEquinixNetworkDevice.uuid())\n .asn(22111)\n .interfaceId(6)\n .build(),\n DeviceLinkDeviceArgs.builder()\n .id(testEquinixNetworkDevice.secondaryDevice()[0].uuid())\n .asn(22333)\n .interfaceId(7)\n .build())\n .links(DeviceLinkLinkArgs.builder()\n .accountNumber(testEquinixNetworkDevice.accountNumber())\n .srcMetroCode(testEquinixNetworkDevice.metroCode())\n .dstMetroCode(testEquinixNetworkDevice.secondaryDevice()[0].metroCode())\n .throughput(\"50\")\n .throughputUnit(\"Mbps\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Example of device link with HA device pair\n # where each device is in different metro\n test:\n type: equinix:networkedge:DeviceLink\n properties:\n name: test-link\n subnet: 192.168.40.64/27\n projectId: a86d7112-d740-4758-9c9c-31e66373746b\n devices:\n - id: ${testEquinixNetworkDevice.uuid}\n asn: 22111\n interfaceId: 6\n - id: ${testEquinixNetworkDevice.secondaryDevice[0].uuid}\n asn: 22333\n interfaceId: 7\n links:\n - accountNumber: ${testEquinixNetworkDevice.accountNumber}\n srcMetroCode: ${testEquinixNetworkDevice.metroCode}\n dstMetroCode: ${testEquinixNetworkDevice.secondaryDevice[0].metroCode}\n throughput: '50'\n throughputUnit: Mbps\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing ID:\n\n```sh\n$ pulumi import equinix:networkedge/deviceLink:DeviceLink example {existing_id}\n```\n\n\n{{% /examples %}}", "properties": { "devices": { "type": "array", @@ -18418,7 +18418,7 @@ } }, "equinix:networkedge/networkFile:NetworkFile": { - "description": "Resource `equinix.networkedge.NetworkFile` allows creation and management of Equinix Network Edge files.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst filepath = config.get(\"filepath\") || \"fileFolder/fileName.txt\";\nconst testFile = new equinix.networkedge.NetworkFile(\"test-file\", {\n fileName: \"fileName.txt\",\n content: std.fileOutput({\n input: filepath,\n }).apply(invoke =\u003e invoke.result),\n metroCode: equinix.index.Metro.SiliconValley,\n deviceTypeCode: \"AVIATRIX_EDGE\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nfilepath = config.get(\"filepath\")\nif filepath is None:\n filepath = \"fileFolder/fileName.txt\"\ntest_file = equinix.networkedge.NetworkFile(\"test-file\",\n file_name=\"fileName.txt\",\n content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),\n metro_code=equinix.Metro.SILICON_VALLEY,\n device_type_code=\"AVIATRIX_EDGE\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfilepath := \"fileFolder/fileName.txt\"\n\t\tif param := cfg.Get(\"filepath\"); param != \"\" {\n\t\t\tfilepath = param\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: filepath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewNetworkFile(ctx, \"test-file\", \u0026networkedge.NetworkFileArgs{\n\t\t\tFileName: pulumi.String(\"fileName.txt\"),\n\t\t\tContent: invokeFile.Result,\n\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\tDeviceTypeCode: pulumi.String(\"AVIATRIX_EDGE\"),\n\t\t\tProcessType: pulumi.String(networkedge.FileTypeCloudInit),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var filepath = config.Get(\"filepath\") ?? \"fileFolder/fileName.txt\";\n var testFile = new Equinix.NetworkEdge.NetworkFile(\"test-file\", new()\n {\n FileName = \"fileName.txt\",\n Content = Std.File.Invoke(new()\n {\n Input = filepath,\n }).Apply(invoke =\u003e invoke.Result),\n MetroCode = Equinix.Metro.SiliconValley,\n DeviceTypeCode = \"AVIATRIX_EDGE\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkFile;\nimport com.pulumi.equinix.networkedge.NetworkFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var filepath = config.get(\"filepath\").orElse(\"fileFolder/fileName.txt\");\n var testFile = new NetworkFile(\"testFile\", NetworkFileArgs.builder()\n .fileName(\"fileName.txt\")\n .content(StdFunctions.file(FileArgs.builder()\n .input(filepath)\n .build()).result())\n .metroCode(\"SV\")\n .deviceTypeCode(\"AVIATRIX_EDGE\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n filepath:\n type: string\n default: fileFolder/fileName.txt\nresources:\n test-file:\n type: equinix:networkedge:NetworkFile\n properties:\n fileName: fileName.txt\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ${filepath}\n Return: result\n metroCode: SV\n deviceTypeCode: AVIATRIX_EDGE\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing ID:\n\n```sh\n$ pulumi import equinix:networkedge/networkFile:NetworkFile example {existing_id}\n```\n\nThe `content`, `self_managed` and `byol` fields can not be imported.\n\n\n{{% /examples %}}", + "description": "Resource `equinix.networkedge.NetworkFile` allows creation and management of Equinix Network Edge files.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@equinix-labs/pulumi-equinix\";\nimport * as std from \"@pulumi/std\";\n\nconst config = new pulumi.Config();\nconst filepath = config.get(\"filepath\") || \"fileFolder/fileName.txt\";\nconst testFile = new equinix.networkedge.NetworkFile(\"test-file\", {\n fileName: \"fileName.txt\",\n content: std.fileOutput({\n input: filepath,\n }).apply(invoke =\u003e invoke.result),\n metroCode: equinix.index.Metro.SiliconValley,\n deviceTypeCode: \"AVIATRIX_EDGE\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\nimport pulumi_std as std\n\nconfig = pulumi.Config()\nfilepath = config.get(\"filepath\")\nif filepath is None:\n filepath = \"fileFolder/fileName.txt\"\ntest_file = equinix.networkedge.NetworkFile(\"test-file\",\n file_name=\"fileName.txt\",\n content=std.file_output(input=filepath).apply(lambda invoke: invoke.result),\n metro_code=equinix.Metro.SILICON_VALLEY,\n device_type_code=\"AVIATRIX_EDGE\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\n```\n```go\npackage main\n\nimport (\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix\"\n\t\"github.com/equinix/pulumi-equinix/sdk/go/equinix/networkedge\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tfilepath := \"fileFolder/fileName.txt\"\n\t\tif param := cfg.Get(\"filepath\"); param != \"\" {\n\t\t\tfilepath = param\n\t\t}\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: filepath,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = networkedge.NewNetworkFile(ctx, \"test-file\", \u0026networkedge.NetworkFileArgs{\n\t\t\tFileName: pulumi.String(\"fileName.txt\"),\n\t\t\tContent: pulumi.String(invokeFile.Result),\n\t\t\tMetroCode: pulumi.String(equinix.MetroSiliconValley),\n\t\t\tDeviceTypeCode: pulumi.String(\"AVIATRIX_EDGE\"),\n\t\t\tProcessType: pulumi.String(networkedge.FileTypeCloudInit),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Equinix = Pulumi.Equinix;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var filepath = config.Get(\"filepath\") ?? \"fileFolder/fileName.txt\";\n var testFile = new Equinix.NetworkEdge.NetworkFile(\"test-file\", new()\n {\n FileName = \"fileName.txt\",\n Content = Std.File.Invoke(new()\n {\n Input = filepath,\n }).Apply(invoke =\u003e invoke.Result),\n MetroCode = Equinix.Metro.SiliconValley,\n DeviceTypeCode = \"AVIATRIX_EDGE\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n});\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.equinix.networkedge.NetworkFile;\nimport com.pulumi.equinix.networkedge.NetworkFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var filepath = config.get(\"filepath\").orElse(\"fileFolder/fileName.txt\");\n var testFile = new NetworkFile(\"testFile\", NetworkFileArgs.builder()\n .fileName(\"fileName.txt\")\n .content(StdFunctions.file(FileArgs.builder()\n .input(filepath)\n .build()).result())\n .metroCode(\"SV\")\n .deviceTypeCode(\"AVIATRIX_EDGE\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n filepath:\n type: string\n default: fileFolder/fileName.txt\nresources:\n test-file:\n type: equinix:networkedge:NetworkFile\n properties:\n fileName: fileName.txt\n content:\n fn::invoke:\n Function: std:file\n Arguments:\n input: ${filepath}\n Return: result\n metroCode: SV\n deviceTypeCode: AVIATRIX_EDGE\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n```\n{{% /example %}}\n\n## Import\n\nThis resource can be imported using an existing ID:\n\n```sh\n$ pulumi import equinix:networkedge/networkFile:NetworkFile example {existing_id}\n```\n\nThe `content`, `self_managed` and `byol` fields can not be imported.\n\n\n{{% /examples %}}", "properties": { "byol": { "type": "boolean", From 54f67610d5006734c4718b986b92b52657e4c124 Mon Sep 17 00:00:00 2001 From: Oscar Cobles Date: Wed, 21 Aug 2024 16:25:41 +0200 Subject: [PATCH 2/2] make build_sdks Signed-off-by: Oscar Cobles --- sdk/go/equinix/metal/interconnection.go | 4 +- sdk/go/equinix/metal/ipAttachment.go | 72 +- sdk/go/equinix/metal/sshKey.go | 2 +- sdk/go/equinix/networkedge/device.go | 6 +- sdk/go/equinix/networkedge/networkFile.go | 2 +- .../pulumi_equinix/fabric/cloud_router.py | 76 +- .../pulumi_equinix/fabric/connection.py | 2120 ++++++++--------- .../pulumi_equinix/fabric/routing_protocol.py | 112 +- .../pulumi_equinix/fabric/service_profile.py | 72 +- sdk/python/pulumi_equinix/metal/device.py | 28 +- .../pulumi_equinix/metal/interconnection.py | 236 +- sdk/python/pulumi_equinix/metal/project.py | 40 +- .../pulumi_equinix/metal/reserved_ip_block.py | 32 +- .../metal/spot_market_request.py | 24 +- .../networkedge/acl_template.py | 52 +- .../pulumi_equinix/networkedge/device.py | 368 +-- .../pulumi_equinix/networkedge/device_link.py | 68 +- 17 files changed, 1656 insertions(+), 1658 deletions(-) diff --git a/sdk/go/equinix/metal/interconnection.go b/sdk/go/equinix/metal/interconnection.go index adbfc32c..c76bb28f 100644 --- a/sdk/go/equinix/metal/interconnection.go +++ b/sdk/go/equinix/metal/interconnection.go @@ -50,7 +50,7 @@ import ( // Type: pulumi.String("shared"), // Redundancy: pulumi.String("primary"), // Metro: pulumi.String(metro), -// Speed: pulumi.String(fmt.Sprintf("%vMbps", speedInMbps)), +// Speed: pulumi.Sprintf("%vMbps", speedInMbps), // ServiceTokenType: pulumi.String("z_side"), // }) // if err != nil { @@ -95,7 +95,7 @@ import ( // Type: pulumi.String("shared"), // Redundancy: pulumi.String("primary"), // Metro: pulumi.String(metro), -// Speed: pulumi.String(fmt.Sprintf("%vMbps", speedInMbps)), +// Speed: pulumi.Sprintf("%vMbps", speedInMbps), // ServiceTokenType: pulumi.String("a_side"), // }) // if err != nil { diff --git a/sdk/go/equinix/metal/ipAttachment.go b/sdk/go/equinix/metal/ipAttachment.go index bc2ae649..d6900d11 100644 --- a/sdk/go/equinix/metal/ipAttachment.go +++ b/sdk/go/equinix/metal/ipAttachment.go @@ -32,43 +32,41 @@ import ( // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := metal.NewReservedIpBlock(ctx, "myblock", &metal.ReservedIpBlockArgs{ -// ProjectId: pulumi.Any(projectId), -// Metro: pulumi.String("ny"), -// Quantity: pulumi.Int(2), -// }) -// if err != nil { -// return err -// } -// invokeJoin, err := std.Join(ctx, invokeCidrhost1, err := std.Cidrhost(ctx, &std.CidrhostArgs{ -// Input: myblockMetalReservedIpBlock.CidrNotation, -// Host: 0, -// }, nil) -// if err != nil { -// return err -// } -// &std.JoinArgs{ -// Separator: "/", -// Input: []*string{ -// invokeCidrhost1.Result, -// "32", -// }, -// }, nil) -// if err != nil { -// return err -// } -// _, err = metal.NewIpAttachment(ctx, "firstAddressAssignment", &metal.IpAttachmentArgs{ -// DeviceId: pulumi.Any(mydevice.Id), -// CidrNotation: invokeJoin.Result, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := metal.NewReservedIpBlock(ctx, "myblock", &metal.ReservedIpBlockArgs{ +// ProjectId: pulumi.Any(projectId), +// Metro: pulumi.String("ny"), +// Quantity: pulumi.Int(2), +// }) +// if err != nil { +// return err +// } +// invokeJoin, err := std.Join(ctx, &std.JoinArgs{ +// Separator: "/", +// Input: []*string{ +// std.Cidrhost(ctx, &std.CidrhostArgs{ +// Input: myblockMetalReservedIpBlock.CidrNotation, +// Host: 0, +// }, nil).Result, +// "32", +// }, +// }, nil) +// if err != nil { +// return err +// } +// _, err = metal.NewIpAttachment(ctx, "firstAddressAssignment", &metal.IpAttachmentArgs{ +// DeviceId: pulumi.Any(mydevice.Id), +// CidrNotation: pulumi.String(invokeJoin.Result), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// // ``` type IpAttachment struct { pulumi.CustomResourceState diff --git a/sdk/go/equinix/metal/sshKey.go b/sdk/go/equinix/metal/sshKey.go index 4d5f3ff1..f4d11931 100644 --- a/sdk/go/equinix/metal/sshKey.go +++ b/sdk/go/equinix/metal/sshKey.go @@ -39,7 +39,7 @@ import ( // } // key1, err := metal.NewSshKey(ctx, "key1", &metal.SshKeyArgs{ // Name: pulumi.String("terraform-1"), -// PublicKey: invokeFile.Result, +// PublicKey: pulumi.String(invokeFile.Result), // }) // if err != nil { // return err diff --git a/sdk/go/equinix/networkedge/device.go b/sdk/go/equinix/networkedge/device.go index e79a9cf4..620e5680 100644 --- a/sdk/go/equinix/networkedge/device.go +++ b/sdk/go/equinix/networkedge/device.go @@ -190,7 +190,7 @@ import ( // } // aviatrixCloudinitFile, err := networkedge.NewNetworkFile(ctx, "aviatrixCloudinitFile", &networkedge.NetworkFileArgs{ // FileName: pulumi.String("TF-AVX-cloud-init-file.txt"), -// Content: invokeFile.Result, +// Content: pulumi.String(invokeFile.Result), // MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), // DeviceTypeCode: pulumi.String("AVIATRIX_EDGE"), // ProcessType: pulumi.String(networkedge.FileTypeCloudInit), @@ -507,7 +507,7 @@ import ( // } // bluecatEdgeServicePointCloudinitPrimaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitPrimaryFile", &networkedge.NetworkFileArgs{ // FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"), -// Content: invokeFile.Result, +// Content: pulumi.String(invokeFile.Result), // MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), // DeviceTypeCode: pulumi.String("BLUECAT-EDGE-SERVICE-POINT"), // ProcessType: pulumi.String(networkedge.FileTypeCloudInit), @@ -525,7 +525,7 @@ import ( // } // bluecatEdgeServicePointCloudinitSecondaryFile, err := networkedge.NewNetworkFile(ctx, "bluecatEdgeServicePointCloudinitSecondaryFile", &networkedge.NetworkFileArgs{ // FileName: pulumi.String("TF-BLUECAT-ESP-cloud-init-file.txt"), -// Content: invokeFile1.Result, +// Content: pulumi.String(invokeFile1.Result), // MetroCode: sv.MetroCode.ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput), // DeviceTypeCode: pulumi.String("BLUECAT-EDGE-SERVICE-POINT"), // ProcessType: pulumi.String(networkedge.FileTypeCloudInit), diff --git a/sdk/go/equinix/networkedge/networkFile.go b/sdk/go/equinix/networkedge/networkFile.go index 5d7fa430..b348247f 100644 --- a/sdk/go/equinix/networkedge/networkFile.go +++ b/sdk/go/equinix/networkedge/networkFile.go @@ -44,7 +44,7 @@ import ( // } // _, err = networkedge.NewNetworkFile(ctx, "test-file", &networkedge.NetworkFileArgs{ // FileName: pulumi.String("fileName.txt"), -// Content: invokeFile.Result, +// Content: pulumi.String(invokeFile.Result), // MetroCode: pulumi.String(equinix.MetroSiliconValley), // DeviceTypeCode: pulumi.String("AVIATRIX_EDGE"), // ProcessType: pulumi.String(networkedge.FileTypeCloudInit), diff --git a/sdk/python/pulumi_equinix/fabric/cloud_router.py b/sdk/python/pulumi_equinix/fabric/cloud_router.py index d436b637..2c2d66a6 100644 --- a/sdk/python/pulumi_equinix/fabric/cloud_router.py +++ b/sdk/python/pulumi_equinix/fabric/cloud_router.py @@ -535,28 +535,28 @@ def __init__(__self__, new_cloud_router = equinix.fabric.CloudRouter("newCloudRouter", name="Router-SV", type="XF_ROUTER", - notifications=[equinix.fabric.CloudRouterNotificationArgs( - type="ALL", - emails=[ + notifications=[{ + "type": "ALL", + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], - order=equinix.fabric.CloudRouterOrderArgs( - purchase_order_number="1-323292", - ), - location=equinix.fabric.CloudRouterLocationArgs( - metro_code="SV", - ), - package=equinix.fabric.CloudRouterPackageArgs( - code="STANDARD", - ), - project=equinix.fabric.CloudRouterProjectArgs( - project_id="776847000642406", - ), - account=equinix.fabric.CloudRouterAccountArgs( - account_number=203612, - )) + }], + order={ + "purchase_order_number": "1-323292", + }, + location={ + "metro_code": "SV", + }, + package={ + "code": "STANDARD", + }, + project={ + "project_id": "776847000642406", + }, + account={ + "account_number": 203612, + }) ``` :param str resource_name: The name of the resource. @@ -594,28 +594,28 @@ def __init__(__self__, new_cloud_router = equinix.fabric.CloudRouter("newCloudRouter", name="Router-SV", type="XF_ROUTER", - notifications=[equinix.fabric.CloudRouterNotificationArgs( - type="ALL", - emails=[ + notifications=[{ + "type": "ALL", + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], - order=equinix.fabric.CloudRouterOrderArgs( - purchase_order_number="1-323292", - ), - location=equinix.fabric.CloudRouterLocationArgs( - metro_code="SV", - ), - package=equinix.fabric.CloudRouterPackageArgs( - code="STANDARD", - ), - project=equinix.fabric.CloudRouterProjectArgs( - project_id="776847000642406", - ), - account=equinix.fabric.CloudRouterAccountArgs( - account_number=203612, - )) + }], + order={ + "purchase_order_number": "1-323292", + }, + location={ + "metro_code": "SV", + }, + package={ + "code": "STANDARD", + }, + project={ + "project_id": "776847000642406", + }, + account={ + "account_number": 203612, + }) ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_equinix/fabric/connection.py b/sdk/python/pulumi_equinix/fabric/connection.py index 4ca48d65..e63641d1 100644 --- a/sdk/python/pulumi_equinix/fabric/connection.py +++ b/sdk/python/pulumi_equinix/fabric/connection.py @@ -533,39 +533,39 @@ def __init__(__self__, fcr2_azure = equinix.fabric.Connection("fcr2azure", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example fcr to metal ```python @@ -575,31 +575,31 @@ def __init__(__self__, fcr2_metal = equinix.fabric.Connection("fcr2metal", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type="METAL_NETWORK", - authentication_key="", - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": "", + }, + }) ``` ### example fcr to network ```python @@ -609,33 +609,33 @@ def __init__(__self__, fcr2_network = equinix.fabric.Connection("fcr2network", name="ConnectionName", type="IPWAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ### example fcr to port ```python @@ -645,40 +645,40 @@ def __init__(__self__, fcr2_port = equinix.fabric.Connection("fcr2port", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_tag=2711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_tag": 2711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example metal to aws ```python @@ -688,37 +688,37 @@ def __init__(__self__, metal2_aws = equinix.fabric.Connection("metal2aws", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="METAL_NETWORK", - authentication_key="", - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": "", + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example port to aws ```python @@ -728,47 +728,47 @@ def __init__(__self__, port2_aws = equinix.fabric.Connection("port2aws", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="PRIMARY", - ), - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323929", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=2019, - vlan_c_tag=2112, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - ), + redundancy={ + "priority": "PRIMARY", + }, + order={ + "purchase_order_number": "1-323929", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 2019, + "vlan_c_tag": 2112, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }, additional_info=[ { "key": "accessKey", @@ -788,33 +788,33 @@ def __init__(__self__, eplan = equinix.fabric.Connection("eplan", name="ConnectionName", type="EPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ### example port to network evplan ```python @@ -824,37 +824,37 @@ def __init__(__self__, evplan = equinix.fabric.Connection("evplan", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ### example port to port ```python @@ -864,44 +864,44 @@ def __init__(__self__, port2_port = equinix.fabric.Connection("port2port", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=3711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 3711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example port to port access epl ```python @@ -911,40 +911,40 @@ def __init__(__self__, access_epl_vc = equinix.fabric.Connection("accessEplVc", name="ConnectionName", type=equinix.fabric.ConnectionType.ACCESS_EPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example port to port epl ```python @@ -954,36 +954,36 @@ def __init__(__self__, epl = equinix.fabric.Connection("epl", name="ConnectionName", type=equinix.fabric.ConnectionType.EPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example port to vd ```python @@ -993,45 +993,45 @@ def __init__(__self__, vd2_port = equinix.fabric.Connection("vd2port", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="NETWORK", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_s_tag=3711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "NETWORK", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_s_tag": 3711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example token to aws ```python @@ -1041,36 +1041,36 @@ def __init__(__self__, token2_aws = equinix.fabric.Connection("token2aws", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - service_token=equinix.fabric.ConnectionASideServiceTokenArgs( - uuid="", - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "service_token": { + "uuid": "", + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example vd to azure ```python @@ -1080,44 +1080,44 @@ def __init__(__self__, vd2_azure = equinix.fabric.Connection("vd2azure", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example vd to azure redundant ```python @@ -1127,92 +1127,92 @@ def __init__(__self__, vd2_azure_primary = equinix.fabric.Connection("vd2azurePrimary", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="PRIMARY", - ), - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + redundancy={ + "priority": "PRIMARY", + }, + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) vd2_azure_secondary = equinix.fabric.Connection("vd2azureSecondary", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="SECONDARY", - group=vd2_azure_primary.redundancy.group, - ), - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + redundancy={ + "priority": "SECONDARY", + "group": vd2_azure_primary.redundancy.group, + }, + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=5, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 5, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example vd to network ```python @@ -1222,38 +1222,38 @@ def __init__(__self__, vd2_network = equinix.fabric.Connection("vd2network", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ### example vd to token ```python @@ -1263,35 +1263,35 @@ def __init__(__self__, vd2_token = equinix.fabric.Connection("vd2token", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="NETWORK", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - service_token=equinix.fabric.ConnectionZSideServiceTokenArgs( - uuid="", - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "NETWORK", + "id": 7, + }, + }, + }, + z_side={ + "service_token": { + "uuid": "", + }, + }) ``` :param str resource_name: The name of the resource. @@ -1324,39 +1324,39 @@ def __init__(__self__, fcr2_azure = equinix.fabric.Connection("fcr2azure", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example fcr to metal ```python @@ -1366,31 +1366,31 @@ def __init__(__self__, fcr2_metal = equinix.fabric.Connection("fcr2metal", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type="METAL_NETWORK", - authentication_key="", - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": "", + }, + }) ``` ### example fcr to network ```python @@ -1400,33 +1400,33 @@ def __init__(__self__, fcr2_network = equinix.fabric.Connection("fcr2network", name="ConnectionName", type="IPWAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ### example fcr to port ```python @@ -1436,40 +1436,40 @@ def __init__(__self__, fcr2_port = equinix.fabric.Connection("fcr2port", name="ConnectionName", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_tag=2711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_tag": 2711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example metal to aws ```python @@ -1479,37 +1479,37 @@ def __init__(__self__, metal2_aws = equinix.fabric.Connection("metal2aws", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="METAL_NETWORK", - authentication_key="", - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": "", + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example port to aws ```python @@ -1519,47 +1519,47 @@ def __init__(__self__, port2_aws = equinix.fabric.Connection("port2aws", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="PRIMARY", - ), - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323929", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=2019, - vlan_c_tag=2112, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - ), + redundancy={ + "priority": "PRIMARY", + }, + order={ + "purchase_order_number": "1-323929", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 2019, + "vlan_c_tag": 2112, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }, additional_info=[ { "key": "accessKey", @@ -1579,33 +1579,33 @@ def __init__(__self__, eplan = equinix.fabric.Connection("eplan", name="ConnectionName", type="EPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ### example port to network evplan ```python @@ -1615,37 +1615,37 @@ def __init__(__self__, evplan = equinix.fabric.Connection("evplan", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ### example port to port ```python @@ -1655,44 +1655,44 @@ def __init__(__self__, port2_port = equinix.fabric.Connection("port2port", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=3711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 3711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example port to port access epl ```python @@ -1702,40 +1702,40 @@ def __init__(__self__, access_epl_vc = equinix.fabric.Connection("accessEplVc", name="ConnectionName", type=equinix.fabric.ConnectionType.ACCESS_EPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionASideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.QIN_Q, - vlan_s_tag=1976, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.QIN_Q, + "vlan_s_tag": 1976, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example port to port epl ```python @@ -1745,36 +1745,36 @@ def __init__(__self__, epl = equinix.fabric.Connection("epl", name="ConnectionName", type=equinix.fabric.ConnectionType.EPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionASideAccessPointPortArgs( - uuid="", - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example port to vd ```python @@ -1784,45 +1784,45 @@ def __init__(__self__, vd2_port = equinix.fabric.Connection("vd2port", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="NETWORK", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.COLO, - port=equinix.fabric.ConnectionZSideAccessPointPortArgs( - uuid="", - ), - link_protocol=equinix.fabric.ConnectionZSideAccessPointLinkProtocolArgs( - type=equinix.fabric.AccessPointLinkProtocolType.DOT1Q, - vlan_s_tag=3711, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "NETWORK", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.COLO, + "port": { + "uuid": "", + }, + "link_protocol": { + "type": equinix.fabric.AccessPointLinkProtocolType.DOT1Q, + "vlan_s_tag": 3711, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example token to aws ```python @@ -1832,36 +1832,36 @@ def __init__(__self__, token2_aws = equinix.fabric.Connection("token2aws", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - service_token=equinix.fabric.ConnectionASideServiceTokenArgs( - uuid="", - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "service_token": { + "uuid": "", + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example vd to azure ```python @@ -1871,44 +1871,44 @@ def __init__(__self__, vd2_azure = equinix.fabric.Connection("vd2azure", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example vd to azure redundant ```python @@ -1918,92 +1918,92 @@ def __init__(__self__, vd2_azure_primary = equinix.fabric.Connection("vd2azurePrimary", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="PRIMARY", - ), - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + redundancy={ + "priority": "PRIMARY", + }, + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) vd2_azure_secondary = equinix.fabric.Connection("vd2azureSecondary", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - redundancy=equinix.fabric.ConnectionRedundancyArgs( - priority="SECONDARY", - group=vd2_azure_primary.redundancy.group, - ), - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + redundancy={ + "priority": "SECONDARY", + "group": vd2_azure_primary.redundancy.group, + }, + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=5, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key="", - peering_type=equinix.fabric.AccessPointPeeringType.PRIVATE, - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid="", - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 5, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": "", + "peering_type": equinix.fabric.AccessPointPeeringType.PRIVATE, + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": "", + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` ### example vd to network ```python @@ -2013,38 +2013,38 @@ def __init__(__self__, vd2_network = equinix.fabric.Connection("vd2network", name="ConnectionName", type="EVPLAN_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="CLOUD", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.NETWORK, - network=equinix.fabric.ConnectionZSideAccessPointNetworkArgs( - uuid="", - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "CLOUD", + "id": 7, + }, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.NETWORK, + "network": { + "uuid": "", + }, + }, + }) ``` ### example vd to token ```python @@ -2054,35 +2054,35 @@ def __init__(__self__, vd2_token = equinix.fabric.Connection("vd2token", name="ConnectionName", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails=[ + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": [ "example@equinix.com", "test1@equinix.com", ], - )], + }], bandwidth=50, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type=equinix.fabric.AccessPointType.VD, - virtual_device=equinix.fabric.ConnectionASideAccessPointVirtualDeviceArgs( - type="EDGE", - uuid="", - ), - interface=equinix.fabric.ConnectionASideAccessPointInterfaceArgs( - type="NETWORK", - id=7, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - service_token=equinix.fabric.ConnectionZSideServiceTokenArgs( - uuid="", - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.VD, + "virtual_device": { + "type": "EDGE", + "uuid": "", + }, + "interface": { + "type": "NETWORK", + "id": 7, + }, + }, + }, + z_side={ + "service_token": { + "uuid": "", + }, + }) ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_equinix/fabric/routing_protocol.py b/sdk/python/pulumi_equinix/fabric/routing_protocol.py index 9023a989..f6b68ddc 100644 --- a/sdk/python/pulumi_equinix/fabric/routing_protocol.py +++ b/sdk/python/pulumi_equinix/fabric/routing_protocol.py @@ -543,12 +543,12 @@ def __init__(__self__, connection_uuid="", type="DIRECT", name="direct_rp", - direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args( - equinix_iface_ip="190.1.1.1/30", - ), - direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args( - equinix_iface_ip="190::1:1/126", - )) + direct_ipv4={ + "equinix_iface_ip": "190.1.1.1/30", + }, + direct_ipv6={ + "equinix_iface_ip": "190::1:1/126", + }) ``` ### example 2 ```python @@ -559,14 +559,14 @@ def __init__(__self__, connection_uuid="", type="BGP", name="bgp_rp", - bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args( - customer_peer_ip="190.1.1.2", - enabled=True, - ), - bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args( - customer_peer_ip="190::1:2", - enabled=True, - ), + bgp_ipv4={ + "customer_peer_ip": "190.1.1.2", + "enabled": True, + }, + bgp_ipv6={ + "customer_peer_ip": "190::1:2", + "enabled": True, + }, customer_asn=4532) ``` ### example 3 @@ -578,24 +578,24 @@ def __init__(__self__, connection_uuid="", type="DIRECT", name="direct_rp", - direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args( - equinix_iface_ip="190.1.1.1/30", - ), - direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args( - equinix_iface_ip="190::1:1/126", - )) + direct_ipv4={ + "equinix_iface_ip": "190.1.1.1/30", + }, + direct_ipv6={ + "equinix_iface_ip": "190::1:1/126", + }) bgp = equinix.fabric.RoutingProtocol("bgp", connection_uuid="", type="BGP", name="bgp_rp", - bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args( - customer_peer_ip="190.1.1.2", - enabled=True, - ), - bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args( - customer_peer_ip="190::1:2", - enabled=True, - ), + bgp_ipv4={ + "customer_peer_ip": "190.1.1.2", + "enabled": True, + }, + bgp_ipv6={ + "customer_peer_ip": "190::1:2", + "enabled": True, + }, customer_asn=4532, opts = pulumi.ResourceOptions(depends_on=[direct])) ``` @@ -638,12 +638,12 @@ def __init__(__self__, connection_uuid="", type="DIRECT", name="direct_rp", - direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args( - equinix_iface_ip="190.1.1.1/30", - ), - direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args( - equinix_iface_ip="190::1:1/126", - )) + direct_ipv4={ + "equinix_iface_ip": "190.1.1.1/30", + }, + direct_ipv6={ + "equinix_iface_ip": "190::1:1/126", + }) ``` ### example 2 ```python @@ -654,14 +654,14 @@ def __init__(__self__, connection_uuid="", type="BGP", name="bgp_rp", - bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args( - customer_peer_ip="190.1.1.2", - enabled=True, - ), - bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args( - customer_peer_ip="190::1:2", - enabled=True, - ), + bgp_ipv4={ + "customer_peer_ip": "190.1.1.2", + "enabled": True, + }, + bgp_ipv6={ + "customer_peer_ip": "190::1:2", + "enabled": True, + }, customer_asn=4532) ``` ### example 3 @@ -673,24 +673,24 @@ def __init__(__self__, connection_uuid="", type="DIRECT", name="direct_rp", - direct_ipv4=equinix.fabric.RoutingProtocolDirectIpv4Args( - equinix_iface_ip="190.1.1.1/30", - ), - direct_ipv6=equinix.fabric.RoutingProtocolDirectIpv6Args( - equinix_iface_ip="190::1:1/126", - )) + direct_ipv4={ + "equinix_iface_ip": "190.1.1.1/30", + }, + direct_ipv6={ + "equinix_iface_ip": "190::1:1/126", + }) bgp = equinix.fabric.RoutingProtocol("bgp", connection_uuid="", type="BGP", name="bgp_rp", - bgp_ipv4=equinix.fabric.RoutingProtocolBgpIpv4Args( - customer_peer_ip="190.1.1.2", - enabled=True, - ), - bgp_ipv6=equinix.fabric.RoutingProtocolBgpIpv6Args( - customer_peer_ip="190::1:2", - enabled=True, - ), + bgp_ipv4={ + "customer_peer_ip": "190.1.1.2", + "enabled": True, + }, + bgp_ipv6={ + "customer_peer_ip": "190::1:2", + "enabled": True, + }, customer_asn=4532, opts = pulumi.ResourceOptions(depends_on=[direct])) ``` diff --git a/sdk/python/pulumi_equinix/fabric/service_profile.py b/sdk/python/pulumi_equinix/fabric/service_profile.py index 4955a014..f9a2d563 100644 --- a/sdk/python/pulumi_equinix/fabric/service_profile.py +++ b/sdk/python/pulumi_equinix/fabric/service_profile.py @@ -676,31 +676,31 @@ def __init__(__self__, name="Name Of Business + Use Case Tag", type=equinix.fabric.ProfileType.L2_PROFILE, visibility=equinix.fabric.ProfileVisibility.PUBLIC, - notifications=[equinix.fabric.ServiceProfileNotificationArgs( - emails=["someone@sample.com"], - type="BANDWIDTH_ALERT", - )], + notifications=[{ + "emails": ["someone@sample.com"], + "type": "BANDWIDTH_ALERT", + }], allowed_emails=[ "test@equinix.com", "testagain@equinix.com", ], - ports=[equinix.fabric.ServiceProfilePortArgs( - uuid="c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", - type="XF_PORT", - )], - access_point_type_configs=[equinix.fabric.ServiceProfileAccessPointTypeConfigArgs( - type=equinix.fabric.ProfileAccessPointType.COLO, - allow_remote_connections=True, - allow_custom_bandwidth=True, - allow_bandwidth_auto_approval=False, - connection_redundancy_required=False, - connection_label="Service Profile Tag1", - bandwidth_alert_threshold=10, - supported_bandwidths=[ + ports=[{ + "uuid": "c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", + "type": "XF_PORT", + }], + access_point_type_configs=[{ + "type": equinix.fabric.ProfileAccessPointType.COLO, + "allow_remote_connections": True, + "allow_custom_bandwidth": True, + "allow_bandwidth_auto_approval": False, + "connection_redundancy_required": False, + "connection_label": "Service Profile Tag1", + "bandwidth_alert_threshold": 10, + "supported_bandwidths": [ 100, 500, ], - )]) + }]) ``` :param str resource_name: The name of the resource. @@ -746,31 +746,31 @@ def __init__(__self__, name="Name Of Business + Use Case Tag", type=equinix.fabric.ProfileType.L2_PROFILE, visibility=equinix.fabric.ProfileVisibility.PUBLIC, - notifications=[equinix.fabric.ServiceProfileNotificationArgs( - emails=["someone@sample.com"], - type="BANDWIDTH_ALERT", - )], + notifications=[{ + "emails": ["someone@sample.com"], + "type": "BANDWIDTH_ALERT", + }], allowed_emails=[ "test@equinix.com", "testagain@equinix.com", ], - ports=[equinix.fabric.ServiceProfilePortArgs( - uuid="c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", - type="XF_PORT", - )], - access_point_type_configs=[equinix.fabric.ServiceProfileAccessPointTypeConfigArgs( - type=equinix.fabric.ProfileAccessPointType.COLO, - allow_remote_connections=True, - allow_custom_bandwidth=True, - allow_bandwidth_auto_approval=False, - connection_redundancy_required=False, - connection_label="Service Profile Tag1", - bandwidth_alert_threshold=10, - supported_bandwidths=[ + ports=[{ + "uuid": "c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee", + "type": "XF_PORT", + }], + access_point_type_configs=[{ + "type": equinix.fabric.ProfileAccessPointType.COLO, + "allow_remote_connections": True, + "allow_custom_bandwidth": True, + "allow_bandwidth_auto_approval": False, + "connection_redundancy_required": False, + "connection_label": "Service Profile Tag1", + "bandwidth_alert_threshold": 10, + "supported_bandwidths": [ 100, 500, ], - )]) + }]) ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_equinix/metal/device.py b/sdk/python/pulumi_equinix/metal/device.py index d0ad25f9..b9f6e749 100644 --- a/sdk/python/pulumi_equinix/metal/device.py +++ b/sdk/python/pulumi_equinix/metal/device.py @@ -1096,10 +1096,10 @@ def __init__(__self__, operating_system=equinix.metal.OperatingSystem.UBUNTU20_04, billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id, - ip_addresses=[equinix.metal.DeviceIpAddressArgs( - type="private_ipv4", - cidr=30, - )]) + ip_addresses=[{ + "type": "private_ipv4", + "cidr": 30, + }]) ``` ### example 4 ```python @@ -1185,12 +1185,12 @@ def __init__(__self__, always_pxe=False, user_data=user_data, custom_data=custom_data, - behavior=equinix.metal.DeviceBehaviorArgs( - allow_changes=[ + behavior={ + "allow_changes": [ "custom_data", "user_data", ], - )) + }) ``` :param str resource_name: The name of the resource. @@ -1271,10 +1271,10 @@ def __init__(__self__, operating_system=equinix.metal.OperatingSystem.UBUNTU20_04, billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id, - ip_addresses=[equinix.metal.DeviceIpAddressArgs( - type="private_ipv4", - cidr=30, - )]) + ip_addresses=[{ + "type": "private_ipv4", + "cidr": 30, + }]) ``` ### example 4 ```python @@ -1360,12 +1360,12 @@ def __init__(__self__, always_pxe=False, user_data=user_data, custom_data=custom_data, - behavior=equinix.metal.DeviceBehaviorArgs( - allow_changes=[ + behavior={ + "allow_changes": [ "custom_data", "user_data", ], - )) + }) ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_equinix/metal/interconnection.py b/sdk/python/pulumi_equinix/metal/interconnection.py index 81e1a4b0..061324d8 100644 --- a/sdk/python/pulumi_equinix/metal/interconnection.py +++ b/sdk/python/pulumi_equinix/metal/interconnection.py @@ -697,42 +697,42 @@ def __init__(__self__, example_connection = equinix.fabric.Connection("exampleConnection", name="tf-NIMF-metal-2-aws-legacy", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails="sername@example.com", - )], - project=equinix.fabric.ConnectionProjectArgs( - project_id=fabric_project_id, - ), + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": "sername@example.com", + }], + project={ + "project_id": fabric_project_id, + }, bandwidth=200, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid=cloud_router_uuid, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type="METAL_NETWORK", - authentication_key=example.authorization_code, - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": cloud_router_uuid, + }, + }, + }, + z_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": example.authorization_code, + }, + }) ``` ### example shared metal fabric connection to csp ```python import pulumi import pulumi_equinix as equinix - zside = equinix.fabric.get_service_profiles_output(filter=equinix.fabric.GetServiceProfilesFilterArgs( - property="/name", - operator="=", - values=["AWS Direct Connect"], - )) + zside = equinix.fabric.get_service_profiles_output(filter={ + "property": "/name", + "operator": "=", + "values": ["AWS Direct Connect"], + }) example1 = equinix.metal.Vlan("example1", project_id=my_project_id, metro="SV") @@ -747,37 +747,37 @@ def __init__(__self__, example_connection = equinix.fabric.Connection("exampleConnection", name="tf-NIMF-metal-2-aws-legacy", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails="sername@example.com", - )], - project=equinix.fabric.ConnectionProjectArgs( - project_id=fabric_project_id, - ), + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": "sername@example.com", + }], + project={ + "project_id": fabric_project_id, + }, bandwidth=200, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="METAL_NETWORK", - authentication_key=example.authorization_code, - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key=aws_account_id, - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid=zside.id, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": example.authorization_code, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": aws_account_id, + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": zside.id, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` :param str resource_name: The name of the resource. @@ -878,42 +878,42 @@ def __init__(__self__, example_connection = equinix.fabric.Connection("exampleConnection", name="tf-NIMF-metal-2-aws-legacy", type="IP_VC", - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails="sername@example.com", - )], - project=equinix.fabric.ConnectionProjectArgs( - project_id=fabric_project_id, - ), + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": "sername@example.com", + }], + project={ + "project_id": fabric_project_id, + }, bandwidth=200, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="CLOUD_ROUTER", - router=equinix.fabric.ConnectionASideAccessPointRouterArgs( - uuid=cloud_router_uuid, - ), - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type="METAL_NETWORK", - authentication_key=example.authorization_code, - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "CLOUD_ROUTER", + "router": { + "uuid": cloud_router_uuid, + }, + }, + }, + z_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": example.authorization_code, + }, + }) ``` ### example shared metal fabric connection to csp ```python import pulumi import pulumi_equinix as equinix - zside = equinix.fabric.get_service_profiles_output(filter=equinix.fabric.GetServiceProfilesFilterArgs( - property="/name", - operator="=", - values=["AWS Direct Connect"], - )) + zside = equinix.fabric.get_service_profiles_output(filter={ + "property": "/name", + "operator": "=", + "values": ["AWS Direct Connect"], + }) example1 = equinix.metal.Vlan("example1", project_id=my_project_id, metro="SV") @@ -928,37 +928,37 @@ def __init__(__self__, example_connection = equinix.fabric.Connection("exampleConnection", name="tf-NIMF-metal-2-aws-legacy", type=equinix.fabric.ConnectionType.EVPL, - notifications=[equinix.fabric.ConnectionNotificationArgs( - type=equinix.fabric.NotificationsType.ALL, - emails="sername@example.com", - )], - project=equinix.fabric.ConnectionProjectArgs( - project_id=fabric_project_id, - ), + notifications=[{ + "type": equinix.fabric.NotificationsType.ALL, + "emails": "sername@example.com", + }], + project={ + "project_id": fabric_project_id, + }, bandwidth=200, - order=equinix.fabric.ConnectionOrderArgs( - purchase_order_number="1-323292", - ), - a_side=equinix.fabric.ConnectionASideArgs( - access_point=equinix.fabric.ConnectionASideAccessPointArgs( - type="METAL_NETWORK", - authentication_key=example.authorization_code, - ), - ), - z_side=equinix.fabric.ConnectionZSideArgs( - access_point=equinix.fabric.ConnectionZSideAccessPointArgs( - type=equinix.fabric.AccessPointType.SP, - authentication_key=aws_account_id, - seller_region="us-west-1", - profile=equinix.fabric.ConnectionZSideAccessPointProfileArgs( - type=equinix.fabric.ProfileType.L2_PROFILE, - uuid=zside.id, - ), - location=equinix.fabric.ConnectionZSideAccessPointLocationArgs( - metro_code=equinix.Metro.SILICON_VALLEY, - ), - ), - )) + order={ + "purchase_order_number": "1-323292", + }, + a_side={ + "access_point": { + "type": "METAL_NETWORK", + "authentication_key": example.authorization_code, + }, + }, + z_side={ + "access_point": { + "type": equinix.fabric.AccessPointType.SP, + "authentication_key": aws_account_id, + "seller_region": "us-west-1", + "profile": { + "type": equinix.fabric.ProfileType.L2_PROFILE, + "uuid": zside.id, + }, + "location": { + "metro_code": equinix.Metro.SILICON_VALLEY, + }, + }, + }) ``` :param str resource_name: The name of the resource. diff --git a/sdk/python/pulumi_equinix/metal/project.py b/sdk/python/pulumi_equinix/metal/project.py index 68e4942e..f109eabd 100644 --- a/sdk/python/pulumi_equinix/metal/project.py +++ b/sdk/python/pulumi_equinix/metal/project.py @@ -260,11 +260,11 @@ def __init__(__self__, tf_project1 = equinix.metal.Project("tfProject1", name="tftest", - bgp_config=equinix.metal.ProjectBgpConfigArgs( - deployment_type="local", - md5="C179c28c41a85b", - asn=65000, - )) + bgp_config={ + "deployment_type": "local", + "md5": "C179c28c41a85b", + "asn": 65000, + }) ``` ### example 3 ```python @@ -273,11 +273,11 @@ def __init__(__self__, existing_project = equinix.metal.Project("existingProject", name="The name of the project (if different, will rewrite)", - bgp_config=equinix.metal.ProjectBgpConfigArgs( - deployment_type="local", - md5="C179c28c41a85b", - asn=65000, - )) + bgp_config={ + "deployment_type": "local", + "md5": "C179c28c41a85b", + "asn": 65000, + }) ``` ## Import @@ -324,11 +324,11 @@ def __init__(__self__, tf_project1 = equinix.metal.Project("tfProject1", name="tftest", - bgp_config=equinix.metal.ProjectBgpConfigArgs( - deployment_type="local", - md5="C179c28c41a85b", - asn=65000, - )) + bgp_config={ + "deployment_type": "local", + "md5": "C179c28c41a85b", + "asn": 65000, + }) ``` ### example 3 ```python @@ -337,11 +337,11 @@ def __init__(__self__, existing_project = equinix.metal.Project("existingProject", name="The name of the project (if different, will rewrite)", - bgp_config=equinix.metal.ProjectBgpConfigArgs( - deployment_type="local", - md5="C179c28c41a85b", - asn=65000, - )) + bgp_config={ + "deployment_type": "local", + "md5": "C179c28c41a85b", + "asn": 65000, + }) ``` ## Import diff --git a/sdk/python/pulumi_equinix/metal/reserved_ip_block.py b/sdk/python/pulumi_equinix/metal/reserved_ip_block.py index a10bc8f1..15d9de90 100644 --- a/sdk/python/pulumi_equinix/metal/reserved_ip_block.py +++ b/sdk/python/pulumi_equinix/metal/reserved_ip_block.py @@ -599,14 +599,14 @@ def __init__(__self__, hostname="test", billing_cycle=equinix.metal.BillingCycle.HOURLY, ip_addresses=[ - equinix.metal.DeviceIpAddressArgs( - type="public_ipv4", - cidr=31, - reservation_ids=[example.id], - ), - equinix.metal.DeviceIpAddressArgs( - type="private_ipv4", - ), + { + "type": "public_ipv4", + "cidr": 31, + "reservation_ids": [example.id], + }, + { + "type": "private_ipv4", + }, ]) ``` @@ -688,14 +688,14 @@ def __init__(__self__, hostname="test", billing_cycle=equinix.metal.BillingCycle.HOURLY, ip_addresses=[ - equinix.metal.DeviceIpAddressArgs( - type="public_ipv4", - cidr=31, - reservation_ids=[example.id], - ), - equinix.metal.DeviceIpAddressArgs( - type="private_ipv4", - ), + { + "type": "public_ipv4", + "cidr": 31, + "reservation_ids": [example.id], + }, + { + "type": "private_ipv4", + }, ]) ``` diff --git a/sdk/python/pulumi_equinix/metal/spot_market_request.py b/sdk/python/pulumi_equinix/metal/spot_market_request.py index 6128b151..7360f054 100644 --- a/sdk/python/pulumi_equinix/metal/spot_market_request.py +++ b/sdk/python/pulumi_equinix/metal/spot_market_request.py @@ -316,12 +316,12 @@ def __init__(__self__, metro="ny", devices_min=1, devices_max=1, - instance_parameters=equinix.metal.SpotMarketRequestInstanceParametersArgs( - hostname="testspot", - billing_cycle="hourly", - operating_system="ubuntu_20_04", - plan="c3.small.x86", - )) + instance_parameters={ + "hostname": "testspot", + "billing_cycle": "hourly", + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + }) ``` ## Import @@ -363,12 +363,12 @@ def __init__(__self__, metro="ny", devices_min=1, devices_max=1, - instance_parameters=equinix.metal.SpotMarketRequestInstanceParametersArgs( - hostname="testspot", - billing_cycle="hourly", - operating_system="ubuntu_20_04", - plan="c3.small.x86", - )) + instance_parameters={ + "hostname": "testspot", + "billing_cycle": "hourly", + "operating_system": "ubuntu_20_04", + "plan": "c3.small.x86", + }) ``` ## Import diff --git a/sdk/python/pulumi_equinix/networkedge/acl_template.py b/sdk/python/pulumi_equinix/networkedge/acl_template.py index 922225aa..a5e6d6d4 100644 --- a/sdk/python/pulumi_equinix/networkedge/acl_template.py +++ b/sdk/python/pulumi_equinix/networkedge/acl_template.py @@ -299,19 +299,19 @@ def __init__(__self__, description="Test ACL template", project_id="a86d7112-d740-4758-9c9c-31e66373746b", inbound_rules=[ - equinix.networkedge.AclTemplateInboundRuleArgs( - subnet="1.1.1.1/32", - protocol=equinix.networkedge.AclRuleProtocolType.IP, - src_port="any", - dst_port="any", - description="inbound rule description", - ), - equinix.networkedge.AclTemplateInboundRuleArgs( - subnet="172.16.25.0/24", - protocol=equinix.networkedge.AclRuleProtocolType.UDP, - src_port="any", - dst_port="53,1045,2041", - ), + { + "subnet": "1.1.1.1/32", + "protocol": equinix.networkedge.AclRuleProtocolType.IP, + "src_port": "any", + "dst_port": "any", + "description": "inbound rule description", + }, + { + "subnet": "172.16.25.0/24", + "protocol": equinix.networkedge.AclRuleProtocolType.UDP, + "src_port": "any", + "dst_port": "53,1045,2041", + }, ]) ``` @@ -354,19 +354,19 @@ def __init__(__self__, description="Test ACL template", project_id="a86d7112-d740-4758-9c9c-31e66373746b", inbound_rules=[ - equinix.networkedge.AclTemplateInboundRuleArgs( - subnet="1.1.1.1/32", - protocol=equinix.networkedge.AclRuleProtocolType.IP, - src_port="any", - dst_port="any", - description="inbound rule description", - ), - equinix.networkedge.AclTemplateInboundRuleArgs( - subnet="172.16.25.0/24", - protocol=equinix.networkedge.AclRuleProtocolType.UDP, - src_port="any", - dst_port="53,1045,2041", - ), + { + "subnet": "1.1.1.1/32", + "protocol": equinix.networkedge.AclRuleProtocolType.IP, + "src_port": "any", + "dst_port": "any", + "description": "inbound rule description", + }, + { + "subnet": "172.16.25.0/24", + "protocol": equinix.networkedge.AclRuleProtocolType.UDP, + "src_port": "any", + "dst_port": "53,1045,2041", + }, ]) ``` diff --git a/sdk/python/pulumi_equinix/networkedge/device.py b/sdk/python/pulumi_equinix/networkedge/device.py index 6a8a432f..c590db24 100644 --- a/sdk/python/pulumi_equinix/networkedge/device.py +++ b/sdk/python/pulumi_equinix/networkedge/device.py @@ -1337,16 +1337,16 @@ def __init__(__self__, account_number=dc.number, version="16.09.05", core_count=2, - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-csr1000v-s", - metro_code=sv.metro_code, - hostname="csr1000v-s", - notifications=[ + secondary_device={ + "name": "tf-csr1000v-s", + "metro_code": sv.metro_code, + "hostname": "csr1000v-s", + "notifications": [ "john@equinix.com", "marry@equinix.com", ], - account_number=sv.number, - )) + "account_number": sv.number, + }) ``` ### example 2 ```python @@ -1371,26 +1371,26 @@ def __init__(__self__, version="10.1.3", interface_count=10, core_count=2, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test", - key_name="test-key", - ), + ssh_key={ + "username": "test", + "key_name": "test-key", + }, acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b", - cluster_details=equinix.networkedge.DeviceClusterDetailsArgs( - cluster_name="tf-panw-cluster", - node0=equinix.networkedge.DeviceClusterDetailsNode0Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs( - hostname="panw-node0", - ), - license_token="licenseToken", - ), - node1=equinix.networkedge.DeviceClusterDetailsNode1Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs( - hostname="panw-node1", - ), - license_token="licenseToken", - ), - )) + cluster_details={ + "cluster_name": "tf-panw-cluster", + "node0": { + "vendor_configuration": { + "hostname": "panw-node0", + }, + "license_token": "licenseToken", + }, + "node1": { + "vendor_configuration": { + "hostname": "panw-node1", + }, + "license_token": "licenseToken", + }, + }) ``` ### example 3 ```python @@ -1448,10 +1448,10 @@ def __init__(__self__, term_length=12, license_token="valid-license-token", additional_bandwidth=5, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name="valid-key-name", - ), + ssh_key={ + "username": "test-username", + "key_name": "valid-key-name", + }, acl_template_id="3e548c02-9164-4197-aa23-05b1f644883c") ``` ### example 5 @@ -1477,10 +1477,10 @@ def __init__(__self__, additional_bandwidth=5, project_id="a86d7112-d740-4758-9c9c-31e66373746b", diverse_device_id="ed7891bd-15b4-4f72-ac56-d96cfdacddcc", - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name="valid-key-name", - ), + ssh_key={ + "username": "test-username", + "key_name": "valid-key-name", + }, acl_template_id="3e548c02-9164-4197-aa23-05b1f644883c") ``` ### example 6 @@ -1509,19 +1509,19 @@ def __init__(__self__, core_count=4, term_length=12, additional_bandwidth=5, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name=test_public_key.name, - ), + ssh_key={ + "username": "test-username", + "key_name": test_public_key.name, + }, acl_template_id="c637a17b-7a6a-4486-924b-30e6c36904b0", - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-arista-s", - metro_code=sv.metro_code, - hostname="arista-s", - notifications=["test@eq.com"], - account_number=sv.number, - acl_template_id="fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138", - )) + secondary_device={ + "name": "tf-arista-s", + "metro_code": sv.metro_code, + "hostname": "arista-s", + "notifications": ["test@eq.com"], + "account_number": sv.number, + "acl_template_id": "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138", + }) ``` ### example 7 ```python @@ -1555,24 +1555,24 @@ def __init__(__self__, "licenseKey": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", "licenseId": "xxxxxxxxxxxxxxx", }, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name=test_public_key.name, - ), - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-bluecat-bdds-s", - metro_code=sv.metro_code, - notifications=["test@eq.com"], - account_number=sv.number, - vendor_configuration={ + ssh_key={ + "username": "test-username", + "key_name": test_public_key.name, + }, + secondary_device={ + "name": "tf-bluecat-bdds-s", + "metro_code": sv.metro_code, + "notifications": ["test@eq.com"], + "account_number": sv.number, + "vendor_configuration": { "hostname": "test", - "privateAddress": "x.x.x.x", - "privateCidrMask": "24", - "privateGateway": "x.x.x.x", - "licenseKey": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", - "licenseId": "xxxxxxxxxxxxxxx", + "private_address": "x.x.x.x", + "private_cidr_mask": "24", + "private_gateway": "x.x.x.x", + "license_key": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", + "license_id": "xxxxxxxxxxxxxxx", }, - )) + }) ``` ### example 8 ```python @@ -1612,13 +1612,13 @@ def __init__(__self__, version="4.6.3", core_count=4, term_length=12, - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-bluecat-edge-service-point-s", - metro_code=sv.metro_code, - notifications=["test@eq.com"], - account_number=sv.number, - cloud_init_file_id=bluecat_edge_service_point_cloudinit_secondary_file.uuid, - )) + secondary_device={ + "name": "tf-bluecat-edge-service-point-s", + "metro_code": sv.metro_code, + "notifications": ["test@eq.com"], + "account_number": sv.number, + "cloud_init_file_id": bluecat_edge_service_point_cloudinit_secondary_file.uuid, + }) ``` ### example 9 ```python @@ -1643,30 +1643,30 @@ def __init__(__self__, version="11.1.3", interface_count=10, core_count=2, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test", - key_name="test-key", - ), + ssh_key={ + "username": "test", + "key_name": "test-key", + }, acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b", - cluster_details=equinix.networkedge.DeviceClusterDetailsArgs( - cluster_name="tf-panw-cluster", - node0=equinix.networkedge.DeviceClusterDetailsNode0Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs( - hostname="panw-node0", - panorama_ip_address="x.x.x.x", - panorama_auth_key="xxxxxxxxxxx", - ), - license_token="licenseToken", - ), - node1=equinix.networkedge.DeviceClusterDetailsNode1Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs( - hostname="panw-node1", - panorama_ip_address="x.x.x.x", - panorama_auth_key="xxxxxxxxxxx", - ), - license_token="licenseToken", - ), - )) + cluster_details={ + "cluster_name": "tf-panw-cluster", + "node0": { + "vendor_configuration": { + "hostname": "panw-node0", + "panorama_ip_address": "x.x.x.x", + "panorama_auth_key": "xxxxxxxxxxx", + }, + "license_token": "licenseToken", + }, + "node1": { + "vendor_configuration": { + "hostname": "panw-node1", + "panorama_ip_address": "x.x.x.x", + "panorama_auth_key": "xxxxxxxxxxx", + }, + "license_token": "licenseToken", + }, + }) ``` ## Import @@ -1762,16 +1762,16 @@ def __init__(__self__, account_number=dc.number, version="16.09.05", core_count=2, - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-csr1000v-s", - metro_code=sv.metro_code, - hostname="csr1000v-s", - notifications=[ + secondary_device={ + "name": "tf-csr1000v-s", + "metro_code": sv.metro_code, + "hostname": "csr1000v-s", + "notifications": [ "john@equinix.com", "marry@equinix.com", ], - account_number=sv.number, - )) + "account_number": sv.number, + }) ``` ### example 2 ```python @@ -1796,26 +1796,26 @@ def __init__(__self__, version="10.1.3", interface_count=10, core_count=2, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test", - key_name="test-key", - ), + ssh_key={ + "username": "test", + "key_name": "test-key", + }, acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b", - cluster_details=equinix.networkedge.DeviceClusterDetailsArgs( - cluster_name="tf-panw-cluster", - node0=equinix.networkedge.DeviceClusterDetailsNode0Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs( - hostname="panw-node0", - ), - license_token="licenseToken", - ), - node1=equinix.networkedge.DeviceClusterDetailsNode1Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs( - hostname="panw-node1", - ), - license_token="licenseToken", - ), - )) + cluster_details={ + "cluster_name": "tf-panw-cluster", + "node0": { + "vendor_configuration": { + "hostname": "panw-node0", + }, + "license_token": "licenseToken", + }, + "node1": { + "vendor_configuration": { + "hostname": "panw-node1", + }, + "license_token": "licenseToken", + }, + }) ``` ### example 3 ```python @@ -1873,10 +1873,10 @@ def __init__(__self__, term_length=12, license_token="valid-license-token", additional_bandwidth=5, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name="valid-key-name", - ), + ssh_key={ + "username": "test-username", + "key_name": "valid-key-name", + }, acl_template_id="3e548c02-9164-4197-aa23-05b1f644883c") ``` ### example 5 @@ -1902,10 +1902,10 @@ def __init__(__self__, additional_bandwidth=5, project_id="a86d7112-d740-4758-9c9c-31e66373746b", diverse_device_id="ed7891bd-15b4-4f72-ac56-d96cfdacddcc", - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name="valid-key-name", - ), + ssh_key={ + "username": "test-username", + "key_name": "valid-key-name", + }, acl_template_id="3e548c02-9164-4197-aa23-05b1f644883c") ``` ### example 6 @@ -1934,19 +1934,19 @@ def __init__(__self__, core_count=4, term_length=12, additional_bandwidth=5, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name=test_public_key.name, - ), + ssh_key={ + "username": "test-username", + "key_name": test_public_key.name, + }, acl_template_id="c637a17b-7a6a-4486-924b-30e6c36904b0", - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-arista-s", - metro_code=sv.metro_code, - hostname="arista-s", - notifications=["test@eq.com"], - account_number=sv.number, - acl_template_id="fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138", - )) + secondary_device={ + "name": "tf-arista-s", + "metro_code": sv.metro_code, + "hostname": "arista-s", + "notifications": ["test@eq.com"], + "account_number": sv.number, + "acl_template_id": "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138", + }) ``` ### example 7 ```python @@ -1980,24 +1980,24 @@ def __init__(__self__, "licenseKey": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", "licenseId": "xxxxxxxxxxxxxxx", }, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test-username", - key_name=test_public_key.name, - ), - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-bluecat-bdds-s", - metro_code=sv.metro_code, - notifications=["test@eq.com"], - account_number=sv.number, - vendor_configuration={ + ssh_key={ + "username": "test-username", + "key_name": test_public_key.name, + }, + secondary_device={ + "name": "tf-bluecat-bdds-s", + "metro_code": sv.metro_code, + "notifications": ["test@eq.com"], + "account_number": sv.number, + "vendor_configuration": { "hostname": "test", - "privateAddress": "x.x.x.x", - "privateCidrMask": "24", - "privateGateway": "x.x.x.x", - "licenseKey": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", - "licenseId": "xxxxxxxxxxxxxxx", + "private_address": "x.x.x.x", + "private_cidr_mask": "24", + "private_gateway": "x.x.x.x", + "license_key": "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx", + "license_id": "xxxxxxxxxxxxxxx", }, - )) + }) ``` ### example 8 ```python @@ -2037,13 +2037,13 @@ def __init__(__self__, version="4.6.3", core_count=4, term_length=12, - secondary_device=equinix.networkedge.DeviceSecondaryDeviceArgs( - name="tf-bluecat-edge-service-point-s", - metro_code=sv.metro_code, - notifications=["test@eq.com"], - account_number=sv.number, - cloud_init_file_id=bluecat_edge_service_point_cloudinit_secondary_file.uuid, - )) + secondary_device={ + "name": "tf-bluecat-edge-service-point-s", + "metro_code": sv.metro_code, + "notifications": ["test@eq.com"], + "account_number": sv.number, + "cloud_init_file_id": bluecat_edge_service_point_cloudinit_secondary_file.uuid, + }) ``` ### example 9 ```python @@ -2068,30 +2068,30 @@ def __init__(__self__, version="11.1.3", interface_count=10, core_count=2, - ssh_key=equinix.networkedge.DeviceSshKeyArgs( - username="test", - key_name="test-key", - ), + ssh_key={ + "username": "test", + "key_name": "test-key", + }, acl_template_id="0bff6e05-f0e7-44cd-804a-25b92b835f8b", - cluster_details=equinix.networkedge.DeviceClusterDetailsArgs( - cluster_name="tf-panw-cluster", - node0=equinix.networkedge.DeviceClusterDetailsNode0Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode0VendorConfigurationArgs( - hostname="panw-node0", - panorama_ip_address="x.x.x.x", - panorama_auth_key="xxxxxxxxxxx", - ), - license_token="licenseToken", - ), - node1=equinix.networkedge.DeviceClusterDetailsNode1Args( - vendor_configuration=equinix.networkedge.DeviceClusterDetailsNode1VendorConfigurationArgs( - hostname="panw-node1", - panorama_ip_address="x.x.x.x", - panorama_auth_key="xxxxxxxxxxx", - ), - license_token="licenseToken", - ), - )) + cluster_details={ + "cluster_name": "tf-panw-cluster", + "node0": { + "vendor_configuration": { + "hostname": "panw-node0", + "panorama_ip_address": "x.x.x.x", + "panorama_auth_key": "xxxxxxxxxxx", + }, + "license_token": "licenseToken", + }, + "node1": { + "vendor_configuration": { + "hostname": "panw-node1", + "panorama_ip_address": "x.x.x.x", + "panorama_auth_key": "xxxxxxxxxxx", + }, + "license_token": "licenseToken", + }, + }) ``` ## Import diff --git a/sdk/python/pulumi_equinix/networkedge/device_link.py b/sdk/python/pulumi_equinix/networkedge/device_link.py index 5cc1fd35..b174f4ba 100644 --- a/sdk/python/pulumi_equinix/networkedge/device_link.py +++ b/sdk/python/pulumi_equinix/networkedge/device_link.py @@ -318,24 +318,24 @@ def __init__(__self__, subnet="192.168.40.64/27", project_id="a86d7112-d740-4758-9c9c-31e66373746b", devices=[ - equinix.networkedge.DeviceLinkDeviceArgs( - id=test_equinix_network_device["uuid"], - asn=22111, - interface_id=6, - ), - equinix.networkedge.DeviceLinkDeviceArgs( - id=test_equinix_network_device["secondaryDevice"][0]["uuid"], - asn=22333, - interface_id=7, - ), + { + "id": test_equinix_network_device["uuid"], + "asn": 22111, + "interface_id": 6, + }, + { + "id": test_equinix_network_device["secondaryDevice"][0]["uuid"], + "asn": 22333, + "interface_id": 7, + }, ], - links=[equinix.networkedge.DeviceLinkLinkArgs( - account_number=test_equinix_network_device["accountNumber"], - src_metro_code=test_equinix_network_device["metroCode"], - dst_metro_code=test_equinix_network_device["secondaryDevice"][0]["metroCode"], - throughput="50", - throughput_unit="Mbps", - )]) + links=[{ + "account_number": test_equinix_network_device["accountNumber"], + "src_metro_code": test_equinix_network_device["metroCode"], + "dst_metro_code": test_equinix_network_device["secondaryDevice"][0]["metroCode"], + "throughput": "50", + "throughput_unit": "Mbps", + }]) ``` ## Import @@ -375,24 +375,24 @@ def __init__(__self__, subnet="192.168.40.64/27", project_id="a86d7112-d740-4758-9c9c-31e66373746b", devices=[ - equinix.networkedge.DeviceLinkDeviceArgs( - id=test_equinix_network_device["uuid"], - asn=22111, - interface_id=6, - ), - equinix.networkedge.DeviceLinkDeviceArgs( - id=test_equinix_network_device["secondaryDevice"][0]["uuid"], - asn=22333, - interface_id=7, - ), + { + "id": test_equinix_network_device["uuid"], + "asn": 22111, + "interface_id": 6, + }, + { + "id": test_equinix_network_device["secondaryDevice"][0]["uuid"], + "asn": 22333, + "interface_id": 7, + }, ], - links=[equinix.networkedge.DeviceLinkLinkArgs( - account_number=test_equinix_network_device["accountNumber"], - src_metro_code=test_equinix_network_device["metroCode"], - dst_metro_code=test_equinix_network_device["secondaryDevice"][0]["metroCode"], - throughput="50", - throughput_unit="Mbps", - )]) + links=[{ + "account_number": test_equinix_network_device["accountNumber"], + "src_metro_code": test_equinix_network_device["metroCode"], + "dst_metro_code": test_equinix_network_device["secondaryDevice"][0]["metroCode"], + "throughput": "50", + "throughput_unit": "Mbps", + }]) ``` ## Import