From 62e36fd2ef1f99ec7a31bfc61d112f024cae9e2b Mon Sep 17 00:00:00 2001 From: srushti-patl Date: Tue, 10 Mar 2026 14:08:49 -0700 Subject: [PATCH 1/2] fix: Updating upstream and running make build for Feb release --- .../equinix_fabric_connection.examples.md | 14 +- .../resource/equinix_metal_device.examples.md | 330 +- .../bridge-metadata.json | 2 + .../cmd/pulumi-resource-equinix/schema.json | 888 +- provider/go.sum | 4 +- provider/resources.go | 6 + sdk/dotnet/Config/Config.cs | 50 + sdk/dotnet/Fabric/GetCloudRouter.cs | 7 - sdk/dotnet/Fabric/GetMetro.cs | 7 + sdk/dotnet/Fabric/GetPorts.cs | 59 +- sdk/dotnet/Fabric/GetServiceProfile.cs | 2 +- .../Fabric/Inputs/GetConnectionsFilter.cs | 2 +- .../Fabric/Inputs/GetConnectionsFilterArgs.cs | 2 +- ...ServiceProfileAccessPointTypeConfigArgs.cs | 6 + ...viceProfileAccessPointTypeConfigGetArgs.cs | 6 + .../Outputs/GetCloudRoutersDataResult.cs | 7 - .../Outputs/GetConnectionsFilterResult.cs | 2 +- .../Fabric/Outputs/GetMetrosDataResult.cs | 7 + ...rviceProfileAccessPointTypeConfigResult.cs | 7 + ...rofilesDatumAccessPointTypeConfigResult.cs | 7 + .../Outputs/GetServiceProfilesDatumResult.cs | 2 +- .../ServiceProfileAccessPointTypeConfig.cs | 7 + sdk/dotnet/Fabric/ServiceProfile.cs | 6 +- sdk/dotnet/Metal/Device.cs | 54 +- ...sterDetailsNode0VendorConfigurationArgs.cs | 12 + ...rDetailsNode0VendorConfigurationGetArgs.cs | 12 + ...sterDetailsNode1VendorConfigurationArgs.cs | 12 + ...rDetailsNode1VendorConfigurationGetArgs.cs | 12 + ...eClusterDetailsNode0VendorConfiguration.cs | 14 + ...eClusterDetailsNode1VendorConfiguration.cs | 14 + .../Outputs/GetDeviceSecondaryDeviceResult.cs | 2 +- sdk/dotnet/Provider.cs | 68 + sdk/go/equinix/config/config.go | 29 + sdk/go/equinix/fabric/connection.go | 14 +- sdk/go/equinix/fabric/getCloudRouter.go | 7 - sdk/go/equinix/fabric/getMetro.go | 7 + sdk/go/equinix/fabric/getPorts.go | 39 +- sdk/go/equinix/fabric/getServiceProfile.go | 4 +- sdk/go/equinix/fabric/pulumiTypes.go | 2908 ++-- sdk/go/equinix/fabric/pulumiTypes1.go | 1259 ++ sdk/go/equinix/fabric/serviceProfile.go | 12 +- sdk/go/equinix/networkedge/pulumiTypes.go | 82 +- sdk/go/equinix/provider.go | 80 + .../main/java/com/equinix/pulumi/Config.java | 38 + .../java/com/equinix/pulumi/Provider.java | 76 + .../java/com/equinix/pulumi/ProviderArgs.java | 188 + .../pulumi/fabric/FabricFunctions.java | 172 +- .../equinix/pulumi/fabric/ServiceProfile.java | 4 +- .../pulumi/fabric/ServiceProfileArgs.java | 12 +- .../fabric/inputs/GetConnectionsFilter.java | 6 +- .../inputs/GetConnectionsFilterArgs.java | 8 +- .../pulumi/fabric/inputs/GetPortsArgs.java | 88 +- .../fabric/inputs/GetPortsPlainArgs.java | 72 +- ...rviceProfileAccessPointTypeConfigArgs.java | 37 + .../fabric/inputs/ServiceProfileState.java | 12 +- .../fabric/outputs/GetCloudRouterResult.java | 23 - .../fabric/outputs/GetCloudRoutersData.java | 23 - .../fabric/outputs/GetConnectionsFilter.java | 4 +- .../pulumi/fabric/outputs/GetMetroResult.java | 23 + .../pulumi/fabric/outputs/GetMetrosData.java | 23 + .../pulumi/fabric/outputs/GetPortsResult.java | 52 +- ...etServiceProfileAccessPointTypeConfig.java | 21 + .../outputs/GetServiceProfileResult.java | 4 +- .../outputs/GetServiceProfilesDatum.java | 4 +- ...iceProfilesDatumAccessPointTypeConfig.java | 21 + .../ServiceProfileAccessPointTypeConfig.java | 21 + .../java/com/equinix/pulumi/metal/Device.java | 54 +- ...erDetailsNode0VendorConfigurationArgs.java | 74 + ...erDetailsNode1VendorConfigurationArgs.java | 74 + ...lusterDetailsNode0VendorConfiguration.java | 42 + ...lusterDetailsNode1VendorConfiguration.java | 42 + .../outputs/GetDeviceSecondaryDevice.java | 4 +- sdk/nodejs/config/vars.ts | 53 + sdk/nodejs/fabric/getCloudRouter.ts | 4 - sdk/nodejs/fabric/getMetro.ts | 4 + sdk/nodejs/fabric/getPorts.ts | 42 +- sdk/nodejs/fabric/getServiceProfile.ts | 2 +- sdk/nodejs/fabric/index.ts | 10 + sdk/nodejs/fabric/serviceProfile.ts | 6 +- sdk/nodejs/metal/device.ts | 56 +- sdk/nodejs/provider.ts | 54 + sdk/nodejs/tsconfig.json | 2 + sdk/nodejs/types/input.ts | 220 +- sdk/nodejs/types/output.ts | 360 +- sdk/python/pulumi_equinix/config/__init__.pyi | 30 + sdk/python/pulumi_equinix/config/vars.py | 38 + sdk/python/pulumi_equinix/fabric/__init__.py | 2 + sdk/python/pulumi_equinix/fabric/_inputs.py | 498 +- .../pulumi_equinix/fabric/cloud_router.py | 92 - .../pulumi_equinix/fabric/get_cloud_router.py | 16 +- sdk/python/pulumi_equinix/fabric/get_metro.py | 16 +- sdk/python/pulumi_equinix/fabric/get_ports.py | 37 +- .../fabric/get_service_profile.py | 2 +- sdk/python/pulumi_equinix/fabric/outputs.py | 11976 +++++++++------- .../pulumi_equinix/fabric/service_profile.py | 14 +- sdk/python/pulumi_equinix/metal/device.py | 112 +- .../pulumi_equinix/networkedge/_inputs.py | 80 + .../pulumi_equinix/networkedge/outputs.py | 60 +- sdk/python/pulumi_equinix/provider.py | 154 +- upstream | 2 +- 100 files changed, 13961 insertions(+), 7274 deletions(-) diff --git a/docs/resource/equinix_fabric_connection.examples.md b/docs/resource/equinix_fabric_connection.examples.md index 2f6ebc16f..b1202f734 100644 --- a/docs/resource/equinix_fabric_connection.examples.md +++ b/docs/resource/equinix_fabric_connection.examples.md @@ -1969,14 +1969,14 @@ func main() { }, }, }, - AdditionalInfo: pulumi.StringMapArray{ - pulumi.StringMap{ - "key": pulumi.String("accessKey"), - "value": pulumi.String(""), + AdditionalInfo: pulumi.MapArray{ + pulumi.Map{ + "key": pulumi.Any("accessKey"), + "value": pulumi.Any(""), }, - pulumi.StringMap{ - "key": pulumi.String("secretKey"), - "value": pulumi.String(""), + pulumi.Map{ + "key": pulumi.Any("secretKey"), + "value": pulumi.Any(""), }, }, }) diff --git a/docs/resource/equinix_metal_device.examples.md b/docs/resource/equinix_metal_device.examples.md index 2ebe8689d..3dc7afaab 100644 --- a/docs/resource/equinix_metal_device.examples.md +++ b/docs/resource/equinix_metal_device.examples.md @@ -419,8 +419,60 @@ const web1 = new equinix.metal.Device("web1", { billingCycle: equinix.metal.BillingCycle.Hourly, projectId: projectId, hardwareReservationId: "next-available", - storage: "{ \\"disks\\": [ { \\"device\\": \\"/dev/sda\\", \\"wipeTable\\": true, \\"partitions\\": [ { \\"label\\": \\"BIOS\\", \\"number\\": 1, \\"size\\": \\"4096\\" }, { \\"label\\": \\"SWAP\\", \\"number\\": 2, \\"size\\": \\"3993600\\" }, { \\"label\\": \\"ROOT\\", \\"number\\": 3, \\"size\\": \\"0\\" } ] } ], \\"filesystems\\": [ { \\"mount\\": { \\"device\\": \\"/dev/sda3\\", \\"format\\": \\"ext4\\", \\"point\\": \\"/\\", \\"create\\": { \\"options\\": [ \\"-L\\", \\"ROOT\\" ] } } }, { \\"mount\\": { \\"device\\": \\"/dev/sda2\\", \\"format\\": \\"swap\\", \\"point\\": \\"none\\", \\"create\\": { \\"options\\": [ \\"-L\\", \\"SWAP\\" ] } } } ]} -", + storage: `{ + "disks": [ + { + "device": "/dev/sda", + "wipeTable": true, + "partitions": [ + { + "label": "BIOS", + "number": 1, + "size": "4096" + }, + { + "label": "SWAP", + "number": 2, + "size": "3993600" + }, + { + "label": "ROOT", + "number": 3, + "size": "0" + } + ] + } + ], + "filesystems": [ + { + "mount": { + "device": "/dev/sda3", + "format": "ext4", + "point": "/", + "create": { + "options": [ + "-L", + "ROOT" + ] + } + } + }, + { + "mount": { + "device": "/dev/sda2", + "format": "swap", + "point": "none", + "create": { + "options": [ + "-L", + "SWAP" + ] + } + } + } + ] +} +`, }); ``` ```python @@ -435,8 +487,60 @@ web1 = equinix.metal.Device("web1", billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id, hardware_reservation_id="next-available", - storage="{ \\"disks\\": [ { \\"device\\": \\"/dev/sda\\", \\"wipeTable\\": true, \\"partitions\\": [ { \\"label\\": \\"BIOS\\", \\"number\\": 1, \\"size\\": \\"4096\\" }, { \\"label\\": \\"SWAP\\", \\"number\\": 2, \\"size\\": \\"3993600\\" }, { \\"label\\": \\"ROOT\\", \\"number\\": 3, \\"size\\": \\"0\\" } ] } ], \\"filesystems\\": [ { \\"mount\\": { \\"device\\": \\"/dev/sda3\\", \\"format\\": \\"ext4\\", \\"point\\": \\"/\\", \\"create\\": { \\"options\\": [ \\"-L\\", \\"ROOT\\" ] } } }, { \\"mount\\": { \\"device\\": \\"/dev/sda2\\", \\"format\\": \\"swap\\", \\"point\\": \\"none\\", \\"create\\": { \\"options\\": [ \\"-L\\", \\"SWAP\\" ] } } } ]} -") + storage="""{ + "disks": [ + { + "device": "/dev/sda", + "wipeTable": true, + "partitions": [ + { + "label": "BIOS", + "number": 1, + "size": "4096" + }, + { + "label": "SWAP", + "number": 2, + "size": "3993600" + }, + { + "label": "ROOT", + "number": 3, + "size": "0" + } + ] + } + ], + "filesystems": [ + { + "mount": { + "device": "/dev/sda3", + "format": "ext4", + "point": "/", + "create": { + "options": [ + "-L", + "ROOT" + ] + } + } + }, + { + "mount": { + "device": "/dev/sda2", + "format": "swap", + "point": "none", + "create": { + "options": [ + "-L", + "SWAP" + ] + } + } + } + ] +} +""") ``` ```go package main @@ -456,8 +560,60 @@ func main() { BillingCycle: pulumi.String(metal.BillingCycleHourly), ProjectId: pulumi.Any(projectId), HardwareReservationId: pulumi.String("next-available"), - Storage: pulumi.String("{ \\"disks\\": [ { \\"device\\": \\"/dev/sda\\", \\"wipeTable\\": true, \\"partitions\\": [ { \\"label\\": \\"BIOS\\", \\"number\\": 1, \\"size\\": \\"4096\\" }, { \\"label\\": \\"SWAP\\", \\"number\\": 2, \\"size\\": \\"3993600\\" }, { \\"label\\": \\"ROOT\\", \\"number\\": 3, \\"size\\": \\"0\\" } ] } ], \\"filesystems\\": [ { \\"mount\\": { \\"device\\": \\"/dev/sda3\\", \\"format\\": \\"ext4\\", \\"point\\": \\"/\\", \\"create\\": { \\"options\\": [ \\"-L\\", \\"ROOT\\" ] } } }, { \\"mount\\": { \\"device\\": \\"/dev/sda2\\", \\"format\\": \\"swap\\", \\"point\\": \\"none\\", \\"create\\": { \\"options\\": [ \\"-L\\", \\"SWAP\\" ] } } } ]} -"), + Storage: pulumi.String(`{ + "disks": [ + { + "device": "/dev/sda", + "wipeTable": true, + "partitions": [ + { + "label": "BIOS", + "number": 1, + "size": "4096" + }, + { + "label": "SWAP", + "number": 2, + "size": "3993600" + }, + { + "label": "ROOT", + "number": 3, + "size": "0" + } + ] + } + ], + "filesystems": [ + { + "mount": { + "device": "/dev/sda3", + "format": "ext4", + "point": "/", + "create": { + "options": [ + "-L", + "ROOT" + ] + } + } + }, + { + "mount": { + "device": "/dev/sda2", + "format": "swap", + "point": "none", + "create": { + "options": [ + "-L", + "SWAP" + ] + } + } + } + ] +} +`), }) if err != nil { return err @@ -483,7 +639,59 @@ return await Deployment.RunAsync(() => BillingCycle = Equinix.Metal.BillingCycle.Hourly, ProjectId = projectId, HardwareReservationId = "next-available", - Storage = @"{ \""disks\"": [ { \""device\"": \""/dev/sda\"", \""wipeTable\"": true, \""partitions\"": [ { \""label\"": \""BIOS\"", \""number\"": 1, \""size\"": \""4096\"" }, { \""label\"": \""SWAP\"", \""number\"": 2, \""size\"": \""3993600\"" }, { \""label\"": \""ROOT\"", \""number\"": 3, \""size\"": \""0\"" } ] } ], \""filesystems\"": [ { \""mount\"": { \""device\"": \""/dev/sda3\"", \""format\"": \""ext4\"", \""point\"": \""/\"", \""create\"": { \""options\"": [ \""-L\"", \""ROOT\"" ] } } }, { \""mount\"": { \""device\"": \""/dev/sda2\"", \""format\"": \""swap\"", \""point\"": \""none\"", \""create\"": { \""options\"": [ \""-L\"", \""SWAP\"" ] } } } ]} + Storage = @"{ + ""disks"": [ + { + ""device"": ""/dev/sda"", + ""wipeTable"": true, + ""partitions"": [ + { + ""label"": ""BIOS"", + ""number"": 1, + ""size"": ""4096"" + }, + { + ""label"": ""SWAP"", + ""number"": 2, + ""size"": ""3993600"" + }, + { + ""label"": ""ROOT"", + ""number"": 3, + ""size"": ""0"" + } + ] + } + ], + ""filesystems"": [ + { + ""mount"": { + ""device"": ""/dev/sda3"", + ""format"": ""ext4"", + ""point"": ""/"", + ""create"": { + ""options"": [ + ""-L"", + ""ROOT"" + ] + } + } + }, + { + ""mount"": { + ""device"": ""/dev/sda2"", + ""format"": ""swap"", + ""point"": ""none"", + ""create"": { + ""options"": [ + ""-L"", + ""SWAP"" + ] + } + } + } + ] +} ", }); @@ -519,7 +727,59 @@ public class App { .projectId(projectId) .hardwareReservationId("next-available") .storage(""" -{ \"disks\": [ { \"device\": \"/dev/sda\", \"wipeTable\": true, \"partitions\": [ { \"label\": \"BIOS\", \"number\": 1, \"size\": \"4096\" }, { \"label\": \"SWAP\", \"number\": 2, \"size\": \"3993600\" }, { \"label\": \"ROOT\", \"number\": 3, \"size\": \"0\" } ] } ], \"filesystems\": [ { \"mount\": { \"device\": \"/dev/sda3\", \"format\": \"ext4\", \"point\": \"/\", \"create\": { \"options\": [ \"-L\", \"ROOT\" ] } } }, { \"mount\": { \"device\": \"/dev/sda2\", \"format\": \"swap\", \"point\": \"none\", \"create\": { \"options\": [ \"-L\", \"SWAP\" ] } } } ]} +{ + "disks": [ + { + "device": "/dev/sda", + "wipeTable": true, + "partitions": [ + { + "label": "BIOS", + "number": 1, + "size": "4096" + }, + { + "label": "SWAP", + "number": 2, + "size": "3993600" + }, + { + "label": "ROOT", + "number": 3, + "size": "0" + } + ] + } + ], + "filesystems": [ + { + "mount": { + "device": "/dev/sda3", + "format": "ext4", + "point": "/", + "create": { + "options": [ + "-L", + "ROOT" + ] + } + } + }, + { + "mount": { + "device": "/dev/sda2", + "format": "swap", + "point": "none", + "create": { + "options": [ + "-L", + "SWAP" + ] + } + } + } + ] +} """) .build()); @@ -539,7 +799,59 @@ resources: projectId: ${projectId} hardwareReservationId: next-available storage: | - { \"disks\": [ { \"device\": \"/dev/sda\", \"wipeTable\": true, \"partitions\": [ { \"label\": \"BIOS\", \"number\": 1, \"size\": \"4096\" }, { \"label\": \"SWAP\", \"number\": 2, \"size\": \"3993600\" }, { \"label\": \"ROOT\", \"number\": 3, \"size\": \"0\" } ] } ], \"filesystems\": [ { \"mount\": { \"device\": \"/dev/sda3\", \"format\": \"ext4\", \"point\": \"/\", \"create\": { \"options\": [ \"-L\", \"ROOT\" ] } } }, { \"mount\": { \"device\": \"/dev/sda2\", \"format\": \"swap\", \"point\": \"none\", \"create\": { \"options\": [ \"-L\", \"SWAP\" ] } } } ]} + { + "disks": [ + { + "device": "/dev/sda", + "wipeTable": true, + "partitions": [ + { + "label": "BIOS", + "number": 1, + "size": "4096" + }, + { + "label": "SWAP", + "number": 2, + "size": "3993600" + }, + { + "label": "ROOT", + "number": 3, + "size": "0" + } + ] + } + ], + "filesystems": [ + { + "mount": { + "device": "/dev/sda3", + "format": "ext4", + "point": "/", + "create": { + "options": [ + "-L", + "ROOT" + ] + } + } + }, + { + "mount": { + "device": "/dev/sda2", + "format": "swap", + "point": "none", + "create": { + "options": [ + "-L", + "SWAP" + ] + } + } + } + ] + } ``` {{% /example %}} diff --git a/provider/cmd/pulumi-resource-equinix/bridge-metadata.json b/provider/cmd/pulumi-resource-equinix/bridge-metadata.json index 5396d0047..400e011c5 100644 --- a/provider/cmd/pulumi-resource-equinix/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-equinix/bridge-metadata.json @@ -47,6 +47,7 @@ "equinix:networkedge/sshUser:SshUser": 0 }, "functions": { + "equinix:fabric/getAdvertisedRoutes:getAdvertisedRoutes": 1, "equinix:fabric/getCloudRouter:getCloudRouter": 0, "equinix:fabric/getCloudRouters:getCloudRouters": 0, "equinix:fabric/getConnection:getConnection": 0, @@ -64,6 +65,7 @@ "equinix:fabric/getPorts:getPorts": 0, "equinix:fabric/getPrecisionTimeService:getPrecisionTimeService": 1, "equinix:fabric/getPrecisionTimeServices:getPrecisionTimeServices": 1, + "equinix:fabric/getReceivedRoutes:getReceivedRoutes": 1, "equinix:fabric/getRouteAggregation:getRouteAggregation": 1, "equinix:fabric/getRouteAggregationRule:getRouteAggregationRule": 1, "equinix:fabric/getRouteAggregationRules:getRouteAggregationRules": 1, diff --git a/provider/cmd/pulumi-resource-equinix/schema.json b/provider/cmd/pulumi-resource-equinix/schema.json index 120b15f0c..d7a9574bc 100644 --- a/provider/cmd/pulumi-resource-equinix/schema.json +++ b/provider/cmd/pulumi-resource-equinix/schema.json @@ -100,9 +100,25 @@ "type": "integer", "description": "The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client\nspecific)\n" }, + "stsEndpoint": { + "type": "string", + "description": "The STS API base URL to point to the desired environment. This argument can also be specified with the\n`EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is\nan alpha feature and not available for all users.\n" + }, "token": { "type": "string", "description": "API tokens are generated from API Consumer clients using the [OAuth2\nAPI](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens).\nThis argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable.\n" + }, + "tokenExchangeScope": { + "type": "string", + "description": "The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:\u003corg_id\u003e`.\nThis argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that\ntoken exchange is an alpha feature and not available for all users.\n" + }, + "tokenExchangeSubjectToken": { + "type": "string", + "description": "The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted\nby Equinix STS. If not set, the provider will use the environment variable specified in\n`token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all\nusers.\n" + }, + "tokenExchangeSubjectTokenEnvVar": { + "type": "string", + "description": "The name of the environment variable containing the subject token for token exchange. This argument can also be\nspecified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to\n`EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all\nusers.\n" } } }, @@ -3629,6 +3645,10 @@ "$ref": "#/types/equinix:fabric/ServiceProfileAccessPointTypeConfigLinkProtocolConfig:ServiceProfileAccessPointTypeConfigLinkProtocolConfig", "description": "Link protocol configuration details\n" }, + "selectiveRedundancy": { + "type": "boolean", + "description": "Optional redundant connections\n" + }, "supportedBandwidths": { "type": "array", "items": { @@ -5702,6 +5722,243 @@ } ] }, + "equinix:fabric/getAdvertisedRoutesData:getAdvertisedRoutesData": { + "properties": { + "asPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of supported AS Paths for the Advertised Routes.\n" + }, + "changeLog": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesDataChangeLog:getAdvertisedRoutesDataChangeLog", + "description": "Change Log of the route table entry\n" + }, + "connection": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesDataConnection:getAdvertisedRoutesDataConnection", + "description": "connection of the route table entry\n" + }, + "localPreference": { + "type": "integer", + "description": "This field holds local preference of the advertised route.\n" + }, + "med": { + "type": "integer", + "description": "Multi-Exit Discriminator for the Advertised Route\n" + }, + "nextHop": { + "type": "string", + "description": "Next Hop of the Advertised Route\n" + }, + "prefix": { + "type": "string", + "description": "Prefix of the Advertised Route\n" + }, + "protocolType": { + "type": "string", + "description": "Advertised Route protocol type\n" + }, + "state": { + "type": "string", + "description": "State of the advertised Route\n" + }, + "type": { + "type": "string", + "description": "Indicator of a advertised route\n" + } + }, + "type": "object", + "required": [ + "asPaths", + "changeLog", + "connection", + "localPreference", + "med", + "nextHop", + "prefix", + "protocolType", + "state", + "type" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "equinix:fabric/getAdvertisedRoutesDataChangeLog:getAdvertisedRoutesDataChangeLog": { + "properties": { + "createdBy": { + "type": "string", + "description": "Created by User Key\n" + }, + "createdByEmail": { + "type": "string", + "description": "Created by User Email Address\n" + }, + "createdByFullName": { + "type": "string", + "description": "Created by User Full Name\n" + }, + "createdDateTime": { + "type": "string", + "description": "Created by User Date and Time\n" + }, + "deletedBy": { + "type": "string", + "description": "Deleted by User Key\n" + }, + "deletedByEmail": { + "type": "string", + "description": "Deleted by User Email Address\n" + }, + "deletedByFullName": { + "type": "string", + "description": "Deleted by User Full Name\n" + }, + "deletedDateTime": { + "type": "string", + "description": "Deleted by User Date and Time\n" + }, + "updatedBy": { + "type": "string", + "description": "Updated by User Key\n" + }, + "updatedByEmail": { + "type": "string", + "description": "Updated by User Email Address\n" + }, + "updatedByFullName": { + "type": "string", + "description": "Updated by User Full Name\n" + }, + "updatedDateTime": { + "type": "string", + "description": "Updated by User Date and Time\n" + } + }, + "type": "object", + "required": [ + "createdBy", + "createdByEmail", + "createdByFullName", + "createdDateTime", + "deletedBy", + "deletedByEmail", + "deletedByFullName", + "deletedDateTime", + "updatedBy", + "updatedByEmail", + "updatedByFullName", + "updatedDateTime" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "equinix:fabric/getAdvertisedRoutesDataConnection:getAdvertisedRoutesDataConnection": { + "properties": { + "href": { + "type": "string", + "description": "HREF of the Connection\n" + }, + "name": { + "type": "string", + "description": "Name of the Connection\n" + }, + "uuid": { + "type": "string", + "description": "UUID of the Connection\n" + } + }, + "type": "object", + "required": [ + "href", + "name", + "uuid" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "equinix:fabric/getAdvertisedRoutesFilter:getAdvertisedRoutesFilter": { + "properties": { + "operator": { + "type": "string", + "description": "Operators to use on your filtered field with the values given. One of [ =, !=, \u003e, \u003e=, \u003c, \u003c=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL]\n" + }, + "property": { + "type": "string", + "description": "possible field names to use on filters. One of [/type /name /project/projectId /uuid /state]\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The values that you want to apply the property+operator combination to in order to filter your data search\n" + } + }, + "type": "object", + "required": [ + "operator", + "property", + "values" + ] + }, + "equinix:fabric/getAdvertisedRoutesPagination:getAdvertisedRoutesPagination": { + "properties": { + "limit": { + "type": "integer", + "description": "Maximum number of search results returned per page.\n" + }, + "next": { + "type": "string", + "description": "URL relative to the next item in the response.\n" + }, + "offset": { + "type": "integer", + "description": "Index of the first item returned in the response.\n" + }, + "previous": { + "type": "string", + "description": "URL relative to the previous item in the response.\n" + }, + "total": { + "type": "integer", + "description": "The total number of elements returned\n" + } + }, + "type": "object", + "required": [ + "next", + "previous", + "total" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "equinix:fabric/getAdvertisedRoutesSort:getAdvertisedRoutesSort": { + "properties": { + "direction": { + "type": "string", + "description": "Sort direction, one of [ASC, DESC]\n" + }, + "property": { + "type": "string", + "description": "Property name to sort by\n" + } + }, + "type": "object" + }, "equinix:fabric/getCloudRouterAccount:getCloudRouterAccount": { "properties": { "accountNumber": { @@ -5977,10 +6234,6 @@ "type": "integer", "description": "Equinix ASN\n" }, - "gatewayAttachmentsCount": { - "type": "integer", - "description": "Number of gateway attachments associated with this Access point\n" - }, "href": { "type": "string", "description": "Fabric Cloud Router URI information\n" @@ -6051,7 +6304,6 @@ "connectionsCount", "description", "equinixAsn", - "gatewayAttachmentsCount", "href", "locations", "marketplaceSubscriptions", @@ -9373,7 +9625,7 @@ }, "property": { "type": "string", - "description": "Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *]\n" + "description": "Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid]\n" }, "values": { "type": "array", @@ -9578,6 +9830,10 @@ }, "description": "Arrays of objects containing latency data for the specified metro\n" }, + "country": { + "type": "string", + "description": "Country in which the data center is located\n" + }, "equinixAsn": { "type": "integer", "description": "Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol.\n" @@ -9618,6 +9874,7 @@ "required": [ "code", "connectedMetros", + "country", "equinixAsn", "geoCoordinates", "geoScopes", @@ -11771,16 +12028,285 @@ } } }, - "equinix:fabric/getPrecisionTimeServicesDataProject:getPrecisionTimeServicesDataProject": { + "equinix:fabric/getPrecisionTimeServicesDataProject:getPrecisionTimeServicesDataProject": { + "properties": { + "projectId": { + "type": "string", + "description": "Equinix Subscriber-assigned project ID\n" + } + }, + "type": "object", + "required": [ + "projectId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "equinix:fabric/getPrecisionTimeServicesDataPtpAdvancedConfiguration:getPrecisionTimeServicesDataPtpAdvancedConfiguration": { + "properties": { + "domain": { + "type": "integer", + "description": "The PTP domain value\n" + }, + "grantTime": { + "type": "integer", + "description": "Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200\n" + }, + "logAnnounceInterval": { + "type": "integer", + "description": "Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second\n" + }, + "logDelayReqInterval": { + "type": "integer", + "description": "Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second..\n" + }, + "logSyncInterval": { + "type": "integer", + "description": "Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second..\n" + }, + "priority1": { + "type": "integer", + "description": "The priority1 value determines the best primary clock, Lower value indicates higher priority\n" + }, + "priority2": { + "type": "integer", + "description": "The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network\n" + }, + "timeScale": { + "type": "string", + "description": "Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol\n" + }, + "transportMode": { + "type": "string", + "description": "ptp transport mode\n" + } + }, + "type": "object" + }, + "equinix:fabric/getPrecisionTimeServicesFilter:getPrecisionTimeServicesFilter": { + "properties": { + "operator": { + "type": "string", + "description": "Operation applied to the values of the filter\n" + }, + "or": { + "type": "boolean", + "description": "Boolean value to specify if this filter is a part of the OR group. Has a maximum of 3 and only counts for 1 of the 8 possible filters\n" + }, + "property": { + "type": "string", + "description": "Property to apply the filter to\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of values to apply the operation to for the specified property\n" + } + }, + "type": "object", + "required": [ + "operator", + "property", + "values" + ] + }, + "equinix:fabric/getPrecisionTimeServicesPagination:getPrecisionTimeServicesPagination": { + "properties": { + "limit": { + "type": "integer", + "description": "Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20\n" + }, + "offset": { + "type": "integer", + "description": "Index of the first item returned in the response. The default is 0\n" + } + }, + "type": "object", + "required": [ + "limit", + "offset" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "equinix:fabric/getPrecisionTimeServicesSort:getPrecisionTimeServicesSort": { + "properties": { + "direction": { + "type": "string", + "description": "The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC\n" + }, + "property": { + "type": "string", + "description": "The property name to use in sorting. One of [/name /uuid /state /type /package/code /changeLog/createdDateTime /changeLog/updatedDateTime] Defaults to /name\n" + } + }, + "type": "object" + }, + "equinix:fabric/getReceivedRoutesData:getReceivedRoutesData": { + "properties": { + "asPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of supported AS Paths for the Received Routes.\n" + }, + "changeLog": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesDataChangeLog:getReceivedRoutesDataChangeLog", + "description": "Change Log of the route table entry\n" + }, + "connection": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesDataConnection:getReceivedRoutesDataConnection", + "description": "connection of the route table entry\n" + }, + "localPreference": { + "type": "integer", + "description": "This field holds local preference of the received route.\n" + }, + "med": { + "type": "integer", + "description": "Multi-Exit Discriminator for the Received Route\n" + }, + "nextHop": { + "type": "string", + "description": "Next Hop of the Received Route\n" + }, + "prefix": { + "type": "string", + "description": "Prefix of the Received Route\n" + }, + "protocolType": { + "type": "string", + "description": "Received Route protocol type\n" + }, + "state": { + "type": "string", + "description": "State of the received Route\n" + }, + "type": { + "type": "string", + "description": "Indicator of a received route\n" + } + }, + "type": "object", + "required": [ + "asPaths", + "changeLog", + "connection", + "localPreference", + "med", + "nextHop", + "prefix", + "protocolType", + "state", + "type" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "equinix:fabric/getReceivedRoutesDataChangeLog:getReceivedRoutesDataChangeLog": { + "properties": { + "createdBy": { + "type": "string", + "description": "Created by User Key\n" + }, + "createdByEmail": { + "type": "string", + "description": "Created by User Email Address\n" + }, + "createdByFullName": { + "type": "string", + "description": "Created by User Full Name\n" + }, + "createdDateTime": { + "type": "string", + "description": "Created by User Date and Time\n" + }, + "deletedBy": { + "type": "string", + "description": "Deleted by User Key\n" + }, + "deletedByEmail": { + "type": "string", + "description": "Deleted by User Email Address\n" + }, + "deletedByFullName": { + "type": "string", + "description": "Deleted by User Full Name\n" + }, + "deletedDateTime": { + "type": "string", + "description": "Deleted by User Date and Time\n" + }, + "updatedBy": { + "type": "string", + "description": "Updated by User Key\n" + }, + "updatedByEmail": { + "type": "string", + "description": "Updated by User Email Address\n" + }, + "updatedByFullName": { + "type": "string", + "description": "Updated by User Full Name\n" + }, + "updatedDateTime": { + "type": "string", + "description": "Updated by User Date and Time\n" + } + }, + "type": "object", + "required": [ + "createdBy", + "createdByEmail", + "createdByFullName", + "createdDateTime", + "deletedBy", + "deletedByEmail", + "deletedByFullName", + "deletedDateTime", + "updatedBy", + "updatedByEmail", + "updatedByFullName", + "updatedDateTime" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "equinix:fabric/getReceivedRoutesDataConnection:getReceivedRoutesDataConnection": { "properties": { - "projectId": { + "href": { "type": "string", - "description": "Equinix Subscriber-assigned project ID\n" + "description": "HREF of the Connection\n" + }, + "name": { + "type": "string", + "description": "Name of the Connection\n" + }, + "uuid": { + "type": "string", + "description": "UUID of the Connection\n" } }, "type": "object", "required": [ - "projectId" + "href", + "name", + "uuid" ], "language": { "nodejs": { @@ -11788,67 +12314,22 @@ } } }, - "equinix:fabric/getPrecisionTimeServicesDataPtpAdvancedConfiguration:getPrecisionTimeServicesDataPtpAdvancedConfiguration": { - "properties": { - "domain": { - "type": "integer", - "description": "The PTP domain value\n" - }, - "grantTime": { - "type": "integer", - "description": "Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200\n" - }, - "logAnnounceInterval": { - "type": "integer", - "description": "Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second\n" - }, - "logDelayReqInterval": { - "type": "integer", - "description": "Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second..\n" - }, - "logSyncInterval": { - "type": "integer", - "description": "Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second..\n" - }, - "priority1": { - "type": "integer", - "description": "The priority1 value determines the best primary clock, Lower value indicates higher priority\n" - }, - "priority2": { - "type": "integer", - "description": "The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network\n" - }, - "timeScale": { - "type": "string", - "description": "Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol\n" - }, - "transportMode": { - "type": "string", - "description": "ptp transport mode\n" - } - }, - "type": "object" - }, - "equinix:fabric/getPrecisionTimeServicesFilter:getPrecisionTimeServicesFilter": { + "equinix:fabric/getReceivedRoutesFilter:getReceivedRoutesFilter": { "properties": { "operator": { "type": "string", - "description": "Operation applied to the values of the filter\n" - }, - "or": { - "type": "boolean", - "description": "Boolean value to specify if this filter is a part of the OR group. Has a maximum of 3 and only counts for 1 of the 8 possible filters\n" + "description": "Operators to use on your filtered field with the values given. One of [ =, !=, \u003e, \u003e=, \u003c, \u003c=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL]\n" }, "property": { "type": "string", - "description": "Property to apply the filter to\n" + "description": "possible field names to use on filters. One of [/type /name /project/projectId /uuid /state]\n" }, "values": { "type": "array", "items": { "type": "string" }, - "description": "List of values to apply the operation to for the specified property\n" + "description": "The values that you want to apply the property+operator combination to in order to filter your data search\n" } }, "type": "object", @@ -11858,21 +12339,34 @@ "values" ] }, - "equinix:fabric/getPrecisionTimeServicesPagination:getPrecisionTimeServicesPagination": { + "equinix:fabric/getReceivedRoutesPagination:getReceivedRoutesPagination": { "properties": { "limit": { "type": "integer", - "description": "Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20\n" + "description": "Maximum number of search results returned per page.\n" + }, + "next": { + "type": "string", + "description": "URL relative to the next item in the response.\n" }, "offset": { "type": "integer", - "description": "Index of the first item returned in the response. The default is 0\n" + "description": "Index of the first item returned in the response.\n" + }, + "previous": { + "type": "string", + "description": "URL relative to the previous item in the response.\n" + }, + "total": { + "type": "integer", + "description": "The total number of elements returned\n" } }, "type": "object", "required": [ - "limit", - "offset" + "next", + "previous", + "total" ], "language": { "nodejs": { @@ -11880,15 +12374,15 @@ } } }, - "equinix:fabric/getPrecisionTimeServicesSort:getPrecisionTimeServicesSort": { + "equinix:fabric/getReceivedRoutesSort:getReceivedRoutesSort": { "properties": { "direction": { "type": "string", - "description": "The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC\n" + "description": "Sort direction, one of [ASC, DESC]\n" }, "property": { "type": "string", - "description": "The property name to use in sorting. One of [/name /uuid /state /type /package/code /changeLog/createdDateTime /changeLog/updatedDateTime] Defaults to /name\n" + "description": "Property name to sort by\n" } }, "type": "object" @@ -13628,6 +14122,10 @@ "$ref": "#/types/equinix:fabric/getServiceProfileAccessPointTypeConfigLinkProtocolConfig:getServiceProfileAccessPointTypeConfigLinkProtocolConfig", "description": "Link protocol configuration details\n" }, + "selectiveRedundancy": { + "type": "boolean", + "description": "Optional redundant connections\n" + }, "supportedBandwidths": { "type": "array", "items": { @@ -14244,7 +14742,7 @@ }, "type": { "type": "string", - "description": "Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE\n" + "description": "Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE\n" }, "uuid": { "type": "string", @@ -14342,6 +14840,10 @@ "$ref": "#/types/equinix:fabric/getServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfig:getServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfig", "description": "Link protocol configuration details\n" }, + "selectiveRedundancy": { + "type": "boolean", + "description": "Optional redundant connections\n" + }, "supportedBandwidths": { "type": "array", "items": { @@ -20514,6 +21016,11 @@ "description": "IP Address. This field is relevant only for the Infoblox devices.\n", "willReplaceOnChanges": true }, + "ipAddressType": { + "type": "string", + "description": "Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option\n", + "willReplaceOnChanges": true + }, "licenseId": { "type": "string", "description": "License id. This field is relevant only for the BlueCat DNS and DHCP Server\n", @@ -20526,6 +21033,11 @@ "secret": true, "willReplaceOnChanges": true }, + "managementInterfaceId": { + "type": "string", + "description": "Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option\n", + "willReplaceOnChanges": true + }, "managementType": { "type": "string", "description": "Management Type. This field is relevant only for Cisco FTD Firewall devices\n", @@ -20653,6 +21165,11 @@ "description": "IP Address. This field is relevant only for the Infoblox devices.\n", "willReplaceOnChanges": true }, + "ipAddressType": { + "type": "string", + "description": "Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option\n", + "willReplaceOnChanges": true + }, "licenseId": { "type": "string", "description": "License id. This field is relevant only for the BlueCat DNS and DHCP Server\n", @@ -20665,6 +21182,11 @@ "secret": true, "willReplaceOnChanges": true }, + "managementInterfaceId": { + "type": "string", + "description": "Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option\n", + "willReplaceOnChanges": true + }, "managementType": { "type": "string", "description": "Management Type. This field is relevant only for Cisco FTD Firewall devices\n", @@ -21025,6 +21547,7 @@ "name", "notifications", "projectId", + "purchaseOrderNumber", "redundancyType", "redundantId", "region", @@ -21610,7 +22133,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress)\n" + "description": "Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType)\n" }, "wanInterfaceId": { "type": "string", @@ -21803,9 +22326,25 @@ "type": "integer", "description": "The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client\nspecific)\n" }, + "stsEndpoint": { + "type": "string", + "description": "The STS API base URL to point to the desired environment. This argument can also be specified with the\n`EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is\nan alpha feature and not available for all users.\n" + }, "token": { "type": "string", "description": "API tokens are generated from API Consumer clients using the [OAuth2\nAPI](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens).\nThis argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable.\n" + }, + "tokenExchangeScope": { + "type": "string", + "description": "The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:\u003corg_id\u003e`.\nThis argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that\ntoken exchange is an alpha feature and not available for all users.\n" + }, + "tokenExchangeSubjectToken": { + "type": "string", + "description": "The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted\nby Equinix STS. If not set, the provider will use the environment variable specified in\n`token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all\nusers.\n" + }, + "tokenExchangeSubjectTokenEnvVar": { + "type": "string", + "description": "The name of the environment variable containing the subject token for token exchange. This argument can also be\nspecified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to\n`EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all\nusers.\n" } }, "inputProperties": { @@ -21841,9 +22380,25 @@ "type": "integer", "description": "The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client\nspecific)\n" }, + "stsEndpoint": { + "type": "string", + "description": "The STS API base URL to point to the desired environment. This argument can also be specified with the\n`EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is\nan alpha feature and not available for all users.\n" + }, "token": { "type": "string", "description": "API tokens are generated from API Consumer clients using the [OAuth2\nAPI](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens).\nThis argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable.\n" + }, + "tokenExchangeScope": { + "type": "string", + "description": "The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:\u003corg_id\u003e`.\nThis argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that\ntoken exchange is an alpha feature and not available for all users.\n" + }, + "tokenExchangeSubjectToken": { + "type": "string", + "description": "The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted\nby Equinix STS. If not set, the provider will use the environment variable specified in\n`token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all\nusers.\n" + }, + "tokenExchangeSubjectTokenEnvVar": { + "type": "string", + "description": "The name of the environment variable containing the subject token for token exchange. This argument can also be\nspecified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to\n`EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all\nusers.\n" } } }, @@ -21874,10 +22429,6 @@ "type": "integer", "description": "Equinix ASN\n" }, - "gatewayAttachmentsCount": { - "type": "integer", - "description": "Number of gateway attachments associated with this Access point\n" - }, "href": { "type": "string", "description": "Fabric Cloud Router URI information\n" @@ -21931,7 +22482,6 @@ "changeLogs", "connectionsCount", "equinixAsn", - "gatewayAttachmentsCount", "href", "location", "marketplaceSubscription", @@ -22030,10 +22580,6 @@ "type": "integer", "description": "Equinix ASN\n" }, - "gatewayAttachmentsCount": { - "type": "integer", - "description": "Number of gateway attachments associated with this Access point\n" - }, "href": { "type": "string", "description": "Fabric Cloud Router URI information\n" @@ -24227,7 +24773,7 @@ }, "type": { "type": "string", - "description": "Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE\n" + "description": "Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE\n" }, "uuid": { "type": "string", @@ -24352,7 +24898,7 @@ "$ref": "#/types/equinix:fabric/profileType:ProfileType" } ], - "description": "Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE\n" + "description": "Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE\n" }, "viewPoint": { "type": "string", @@ -24491,7 +25037,7 @@ "$ref": "#/types/equinix:fabric/profileType:ProfileType" } ], - "description": "Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE\n" + "description": "Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE\n" }, "uuid": { "type": "string", @@ -28656,7 +29202,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={\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"DC\"),\n\t\t}, nil)\n\t\tsv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(dc networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026dc.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(dc networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026dc.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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(_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 .hostname(\"csr1000v-p\")\n .termLength(12)\n .accountNumber(dc.applyValue(_dc -\u003e _dc.number()))\n .version(\"16.09.05\")\n .coreCount(2)\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-csr1000v-s\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .hostname(\"csr1000v-s\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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(_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 .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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_10\",\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_10\",\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_10\",\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_10\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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(std.FileOutput(ctx, std.FileOutputArgs{\n\t\t\t\tInput: pulumi.String(filepath),\n\t\t\t}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput).ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"AVIATRIX_EDGE_10\"),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"AVIATRIX_EDGE_10\"),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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_10\",\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_10\",\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.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\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()).applyValue(_invoke -\u003e _invoke.result()))\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .deviceTypeCode(\"AVIATRIX_EDGE_10\")\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(_sv -\u003e _sv.metroCode()))\n .typeCode(\"AVIATRIX_EDGE_10\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"john@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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_10\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_10\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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(_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.applyValue(_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(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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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(_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.applyValue(_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(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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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(_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.applyValue(_sv -\u003e _sv.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(_sv -\u003e _sv.metroCode()))\n .hostname(\"arista-s\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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 \"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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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(_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.applyValue(_sv -\u003e _sv.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(_sv -\u003e _sv.metroCode()))\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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(std.FileOutput(ctx, std.FileOutputArgs{\n\t\t\t\tInput: pulumi.Any(filepath),\n\t\t\t}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput).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\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(std.FileOutput(ctx, std.FileOutputArgs{\n\t\t\t\tInput: pulumi.Any(filepath),\n\t\t\t}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput).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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\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()).applyValue(_invoke -\u003e _invoke.result()))\n .metroCode(sv.applyValue(_sv -\u003e _sv.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()).applyValue(_invoke -\u003e _invoke.result()))\n .metroCode(sv.applyValue(_sv -\u003e _sv.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(_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.applyValue(_sv -\u003e _sv.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(_sv -\u003e _sv.metroCode()))\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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 Aviatrix Transit Edge\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_TRANSIT_EDGE\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\nconst aviatrixTransitEdgeSingle = new equinix.networkedge.Device(\"aviatrix-transit-edge-single\", {\n name: \"tf-aviatrix\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"AVIATRIX_TRANSIT_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: \"7.2.a\",\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_TRANSIT_EDGE\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\naviatrix_transit_edge_single = equinix.networkedge.Device(\"aviatrix-transit-edge-single\",\n name=\"tf-aviatrix\",\n metro_code=sv.metro_code,\n type_code=\"AVIATRIX_TRANSIT_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=\"7.2.a\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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(std.FileOutput(ctx, std.FileOutputArgs{\n\t\t\t\tInput: pulumi.String(filepath),\n\t\t\t}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput).ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"AVIATRIX_TRANSIT_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, \"aviatrix-transit-edge-single\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-aviatrix\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"AVIATRIX_TRANSIT_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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"7.2.a\"),\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_TRANSIT_EDGE\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n var aviatrixTransitEdgeSingle = new Equinix.NetworkEdge.Device(\"aviatrix-transit-edge-single\", new()\n {\n Name = \"tf-aviatrix\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"AVIATRIX_TRANSIT_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 = \"7.2.a\",\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.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\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()).applyValue(_invoke -\u003e _invoke.result()))\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .deviceTypeCode(\"AVIATRIX_TRANSIT_EDGE\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n var aviatrixTransitEdgeSingle = new Device(\"aviatrixTransitEdgeSingle\", DeviceArgs.builder()\n .name(\"tf-aviatrix\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"AVIATRIX_TRANSIT_EDGE\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"john@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"7.2.a\")\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_TRANSIT_EDGE\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n aviatrix-transit-edge-single:\n type: equinix:networkedge:Device\n properties:\n name: tf-aviatrix\n metroCode: ${sv.metroCode}\n typeCode: AVIATRIX_TRANSIT_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: 7.2.a\n coreCount: 2\n cloudInitFileId: ${aviatrixCloudinitFile.uuid}\n aclTemplateId: c06150ea-b604-4ad1-832a-d63936e9b938\nvariables:\n # Create self configured single Aviatrix Transit Edge 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 aruba edgeconnect ha device\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 aRUBAEDGECONNECTAM = new equinix.networkedge.Device(\"ARUBA-EDGECONNECT-AM\", {\n name: \"TF_Aruba_Edge_Connect\",\n projectId: \"XXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"EDGECONNECT-SDWAN\",\n selfManaged: true,\n byol: true,\n packageCode: \"EC-V\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"9.4.2.3\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 50,\n interfaceCount: 32,\n aclTemplateId: \"XXXXXXX\",\n vendorConfiguration: {\n accountKey: \"xxxxx\",\n accountName: \"xxxx\",\n applianceTag: \"tests\",\n hostname: \"test\",\n },\n secondaryDevice: {\n name: \"TF_CHECKPOINT\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n accountNumber: sv.apply(sv =\u003e sv.number),\n aclTemplateId: \"XXXXXXX\",\n notifications: [\"test@eq.com\"],\n vendorConfiguration: {\n accountKey: \"xxxxx\",\n accountName: \"xxxx\",\n applianceTag: \"test\",\n hostname: \"test\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\na_rubaedgeconnectam = equinix.networkedge.Device(\"ARUBA-EDGECONNECT-AM\",\n name=\"TF_Aruba_Edge_Connect\",\n project_id=\"XXXXX\",\n metro_code=sv.metro_code,\n type_code=\"EDGECONNECT-SDWAN\",\n self_managed=True,\n byol=True,\n package_code=\"EC-V\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"9.4.2.3\",\n core_count=2,\n term_length=1,\n additional_bandwidth=50,\n interface_count=32,\n acl_template_id=\"XXXXXXX\",\n vendor_configuration={\n \"accountKey\": \"xxxxx\",\n \"accountName\": \"xxxx\",\n \"applianceTag\": \"tests\",\n \"hostname\": \"test\",\n },\n secondary_device={\n \"name\": \"TF_CHECKPOINT\",\n \"metro_code\": sv.metro_code,\n \"account_number\": sv.number,\n \"acl_template_id\": \"XXXXXXX\",\n \"notifications\": [\"test@eq.com\"],\n \"vendor_configuration\": {\n \"accountKey\": \"xxxxx\",\n \"accountName\": \"xxxx\",\n \"applianceTag\": \"test\",\n \"hostname\": \"test\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"ARUBA-EDGECONNECT-AM\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_Aruba_Edge_Connect\"),\n\t\t\tProjectId: pulumi.String(\"XXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"EDGECONNECT-SDWAN\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"EC-V\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"9.4.2.3\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(50),\n\t\t\tInterfaceCount: pulumi.Int(32),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXX\"),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"accountKey\": pulumi.String(\"xxxxx\"),\n\t\t\t\t\"accountName\": pulumi.String(\"xxxx\"),\n\t\t\t\t\"applianceTag\": pulumi.String(\"tests\"),\n\t\t\t\t\"hostname\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_CHECKPOINT\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAclTemplateId: pulumi.String(\"XXXXXXX\"),\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\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"accountKey\": pulumi.String(\"xxxxx\"),\n\t\t\t\t\t\"accountName\": pulumi.String(\"xxxx\"),\n\t\t\t\t\t\"applianceTag\": pulumi.String(\"test\"),\n\t\t\t\t\t\"hostname\": pulumi.String(\"test\"),\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 aRUBAEDGECONNECTAM = new Equinix.NetworkEdge.Device(\"ARUBA-EDGECONNECT-AM\", new()\n {\n Name = \"TF_Aruba_Edge_Connect\",\n ProjectId = \"XXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"EDGECONNECT-SDWAN\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"EC-V\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"9.4.2.3\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 50,\n InterfaceCount = 32,\n AclTemplateId = \"XXXXXXX\",\n VendorConfiguration = \n {\n { \"accountKey\", \"xxxxx\" },\n { \"accountName\", \"xxxx\" },\n { \"applianceTag\", \"tests\" },\n { \"hostname\", \"test\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_CHECKPOINT\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n AclTemplateId = \"XXXXXXX\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n VendorConfiguration = \n {\n { \"accountKey\", \"xxxxx\" },\n { \"accountName\", \"xxxx\" },\n { \"applianceTag\", \"test\" },\n { \"hostname\", \"test\" },\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.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 .metroCode(\"SV\")\n .build());\n\n var aRUBAEDGECONNECTAM = new Device(\"aRUBAEDGECONNECTAM\", DeviceArgs.builder()\n .name(\"TF_Aruba_Edge_Connect\")\n .projectId(\"XXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"EDGECONNECT-SDWAN\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"EC-V\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"9.4.2.3\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(50)\n .interfaceCount(32)\n .aclTemplateId(\"XXXXXXX\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"accountKey\", \"xxxxx\"),\n Map.entry(\"accountName\", \"xxxx\"),\n Map.entry(\"applianceTag\", \"tests\"),\n Map.entry(\"hostname\", \"test\")\n ))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_CHECKPOINT\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .aclTemplateId(\"XXXXXXX\")\n .notifications(\"test@eq.com\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"accountKey\", \"xxxxx\"),\n Map.entry(\"accountName\", \"xxxx\"),\n Map.entry(\"applianceTag\", \"test\"),\n Map.entry(\"hostname\", \"test\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ARUBA-EDGECONNECT-AM:\n type: equinix:networkedge:Device\n properties:\n name: TF_Aruba_Edge_Connect\n projectId: XXXXX\n metroCode: ${sv.metroCode}\n typeCode: EDGECONNECT-SDWAN\n selfManaged: true\n byol: true\n packageCode: EC-V\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 9.4.2.3\n coreCount: 2\n termLength: 1\n additionalBandwidth: 50\n interfaceCount: 32\n aclTemplateId: XXXXXXX\n vendorConfiguration:\n accountKey: xxxxx\n accountName: xxxx\n applianceTag: tests\n hostname: test\n secondaryDevice:\n name: TF_CHECKPOINT\n metroCode: ${sv.metroCode}\n accountNumber: ${sv.number}\n aclTemplateId: XXXXXXX\n notifications:\n - test@eq.com\n vendorConfiguration:\n accountKey: xxxxx\n accountName: xxxx\n applianceTag: test\n hostname: test\nvariables:\n # Create Aruba Edgeconnect SDWAN HA device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example c8000v byol with bandwidth throughput\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 c8000VByolThroughput = new equinix.networkedge.Device(\"c8000v-byol-throughput\", {\n name: \"tf-c8000v-byol\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"C8000V\",\n selfManaged: true,\n byol: true,\n packageCode: \"network-essentials\",\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: \"17.11.01a\",\n interfaceCount: 10,\n coreCount: 2,\n throughput: 100,\n throughputUnit: equinix.networkedge.ThroughputUnit.Mbps,\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n aclTemplateId: \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nc8000_v_byol_throughput = equinix.networkedge.Device(\"c8000v-byol-throughput\",\n name=\"tf-c8000v-byol\",\n metro_code=sv.metro_code,\n type_code=\"C8000V\",\n self_managed=True,\n byol=True,\n package_code=\"network-essentials\",\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=\"17.11.01a\",\n interface_count=10,\n core_count=2,\n throughput=100,\n throughput_unit=equinix.networkedge.ThroughputUnit.MBPS,\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"test-key\",\n },\n acl_template_id=\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\")\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"c8000v-byol-throughput\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-c8000v-byol\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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(\"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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"17.11.01a\"),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tThroughput: pulumi.Int(100),\n\t\t\tThroughputUnit: pulumi.String(networkedge.ThroughputUnitMbps),\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})\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 c8000VByolThroughput = new Equinix.NetworkEdge.Device(\"c8000v-byol-throughput\", new()\n {\n Name = \"tf-c8000v-byol\",\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 \"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 = \"17.11.01a\",\n InterfaceCount = 10,\n CoreCount = 2,\n Throughput = 100,\n ThroughputUnit = Equinix.NetworkEdge.ThroughputUnit.Mbps,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\n },\n AclTemplateId = \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\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 .metroCode(\"SV\")\n .build());\n\n var c8000VByolThroughput = new Device(\"c8000VByolThroughput\", DeviceArgs.builder()\n .name(\"tf-c8000v-byol\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"C8000V\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"network-essentials\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"17.11.01a\")\n .interfaceCount(10)\n .coreCount(2)\n .throughput(100)\n .throughputUnit(\"Mbps\")\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .aclTemplateId(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n c8000v-byol-throughput:\n type: equinix:networkedge:Device\n properties:\n name: tf-c8000v-byol\n metroCode: ${sv.metroCode}\n typeCode: C8000V\n selfManaged: true\n byol: true\n packageCode: network-essentials\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 17.11.01a\n interfaceCount: 10\n coreCount: 2\n throughput: '100'\n throughputUnit: Mbps\n sshKey:\n username: test\n keyName: test-key\n aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b\nvariables:\n # Create C8000V BYOL device with numeric bandwidth throughput information\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example checkpoint single device\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 cHECKPOINTSV = new equinix.networkedge.Device(\"CHECKPOINT-SV\", {\n name: \"TF_CHECKPOINT\",\n projectId: \"XXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"CGUARD\",\n selfManaged: true,\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"R81.20\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 5,\n aclTemplateId: \"XXXXXXX\",\n sshKey: {\n username: \"XXXXX\",\n keyName: \"XXXXXX\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nc_heckpointsv = equinix.networkedge.Device(\"CHECKPOINT-SV\",\n name=\"TF_CHECKPOINT\",\n project_id=\"XXXX\",\n metro_code=sv.metro_code,\n type_code=\"CGUARD\",\n self_managed=True,\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"R81.20\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n additional_bandwidth=5,\n acl_template_id=\"XXXXXXX\",\n ssh_key={\n \"username\": \"XXXXX\",\n \"key_name\": \"XXXXXX\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"CHECKPOINT-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_CHECKPOINT\"),\n\t\t\tProjectId: pulumi.String(\"XXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"CGUARD\"),\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@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"R81.20\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(5),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXX\"),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"XXXXX\"),\n\t\t\t\tKeyName: pulumi.String(\"XXXXXX\"),\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 cHECKPOINTSV = new Equinix.NetworkEdge.Device(\"CHECKPOINT-SV\", new()\n {\n Name = \"TF_CHECKPOINT\",\n ProjectId = \"XXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"CGUARD\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"R81.20\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 5,\n AclTemplateId = \"XXXXXXX\",\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"XXXXX\",\n KeyName = \"XXXXXX\",\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 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 cHECKPOINTSV = new Device(\"cHECKPOINTSV\", DeviceArgs.builder()\n .name(\"TF_CHECKPOINT\")\n .projectId(\"XXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"CGUARD\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"R81.20\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(5)\n .aclTemplateId(\"XXXXXXX\")\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"XXXXX\")\n .keyName(\"XXXXXX\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n CHECKPOINT-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_CHECKPOINT\n projectId: XXXX\n metroCode: ${sv.metroCode}\n typeCode: CGUARD\n selfManaged: true\n byol: true\n packageCode: STD\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: R81.20\n hostname: test\n coreCount: 2\n termLength: 1\n additionalBandwidth: 5\n aclTemplateId: XXXXXXX\n sshKey:\n username: XXXXX\n keyName: XXXXXX\nvariables:\n # Create Checkpoint single device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example f5xc single\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 f5XcSingle = new equinix.networkedge.Device(\"f5xc-single\", {\n name: \"tf-f5xc\",\n projectId: \"XXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"F5XC\",\n selfManaged: true,\n byol: true,\n connectivity: \"INTERNET-ACCESS\",\n packageCode: \"STD\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n termLength: 1,\n accountNumber: sv.apply(sv =\u003e sv.number),\n aclTemplateId: \"xxxx\",\n version: \"9.2025.17\",\n interfaceCount: 8,\n coreCount: 8,\n vendorConfiguration: {\n token: \"XXXXXXXXXX\",\n hostname: \"XXXX\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nf5_xc_single = equinix.networkedge.Device(\"f5xc-single\",\n name=\"tf-f5xc\",\n project_id=\"XXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"F5XC\",\n self_managed=True,\n byol=True,\n connectivity=\"INTERNET-ACCESS\",\n package_code=\"STD\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n term_length=1,\n account_number=sv.number,\n acl_template_id=\"xxxx\",\n version=\"9.2025.17\",\n interface_count=8,\n core_count=8,\n vendor_configuration={\n \"token\": \"XXXXXXXXXX\",\n \"hostname\": \"XXXX\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"f5xc-single\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-f5xc\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"F5XC\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"INTERNET-ACCESS\"),\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\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\tpulumi.String(\"fred@equinix.com\"),\n\t\t\t},\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tAclTemplateId: pulumi.String(\"xxxx\"),\n\t\t\tVersion: pulumi.String(\"9.2025.17\"),\n\t\t\tInterfaceCount: pulumi.Int(8),\n\t\t\tCoreCount: pulumi.Int(8),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"token\": pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\t\"hostname\": pulumi.String(\"XXXX\"),\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 f5XcSingle = new Equinix.NetworkEdge.Device(\"f5xc-single\", new()\n {\n Name = \"tf-f5xc\",\n ProjectId = \"XXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"F5XC\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"INTERNET-ACCESS\",\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n },\n TermLength = 1,\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n AclTemplateId = \"xxxx\",\n Version = \"9.2025.17\",\n InterfaceCount = 8,\n CoreCount = 8,\n VendorConfiguration = \n {\n { \"token\", \"XXXXXXXXXX\" },\n { \"hostname\", \"XXXX\" },\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 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 f5XcSingle = new Device(\"f5XcSingle\", DeviceArgs.builder()\n .name(\"tf-f5xc\")\n .projectId(\"XXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"F5XC\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"INTERNET-ACCESS\")\n .packageCode(\"STD\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(1)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .aclTemplateId(\"xxxx\")\n .version(\"9.2025.17\")\n .interfaceCount(8)\n .coreCount(8)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"token\", \"XXXXXXXXXX\"),\n Map.entry(\"hostname\", \"XXXX\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n f5xc-single:\n type: equinix:networkedge:Device\n properties:\n name: tf-f5xc\n projectId: XXXXXX\n metroCode: ${sv.metroCode}\n typeCode: F5XC\n selfManaged: true\n byol: true\n connectivity: INTERNET-ACCESS\n packageCode: STD\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 1\n accountNumber: ${sv.number}\n aclTemplateId: xxxx\n version: 9.2025.17\n interfaceCount: 8\n coreCount: 8\n vendorConfiguration:\n token: XXXXXXXXXX\n hostname: XXXX\nvariables:\n # Create F5XC device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example fortigate sdwan single device\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 fTNTSDWANSV = new equinix.networkedge.Device(\"FTNT-SDWAN-SV\", {\n name: \"TF_FTNT-SDWAN\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"FG-SDWAN\",\n selfManaged: true,\n byol: true,\n packageCode: \"VM02\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"7.0.14\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 50,\n aclTemplateId: \"XXXXXXXX\",\n vendorConfiguration: {\n adminPassword: \"XXXXX\",\n controller1: \"X.X.X.X\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nf_tntsdwansv = equinix.networkedge.Device(\"FTNT-SDWAN-SV\",\n name=\"TF_FTNT-SDWAN\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"FG-SDWAN\",\n self_managed=True,\n byol=True,\n package_code=\"VM02\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"7.0.14\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n additional_bandwidth=50,\n acl_template_id=\"XXXXXXXX\",\n vendor_configuration={\n \"adminPassword\": \"XXXXX\",\n \"controller1\": \"X.X.X.X\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"FTNT-SDWAN-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_FTNT-SDWAN\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"FG-SDWAN\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"VM02\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"7.0.14\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(50),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXX\"),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"adminPassword\": pulumi.String(\"XXXXX\"),\n\t\t\t\t\"controller1\": pulumi.String(\"X.X.X.X\"),\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 fTNTSDWANSV = new Equinix.NetworkEdge.Device(\"FTNT-SDWAN-SV\", new()\n {\n Name = \"TF_FTNT-SDWAN\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"FG-SDWAN\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"VM02\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"7.0.14\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 50,\n AclTemplateId = \"XXXXXXXX\",\n VendorConfiguration = \n {\n { \"adminPassword\", \"XXXXX\" },\n { \"controller1\", \"X.X.X.X\" },\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 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 fTNTSDWANSV = new Device(\"fTNTSDWANSV\", DeviceArgs.builder()\n .name(\"TF_FTNT-SDWAN\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"FG-SDWAN\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"VM02\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"7.0.14\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(50)\n .aclTemplateId(\"XXXXXXXX\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"adminPassword\", \"XXXXX\"),\n Map.entry(\"controller1\", \"X.X.X.X\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n FTNT-SDWAN-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_FTNT-SDWAN\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: FG-SDWAN\n selfManaged: true\n byol: true\n packageCode: VM02\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 7.0.14\n hostname: test\n coreCount: 2\n termLength: 1\n additionalBandwidth: 50\n aclTemplateId: XXXXXXXX\n vendorConfiguration:\n adminPassword: XXXXX\n controller1: X.X.X.X\nvariables:\n # Create Fortinet SDWAN single device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example infoblox ha device\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 iNFOBLOXSV = new equinix.networkedge.Device(\"INFOBLOX-SV\", {\n name: \"TF_INFOBLOX\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"INFOBLOX-GRID-MEMBER\",\n selfManaged: true,\n connectivity: \"PRIVATE\",\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"9.0.5\",\n coreCount: 8,\n termLength: 1,\n vendorConfiguration: {\n adminPassword: \"X.X.X.X\",\n ipAddress: \"X.X.X.X\",\n subnetMaskIp: \"X.X.X.X\",\n gatewayIp: \"X.X.X.X\",\n },\n secondaryDevice: {\n name: \"TF_INFOBLOX-Sec\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n accountNumber: sv.apply(sv =\u003e sv.number),\n notifications: [\"test@eq.com\"],\n vendorConfiguration: {\n adminPassword: \"X.X.X.X\",\n ipAddress: \"X.X.X.X\",\n subnetMaskIp: \"X.X.X.X\",\n gatewayIp: \"X.X.X.X\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\ni_nfobloxsv = equinix.networkedge.Device(\"INFOBLOX-SV\",\n name=\"TF_INFOBLOX\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"INFOBLOX-GRID-MEMBER\",\n self_managed=True,\n connectivity=\"PRIVATE\",\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"9.0.5\",\n core_count=8,\n term_length=1,\n vendor_configuration={\n \"adminPassword\": \"X.X.X.X\",\n \"ipAddress\": \"X.X.X.X\",\n \"subnetMaskIp\": \"X.X.X.X\",\n \"gatewayIp\": \"X.X.X.X\",\n },\n secondary_device={\n \"name\": \"TF_INFOBLOX-Sec\",\n \"metro_code\": sv.metro_code,\n \"account_number\": sv.number,\n \"notifications\": [\"test@eq.com\"],\n \"vendor_configuration\": {\n \"adminPassword\": \"X.X.X.X\",\n \"ipAddress\": \"X.X.X.X\",\n \"subnetMaskIp\": \"X.X.X.X\",\n \"gatewayIp\": \"X.X.X.X\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"INFOBLOX-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_INFOBLOX\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"INFOBLOX-GRID-MEMBER\"),\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@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"9.0.5\"),\n\t\t\tCoreCount: pulumi.Int(8),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"adminPassword\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"ipAddress\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"subnetMaskIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"gatewayIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_INFOBLOX-Sec\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"adminPassword\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"ipAddress\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"subnetMaskIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"gatewayIp\": pulumi.String(\"X.X.X.X\"),\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 iNFOBLOXSV = new Equinix.NetworkEdge.Device(\"INFOBLOX-SV\", new()\n {\n Name = \"TF_INFOBLOX\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"INFOBLOX-GRID-MEMBER\",\n SelfManaged = true,\n Connectivity = \"PRIVATE\",\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"9.0.5\",\n CoreCount = 8,\n TermLength = 1,\n VendorConfiguration = \n {\n { \"adminPassword\", \"X.X.X.X\" },\n { \"ipAddress\", \"X.X.X.X\" },\n { \"subnetMaskIp\", \"X.X.X.X\" },\n { \"gatewayIp\", \"X.X.X.X\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_INFOBLOX-Sec\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n VendorConfiguration = \n {\n { \"adminPassword\", \"X.X.X.X\" },\n { \"ipAddress\", \"X.X.X.X\" },\n { \"subnetMaskIp\", \"X.X.X.X\" },\n { \"gatewayIp\", \"X.X.X.X\" },\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.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 .metroCode(\"SV\")\n .build());\n\n var iNFOBLOXSV = new Device(\"iNFOBLOXSV\", DeviceArgs.builder()\n .name(\"TF_INFOBLOX\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"INFOBLOX-GRID-MEMBER\")\n .selfManaged(true)\n .connectivity(\"PRIVATE\")\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"9.0.5\")\n .coreCount(8)\n .termLength(1)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"adminPassword\", \"X.X.X.X\"),\n Map.entry(\"ipAddress\", \"X.X.X.X\"),\n Map.entry(\"subnetMaskIp\", \"X.X.X.X\"),\n Map.entry(\"gatewayIp\", \"X.X.X.X\")\n ))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_INFOBLOX-Sec\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .notifications(\"test@eq.com\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"adminPassword\", \"X.X.X.X\"),\n Map.entry(\"ipAddress\", \"X.X.X.X\"),\n Map.entry(\"subnetMaskIp\", \"X.X.X.X\"),\n Map.entry(\"gatewayIp\", \"X.X.X.X\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n INFOBLOX-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_INFOBLOX\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: INFOBLOX-GRID-MEMBER\n selfManaged: true\n connectivity: PRIVATE\n byol: true\n packageCode: STD\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 9.0.5\n coreCount: 8\n termLength: 1\n vendorConfiguration:\n adminPassword: X.X.X.X\n ipAddress: X.X.X.X\n subnetMaskIp: X.X.X.X\n gatewayIp: X.X.X.X\n secondaryDevice:\n name: TF_INFOBLOX-Sec\n metroCode: ${sv.metroCode}\n accountNumber: ${sv.number}\n notifications:\n - test@eq.com\n vendorConfiguration:\n adminPassword: X.X.X.X\n ipAddress: X.X.X.X\n subnetMaskIp: X.X.X.X\n gatewayIp: X.X.X.X\nvariables:\n # Create Infoblox Grid Member HA device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example infoblox single device\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 iNFOBLOXSV = new equinix.networkedge.Device(\"INFOBLOX-SV\", {\n name: \"TF_INFOBLOX\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"INFOBLOX-GRID-MEMBER\",\n selfManaged: true,\n byol: true,\n connectivity: \"PRIVATE\",\n packageCode: \"STD\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"9.0.5\",\n coreCount: 8,\n termLength: 1,\n vendorConfiguration: {\n adminPassword: \"xxxxxx\",\n ipAddress: \"X.X.X.X\",\n subnetMaskIp: \"X.X.X.X\",\n gatewayIp: \"X.X.X.X\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\ni_nfobloxsv = equinix.networkedge.Device(\"INFOBLOX-SV\",\n name=\"TF_INFOBLOX\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"INFOBLOX-GRID-MEMBER\",\n self_managed=True,\n byol=True,\n connectivity=\"PRIVATE\",\n package_code=\"STD\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"9.0.5\",\n core_count=8,\n term_length=1,\n vendor_configuration={\n \"adminPassword\": \"xxxxxx\",\n \"ipAddress\": \"X.X.X.X\",\n \"subnetMaskIp\": \"X.X.X.X\",\n \"gatewayIp\": \"X.X.X.X\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"INFOBLOX-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_INFOBLOX\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"INFOBLOX-GRID-MEMBER\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"9.0.5\"),\n\t\t\tCoreCount: pulumi.Int(8),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"adminPassword\": pulumi.String(\"xxxxxx\"),\n\t\t\t\t\"ipAddress\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"subnetMaskIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"gatewayIp\": pulumi.String(\"X.X.X.X\"),\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 iNFOBLOXSV = new Equinix.NetworkEdge.Device(\"INFOBLOX-SV\", new()\n {\n Name = \"TF_INFOBLOX\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"INFOBLOX-GRID-MEMBER\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"PRIVATE\",\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"9.0.5\",\n CoreCount = 8,\n TermLength = 1,\n VendorConfiguration = \n {\n { \"adminPassword\", \"xxxxxx\" },\n { \"ipAddress\", \"X.X.X.X\" },\n { \"subnetMaskIp\", \"X.X.X.X\" },\n { \"gatewayIp\", \"X.X.X.X\" },\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 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 iNFOBLOXSV = new Device(\"iNFOBLOXSV\", DeviceArgs.builder()\n .name(\"TF_INFOBLOX\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"INFOBLOX-GRID-MEMBER\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"PRIVATE\")\n .packageCode(\"STD\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"9.0.5\")\n .coreCount(8)\n .termLength(1)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"adminPassword\", \"xxxxxx\"),\n Map.entry(\"ipAddress\", \"X.X.X.X\"),\n Map.entry(\"subnetMaskIp\", \"X.X.X.X\"),\n Map.entry(\"gatewayIp\", \"X.X.X.X\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n INFOBLOX-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_INFOBLOX\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: INFOBLOX-GRID-MEMBER\n selfManaged: true\n byol: true\n connectivity: PRIVATE\n packageCode: STD\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 9.0.5\n coreCount: 8\n termLength: 1\n vendorConfiguration:\n adminPassword: xxxxxx\n ipAddress: X.X.X.X\n subnetMaskIp: X.X.X.X\n gatewayIp: X.X.X.X\nvariables:\n # Create Infoblox Grid Member Single device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example versa sdwan ha device\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 fTNTSDWANSV = new equinix.networkedge.Device(\"FTNT-SDWAN-SV\", {\n name: \"TF_VERSA-SDWAN\",\n projectId: \"XXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"VERSA_SDWAN\",\n selfManaged: true,\n byol: true,\n packageCode: \"FLEX_VNF_2\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"21.2.3\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 50,\n aclTemplateId: \"XXXXXXXXX\",\n vendorConfiguration: {\n controller1: \"X.X.X.X\",\n controller2: \"X.X.X.X\",\n localId: \"test@test.com\",\n remoteId: \"test@test.com\",\n serialNumber: \"4\",\n },\n secondaryDevice: {\n name: \"Praveena_TF_VERSA\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n accountNumber: sv.apply(sv =\u003e sv.number),\n aclTemplateId: \"XXXXXXXX\",\n notifications: [\"test@eq.com\"],\n vendorConfiguration: {\n controller1: \"X.X.X.X\",\n controller2: \"X.X.X.X\",\n localId: \"test@test.com\",\n remoteId: \"test@test.com\",\n serialNumber: \"4\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nf_tntsdwansv = equinix.networkedge.Device(\"FTNT-SDWAN-SV\",\n name=\"TF_VERSA-SDWAN\",\n project_id=\"XXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"VERSA_SDWAN\",\n self_managed=True,\n byol=True,\n package_code=\"FLEX_VNF_2\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"21.2.3\",\n core_count=2,\n term_length=1,\n additional_bandwidth=50,\n acl_template_id=\"XXXXXXXXX\",\n vendor_configuration={\n \"controller1\": \"X.X.X.X\",\n \"controller2\": \"X.X.X.X\",\n \"localId\": \"test@test.com\",\n \"remoteId\": \"test@test.com\",\n \"serialNumber\": \"4\",\n },\n secondary_device={\n \"name\": \"Praveena_TF_VERSA\",\n \"metro_code\": sv.metro_code,\n \"account_number\": sv.number,\n \"acl_template_id\": \"XXXXXXXX\",\n \"notifications\": [\"test@eq.com\"],\n \"vendor_configuration\": {\n \"controller1\": \"X.X.X.X\",\n \"controller2\": \"X.X.X.X\",\n \"localId\": \"test@test.com\",\n \"remoteId\": \"test@test.com\",\n \"serialNumber\": \"4\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"FTNT-SDWAN-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_VERSA-SDWAN\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"VERSA_SDWAN\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"FLEX_VNF_2\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"21.2.3\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(50),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXXX\"),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"controller1\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"controller2\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"localId\": pulumi.String(\"test@test.com\"),\n\t\t\t\t\"remoteId\": pulumi.String(\"test@test.com\"),\n\t\t\t\t\"serialNumber\": pulumi.String(\"4\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"Praveena_TF_VERSA\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXX\"),\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\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"controller1\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"controller2\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"localId\": pulumi.String(\"test@test.com\"),\n\t\t\t\t\t\"remoteId\": pulumi.String(\"test@test.com\"),\n\t\t\t\t\t\"serialNumber\": pulumi.String(\"4\"),\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 fTNTSDWANSV = new Equinix.NetworkEdge.Device(\"FTNT-SDWAN-SV\", new()\n {\n Name = \"TF_VERSA-SDWAN\",\n ProjectId = \"XXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"VERSA_SDWAN\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"FLEX_VNF_2\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"21.2.3\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 50,\n AclTemplateId = \"XXXXXXXXX\",\n VendorConfiguration = \n {\n { \"controller1\", \"X.X.X.X\" },\n { \"controller2\", \"X.X.X.X\" },\n { \"localId\", \"test@test.com\" },\n { \"remoteId\", \"test@test.com\" },\n { \"serialNumber\", \"4\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"Praveena_TF_VERSA\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n AclTemplateId = \"XXXXXXXX\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n VendorConfiguration = \n {\n { \"controller1\", \"X.X.X.X\" },\n { \"controller2\", \"X.X.X.X\" },\n { \"localId\", \"test@test.com\" },\n { \"remoteId\", \"test@test.com\" },\n { \"serialNumber\", \"4\" },\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.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 .metroCode(\"SV\")\n .build());\n\n var fTNTSDWANSV = new Device(\"fTNTSDWANSV\", DeviceArgs.builder()\n .name(\"TF_VERSA-SDWAN\")\n .projectId(\"XXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"VERSA_SDWAN\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"FLEX_VNF_2\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"21.2.3\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(50)\n .aclTemplateId(\"XXXXXXXXX\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"controller1\", \"X.X.X.X\"),\n Map.entry(\"controller2\", \"X.X.X.X\"),\n Map.entry(\"localId\", \"test@test.com\"),\n Map.entry(\"remoteId\", \"test@test.com\"),\n Map.entry(\"serialNumber\", \"4\")\n ))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"Praveena_TF_VERSA\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .aclTemplateId(\"XXXXXXXX\")\n .notifications(\"test@eq.com\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"controller1\", \"X.X.X.X\"),\n Map.entry(\"controller2\", \"X.X.X.X\"),\n Map.entry(\"localId\", \"test@test.com\"),\n Map.entry(\"remoteId\", \"test@test.com\"),\n Map.entry(\"serialNumber\", \"4\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n FTNT-SDWAN-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_VERSA-SDWAN\n projectId: XXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: VERSA_SDWAN\n selfManaged: true\n byol: true\n packageCode: FLEX_VNF_2\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 21.2.3\n coreCount: 2\n termLength: 1\n additionalBandwidth: 50\n aclTemplateId: XXXXXXXXX\n vendorConfiguration:\n controller1: X.X.X.X\n controller2: X.X.X.X\n localId: test@test.com\n remoteId: test@test.com\n serialNumber: '4'\n secondaryDevice:\n name: Praveena_TF_VERSA\n metroCode: ${sv.metroCode}\n accountNumber: ${sv.number}\n aclTemplateId: XXXXXXXX\n notifications:\n - test@eq.com\n vendorConfiguration:\n controller1: X.X.X.X\n controller2: X.X.X.X\n localId: test@test.com\n remoteId: test@test.com\n serialNumber: '4'\nvariables:\n # Create Fortinet SDWAN single device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example vyos router ha device\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 vYOSAM = new equinix.networkedge.Device(\"VYOS-AM\", {\n name: \"TF_VYOS\",\n projectId: \"XXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"VYOS-ROUTER\",\n selfManaged: true,\n byol: false,\n packageCode: \"STD\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"1.4.1-2501\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 50,\n aclTemplateId: \"XXXXXXXX\",\n sshKey: {\n username: \"test\",\n keyName: \"xxxxxxxx\",\n },\n secondaryDevice: {\n name: \"TF_CHECKPOINT\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n accountNumber: sv.apply(sv =\u003e sv.number),\n hostname: \"test\",\n aclTemplateId: \"XXXXXXXXXXX\",\n notifications: [\"test@eq.com\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nv_yosam = equinix.networkedge.Device(\"VYOS-AM\",\n name=\"TF_VYOS\",\n project_id=\"XXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"VYOS-ROUTER\",\n self_managed=True,\n byol=False,\n package_code=\"STD\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"1.4.1-2501\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n additional_bandwidth=50,\n acl_template_id=\"XXXXXXXX\",\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"xxxxxxxx\",\n },\n secondary_device={\n \"name\": \"TF_CHECKPOINT\",\n \"metro_code\": sv.metro_code,\n \"account_number\": sv.number,\n \"hostname\": \"test\",\n \"acl_template_id\": \"XXXXXXXXXXX\",\n \"notifications\": [\"test@eq.com\"],\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"VYOS-AM\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_VYOS\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"VYOS-ROUTER\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(false),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"1.4.1-2501\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(50),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXX\"),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\tKeyName: pulumi.String(\"xxxxxxxx\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_CHECKPOINT\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXXXXX\"),\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},\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 vYOSAM = new Equinix.NetworkEdge.Device(\"VYOS-AM\", new()\n {\n Name = \"TF_VYOS\",\n ProjectId = \"XXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"VYOS-ROUTER\",\n SelfManaged = true,\n Byol = false,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"1.4.1-2501\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 50,\n AclTemplateId = \"XXXXXXXX\",\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"xxxxxxxx\",\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_CHECKPOINT\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Hostname = \"test\",\n AclTemplateId = \"XXXXXXXXXXX\",\n Notifications = new[]\n {\n \"test@eq.com\",\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.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 .metroCode(\"SV\")\n .build());\n\n var vYOSAM = new Device(\"vYOSAM\", DeviceArgs.builder()\n .name(\"TF_VYOS\")\n .projectId(\"XXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"VYOS-ROUTER\")\n .selfManaged(true)\n .byol(false)\n .packageCode(\"STD\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"1.4.1-2501\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(50)\n .aclTemplateId(\"XXXXXXXX\")\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"xxxxxxxx\")\n .build())\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_CHECKPOINT\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .hostname(\"test\")\n .aclTemplateId(\"XXXXXXXXXXX\")\n .notifications(\"test@eq.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n VYOS-AM:\n type: equinix:networkedge:Device\n properties:\n name: TF_VYOS\n projectId: XXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: VYOS-ROUTER\n selfManaged: true\n byol: false\n packageCode: STD\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 1.4.1-2501\n hostname: test\n coreCount: 2\n termLength: 1\n additionalBandwidth: 50\n aclTemplateId: XXXXXXXX\n sshKey:\n username: test\n keyName: xxxxxxxx\n secondaryDevice:\n name: TF_CHECKPOINT\n metroCode: ${sv.metroCode}\n accountNumber: ${sv.number}\n hostname: test\n aclTemplateId: XXXXXXXXXXX\n notifications:\n - test@eq.com\nvariables:\n # Create VYos Router HA device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example zscaler appc\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 zscalerAppcSingle = new equinix.networkedge.Device(\"zscaler-appc-single\", {\n name: \"tf-zscaler-appc\",\n projectId: \"XXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"ZSCALER-APPC\",\n selfManaged: true,\n byol: true,\n connectivity: \"PRIVATE\",\n packageCode: \"STD\",\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: \"23.395.1\",\n interfaceCount: 1,\n coreCount: 4,\n vendorConfiguration: {\n provisioningKey: \"XXXXXXXXXX\",\n hostname: \"XXXX\",\n },\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nzscaler_appc_single = equinix.networkedge.Device(\"zscaler-appc-single\",\n name=\"tf-zscaler-appc\",\n project_id=\"XXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"ZSCALER-APPC\",\n self_managed=True,\n byol=True,\n connectivity=\"PRIVATE\",\n package_code=\"STD\",\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=\"23.395.1\",\n interface_count=1,\n core_count=4,\n vendor_configuration={\n \"provisioningKey\": \"XXXXXXXXXX\",\n \"hostname\": \"XXXX\",\n },\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"test-key\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"zscaler-appc-single\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-zscaler-appc\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"ZSCALER-APPC\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\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\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"23.395.1\"),\n\t\t\tInterfaceCount: pulumi.Int(1),\n\t\t\tCoreCount: pulumi.Int(4),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"provisioningKey\": pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\t\"hostname\": pulumi.String(\"XXXX\"),\n\t\t\t},\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})\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 zscalerAppcSingle = new Equinix.NetworkEdge.Device(\"zscaler-appc-single\", new()\n {\n Name = \"tf-zscaler-appc\",\n ProjectId = \"XXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"ZSCALER-APPC\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"PRIVATE\",\n PackageCode = \"STD\",\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 = \"23.395.1\",\n InterfaceCount = 1,\n CoreCount = 4,\n VendorConfiguration = \n {\n { \"provisioningKey\", \"XXXXXXXXXX\" },\n { \"hostname\", \"XXXX\" },\n },\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\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 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 zscalerAppcSingle = new Device(\"zscalerAppcSingle\", DeviceArgs.builder()\n .name(\"tf-zscaler-appc\")\n .projectId(\"XXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"ZSCALER-APPC\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"PRIVATE\")\n .packageCode(\"STD\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"23.395.1\")\n .interfaceCount(1)\n .coreCount(4)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"provisioningKey\", \"XXXXXXXXXX\"),\n Map.entry(\"hostname\", \"XXXX\")\n ))\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zscaler-appc-single:\n type: equinix:networkedge:Device\n properties:\n name: tf-zscaler-appc\n projectId: XXXXXX\n metroCode: ${sv.metroCode}\n typeCode: ZSCALER-APPC\n selfManaged: true\n byol: true\n connectivity: PRIVATE\n packageCode: STD\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 23.395.1\n interfaceCount: 1\n coreCount: 4\n vendorConfiguration:\n provisioningKey: XXXXXXXXXX\n hostname: XXXX\n sshKey:\n username: test\n keyName: test-key\nvariables:\n # Create ZSCALER APPC device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example zscaler pse\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 zscalerPseSingle = new equinix.networkedge.Device(\"zscaler-pse-single\", {\n name: \"tf-zscaler-pse\",\n projectId: \"XXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"ZSCALER-PSE\",\n selfManaged: true,\n byol: true,\n connectivity: \"PRIVATE\",\n packageCode: \"STD\",\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: \"23.395.1\",\n interfaceCount: 1,\n coreCount: 4,\n vendorConfiguration: {\n provisioningKey: \"XXXXXXXXXX\",\n hostname: \"XXXX\",\n },\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nzscaler_pse_single = equinix.networkedge.Device(\"zscaler-pse-single\",\n name=\"tf-zscaler-pse\",\n project_id=\"XXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"ZSCALER-PSE\",\n self_managed=True,\n byol=True,\n connectivity=\"PRIVATE\",\n package_code=\"STD\",\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=\"23.395.1\",\n interface_count=1,\n core_count=4,\n vendor_configuration={\n \"provisioningKey\": \"XXXXXXXXXX\",\n \"hostname\": \"XXXX\",\n },\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"test-key\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"zscaler-pse-single\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-zscaler-pse\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"ZSCALER-PSE\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\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\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"23.395.1\"),\n\t\t\tInterfaceCount: pulumi.Int(1),\n\t\t\tCoreCount: pulumi.Int(4),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"provisioningKey\": pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\t\"hostname\": pulumi.String(\"XXXX\"),\n\t\t\t},\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})\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 zscalerPseSingle = new Equinix.NetworkEdge.Device(\"zscaler-pse-single\", new()\n {\n Name = \"tf-zscaler-pse\",\n ProjectId = \"XXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"ZSCALER-PSE\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"PRIVATE\",\n PackageCode = \"STD\",\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 = \"23.395.1\",\n InterfaceCount = 1,\n CoreCount = 4,\n VendorConfiguration = \n {\n { \"provisioningKey\", \"XXXXXXXXXX\" },\n { \"hostname\", \"XXXX\" },\n },\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\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 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 zscalerPseSingle = new Device(\"zscalerPseSingle\", DeviceArgs.builder()\n .name(\"tf-zscaler-pse\")\n .projectId(\"XXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"ZSCALER-PSE\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"PRIVATE\")\n .packageCode(\"STD\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"23.395.1\")\n .interfaceCount(1)\n .coreCount(4)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"provisioningKey\", \"XXXXXXXXXX\"),\n Map.entry(\"hostname\", \"XXXX\")\n ))\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zscaler-pse-single:\n type: equinix:networkedge:Device\n properties:\n name: tf-zscaler-pse\n projectId: XXXXXX\n metroCode: ${sv.metroCode}\n typeCode: ZSCALER-PSE\n selfManaged: true\n byol: true\n connectivity: PRIVATE\n packageCode: STD\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 23.395.1\n interfaceCount: 1\n coreCount: 4\n vendorConfiguration:\n provisioningKey: XXXXXXXXXX\n hostname: XXXX\n sshKey:\n username: test\n keyName: test-key\nvariables:\n # Create ZSCALER APPC device\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"DC\"),\n\t\t}, nil)\n\t\tsv := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(dc networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026dc.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(dc networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026dc.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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(_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 .hostname(\"csr1000v-p\")\n .termLength(12)\n .accountNumber(dc.applyValue(_dc -\u003e _dc.number()))\n .version(\"16.09.05\")\n .coreCount(2)\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"tf-csr1000v-s\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .hostname(\"csr1000v-s\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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(_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 .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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_10\",\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_10\",\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_10\",\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_10\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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(std.FileOutput(ctx, std.FileOutputArgs{\n\t\t\t\tInput: pulumi.String(filepath),\n\t\t\t}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput).ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"AVIATRIX_EDGE_10\"),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"AVIATRIX_EDGE_10\"),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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_10\",\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_10\",\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.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\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()).applyValue(_invoke -\u003e _invoke.result()))\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .deviceTypeCode(\"AVIATRIX_EDGE_10\")\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(_sv -\u003e _sv.metroCode()))\n .typeCode(\"AVIATRIX_EDGE_10\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"john@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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_10\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_10\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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(_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.applyValue(_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(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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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(_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.applyValue(_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(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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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(_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.applyValue(_sv -\u003e _sv.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(_sv -\u003e _sv.metroCode()))\n .hostname(\"arista-s\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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 \"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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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(_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.applyValue(_sv -\u003e _sv.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(_sv -\u003e _sv.metroCode()))\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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(std.FileOutput(ctx, std.FileOutputArgs{\n\t\t\t\tInput: pulumi.Any(filepath),\n\t\t\t}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput).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\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(std.FileOutput(ctx, std.FileOutputArgs{\n\t\t\t\tInput: pulumi.Any(filepath),\n\t\t\t}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput).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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\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()).applyValue(_invoke -\u003e _invoke.result()))\n .metroCode(sv.applyValue(_sv -\u003e _sv.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()).applyValue(_invoke -\u003e _invoke.result()))\n .metroCode(sv.applyValue(_sv -\u003e _sv.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(_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.applyValue(_sv -\u003e _sv.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(_sv -\u003e _sv.metroCode()))\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.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 Aviatrix Transit Edge\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_TRANSIT_EDGE\",\n processType: equinix.networkedge.FileType.CloudInit,\n selfManaged: true,\n byol: true,\n});\nconst aviatrixTransitEdgeSingle = new equinix.networkedge.Device(\"aviatrix-transit-edge-single\", {\n name: \"tf-aviatrix\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"AVIATRIX_TRANSIT_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: \"7.2.a\",\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_TRANSIT_EDGE\",\n process_type=equinix.networkedge.FileType.CLOUD_INIT,\n self_managed=True,\n byol=True)\naviatrix_transit_edge_single = equinix.networkedge.Device(\"aviatrix-transit-edge-single\",\n name=\"tf-aviatrix\",\n metro_code=sv.metro_code,\n type_code=\"AVIATRIX_TRANSIT_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=\"7.2.a\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\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(std.FileOutput(ctx, std.FileOutputArgs{\n\t\t\t\tInput: pulumi.String(filepath),\n\t\t\t}, nil).ApplyT(func(invoke std.FileResult) (*string, error) {\n\t\t\t\treturn invoke.Result, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput).ApplyT(func(x *string) equinix.Metro { return equinix.Metro(*x) }).(equinix.MetroOutput),\n\t\t\tDeviceTypeCode: pulumi.String(\"AVIATRIX_TRANSIT_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, \"aviatrix-transit-edge-single\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-aviatrix\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"AVIATRIX_TRANSIT_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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"7.2.a\"),\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_TRANSIT_EDGE\",\n ProcessType = Equinix.NetworkEdge.FileType.CloudInit,\n SelfManaged = true,\n Byol = true,\n });\n\n var aviatrixTransitEdgeSingle = new Equinix.NetworkEdge.Device(\"aviatrix-transit-edge-single\", new()\n {\n Name = \"tf-aviatrix\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"AVIATRIX_TRANSIT_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 = \"7.2.a\",\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.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\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()).applyValue(_invoke -\u003e _invoke.result()))\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .deviceTypeCode(\"AVIATRIX_TRANSIT_EDGE\")\n .processType(\"CLOUD_INIT\")\n .selfManaged(true)\n .byol(true)\n .build());\n\n var aviatrixTransitEdgeSingle = new Device(\"aviatrixTransitEdgeSingle\", DeviceArgs.builder()\n .name(\"tf-aviatrix\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"AVIATRIX_TRANSIT_EDGE\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"john@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"7.2.a\")\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_TRANSIT_EDGE\n processType: CLOUD_INIT\n selfManaged: true\n byol: true\n aviatrix-transit-edge-single:\n type: equinix:networkedge:Device\n properties:\n name: tf-aviatrix\n metroCode: ${sv.metroCode}\n typeCode: AVIATRIX_TRANSIT_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: 7.2.a\n coreCount: 2\n cloudInitFileId: ${aviatrixCloudinitFile.uuid}\n aclTemplateId: c06150ea-b604-4ad1-832a-d63936e9b938\nvariables:\n # Create self configured single Aviatrix Transit Edge 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 aruba edgeconnect ha device\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 aRUBAEDGECONNECTAM = new equinix.networkedge.Device(\"ARUBA-EDGECONNECT-AM\", {\n name: \"TF_Aruba_Edge_Connect\",\n projectId: \"XXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"EDGECONNECT-SDWAN\",\n selfManaged: true,\n byol: true,\n packageCode: \"EC-V\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"9.4.2.3\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 50,\n interfaceCount: 32,\n aclTemplateId: \"XXXXXXX\",\n vendorConfiguration: {\n accountKey: \"xxxxx\",\n accountName: \"xxxx\",\n applianceTag: \"tests\",\n hostname: \"test\",\n },\n secondaryDevice: {\n name: \"TF_CHECKPOINT\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n accountNumber: sv.apply(sv =\u003e sv.number),\n aclTemplateId: \"XXXXXXX\",\n notifications: [\"test@eq.com\"],\n vendorConfiguration: {\n accountKey: \"xxxxx\",\n accountName: \"xxxx\",\n applianceTag: \"test\",\n hostname: \"test\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\na_rubaedgeconnectam = equinix.networkedge.Device(\"ARUBA-EDGECONNECT-AM\",\n name=\"TF_Aruba_Edge_Connect\",\n project_id=\"XXXXX\",\n metro_code=sv.metro_code,\n type_code=\"EDGECONNECT-SDWAN\",\n self_managed=True,\n byol=True,\n package_code=\"EC-V\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"9.4.2.3\",\n core_count=2,\n term_length=1,\n additional_bandwidth=50,\n interface_count=32,\n acl_template_id=\"XXXXXXX\",\n vendor_configuration={\n \"accountKey\": \"xxxxx\",\n \"accountName\": \"xxxx\",\n \"applianceTag\": \"tests\",\n \"hostname\": \"test\",\n },\n secondary_device={\n \"name\": \"TF_CHECKPOINT\",\n \"metro_code\": sv.metro_code,\n \"account_number\": sv.number,\n \"acl_template_id\": \"XXXXXXX\",\n \"notifications\": [\"test@eq.com\"],\n \"vendor_configuration\": {\n \"accountKey\": \"xxxxx\",\n \"accountName\": \"xxxx\",\n \"applianceTag\": \"test\",\n \"hostname\": \"test\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"ARUBA-EDGECONNECT-AM\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_Aruba_Edge_Connect\"),\n\t\t\tProjectId: pulumi.String(\"XXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"EDGECONNECT-SDWAN\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"EC-V\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"9.4.2.3\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(50),\n\t\t\tInterfaceCount: pulumi.Int(32),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXX\"),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"accountKey\": pulumi.String(\"xxxxx\"),\n\t\t\t\t\"accountName\": pulumi.String(\"xxxx\"),\n\t\t\t\t\"applianceTag\": pulumi.String(\"tests\"),\n\t\t\t\t\"hostname\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_CHECKPOINT\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAclTemplateId: pulumi.String(\"XXXXXXX\"),\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\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"accountKey\": pulumi.String(\"xxxxx\"),\n\t\t\t\t\t\"accountName\": pulumi.String(\"xxxx\"),\n\t\t\t\t\t\"applianceTag\": pulumi.String(\"test\"),\n\t\t\t\t\t\"hostname\": pulumi.String(\"test\"),\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 aRUBAEDGECONNECTAM = new Equinix.NetworkEdge.Device(\"ARUBA-EDGECONNECT-AM\", new()\n {\n Name = \"TF_Aruba_Edge_Connect\",\n ProjectId = \"XXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"EDGECONNECT-SDWAN\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"EC-V\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"9.4.2.3\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 50,\n InterfaceCount = 32,\n AclTemplateId = \"XXXXXXX\",\n VendorConfiguration = \n {\n { \"accountKey\", \"xxxxx\" },\n { \"accountName\", \"xxxx\" },\n { \"applianceTag\", \"tests\" },\n { \"hostname\", \"test\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_CHECKPOINT\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n AclTemplateId = \"XXXXXXX\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n VendorConfiguration = \n {\n { \"accountKey\", \"xxxxx\" },\n { \"accountName\", \"xxxx\" },\n { \"applianceTag\", \"test\" },\n { \"hostname\", \"test\" },\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.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 .metroCode(\"SV\")\n .build());\n\n var aRUBAEDGECONNECTAM = new Device(\"aRUBAEDGECONNECTAM\", DeviceArgs.builder()\n .name(\"TF_Aruba_Edge_Connect\")\n .projectId(\"XXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"EDGECONNECT-SDWAN\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"EC-V\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"9.4.2.3\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(50)\n .interfaceCount(32)\n .aclTemplateId(\"XXXXXXX\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"accountKey\", \"xxxxx\"),\n Map.entry(\"accountName\", \"xxxx\"),\n Map.entry(\"applianceTag\", \"tests\"),\n Map.entry(\"hostname\", \"test\")\n ))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_CHECKPOINT\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .aclTemplateId(\"XXXXXXX\")\n .notifications(\"test@eq.com\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"accountKey\", \"xxxxx\"),\n Map.entry(\"accountName\", \"xxxx\"),\n Map.entry(\"applianceTag\", \"test\"),\n Map.entry(\"hostname\", \"test\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ARUBA-EDGECONNECT-AM:\n type: equinix:networkedge:Device\n properties:\n name: TF_Aruba_Edge_Connect\n projectId: XXXXX\n metroCode: ${sv.metroCode}\n typeCode: EDGECONNECT-SDWAN\n selfManaged: true\n byol: true\n packageCode: EC-V\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 9.4.2.3\n coreCount: 2\n termLength: 1\n additionalBandwidth: 50\n interfaceCount: 32\n aclTemplateId: XXXXXXX\n vendorConfiguration:\n accountKey: xxxxx\n accountName: xxxx\n applianceTag: tests\n hostname: test\n secondaryDevice:\n name: TF_CHECKPOINT\n metroCode: ${sv.metroCode}\n accountNumber: ${sv.number}\n aclTemplateId: XXXXXXX\n notifications:\n - test@eq.com\n vendorConfiguration:\n accountKey: xxxxx\n accountName: xxxx\n applianceTag: test\n hostname: test\nvariables:\n # Create Aruba Edgeconnect SDWAN HA device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example c8000v byol with bandwidth throughput\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 c8000VByolThroughput = new equinix.networkedge.Device(\"c8000v-byol-throughput\", {\n name: \"tf-c8000v-byol\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"C8000V\",\n selfManaged: true,\n byol: true,\n packageCode: \"network-essentials\",\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: \"17.11.01a\",\n interfaceCount: 10,\n coreCount: 2,\n throughput: 100,\n throughputUnit: equinix.networkedge.ThroughputUnit.Mbps,\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n aclTemplateId: \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nc8000_v_byol_throughput = equinix.networkedge.Device(\"c8000v-byol-throughput\",\n name=\"tf-c8000v-byol\",\n metro_code=sv.metro_code,\n type_code=\"C8000V\",\n self_managed=True,\n byol=True,\n package_code=\"network-essentials\",\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=\"17.11.01a\",\n interface_count=10,\n core_count=2,\n throughput=100,\n throughput_unit=equinix.networkedge.ThroughputUnit.MBPS,\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"test-key\",\n },\n acl_template_id=\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\")\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"c8000v-byol-throughput\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-c8000v-byol\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\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(\"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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"17.11.01a\"),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tThroughput: pulumi.Int(100),\n\t\t\tThroughputUnit: pulumi.String(networkedge.ThroughputUnitMbps),\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})\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 c8000VByolThroughput = new Equinix.NetworkEdge.Device(\"c8000v-byol-throughput\", new()\n {\n Name = \"tf-c8000v-byol\",\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 \"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 = \"17.11.01a\",\n InterfaceCount = 10,\n CoreCount = 2,\n Throughput = 100,\n ThroughputUnit = Equinix.NetworkEdge.ThroughputUnit.Mbps,\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\n },\n AclTemplateId = \"0bff6e05-f0e7-44cd-804a-25b92b835f8b\",\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 .metroCode(\"SV\")\n .build());\n\n var c8000VByolThroughput = new Device(\"c8000VByolThroughput\", DeviceArgs.builder()\n .name(\"tf-c8000v-byol\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"C8000V\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"network-essentials\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"17.11.01a\")\n .interfaceCount(10)\n .coreCount(2)\n .throughput(100)\n .throughputUnit(\"Mbps\")\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .aclTemplateId(\"0bff6e05-f0e7-44cd-804a-25b92b835f8b\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n c8000v-byol-throughput:\n type: equinix:networkedge:Device\n properties:\n name: tf-c8000v-byol\n metroCode: ${sv.metroCode}\n typeCode: C8000V\n selfManaged: true\n byol: true\n packageCode: network-essentials\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 17.11.01a\n interfaceCount: 10\n coreCount: 2\n throughput: '100'\n throughputUnit: Mbps\n sshKey:\n username: test\n keyName: test-key\n aclTemplateId: 0bff6e05-f0e7-44cd-804a-25b92b835f8b\nvariables:\n # Create C8000V BYOL device with numeric bandwidth throughput information\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example checkpoint single device\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 cHECKPOINTSV = new equinix.networkedge.Device(\"CHECKPOINT-SV\", {\n name: \"TF_CHECKPOINT\",\n projectId: \"XXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"CGUARD\",\n selfManaged: true,\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"R81.20\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 5,\n aclTemplateId: \"XXXXXXX\",\n sshKey: {\n username: \"XXXXX\",\n keyName: \"XXXXXX\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nc_heckpointsv = equinix.networkedge.Device(\"CHECKPOINT-SV\",\n name=\"TF_CHECKPOINT\",\n project_id=\"XXXX\",\n metro_code=sv.metro_code,\n type_code=\"CGUARD\",\n self_managed=True,\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"R81.20\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n additional_bandwidth=5,\n acl_template_id=\"XXXXXXX\",\n ssh_key={\n \"username\": \"XXXXX\",\n \"key_name\": \"XXXXXX\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"CHECKPOINT-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_CHECKPOINT\"),\n\t\t\tProjectId: pulumi.String(\"XXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"CGUARD\"),\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@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"R81.20\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(5),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXX\"),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"XXXXX\"),\n\t\t\t\tKeyName: pulumi.String(\"XXXXXX\"),\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 cHECKPOINTSV = new Equinix.NetworkEdge.Device(\"CHECKPOINT-SV\", new()\n {\n Name = \"TF_CHECKPOINT\",\n ProjectId = \"XXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"CGUARD\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"R81.20\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 5,\n AclTemplateId = \"XXXXXXX\",\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"XXXXX\",\n KeyName = \"XXXXXX\",\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 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 cHECKPOINTSV = new Device(\"cHECKPOINTSV\", DeviceArgs.builder()\n .name(\"TF_CHECKPOINT\")\n .projectId(\"XXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"CGUARD\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"R81.20\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(5)\n .aclTemplateId(\"XXXXXXX\")\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"XXXXX\")\n .keyName(\"XXXXXX\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n CHECKPOINT-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_CHECKPOINT\n projectId: XXXX\n metroCode: ${sv.metroCode}\n typeCode: CGUARD\n selfManaged: true\n byol: true\n packageCode: STD\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: R81.20\n hostname: test\n coreCount: 2\n termLength: 1\n additionalBandwidth: 5\n aclTemplateId: XXXXXXX\n sshKey:\n username: XXXXX\n keyName: XXXXXX\nvariables:\n # Create Checkpoint single device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example f5xc single\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 f5XcSingle = new equinix.networkedge.Device(\"f5xc-single\", {\n name: \"tf-f5xc\",\n projectId: \"XXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"F5XC\",\n selfManaged: true,\n byol: true,\n connectivity: \"INTERNET-ACCESS\",\n packageCode: \"STD\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n termLength: 1,\n accountNumber: sv.apply(sv =\u003e sv.number),\n aclTemplateId: \"xxxx\",\n version: \"9.2025.17\",\n interfaceCount: 8,\n coreCount: 8,\n vendorConfiguration: {\n token: \"XXXXXXXXXX\",\n hostname: \"XXXX\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nf5_xc_single = equinix.networkedge.Device(\"f5xc-single\",\n name=\"tf-f5xc\",\n project_id=\"XXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"F5XC\",\n self_managed=True,\n byol=True,\n connectivity=\"INTERNET-ACCESS\",\n package_code=\"STD\",\n notifications=[\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n ],\n term_length=1,\n account_number=sv.number,\n acl_template_id=\"xxxx\",\n version=\"9.2025.17\",\n interface_count=8,\n core_count=8,\n vendor_configuration={\n \"token\": \"XXXXXXXXXX\",\n \"hostname\": \"XXXX\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"f5xc-single\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-f5xc\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"F5XC\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"INTERNET-ACCESS\"),\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\tpulumi.String(\"marry@equinix.com\"),\n\t\t\t\tpulumi.String(\"fred@equinix.com\"),\n\t\t\t},\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tAclTemplateId: pulumi.String(\"xxxx\"),\n\t\t\tVersion: pulumi.String(\"9.2025.17\"),\n\t\t\tInterfaceCount: pulumi.Int(8),\n\t\t\tCoreCount: pulumi.Int(8),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"token\": pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\t\"hostname\": pulumi.String(\"XXXX\"),\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 f5XcSingle = new Equinix.NetworkEdge.Device(\"f5xc-single\", new()\n {\n Name = \"tf-f5xc\",\n ProjectId = \"XXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"F5XC\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"INTERNET-ACCESS\",\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\",\n },\n TermLength = 1,\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n AclTemplateId = \"xxxx\",\n Version = \"9.2025.17\",\n InterfaceCount = 8,\n CoreCount = 8,\n VendorConfiguration = \n {\n { \"token\", \"XXXXXXXXXX\" },\n { \"hostname\", \"XXXX\" },\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 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 f5XcSingle = new Device(\"f5XcSingle\", DeviceArgs.builder()\n .name(\"tf-f5xc\")\n .projectId(\"XXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"F5XC\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"INTERNET-ACCESS\")\n .packageCode(\"STD\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(1)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .aclTemplateId(\"xxxx\")\n .version(\"9.2025.17\")\n .interfaceCount(8)\n .coreCount(8)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"token\", \"XXXXXXXXXX\"),\n Map.entry(\"hostname\", \"XXXX\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n f5xc-single:\n type: equinix:networkedge:Device\n properties:\n name: tf-f5xc\n projectId: XXXXXX\n metroCode: ${sv.metroCode}\n typeCode: F5XC\n selfManaged: true\n byol: true\n connectivity: INTERNET-ACCESS\n packageCode: STD\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 1\n accountNumber: ${sv.number}\n aclTemplateId: xxxx\n version: 9.2025.17\n interfaceCount: 8\n coreCount: 8\n vendorConfiguration:\n token: XXXXXXXXXX\n hostname: XXXX\nvariables:\n # Create F5XC device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example fortigate firewall ha device znpd dhcp\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 name: \"account-name\",\n});\nconst fTNTFIREWALLSV = new equinix.networkedge.Device(\"FTNT-FIREWALL-SV\", {\n name: \"TF_FTNT-FIREWALL\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"FG-VM\",\n selfManaged: true,\n byol: true,\n interfaceCount: 10,\n connectivity: \"PRIVATE\",\n packageCode: \"VM02\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"7.6.3\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n vendorConfiguration: {\n ipAddressType: \"DHCP\",\n managementInterfaceId: \"6\",\n },\n secondaryDevice: {\n name: \"TF_FTNT-FIREWALL-secondary\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n hostname: \"fg-vm-znpd\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n accountNumber: sv.apply(sv =\u003e sv.number),\n vendorConfiguration: {\n ipAddressType: \"DHCP\",\n managementInterfaceId: \"6\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\",\n name=\"account-name\")\nf_tntfirewallsv = equinix.networkedge.Device(\"FTNT-FIREWALL-SV\",\n name=\"TF_FTNT-FIREWALL\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"FG-VM\",\n self_managed=True,\n byol=True,\n interface_count=10,\n connectivity=\"PRIVATE\",\n package_code=\"VM02\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"7.6.3\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n vendor_configuration={\n \"ipAddressType\": \"DHCP\",\n \"managementInterfaceId\": \"6\",\n },\n secondary_device={\n \"name\": \"TF_FTNT-FIREWALL-secondary\",\n \"metro_code\": sv.metro_code,\n \"hostname\": \"fg-vm-znpd\",\n \"notifications\": [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n \"account_number\": sv.number,\n \"vendor_configuration\": {\n \"ipAddressType\": \"DHCP\",\n \"managementInterfaceId\": \"6\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"FTNT-FIREWALL-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_FTNT-FIREWALL\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"FG-VM\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tPackageCode: pulumi.String(\"VM02\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"7.6.3\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"ipAddressType\": pulumi.String(\"DHCP\"),\n\t\t\t\t\"managementInterfaceId\": pulumi.String(\"6\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_FTNT-FIREWALL-secondary\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tHostname: pulumi.String(\"fg-vm-znpd\"),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"ipAddressType\": pulumi.String(\"DHCP\"),\n\t\t\t\t\t\"managementInterfaceId\": pulumi.String(\"6\"),\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 Name = \"account-name\",\n });\n\n var fTNTFIREWALLSV = new Equinix.NetworkEdge.Device(\"FTNT-FIREWALL-SV\", new()\n {\n Name = \"TF_FTNT-FIREWALL\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"FG-VM\",\n SelfManaged = true,\n Byol = true,\n InterfaceCount = 10,\n Connectivity = \"PRIVATE\",\n PackageCode = \"VM02\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"7.6.3\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n VendorConfiguration = \n {\n { \"ipAddressType\", \"DHCP\" },\n { \"managementInterfaceId\", \"6\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_FTNT-FIREWALL-secondary\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Hostname = \"fg-vm-znpd\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n VendorConfiguration = \n {\n { \"ipAddressType\", \"DHCP\" },\n { \"managementInterfaceId\", \"6\" },\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.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 .metroCode(\"SV\")\n .name(\"account-name\")\n .build());\n\n var fTNTFIREWALLSV = new Device(\"fTNTFIREWALLSV\", DeviceArgs.builder()\n .name(\"TF_FTNT-FIREWALL\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"FG-VM\")\n .selfManaged(true)\n .byol(true)\n .interfaceCount(10)\n .connectivity(\"PRIVATE\")\n .packageCode(\"VM02\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"7.6.3\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"ipAddressType\", \"DHCP\"),\n Map.entry(\"managementInterfaceId\", \"6\")\n ))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_FTNT-FIREWALL-secondary\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .hostname(\"fg-vm-znpd\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"ipAddressType\", \"DHCP\"),\n Map.entry(\"managementInterfaceId\", \"6\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n FTNT-FIREWALL-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_FTNT-FIREWALL\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: FG-VM\n selfManaged: true\n byol: true\n interfaceCount: 10\n connectivity: PRIVATE\n packageCode: VM02\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 7.6.3\n hostname: test\n coreCount: 2\n termLength: 1\n vendorConfiguration:\n ipAddressType: DHCP\n managementInterfaceId: '6'\n secondaryDevice:\n name: TF_FTNT-FIREWALL-secondary\n metroCode: ${sv.metroCode}\n hostname: fg-vm-znpd\n notifications:\n - john@equinix.com\n - marry@equinix.com\n accountNumber: ${sv.number}\n vendorConfiguration:\n ipAddressType: DHCP\n managementInterfaceId: '6'\nvariables:\n # Create Fortinet VM firewall ha device with connectivity PRIVATE and IP Address Type as DHCP\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n name: account-name\n```\n{{% /example %}}\n\n{{% example %}}\n### example fortigate firewall ha device znpd no ip\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 name: \"account-name\",\n});\nconst fTNTFIREWALLSV = new equinix.networkedge.Device(\"FTNT-FIREWALL-SV\", {\n name: \"TF_FTNT-FIREWALL\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"FG-VM\",\n interfaceCount: 10,\n selfManaged: true,\n byol: true,\n connectivity: \"PRIVATE\",\n packageCode: \"VM02\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"7.6.3\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n vendorConfiguration: {\n ipAddressType: \"NO_IP_ADDRESS\",\n },\n secondaryDevice: {\n name: \"TF_FTNT-FIREWALL-secondary\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n hostname: \"fg-vm-znpd\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n accountNumber: sv.apply(sv =\u003e sv.number),\n vendorConfiguration: {\n ipAddressType: \"NO_IP_ADDRESS\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\",\n name=\"account-name\")\nf_tntfirewallsv = equinix.networkedge.Device(\"FTNT-FIREWALL-SV\",\n name=\"TF_FTNT-FIREWALL\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"FG-VM\",\n interface_count=10,\n self_managed=True,\n byol=True,\n connectivity=\"PRIVATE\",\n package_code=\"VM02\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"7.6.3\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n vendor_configuration={\n \"ipAddressType\": \"NO_IP_ADDRESS\",\n },\n secondary_device={\n \"name\": \"TF_FTNT-FIREWALL-secondary\",\n \"metro_code\": sv.metro_code,\n \"hostname\": \"fg-vm-znpd\",\n \"notifications\": [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n \"account_number\": sv.number,\n \"vendor_configuration\": {\n \"ipAddressType\": \"NO_IP_ADDRESS\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"FTNT-FIREWALL-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_FTNT-FIREWALL\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"FG-VM\"),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tPackageCode: pulumi.String(\"VM02\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"7.6.3\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"ipAddressType\": pulumi.String(\"NO_IP_ADDRESS\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_FTNT-FIREWALL-secondary\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tHostname: pulumi.String(\"fg-vm-znpd\"),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"ipAddressType\": pulumi.String(\"NO_IP_ADDRESS\"),\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 Name = \"account-name\",\n });\n\n var fTNTFIREWALLSV = new Equinix.NetworkEdge.Device(\"FTNT-FIREWALL-SV\", new()\n {\n Name = \"TF_FTNT-FIREWALL\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"FG-VM\",\n InterfaceCount = 10,\n SelfManaged = true,\n Byol = true,\n Connectivity = \"PRIVATE\",\n PackageCode = \"VM02\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"7.6.3\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n VendorConfiguration = \n {\n { \"ipAddressType\", \"NO_IP_ADDRESS\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_FTNT-FIREWALL-secondary\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Hostname = \"fg-vm-znpd\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n VendorConfiguration = \n {\n { \"ipAddressType\", \"NO_IP_ADDRESS\" },\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.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 .metroCode(\"SV\")\n .name(\"account-name\")\n .build());\n\n var fTNTFIREWALLSV = new Device(\"fTNTFIREWALLSV\", DeviceArgs.builder()\n .name(\"TF_FTNT-FIREWALL\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"FG-VM\")\n .interfaceCount(10)\n .selfManaged(true)\n .byol(true)\n .connectivity(\"PRIVATE\")\n .packageCode(\"VM02\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"7.6.3\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .vendorConfiguration(Map.of(\"ipAddressType\", \"NO_IP_ADDRESS\"))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_FTNT-FIREWALL-secondary\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .hostname(\"fg-vm-znpd\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .vendorConfiguration(Map.of(\"ipAddressType\", \"NO_IP_ADDRESS\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n FTNT-FIREWALL-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_FTNT-FIREWALL\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: FG-VM\n interfaceCount: 10\n selfManaged: true\n byol: true\n connectivity: PRIVATE\n packageCode: VM02\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 7.6.3\n hostname: test\n coreCount: 2\n termLength: 1\n vendorConfiguration:\n ipAddressType: NO_IP_ADDRESS\n secondaryDevice:\n name: TF_FTNT-FIREWALL-secondary\n metroCode: ${sv.metroCode}\n hostname: fg-vm-znpd\n notifications:\n - john@equinix.com\n - marry@equinix.com\n accountNumber: ${sv.number}\n vendorConfiguration:\n ipAddressType: NO_IP_ADDRESS\nvariables:\n # Create Fortinet firewall ha device with connectivity PRIVATE and IP Address Type as NO IP Address\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n name: account-name\n```\n{{% /example %}}\n\n{{% example %}}\n### example fortigate firewall ha device znpd static\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 name: \"account-name\",\n});\nconst fTNTFIREWALLSV = new equinix.networkedge.Device(\"FTNT-FIREWALL-SV\", {\n name: \"TF_FTNT-FIREWALL\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n interfaceCount: 10,\n typeCode: \"FG-VM\",\n selfManaged: true,\n byol: true,\n connectivity: \"PRIVATE\",\n packageCode: \"VM02\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"7.6.3\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n vendorConfiguration: {\n gatewayIp: \"X.X.X.X\",\n ipAddress: \"X.X.X.X\",\n ipAddressType: \"STATIC\",\n subnetMaskIp: \"x.x.x.x\",\n managementInterfaceId: \"6\",\n },\n secondaryDevice: {\n name: \"TF_FTNT-FIREWALL-secondary\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n hostname: \"fg-vm-znpd\",\n notifications: [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n accountNumber: sv.apply(sv =\u003e sv.number),\n vendorConfiguration: {\n gatewayIp: \"X.X.X.X\",\n ipAddress: \"X.X.X.X\",\n ipAddressType: \"STATIC\",\n subnetMaskIp: \"X.X.X.X\",\n managementInterfaceId: \"6\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\",\n name=\"account-name\")\nf_tntfirewallsv = equinix.networkedge.Device(\"FTNT-FIREWALL-SV\",\n name=\"TF_FTNT-FIREWALL\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n interface_count=10,\n type_code=\"FG-VM\",\n self_managed=True,\n byol=True,\n connectivity=\"PRIVATE\",\n package_code=\"VM02\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"7.6.3\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n vendor_configuration={\n \"gatewayIp\": \"X.X.X.X\",\n \"ipAddress\": \"X.X.X.X\",\n \"ipAddressType\": \"STATIC\",\n \"subnetMaskIp\": \"x.x.x.x\",\n \"managementInterfaceId\": \"6\",\n },\n secondary_device={\n \"name\": \"TF_FTNT-FIREWALL-secondary\",\n \"metro_code\": sv.metro_code,\n \"hostname\": \"fg-vm-znpd\",\n \"notifications\": [\n \"john@equinix.com\",\n \"marry@equinix.com\",\n ],\n \"account_number\": sv.number,\n \"vendor_configuration\": {\n \"gatewayIp\": \"X.X.X.X\",\n \"ipAddress\": \"X.X.X.X\",\n \"ipAddressType\": \"STATIC\",\n \"subnetMaskIp\": \"X.X.X.X\",\n \"managementInterfaceId\": \"6\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t\tName: pulumi.String(\"account-name\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"FTNT-FIREWALL-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_FTNT-FIREWALL\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tInterfaceCount: pulumi.Int(10),\n\t\t\tTypeCode: pulumi.String(\"FG-VM\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tPackageCode: pulumi.String(\"VM02\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"7.6.3\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"gatewayIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"ipAddress\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"ipAddressType\": pulumi.String(\"STATIC\"),\n\t\t\t\t\"subnetMaskIp\": pulumi.String(\"x.x.x.x\"),\n\t\t\t\t\"managementInterfaceId\": pulumi.String(\"6\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_FTNT-FIREWALL-secondary\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tHostname: pulumi.String(\"fg-vm-znpd\"),\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: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"gatewayIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"ipAddress\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"ipAddressType\": pulumi.String(\"STATIC\"),\n\t\t\t\t\t\"subnetMaskIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"managementInterfaceId\": pulumi.String(\"6\"),\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 Name = \"account-name\",\n });\n\n var fTNTFIREWALLSV = new Equinix.NetworkEdge.Device(\"FTNT-FIREWALL-SV\", new()\n {\n Name = \"TF_FTNT-FIREWALL\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n InterfaceCount = 10,\n TypeCode = \"FG-VM\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"PRIVATE\",\n PackageCode = \"VM02\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"7.6.3\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n VendorConfiguration = \n {\n { \"gatewayIp\", \"X.X.X.X\" },\n { \"ipAddress\", \"X.X.X.X\" },\n { \"ipAddressType\", \"STATIC\" },\n { \"subnetMaskIp\", \"x.x.x.x\" },\n { \"managementInterfaceId\", \"6\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_FTNT-FIREWALL-secondary\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n Hostname = \"fg-vm-znpd\",\n Notifications = new[]\n {\n \"john@equinix.com\",\n \"marry@equinix.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n VendorConfiguration = \n {\n { \"gatewayIp\", \"X.X.X.X\" },\n { \"ipAddress\", \"X.X.X.X\" },\n { \"ipAddressType\", \"STATIC\" },\n { \"subnetMaskIp\", \"X.X.X.X\" },\n { \"managementInterfaceId\", \"6\" },\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.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 .metroCode(\"SV\")\n .name(\"account-name\")\n .build());\n\n var fTNTFIREWALLSV = new Device(\"fTNTFIREWALLSV\", DeviceArgs.builder()\n .name(\"TF_FTNT-FIREWALL\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .interfaceCount(10)\n .typeCode(\"FG-VM\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"PRIVATE\")\n .packageCode(\"VM02\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"7.6.3\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"gatewayIp\", \"X.X.X.X\"),\n Map.entry(\"ipAddress\", \"X.X.X.X\"),\n Map.entry(\"ipAddressType\", \"STATIC\"),\n Map.entry(\"subnetMaskIp\", \"x.x.x.x\"),\n Map.entry(\"managementInterfaceId\", \"6\")\n ))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_FTNT-FIREWALL-secondary\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .hostname(\"fg-vm-znpd\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"gatewayIp\", \"X.X.X.X\"),\n Map.entry(\"ipAddress\", \"X.X.X.X\"),\n Map.entry(\"ipAddressType\", \"STATIC\"),\n Map.entry(\"subnetMaskIp\", \"X.X.X.X\"),\n Map.entry(\"managementInterfaceId\", \"6\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n FTNT-FIREWALL-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_FTNT-FIREWALL\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n interfaceCount: 10\n typeCode: FG-VM\n selfManaged: true\n byol: true\n connectivity: PRIVATE\n packageCode: VM02\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 7.6.3\n hostname: test\n coreCount: 2\n termLength: 1\n vendorConfiguration:\n gatewayIp: X.X.X.X\n ipAddress: X.X.X.X\n ipAddressType: STATIC\n subnetMaskIp: x.x.x.x\n managementInterfaceId: '6'\n secondaryDevice:\n name: TF_FTNT-FIREWALL-secondary\n metroCode: ${sv.metroCode}\n hostname: fg-vm-znpd\n notifications:\n - john@equinix.com\n - marry@equinix.com\n accountNumber: ${sv.number}\n vendorConfiguration:\n gatewayIp: X.X.X.X\n ipAddress: X.X.X.X\n ipAddressType: STATIC\n subnetMaskIp: X.X.X.X\n managementInterfaceId: '6'\nvariables:\n # Create FG VM ha device with connectivity PRIVATE and IP Address Type as STATIC\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n name: account-name\n```\n{{% /example %}}\n\n{{% example %}}\n### example fortigate sdwan single device\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 fTNTSDWANSV = new equinix.networkedge.Device(\"FTNT-SDWAN-SV\", {\n name: \"TF_FTNT-SDWAN\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"FG-SDWAN\",\n selfManaged: true,\n byol: true,\n packageCode: \"VM02\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"7.0.14\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 50,\n aclTemplateId: \"XXXXXXXX\",\n vendorConfiguration: {\n adminPassword: \"XXXXX\",\n controller1: \"X.X.X.X\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nf_tntsdwansv = equinix.networkedge.Device(\"FTNT-SDWAN-SV\",\n name=\"TF_FTNT-SDWAN\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"FG-SDWAN\",\n self_managed=True,\n byol=True,\n package_code=\"VM02\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"7.0.14\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n additional_bandwidth=50,\n acl_template_id=\"XXXXXXXX\",\n vendor_configuration={\n \"adminPassword\": \"XXXXX\",\n \"controller1\": \"X.X.X.X\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"FTNT-SDWAN-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_FTNT-SDWAN\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"FG-SDWAN\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"VM02\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"7.0.14\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(50),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXX\"),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"adminPassword\": pulumi.String(\"XXXXX\"),\n\t\t\t\t\"controller1\": pulumi.String(\"X.X.X.X\"),\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 fTNTSDWANSV = new Equinix.NetworkEdge.Device(\"FTNT-SDWAN-SV\", new()\n {\n Name = \"TF_FTNT-SDWAN\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"FG-SDWAN\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"VM02\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"7.0.14\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 50,\n AclTemplateId = \"XXXXXXXX\",\n VendorConfiguration = \n {\n { \"adminPassword\", \"XXXXX\" },\n { \"controller1\", \"X.X.X.X\" },\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 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 fTNTSDWANSV = new Device(\"fTNTSDWANSV\", DeviceArgs.builder()\n .name(\"TF_FTNT-SDWAN\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"FG-SDWAN\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"VM02\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"7.0.14\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(50)\n .aclTemplateId(\"XXXXXXXX\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"adminPassword\", \"XXXXX\"),\n Map.entry(\"controller1\", \"X.X.X.X\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n FTNT-SDWAN-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_FTNT-SDWAN\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: FG-SDWAN\n selfManaged: true\n byol: true\n packageCode: VM02\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 7.0.14\n hostname: test\n coreCount: 2\n termLength: 1\n additionalBandwidth: 50\n aclTemplateId: XXXXXXXX\n vendorConfiguration:\n adminPassword: XXXXX\n controller1: X.X.X.X\nvariables:\n # Create Fortinet SDWAN single device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example infoblox ha device\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 iNFOBLOXSV = new equinix.networkedge.Device(\"INFOBLOX-SV\", {\n name: \"TF_INFOBLOX\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"INFOBLOX-GRID-MEMBER\",\n selfManaged: true,\n connectivity: \"PRIVATE\",\n byol: true,\n packageCode: \"STD\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"9.0.5\",\n coreCount: 8,\n termLength: 1,\n vendorConfiguration: {\n adminPassword: \"X.X.X.X\",\n ipAddress: \"X.X.X.X\",\n subnetMaskIp: \"X.X.X.X\",\n gatewayIp: \"X.X.X.X\",\n },\n secondaryDevice: {\n name: \"TF_INFOBLOX-Sec\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n accountNumber: sv.apply(sv =\u003e sv.number),\n notifications: [\"test@eq.com\"],\n vendorConfiguration: {\n adminPassword: \"X.X.X.X\",\n ipAddress: \"X.X.X.X\",\n subnetMaskIp: \"X.X.X.X\",\n gatewayIp: \"X.X.X.X\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\ni_nfobloxsv = equinix.networkedge.Device(\"INFOBLOX-SV\",\n name=\"TF_INFOBLOX\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"INFOBLOX-GRID-MEMBER\",\n self_managed=True,\n connectivity=\"PRIVATE\",\n byol=True,\n package_code=\"STD\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"9.0.5\",\n core_count=8,\n term_length=1,\n vendor_configuration={\n \"adminPassword\": \"X.X.X.X\",\n \"ipAddress\": \"X.X.X.X\",\n \"subnetMaskIp\": \"X.X.X.X\",\n \"gatewayIp\": \"X.X.X.X\",\n },\n secondary_device={\n \"name\": \"TF_INFOBLOX-Sec\",\n \"metro_code\": sv.metro_code,\n \"account_number\": sv.number,\n \"notifications\": [\"test@eq.com\"],\n \"vendor_configuration\": {\n \"adminPassword\": \"X.X.X.X\",\n \"ipAddress\": \"X.X.X.X\",\n \"subnetMaskIp\": \"X.X.X.X\",\n \"gatewayIp\": \"X.X.X.X\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"INFOBLOX-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_INFOBLOX\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"INFOBLOX-GRID-MEMBER\"),\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@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"9.0.5\"),\n\t\t\tCoreCount: pulumi.Int(8),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"adminPassword\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"ipAddress\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"subnetMaskIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"gatewayIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_INFOBLOX-Sec\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\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\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"adminPassword\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"ipAddress\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"subnetMaskIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"gatewayIp\": pulumi.String(\"X.X.X.X\"),\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 iNFOBLOXSV = new Equinix.NetworkEdge.Device(\"INFOBLOX-SV\", new()\n {\n Name = \"TF_INFOBLOX\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"INFOBLOX-GRID-MEMBER\",\n SelfManaged = true,\n Connectivity = \"PRIVATE\",\n Byol = true,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"9.0.5\",\n CoreCount = 8,\n TermLength = 1,\n VendorConfiguration = \n {\n { \"adminPassword\", \"X.X.X.X\" },\n { \"ipAddress\", \"X.X.X.X\" },\n { \"subnetMaskIp\", \"X.X.X.X\" },\n { \"gatewayIp\", \"X.X.X.X\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_INFOBLOX-Sec\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n VendorConfiguration = \n {\n { \"adminPassword\", \"X.X.X.X\" },\n { \"ipAddress\", \"X.X.X.X\" },\n { \"subnetMaskIp\", \"X.X.X.X\" },\n { \"gatewayIp\", \"X.X.X.X\" },\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.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 .metroCode(\"SV\")\n .build());\n\n var iNFOBLOXSV = new Device(\"iNFOBLOXSV\", DeviceArgs.builder()\n .name(\"TF_INFOBLOX\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"INFOBLOX-GRID-MEMBER\")\n .selfManaged(true)\n .connectivity(\"PRIVATE\")\n .byol(true)\n .packageCode(\"STD\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"9.0.5\")\n .coreCount(8)\n .termLength(1)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"adminPassword\", \"X.X.X.X\"),\n Map.entry(\"ipAddress\", \"X.X.X.X\"),\n Map.entry(\"subnetMaskIp\", \"X.X.X.X\"),\n Map.entry(\"gatewayIp\", \"X.X.X.X\")\n ))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_INFOBLOX-Sec\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .notifications(\"test@eq.com\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"adminPassword\", \"X.X.X.X\"),\n Map.entry(\"ipAddress\", \"X.X.X.X\"),\n Map.entry(\"subnetMaskIp\", \"X.X.X.X\"),\n Map.entry(\"gatewayIp\", \"X.X.X.X\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n INFOBLOX-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_INFOBLOX\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: INFOBLOX-GRID-MEMBER\n selfManaged: true\n connectivity: PRIVATE\n byol: true\n packageCode: STD\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 9.0.5\n coreCount: 8\n termLength: 1\n vendorConfiguration:\n adminPassword: X.X.X.X\n ipAddress: X.X.X.X\n subnetMaskIp: X.X.X.X\n gatewayIp: X.X.X.X\n secondaryDevice:\n name: TF_INFOBLOX-Sec\n metroCode: ${sv.metroCode}\n accountNumber: ${sv.number}\n notifications:\n - test@eq.com\n vendorConfiguration:\n adminPassword: X.X.X.X\n ipAddress: X.X.X.X\n subnetMaskIp: X.X.X.X\n gatewayIp: X.X.X.X\nvariables:\n # Create Infoblox Grid Member HA device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example infoblox single device\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 iNFOBLOXSV = new equinix.networkedge.Device(\"INFOBLOX-SV\", {\n name: \"TF_INFOBLOX\",\n projectId: \"XXXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"INFOBLOX-GRID-MEMBER\",\n selfManaged: true,\n byol: true,\n connectivity: \"PRIVATE\",\n packageCode: \"STD\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"9.0.5\",\n coreCount: 8,\n termLength: 1,\n vendorConfiguration: {\n adminPassword: \"xxxxxx\",\n ipAddress: \"X.X.X.X\",\n subnetMaskIp: \"X.X.X.X\",\n gatewayIp: \"X.X.X.X\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\ni_nfobloxsv = equinix.networkedge.Device(\"INFOBLOX-SV\",\n name=\"TF_INFOBLOX\",\n project_id=\"XXXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"INFOBLOX-GRID-MEMBER\",\n self_managed=True,\n byol=True,\n connectivity=\"PRIVATE\",\n package_code=\"STD\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"9.0.5\",\n core_count=8,\n term_length=1,\n vendor_configuration={\n \"adminPassword\": \"xxxxxx\",\n \"ipAddress\": \"X.X.X.X\",\n \"subnetMaskIp\": \"X.X.X.X\",\n \"gatewayIp\": \"X.X.X.X\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"INFOBLOX-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_INFOBLOX\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"INFOBLOX-GRID-MEMBER\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"9.0.5\"),\n\t\t\tCoreCount: pulumi.Int(8),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"adminPassword\": pulumi.String(\"xxxxxx\"),\n\t\t\t\t\"ipAddress\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"subnetMaskIp\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"gatewayIp\": pulumi.String(\"X.X.X.X\"),\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 iNFOBLOXSV = new Equinix.NetworkEdge.Device(\"INFOBLOX-SV\", new()\n {\n Name = \"TF_INFOBLOX\",\n ProjectId = \"XXXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"INFOBLOX-GRID-MEMBER\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"PRIVATE\",\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"9.0.5\",\n CoreCount = 8,\n TermLength = 1,\n VendorConfiguration = \n {\n { \"adminPassword\", \"xxxxxx\" },\n { \"ipAddress\", \"X.X.X.X\" },\n { \"subnetMaskIp\", \"X.X.X.X\" },\n { \"gatewayIp\", \"X.X.X.X\" },\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 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 iNFOBLOXSV = new Device(\"iNFOBLOXSV\", DeviceArgs.builder()\n .name(\"TF_INFOBLOX\")\n .projectId(\"XXXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"INFOBLOX-GRID-MEMBER\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"PRIVATE\")\n .packageCode(\"STD\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"9.0.5\")\n .coreCount(8)\n .termLength(1)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"adminPassword\", \"xxxxxx\"),\n Map.entry(\"ipAddress\", \"X.X.X.X\"),\n Map.entry(\"subnetMaskIp\", \"X.X.X.X\"),\n Map.entry(\"gatewayIp\", \"X.X.X.X\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n INFOBLOX-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_INFOBLOX\n projectId: XXXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: INFOBLOX-GRID-MEMBER\n selfManaged: true\n byol: true\n connectivity: PRIVATE\n packageCode: STD\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 9.0.5\n coreCount: 8\n termLength: 1\n vendorConfiguration:\n adminPassword: xxxxxx\n ipAddress: X.X.X.X\n subnetMaskIp: X.X.X.X\n gatewayIp: X.X.X.X\nvariables:\n # Create Infoblox Grid Member Single device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example versa sdwan ha device\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 fTNTSDWANSV = new equinix.networkedge.Device(\"FTNT-SDWAN-SV\", {\n name: \"TF_VERSA-SDWAN\",\n projectId: \"XXXXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"VERSA_SDWAN\",\n selfManaged: true,\n byol: true,\n packageCode: \"FLEX_VNF_2\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"21.2.3\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 50,\n aclTemplateId: \"XXXXXXXXX\",\n vendorConfiguration: {\n controller1: \"X.X.X.X\",\n controller2: \"X.X.X.X\",\n localId: \"test@test.com\",\n remoteId: \"test@test.com\",\n serialNumber: \"4\",\n },\n secondaryDevice: {\n name: \"Praveena_TF_VERSA\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n accountNumber: sv.apply(sv =\u003e sv.number),\n aclTemplateId: \"XXXXXXXX\",\n notifications: [\"test@eq.com\"],\n vendorConfiguration: {\n controller1: \"X.X.X.X\",\n controller2: \"X.X.X.X\",\n localId: \"test@test.com\",\n remoteId: \"test@test.com\",\n serialNumber: \"4\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nf_tntsdwansv = equinix.networkedge.Device(\"FTNT-SDWAN-SV\",\n name=\"TF_VERSA-SDWAN\",\n project_id=\"XXXXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"VERSA_SDWAN\",\n self_managed=True,\n byol=True,\n package_code=\"FLEX_VNF_2\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"21.2.3\",\n core_count=2,\n term_length=1,\n additional_bandwidth=50,\n acl_template_id=\"XXXXXXXXX\",\n vendor_configuration={\n \"controller1\": \"X.X.X.X\",\n \"controller2\": \"X.X.X.X\",\n \"localId\": \"test@test.com\",\n \"remoteId\": \"test@test.com\",\n \"serialNumber\": \"4\",\n },\n secondary_device={\n \"name\": \"Praveena_TF_VERSA\",\n \"metro_code\": sv.metro_code,\n \"account_number\": sv.number,\n \"acl_template_id\": \"XXXXXXXX\",\n \"notifications\": [\"test@eq.com\"],\n \"vendor_configuration\": {\n \"controller1\": \"X.X.X.X\",\n \"controller2\": \"X.X.X.X\",\n \"localId\": \"test@test.com\",\n \"remoteId\": \"test@test.com\",\n \"serialNumber\": \"4\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"FTNT-SDWAN-SV\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_VERSA-SDWAN\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"VERSA_SDWAN\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tPackageCode: pulumi.String(\"FLEX_VNF_2\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"21.2.3\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(50),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXXX\"),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"controller1\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"controller2\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\"localId\": pulumi.String(\"test@test.com\"),\n\t\t\t\t\"remoteId\": pulumi.String(\"test@test.com\"),\n\t\t\t\t\"serialNumber\": pulumi.String(\"4\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"Praveena_TF_VERSA\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXX\"),\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\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"controller1\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"controller2\": pulumi.String(\"X.X.X.X\"),\n\t\t\t\t\t\"localId\": pulumi.String(\"test@test.com\"),\n\t\t\t\t\t\"remoteId\": pulumi.String(\"test@test.com\"),\n\t\t\t\t\t\"serialNumber\": pulumi.String(\"4\"),\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 fTNTSDWANSV = new Equinix.NetworkEdge.Device(\"FTNT-SDWAN-SV\", new()\n {\n Name = \"TF_VERSA-SDWAN\",\n ProjectId = \"XXXXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"VERSA_SDWAN\",\n SelfManaged = true,\n Byol = true,\n PackageCode = \"FLEX_VNF_2\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"21.2.3\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 50,\n AclTemplateId = \"XXXXXXXXX\",\n VendorConfiguration = \n {\n { \"controller1\", \"X.X.X.X\" },\n { \"controller2\", \"X.X.X.X\" },\n { \"localId\", \"test@test.com\" },\n { \"remoteId\", \"test@test.com\" },\n { \"serialNumber\", \"4\" },\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"Praveena_TF_VERSA\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n AclTemplateId = \"XXXXXXXX\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n VendorConfiguration = \n {\n { \"controller1\", \"X.X.X.X\" },\n { \"controller2\", \"X.X.X.X\" },\n { \"localId\", \"test@test.com\" },\n { \"remoteId\", \"test@test.com\" },\n { \"serialNumber\", \"4\" },\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.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 .metroCode(\"SV\")\n .build());\n\n var fTNTSDWANSV = new Device(\"fTNTSDWANSV\", DeviceArgs.builder()\n .name(\"TF_VERSA-SDWAN\")\n .projectId(\"XXXXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"VERSA_SDWAN\")\n .selfManaged(true)\n .byol(true)\n .packageCode(\"FLEX_VNF_2\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"21.2.3\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(50)\n .aclTemplateId(\"XXXXXXXXX\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"controller1\", \"X.X.X.X\"),\n Map.entry(\"controller2\", \"X.X.X.X\"),\n Map.entry(\"localId\", \"test@test.com\"),\n Map.entry(\"remoteId\", \"test@test.com\"),\n Map.entry(\"serialNumber\", \"4\")\n ))\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"Praveena_TF_VERSA\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .aclTemplateId(\"XXXXXXXX\")\n .notifications(\"test@eq.com\")\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"controller1\", \"X.X.X.X\"),\n Map.entry(\"controller2\", \"X.X.X.X\"),\n Map.entry(\"localId\", \"test@test.com\"),\n Map.entry(\"remoteId\", \"test@test.com\"),\n Map.entry(\"serialNumber\", \"4\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n FTNT-SDWAN-SV:\n type: equinix:networkedge:Device\n properties:\n name: TF_VERSA-SDWAN\n projectId: XXXXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: VERSA_SDWAN\n selfManaged: true\n byol: true\n packageCode: FLEX_VNF_2\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 21.2.3\n coreCount: 2\n termLength: 1\n additionalBandwidth: 50\n aclTemplateId: XXXXXXXXX\n vendorConfiguration:\n controller1: X.X.X.X\n controller2: X.X.X.X\n localId: test@test.com\n remoteId: test@test.com\n serialNumber: '4'\n secondaryDevice:\n name: Praveena_TF_VERSA\n metroCode: ${sv.metroCode}\n accountNumber: ${sv.number}\n aclTemplateId: XXXXXXXX\n notifications:\n - test@eq.com\n vendorConfiguration:\n controller1: X.X.X.X\n controller2: X.X.X.X\n localId: test@test.com\n remoteId: test@test.com\n serialNumber: '4'\nvariables:\n # Create Fortinet SDWAN single device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example vyos router ha device\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 vYOSAM = new equinix.networkedge.Device(\"VYOS-AM\", {\n name: \"TF_VYOS\",\n projectId: \"XXXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"VYOS-ROUTER\",\n selfManaged: true,\n byol: false,\n packageCode: \"STD\",\n notifications: [\"test@eq.com\"],\n accountNumber: sv.apply(sv =\u003e sv.number),\n version: \"1.4.1-2501\",\n hostname: \"test\",\n coreCount: 2,\n termLength: 1,\n additionalBandwidth: 50,\n aclTemplateId: \"XXXXXXXX\",\n sshKey: {\n username: \"test\",\n keyName: \"xxxxxxxx\",\n },\n secondaryDevice: {\n name: \"TF_CHECKPOINT\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n accountNumber: sv.apply(sv =\u003e sv.number),\n hostname: \"test\",\n aclTemplateId: \"XXXXXXXXXXX\",\n notifications: [\"test@eq.com\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nv_yosam = equinix.networkedge.Device(\"VYOS-AM\",\n name=\"TF_VYOS\",\n project_id=\"XXXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"VYOS-ROUTER\",\n self_managed=True,\n byol=False,\n package_code=\"STD\",\n notifications=[\"test@eq.com\"],\n account_number=sv.number,\n version=\"1.4.1-2501\",\n hostname=\"test\",\n core_count=2,\n term_length=1,\n additional_bandwidth=50,\n acl_template_id=\"XXXXXXXX\",\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"xxxxxxxx\",\n },\n secondary_device={\n \"name\": \"TF_CHECKPOINT\",\n \"metro_code\": sv.metro_code,\n \"account_number\": sv.number,\n \"hostname\": \"test\",\n \"acl_template_id\": \"XXXXXXXXXXX\",\n \"notifications\": [\"test@eq.com\"],\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"VYOS-AM\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"TF_VYOS\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"VYOS-ROUTER\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(false),\n\t\t\tPackageCode: pulumi.String(\"STD\"),\n\t\t\tNotifications: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test@eq.com\"),\n\t\t\t},\n\t\t\tAccountNumber: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"1.4.1-2501\"),\n\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\tCoreCount: pulumi.Int(2),\n\t\t\tTermLength: pulumi.Int(1),\n\t\t\tAdditionalBandwidth: pulumi.Int(50),\n\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXX\"),\n\t\t\tSshKey: \u0026networkedge.DeviceSshKeyArgs{\n\t\t\t\tUsername: pulumi.String(\"test\"),\n\t\t\t\tKeyName: pulumi.String(\"xxxxxxxx\"),\n\t\t\t},\n\t\t\tSecondaryDevice: \u0026networkedge.DeviceSecondaryDeviceArgs{\n\t\t\t\tName: pulumi.String(\"TF_CHECKPOINT\"),\n\t\t\t\tMetroCode: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tAccountNumber: sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\t\tHostname: pulumi.String(\"test\"),\n\t\t\t\tAclTemplateId: pulumi.String(\"XXXXXXXXXXX\"),\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},\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 vYOSAM = new Equinix.NetworkEdge.Device(\"VYOS-AM\", new()\n {\n Name = \"TF_VYOS\",\n ProjectId = \"XXXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"VYOS-ROUTER\",\n SelfManaged = true,\n Byol = false,\n PackageCode = \"STD\",\n Notifications = new[]\n {\n \"test@eq.com\",\n },\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Version = \"1.4.1-2501\",\n Hostname = \"test\",\n CoreCount = 2,\n TermLength = 1,\n AdditionalBandwidth = 50,\n AclTemplateId = \"XXXXXXXX\",\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"xxxxxxxx\",\n },\n SecondaryDevice = new Equinix.NetworkEdge.Inputs.DeviceSecondaryDeviceArgs\n {\n Name = \"TF_CHECKPOINT\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n AccountNumber = sv.Apply(getAccountResult =\u003e getAccountResult.Number),\n Hostname = \"test\",\n AclTemplateId = \"XXXXXXXXXXX\",\n Notifications = new[]\n {\n \"test@eq.com\",\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.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 .metroCode(\"SV\")\n .build());\n\n var vYOSAM = new Device(\"vYOSAM\", DeviceArgs.builder()\n .name(\"TF_VYOS\")\n .projectId(\"XXXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"VYOS-ROUTER\")\n .selfManaged(true)\n .byol(false)\n .packageCode(\"STD\")\n .notifications(\"test@eq.com\")\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"1.4.1-2501\")\n .hostname(\"test\")\n .coreCount(2)\n .termLength(1)\n .additionalBandwidth(50)\n .aclTemplateId(\"XXXXXXXX\")\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"xxxxxxxx\")\n .build())\n .secondaryDevice(DeviceSecondaryDeviceArgs.builder()\n .name(\"TF_CHECKPOINT\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .hostname(\"test\")\n .aclTemplateId(\"XXXXXXXXXXX\")\n .notifications(\"test@eq.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n VYOS-AM:\n type: equinix:networkedge:Device\n properties:\n name: TF_VYOS\n projectId: XXXXXXX\n metroCode: ${sv.metroCode}\n typeCode: VYOS-ROUTER\n selfManaged: true\n byol: false\n packageCode: STD\n notifications:\n - test@eq.com\n accountNumber: ${sv.number}\n version: 1.4.1-2501\n hostname: test\n coreCount: 2\n termLength: 1\n additionalBandwidth: 50\n aclTemplateId: XXXXXXXX\n sshKey:\n username: test\n keyName: xxxxxxxx\n secondaryDevice:\n name: TF_CHECKPOINT\n metroCode: ${sv.metroCode}\n accountNumber: ${sv.number}\n hostname: test\n aclTemplateId: XXXXXXXXXXX\n notifications:\n - test@eq.com\nvariables:\n # Create VYos Router HA device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example zscaler appc\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 zscalerAppcSingle = new equinix.networkedge.Device(\"zscaler-appc-single\", {\n name: \"tf-zscaler-appc\",\n projectId: \"XXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"ZSCALER-APPC\",\n selfManaged: true,\n byol: true,\n connectivity: \"PRIVATE\",\n packageCode: \"STD\",\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: \"23.395.1\",\n interfaceCount: 1,\n coreCount: 4,\n vendorConfiguration: {\n provisioningKey: \"XXXXXXXXXX\",\n hostname: \"XXXX\",\n },\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nzscaler_appc_single = equinix.networkedge.Device(\"zscaler-appc-single\",\n name=\"tf-zscaler-appc\",\n project_id=\"XXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"ZSCALER-APPC\",\n self_managed=True,\n byol=True,\n connectivity=\"PRIVATE\",\n package_code=\"STD\",\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=\"23.395.1\",\n interface_count=1,\n core_count=4,\n vendor_configuration={\n \"provisioningKey\": \"XXXXXXXXXX\",\n \"hostname\": \"XXXX\",\n },\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"test-key\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"zscaler-appc-single\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-zscaler-appc\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"ZSCALER-APPC\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\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\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"23.395.1\"),\n\t\t\tInterfaceCount: pulumi.Int(1),\n\t\t\tCoreCount: pulumi.Int(4),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"provisioningKey\": pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\t\"hostname\": pulumi.String(\"XXXX\"),\n\t\t\t},\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})\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 zscalerAppcSingle = new Equinix.NetworkEdge.Device(\"zscaler-appc-single\", new()\n {\n Name = \"tf-zscaler-appc\",\n ProjectId = \"XXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"ZSCALER-APPC\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"PRIVATE\",\n PackageCode = \"STD\",\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 = \"23.395.1\",\n InterfaceCount = 1,\n CoreCount = 4,\n VendorConfiguration = \n {\n { \"provisioningKey\", \"XXXXXXXXXX\" },\n { \"hostname\", \"XXXX\" },\n },\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\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 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 zscalerAppcSingle = new Device(\"zscalerAppcSingle\", DeviceArgs.builder()\n .name(\"tf-zscaler-appc\")\n .projectId(\"XXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"ZSCALER-APPC\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"PRIVATE\")\n .packageCode(\"STD\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"23.395.1\")\n .interfaceCount(1)\n .coreCount(4)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"provisioningKey\", \"XXXXXXXXXX\"),\n Map.entry(\"hostname\", \"XXXX\")\n ))\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zscaler-appc-single:\n type: equinix:networkedge:Device\n properties:\n name: tf-zscaler-appc\n projectId: XXXXXX\n metroCode: ${sv.metroCode}\n typeCode: ZSCALER-APPC\n selfManaged: true\n byol: true\n connectivity: PRIVATE\n packageCode: STD\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 23.395.1\n interfaceCount: 1\n coreCount: 4\n vendorConfiguration:\n provisioningKey: XXXXXXXXXX\n hostname: XXXX\n sshKey:\n username: test\n keyName: test-key\nvariables:\n # Create ZSCALER APPC device\n sv:\n fn::invoke:\n function: equinix:networkedge:getAccount\n arguments:\n metroCode: SV\n```\n{{% /example %}}\n\n{{% example %}}\n### example zscaler pse\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 zscalerPseSingle = new equinix.networkedge.Device(\"zscaler-pse-single\", {\n name: \"tf-zscaler-pse\",\n projectId: \"XXXXXX\",\n metroCode: sv.apply(sv =\u003e sv.metroCode),\n typeCode: \"ZSCALER-PSE\",\n selfManaged: true,\n byol: true,\n connectivity: \"PRIVATE\",\n packageCode: \"STD\",\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: \"23.395.1\",\n interfaceCount: 1,\n coreCount: 4,\n vendorConfiguration: {\n provisioningKey: \"XXXXXXXXXX\",\n hostname: \"XXXX\",\n },\n sshKey: {\n username: \"test\",\n keyName: \"test-key\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nsv = equinix.networkedge.get_account_output(metro_code=\"SV\")\nzscaler_pse_single = equinix.networkedge.Device(\"zscaler-pse-single\",\n name=\"tf-zscaler-pse\",\n project_id=\"XXXXXX\",\n metro_code=sv.metro_code,\n type_code=\"ZSCALER-PSE\",\n self_managed=True,\n byol=True,\n connectivity=\"PRIVATE\",\n package_code=\"STD\",\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=\"23.395.1\",\n interface_count=1,\n core_count=4,\n vendor_configuration={\n \"provisioningKey\": \"XXXXXXXXXX\",\n \"hostname\": \"XXXX\",\n },\n ssh_key={\n \"username\": \"test\",\n \"key_name\": \"test-key\",\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 := networkedge.GetAccountOutput(ctx, networkedge.GetAccountOutputArgs{\n\t\t\tMetroCode: pulumi.String(\"SV\"),\n\t\t}, nil)\n\t\t_, err := networkedge.NewDevice(ctx, \"zscaler-pse-single\", \u0026networkedge.DeviceArgs{\n\t\t\tName: pulumi.String(\"tf-zscaler-pse\"),\n\t\t\tProjectId: pulumi.String(\"XXXXXX\"),\n\t\t\tMetroCode: pulumi.String(sv.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.MetroCode, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tTypeCode: pulumi.String(\"ZSCALER-PSE\"),\n\t\t\tSelfManaged: pulumi.Bool(true),\n\t\t\tByol: pulumi.Bool(true),\n\t\t\tConnectivity: pulumi.String(\"PRIVATE\"),\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\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.ApplyT(func(sv networkedge.GetAccountResult) (*string, error) {\n\t\t\t\treturn \u0026sv.Number, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t\tVersion: pulumi.String(\"23.395.1\"),\n\t\t\tInterfaceCount: pulumi.Int(1),\n\t\t\tCoreCount: pulumi.Int(4),\n\t\t\tVendorConfiguration: pulumi.StringMap{\n\t\t\t\t\"provisioningKey\": pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\t\"hostname\": pulumi.String(\"XXXX\"),\n\t\t\t},\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})\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 zscalerPseSingle = new Equinix.NetworkEdge.Device(\"zscaler-pse-single\", new()\n {\n Name = \"tf-zscaler-pse\",\n ProjectId = \"XXXXXX\",\n MetroCode = sv.Apply(getAccountResult =\u003e getAccountResult.MetroCode),\n TypeCode = \"ZSCALER-PSE\",\n SelfManaged = true,\n Byol = true,\n Connectivity = \"PRIVATE\",\n PackageCode = \"STD\",\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 = \"23.395.1\",\n InterfaceCount = 1,\n CoreCount = 4,\n VendorConfiguration = \n {\n { \"provisioningKey\", \"XXXXXXXXXX\" },\n { \"hostname\", \"XXXX\" },\n },\n SshKey = new Equinix.NetworkEdge.Inputs.DeviceSshKeyArgs\n {\n Username = \"test\",\n KeyName = \"test-key\",\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 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 zscalerPseSingle = new Device(\"zscalerPseSingle\", DeviceArgs.builder()\n .name(\"tf-zscaler-pse\")\n .projectId(\"XXXXXX\")\n .metroCode(sv.applyValue(_sv -\u003e _sv.metroCode()))\n .typeCode(\"ZSCALER-PSE\")\n .selfManaged(true)\n .byol(true)\n .connectivity(\"PRIVATE\")\n .packageCode(\"STD\")\n .notifications( \n \"john@equinix.com\",\n \"marry@equinix.com\",\n \"fred@equinix.com\")\n .termLength(12)\n .accountNumber(sv.applyValue(_sv -\u003e _sv.number()))\n .version(\"23.395.1\")\n .interfaceCount(1)\n .coreCount(4)\n .vendorConfiguration(Map.ofEntries(\n Map.entry(\"provisioningKey\", \"XXXXXXXXXX\"),\n Map.entry(\"hostname\", \"XXXX\")\n ))\n .sshKey(DeviceSshKeyArgs.builder()\n .username(\"test\")\n .keyName(\"test-key\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n zscaler-pse-single:\n type: equinix:networkedge:Device\n properties:\n name: tf-zscaler-pse\n projectId: XXXXXX\n metroCode: ${sv.metroCode}\n typeCode: ZSCALER-PSE\n selfManaged: true\n byol: true\n connectivity: PRIVATE\n packageCode: STD\n notifications:\n - john@equinix.com\n - marry@equinix.com\n - fred@equinix.com\n termLength: 12\n accountNumber: ${sv.number}\n version: 23.395.1\n interfaceCount: 1\n coreCount: 4\n vendorConfiguration:\n provisioningKey: XXXXXXXXXX\n hostname: XXXX\n sshKey:\n username: test\n keyName: test-key\nvariables:\n # Create ZSCALER APPC device\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", @@ -29817,6 +30363,75 @@ } }, "functions": { + "equinix:fabric/getAdvertisedRoutes:getAdvertisedRoutes": { + "inputs": { + "description": "A collection of arguments for invoking getAdvertisedRoutes.\n", + "properties": { + "connectionId": { + "type": "string", + "description": "The uuid of the routes this data source should retrieve\n" + }, + "filter": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesFilter:getAdvertisedRoutesFilter", + "description": "Filters for the Data Source Search Request\n" + }, + "pagination": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesPagination:getAdvertisedRoutesPagination", + "description": "Pagination details for the returned advertised routes list\n" + }, + "sort": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesSort:getAdvertisedRoutesSort", + "description": "Sort details for the returned advertised routes list\n" + } + }, + "type": "object", + "required": [ + "connectionId", + "filter", + "pagination" + ] + }, + "outputs": { + "description": "A collection of values returned by getAdvertisedRoutes.\n", + "properties": { + "connectionId": { + "type": "string", + "description": "The uuid of the routes this data source should retrieve\n" + }, + "datas": { + "type": "array", + "items": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesData:getAdvertisedRoutesData" + }, + "description": "Returned list of advertised routes objects\n" + }, + "filter": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesFilter:getAdvertisedRoutesFilter", + "description": "Filters for the Data Source Search Request\n" + }, + "id": { + "type": "string", + "description": "The unique identifier of the resource\n" + }, + "pagination": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesPagination:getAdvertisedRoutesPagination", + "description": "Pagination details for the returned advertised routes list\n" + }, + "sort": { + "$ref": "#/types/equinix:fabric/getAdvertisedRoutesSort:getAdvertisedRoutesSort", + "description": "Sort details for the returned advertised routes list\n" + } + }, + "type": "object", + "required": [ + "connectionId", + "datas", + "filter", + "id", + "pagination" + ] + } + }, "equinix:fabric/getCloudRouter:getCloudRouter": { "description": "Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID\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## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst cloudRouterDataName = equinix.fabric.getCloudRouter({\n uuid: \"\u003cuuid_of_cloud_router\u003e\",\n});\nexport const id = cloudRouterDataName.then(cloudRouterDataName =\u003e cloudRouterDataName.id);\nexport const name = cloudRouterDataName.then(cloudRouterDataName =\u003e cloudRouterDataName.name);\nexport const accountNumber = cloudRouterDataName.then(cloudRouterDataName =\u003e .map(account =\u003e (account.accountNumber)));\nexport const equinixAsn = cloudRouterDataName.then(cloudRouterDataName =\u003e cloudRouterDataName.equinixAsn);\nexport const metroCode = cloudRouterDataName.then(cloudRouterDataName =\u003e .map(location =\u003e (location.metroCode)));\nexport const metroName = cloudRouterDataName.then(cloudRouterDataName =\u003e .map(location =\u003e (location.metroName)));\nexport const region = cloudRouterDataName.then(cloudRouterDataName =\u003e .map(location =\u003e (location.region)));\nexport const packageCode = cloudRouterDataName.then(cloudRouterDataName =\u003e .map(package =\u003e (_package.code)));\nexport const projectId = cloudRouterDataName.then(cloudRouterDataName =\u003e .map(project =\u003e (project.projectId)));\nexport const type = cloudRouterDataName.then(cloudRouterDataName =\u003e cloudRouterDataName.type);\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\ncloud_router_data_name = equinix.fabric.get_cloud_router(uuid=\"\u003cuuid_of_cloud_router\u003e\")\npulumi.export(\"id\", cloud_router_data_name.id)\npulumi.export(\"name\", cloud_router_data_name.name)\npulumi.export(\"accountNumber\", [account.account_number for account in cloud_router_data_name.accounts])\npulumi.export(\"equinixAsn\", cloud_router_data_name.equinix_asn)\npulumi.export(\"metroCode\", [location.metro_code for location in cloud_router_data_name.locations])\npulumi.export(\"metroName\", [location.metro_name for location in cloud_router_data_name.locations])\npulumi.export(\"region\", [location.region for location in cloud_router_data_name.locations])\npulumi.export(\"packageCode\", [package.code for package in cloud_router_data_name.packages])\npulumi.export(\"projectId\", [project.project_id for project in cloud_router_data_name.projects])\npulumi.export(\"type\", cloud_router_data_name.type)\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 cloudRouterDataName = Equinix.Fabric.GetCloudRouter.Invoke(new()\n {\n Uuid = \"\u003cuuid_of_cloud_router\u003e\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = cloudRouterDataName.Apply(getCloudRouterResult =\u003e getCloudRouterResult.Id),\n [\"name\"] = cloudRouterDataName.Apply(getCloudRouterResult =\u003e getCloudRouterResult.Name),\n [\"accountNumber\"] = .Select(account =\u003e \n {\n return account.AccountNumber;\n }).ToList(),\n [\"equinixAsn\"] = cloudRouterDataName.Apply(getCloudRouterResult =\u003e getCloudRouterResult.EquinixAsn),\n [\"metroCode\"] = .Select(location =\u003e \n {\n return location.MetroCode;\n }).ToList(),\n [\"metroName\"] = .Select(location =\u003e \n {\n return location.MetroName;\n }).ToList(),\n [\"region\"] = .Select(location =\u003e \n {\n return location.Region;\n }).ToList(),\n [\"packageCode\"] = .Select(package =\u003e \n {\n return package.Code;\n }).ToList(),\n [\"projectId\"] = .Select(project =\u003e \n {\n return project.ProjectId;\n }).ToList(),\n [\"type\"] = cloudRouterDataName.Apply(getCloudRouterResult =\u003e getCloudRouterResult.Type),\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\tcloudRouterDataName, err := fabric.LookupCloudRouter(ctx, \u0026fabric.LookupCloudRouterArgs{\n\t\t\tUuid: \"\u003cuuid_of_cloud_router\u003e\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", cloudRouterDataName.Id)\n\t\tctx.Export(\"name\", cloudRouterDataName.Name)\n\t\tctx.Export(\"accountNumber\", pulumi.IntArray(\"TODO: For expression\"))\n\t\tctx.Export(\"equinixAsn\", cloudRouterDataName.EquinixAsn)\n\t\tctx.Export(\"metroCode\", pulumi.StringArray(\"TODO: For expression\"))\n\t\tctx.Export(\"metroName\", pulumi.StringArray(\"TODO: For expression\"))\n\t\tctx.Export(\"region\", pulumi.StringArray(\"TODO: For expression\"))\n\t\tctx.Export(\"packageCode\", pulumi.StringArray(\"TODO: For expression\"))\n\t\tctx.Export(\"projectId\", pulumi.StringArray(\"TODO: For expression\"))\n\t\tctx.Export(\"type\", cloudRouterDataName.Type)\n\t\treturn nil\n\t})\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.GetCloudRouterArgs;\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 cloudRouterDataName = FabricFunctions.getCloudRouter(GetCloudRouterArgs.builder()\n .uuid(\"\u003cuuid_of_cloud_router\u003e\")\n .build());\n\n ctx.export(\"id\", cloudRouterDataName.applyValue(getCloudRouterResult -\u003e getCloudRouterResult.id()));\n ctx.export(\"name\", cloudRouterDataName.applyValue(getCloudRouterResult -\u003e getCloudRouterResult.name()));\n ctx.export(\"accountNumber\", \"TODO: ForExpression\");\n ctx.export(\"equinixAsn\", cloudRouterDataName.applyValue(getCloudRouterResult -\u003e getCloudRouterResult.equinixAsn()));\n ctx.export(\"metroCode\", \"TODO: ForExpression\");\n ctx.export(\"metroName\", \"TODO: ForExpression\");\n ctx.export(\"region\", \"TODO: ForExpression\");\n ctx.export(\"packageCode\", \"TODO: ForExpression\");\n ctx.export(\"projectId\", \"TODO: ForExpression\");\n ctx.export(\"type\", cloudRouterDataName.applyValue(getCloudRouterResult -\u003e getCloudRouterResult.type()));\n }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -29861,10 +30476,6 @@ "type": "integer", "description": "Equinix ASN\n" }, - "gatewayAttachmentsCount": { - "type": "integer", - "description": "Number of gateway attachments associated with this Access point\n" - }, "href": { "type": "string", "description": "Fabric Cloud Router URI information\n" @@ -29939,7 +30550,6 @@ "connectionsCount", "description", "equinixAsn", - "gatewayAttachmentsCount", "href", "locations", "marketplaceSubscriptions", @@ -30566,6 +31176,10 @@ }, "description": "Arrays of objects containing latency data for the specified metro\n" }, + "country": { + "type": "string", + "description": "Country in which the data center is located\n" + }, "equinixAsn": { "type": "integer", "description": "Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol.\n" @@ -30614,6 +31228,7 @@ "required": [ "code", "connectedMetros", + "country", "equinixAsn", "geoCoordinates", "geoScopes", @@ -30977,19 +31592,24 @@ } }, "equinix:fabric/getPorts:getPorts": { - "description": "Fabric V4 API compatible data resource that allow user to fetch port by name\n\nAdditional documentation:\n* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm\n* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#ports\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst portsDataName = equinix.fabric.getPorts({\n filter: {\n name: \"\u003cname_of_port||port_prefix\u003e\",\n },\n});\nexport const id = data.equinix_fabric_port.ports_data_name.data[0].id;\nexport const name = data.equinix_fabric_port.ports_data_name.data[0].name;\nexport const state = data.equinix_fabric_port.ports_data_name.data[0].state;\nexport const accountName = data.equinix_fabric_port.ports_data_name.data[0].account[0].account_name;\nexport const type = data.equinix_fabric_port.ports_data_name.data[0].type;\nexport const bandwidth = data.equinix_fabric_port.ports_data_name.data[0].bandwidth;\nexport const usedBandwidth = data.equinix_fabric_port.ports_data_name.data[0].used_bandwidth;\nexport const encapsulationType = data.equinix_fabric_port.ports_data_name.data[0].encapsulation[0].type;\nexport const ibx = data.equinix_fabric_port.ports_data_name.data[0].location[0].ibx;\nexport const metroCode = data.equinix_fabric_port.ports_data_name.data[0].location[0].metro_code;\nexport const metroName = data.equinix_fabric_port.ports_data_name.data[0].location[0].metro_name;\nexport const region = data.equinix_fabric_port.ports_data_name.data[0].location[0].region;\nexport const deviceRedundancyEnabled = data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].enabled;\nexport const deviceRedundancyPriority = data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].priority;\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nports_data_name = equinix.fabric.get_ports(filter={\n \"name\": \"\u003cname_of_port||port_prefix\u003e\",\n})\npulumi.export(\"id\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"id\"])\npulumi.export(\"name\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"name\"])\npulumi.export(\"state\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"state\"])\npulumi.export(\"accountName\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"account\"][0][\"account_name\"])\npulumi.export(\"type\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"type\"])\npulumi.export(\"bandwidth\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"bandwidth\"])\npulumi.export(\"usedBandwidth\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"used_bandwidth\"])\npulumi.export(\"encapsulationType\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"encapsulation\"][0][\"type\"])\npulumi.export(\"ibx\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"location\"][0][\"ibx\"])\npulumi.export(\"metroCode\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"location\"][0][\"metro_code\"])\npulumi.export(\"metroName\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"location\"][0][\"metro_name\"])\npulumi.export(\"region\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"location\"][0][\"region\"])\npulumi.export(\"deviceRedundancyEnabled\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"device\"][0][\"redundancy\"][0][\"enabled\"])\npulumi.export(\"deviceRedundancyPriority\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"device\"][0][\"redundancy\"][0][\"priority\"])\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 portsDataName = Equinix.Fabric.GetPorts.Invoke(new()\n {\n Filter = new Equinix.Fabric.Inputs.GetPortsFilterInputArgs\n {\n Name = \"\u003cname_of_port||port_prefix\u003e\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Id,\n [\"name\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Name,\n [\"state\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].State,\n [\"accountName\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Account[0].Account_name,\n [\"type\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Type,\n [\"bandwidth\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Bandwidth,\n [\"usedBandwidth\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Used_bandwidth,\n [\"encapsulationType\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Encapsulation[0].Type,\n [\"ibx\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Ibx,\n [\"metroCode\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Metro_code,\n [\"metroName\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Metro_name,\n [\"region\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Region,\n [\"deviceRedundancyEnabled\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Device[0].Redundancy[0].Enabled,\n [\"deviceRedundancyPriority\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Device[0].Redundancy[0].Priority,\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.GetPorts(ctx, \u0026fabric.GetPortsArgs{\n\t\t\tFilter: fabric.GetPortsFilter{\n\t\t\t\tName: \"\u003cname_of_port||port_prefix\u003e\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", data.Equinix_fabric_port.Ports_data_name.Data[0].Id)\n\t\tctx.Export(\"name\", data.Equinix_fabric_port.Ports_data_name.Data[0].Name)\n\t\tctx.Export(\"state\", data.Equinix_fabric_port.Ports_data_name.Data[0].State)\n\t\tctx.Export(\"accountName\", data.Equinix_fabric_port.Ports_data_name.Data[0].Account[0].Account_name)\n\t\tctx.Export(\"type\", data.Equinix_fabric_port.Ports_data_name.Data[0].Type)\n\t\tctx.Export(\"bandwidth\", data.Equinix_fabric_port.Ports_data_name.Data[0].Bandwidth)\n\t\tctx.Export(\"usedBandwidth\", data.Equinix_fabric_port.Ports_data_name.Data[0].Used_bandwidth)\n\t\tctx.Export(\"encapsulationType\", data.Equinix_fabric_port.Ports_data_name.Data[0].Encapsulation[0].Type)\n\t\tctx.Export(\"ibx\", data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Ibx)\n\t\tctx.Export(\"metroCode\", data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Metro_code)\n\t\tctx.Export(\"metroName\", data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Metro_name)\n\t\tctx.Export(\"region\", data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Region)\n\t\tctx.Export(\"deviceRedundancyEnabled\", data.Equinix_fabric_port.Ports_data_name.Data[0].Device[0].Redundancy[0].Enabled)\n\t\tctx.Export(\"deviceRedundancyPriority\", data.Equinix_fabric_port.Ports_data_name.Data[0].Device[0].Redundancy[0].Priority)\n\t\treturn nil\n\t})\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.GetPortsArgs;\nimport com.pulumi.equinix.fabric.inputs.GetPortsFilterArgs;\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 portsDataName = FabricFunctions.getPorts(GetPortsArgs.builder()\n .filter(GetPortsFilterArgs.builder()\n .name(\"\u003cname_of_port||port_prefix\u003e\")\n .build())\n .build());\n\n ctx.export(\"id\", data.equinix_fabric_port().ports_data_name().data()[0].id());\n ctx.export(\"name\", data.equinix_fabric_port().ports_data_name().data()[0].name());\n ctx.export(\"state\", data.equinix_fabric_port().ports_data_name().data()[0].state());\n ctx.export(\"accountName\", data.equinix_fabric_port().ports_data_name().data()[0].account()[0].account_name());\n ctx.export(\"type\", data.equinix_fabric_port().ports_data_name().data()[0].type());\n ctx.export(\"bandwidth\", data.equinix_fabric_port().ports_data_name().data()[0].bandwidth());\n ctx.export(\"usedBandwidth\", data.equinix_fabric_port().ports_data_name().data()[0].used_bandwidth());\n ctx.export(\"encapsulationType\", data.equinix_fabric_port().ports_data_name().data()[0].encapsulation()[0].type());\n ctx.export(\"ibx\", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].ibx());\n ctx.export(\"metroCode\", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].metro_code());\n ctx.export(\"metroName\", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].metro_name());\n ctx.export(\"region\", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].region());\n ctx.export(\"deviceRedundancyEnabled\", data.equinix_fabric_port().ports_data_name().data()[0].device()[0].redundancy()[0].enabled());\n ctx.export(\"deviceRedundancyPriority\", data.equinix_fabric_port().ports_data_name().data()[0].device()[0].redundancy()[0].priority());\n }\n}\n```\n```yaml\nvariables:\n portsDataName:\n fn::invoke:\n function: equinix:fabric:getPorts\n arguments:\n filter:\n name: \u003cname_of_port||port_prefix\u003e\noutputs:\n id: ${data.equinix_fabric_port.ports_data_name.data[0].id}\n name: ${data.equinix_fabric_port.ports_data_name.data[0].name}\n state: ${data.equinix_fabric_port.ports_data_name.data[0].state}\n accountName: ${data.equinix_fabric_port.ports_data_name.data[0].account[0].account_name}\n type: ${data.equinix_fabric_port.ports_data_name.data[0].type}\n bandwidth: ${data.equinix_fabric_port.ports_data_name.data[0].bandwidth}\n usedBandwidth: ${data.equinix_fabric_port.ports_data_name.data[0].used_bandwidth}\n encapsulationType: ${data.equinix_fabric_port.ports_data_name.data[0].encapsulation[0].type}\n ibx: ${data.equinix_fabric_port.ports_data_name.data[0].location[0].ibx}\n metroCode: ${data.equinix_fabric_port.ports_data_name.data[0].location[0].metro_code}\n metroName: ${data.equinix_fabric_port.ports_data_name.data[0].location[0].metro_name}\n region: ${data.equinix_fabric_port.ports_data_name.data[0].location[0].region}\n deviceRedundancyEnabled: ${data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].enabled}\n deviceRedundancyPriority: ${data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].priority}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid\n\nAdditional documentation:\n* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm\n* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#ports\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as equinix from \"@pulumi/equinix\";\n\nconst portsDataName = equinix.fabric.getPorts({\n filter: {\n name: \"\u003cname_of_port||port_prefix\u003e\",\n },\n});\nexport const id = data.equinix_fabric_port.ports_data_name.data[0].id;\nexport const name = data.equinix_fabric_port.ports_data_name.data[0].name;\nexport const state = data.equinix_fabric_port.ports_data_name.data[0].state;\nexport const accountName = data.equinix_fabric_port.ports_data_name.data[0].account[0].account_name;\nexport const type = data.equinix_fabric_port.ports_data_name.data[0].type;\nexport const bandwidth = data.equinix_fabric_port.ports_data_name.data[0].bandwidth;\nexport const usedBandwidth = data.equinix_fabric_port.ports_data_name.data[0].used_bandwidth;\nexport const encapsulationType = data.equinix_fabric_port.ports_data_name.data[0].encapsulation[0].type;\nexport const ibx = data.equinix_fabric_port.ports_data_name.data[0].location[0].ibx;\nexport const metroCode = data.equinix_fabric_port.ports_data_name.data[0].location[0].metro_code;\nexport const metroName = data.equinix_fabric_port.ports_data_name.data[0].location[0].metro_name;\nexport const region = data.equinix_fabric_port.ports_data_name.data[0].location[0].region;\nexport const deviceRedundancyEnabled = data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].enabled;\nexport const deviceRedundancyPriority = data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].priority;\n```\n```python\nimport pulumi\nimport pulumi_equinix as equinix\n\nports_data_name = equinix.fabric.get_ports(filter={\n \"name\": \"\u003cname_of_port||port_prefix\u003e\",\n})\npulumi.export(\"id\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"id\"])\npulumi.export(\"name\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"name\"])\npulumi.export(\"state\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"state\"])\npulumi.export(\"accountName\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"account\"][0][\"account_name\"])\npulumi.export(\"type\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"type\"])\npulumi.export(\"bandwidth\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"bandwidth\"])\npulumi.export(\"usedBandwidth\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"used_bandwidth\"])\npulumi.export(\"encapsulationType\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"encapsulation\"][0][\"type\"])\npulumi.export(\"ibx\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"location\"][0][\"ibx\"])\npulumi.export(\"metroCode\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"location\"][0][\"metro_code\"])\npulumi.export(\"metroName\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"location\"][0][\"metro_name\"])\npulumi.export(\"region\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"location\"][0][\"region\"])\npulumi.export(\"deviceRedundancyEnabled\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"device\"][0][\"redundancy\"][0][\"enabled\"])\npulumi.export(\"deviceRedundancyPriority\", data[\"equinix_fabric_port\"][\"ports_data_name\"][\"data\"][0][\"device\"][0][\"redundancy\"][0][\"priority\"])\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 portsDataName = Equinix.Fabric.GetPorts.Invoke(new()\n {\n Filter = new Equinix.Fabric.Inputs.GetPortsFilterInputArgs\n {\n Name = \"\u003cname_of_port||port_prefix\u003e\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"id\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Id,\n [\"name\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Name,\n [\"state\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].State,\n [\"accountName\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Account[0].Account_name,\n [\"type\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Type,\n [\"bandwidth\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Bandwidth,\n [\"usedBandwidth\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Used_bandwidth,\n [\"encapsulationType\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Encapsulation[0].Type,\n [\"ibx\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Ibx,\n [\"metroCode\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Metro_code,\n [\"metroName\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Metro_name,\n [\"region\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Region,\n [\"deviceRedundancyEnabled\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Device[0].Redundancy[0].Enabled,\n [\"deviceRedundancyPriority\"] = data.Equinix_fabric_port.Ports_data_name.Data[0].Device[0].Redundancy[0].Priority,\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.GetPorts(ctx, \u0026fabric.GetPortsArgs{\n\t\t\tFilter: fabric.GetPortsFilter{\n\t\t\t\tName: \"\u003cname_of_port||port_prefix\u003e\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"id\", data.Equinix_fabric_port.Ports_data_name.Data[0].Id)\n\t\tctx.Export(\"name\", data.Equinix_fabric_port.Ports_data_name.Data[0].Name)\n\t\tctx.Export(\"state\", data.Equinix_fabric_port.Ports_data_name.Data[0].State)\n\t\tctx.Export(\"accountName\", data.Equinix_fabric_port.Ports_data_name.Data[0].Account[0].Account_name)\n\t\tctx.Export(\"type\", data.Equinix_fabric_port.Ports_data_name.Data[0].Type)\n\t\tctx.Export(\"bandwidth\", data.Equinix_fabric_port.Ports_data_name.Data[0].Bandwidth)\n\t\tctx.Export(\"usedBandwidth\", data.Equinix_fabric_port.Ports_data_name.Data[0].Used_bandwidth)\n\t\tctx.Export(\"encapsulationType\", data.Equinix_fabric_port.Ports_data_name.Data[0].Encapsulation[0].Type)\n\t\tctx.Export(\"ibx\", data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Ibx)\n\t\tctx.Export(\"metroCode\", data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Metro_code)\n\t\tctx.Export(\"metroName\", data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Metro_name)\n\t\tctx.Export(\"region\", data.Equinix_fabric_port.Ports_data_name.Data[0].Location[0].Region)\n\t\tctx.Export(\"deviceRedundancyEnabled\", data.Equinix_fabric_port.Ports_data_name.Data[0].Device[0].Redundancy[0].Enabled)\n\t\tctx.Export(\"deviceRedundancyPriority\", data.Equinix_fabric_port.Ports_data_name.Data[0].Device[0].Redundancy[0].Priority)\n\t\treturn nil\n\t})\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.GetPortsArgs;\nimport com.pulumi.equinix.fabric.inputs.GetPortsFilterArgs;\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 portsDataName = FabricFunctions.getPorts(GetPortsArgs.builder()\n .filter(GetPortsFilterArgs.builder()\n .name(\"\u003cname_of_port||port_prefix\u003e\")\n .build())\n .build());\n\n ctx.export(\"id\", data.equinix_fabric_port().ports_data_name().data()[0].id());\n ctx.export(\"name\", data.equinix_fabric_port().ports_data_name().data()[0].name());\n ctx.export(\"state\", data.equinix_fabric_port().ports_data_name().data()[0].state());\n ctx.export(\"accountName\", data.equinix_fabric_port().ports_data_name().data()[0].account()[0].account_name());\n ctx.export(\"type\", data.equinix_fabric_port().ports_data_name().data()[0].type());\n ctx.export(\"bandwidth\", data.equinix_fabric_port().ports_data_name().data()[0].bandwidth());\n ctx.export(\"usedBandwidth\", data.equinix_fabric_port().ports_data_name().data()[0].used_bandwidth());\n ctx.export(\"encapsulationType\", data.equinix_fabric_port().ports_data_name().data()[0].encapsulation()[0].type());\n ctx.export(\"ibx\", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].ibx());\n ctx.export(\"metroCode\", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].metro_code());\n ctx.export(\"metroName\", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].metro_name());\n ctx.export(\"region\", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].region());\n ctx.export(\"deviceRedundancyEnabled\", data.equinix_fabric_port().ports_data_name().data()[0].device()[0].redundancy()[0].enabled());\n ctx.export(\"deviceRedundancyPriority\", data.equinix_fabric_port().ports_data_name().data()[0].device()[0].redundancy()[0].priority());\n }\n}\n```\n```yaml\nvariables:\n portsDataName:\n fn::invoke:\n function: equinix:fabric:getPorts\n arguments:\n filter:\n name: \u003cname_of_port||port_prefix\u003e\noutputs:\n id: ${data.equinix_fabric_port.ports_data_name.data[0].id}\n name: ${data.equinix_fabric_port.ports_data_name.data[0].name}\n state: ${data.equinix_fabric_port.ports_data_name.data[0].state}\n accountName: ${data.equinix_fabric_port.ports_data_name.data[0].account[0].account_name}\n type: ${data.equinix_fabric_port.ports_data_name.data[0].type}\n bandwidth: ${data.equinix_fabric_port.ports_data_name.data[0].bandwidth}\n usedBandwidth: ${data.equinix_fabric_port.ports_data_name.data[0].used_bandwidth}\n encapsulationType: ${data.equinix_fabric_port.ports_data_name.data[0].encapsulation[0].type}\n ibx: ${data.equinix_fabric_port.ports_data_name.data[0].location[0].ibx}\n metroCode: ${data.equinix_fabric_port.ports_data_name.data[0].location[0].metro_code}\n metroName: ${data.equinix_fabric_port.ports_data_name.data[0].location[0].metro_name}\n region: ${data.equinix_fabric_port.ports_data_name.data[0].location[0].region}\n deviceRedundancyEnabled: ${data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].enabled}\n deviceRedundancyPriority: ${data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].priority}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getPorts.\n", "properties": { "filter": { "$ref": "#/types/equinix:fabric/getPortsFilter:getPortsFilter", - "description": "name\n" + "description": "(Deprecated) Use 'filter' instead.\n", + "deprecationMessage": "Use 'filter' instead." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/equinix:fabric/getPortsFilter:getPortsFilter" + }, + "description": "List of filter objects for SearchPorts API. Each filter must have property, operator, and value.\n" } }, - "type": "object", - "required": [ - "filter" - ] + "type": "object" }, "outputs": { "description": "A collection of values returned by getPorts.\n", @@ -31003,7 +31623,15 @@ }, "filter": { "$ref": "#/types/equinix:fabric/getPortsFilter:getPortsFilter", - "description": "name\n" + "description": "(Deprecated) Use 'filter' instead.\n", + "deprecationMessage": "Use 'filter' instead." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/types/equinix:fabric/getPortsFilter:getPortsFilter" + }, + "description": "List of filter objects for SearchPorts API. Each filter must have property, operator, and value.\n" }, "id": { "type": "string", @@ -31013,7 +31641,6 @@ "type": "object", "required": [ "data", - "filter", "id" ] } @@ -31217,6 +31844,75 @@ ] } }, + "equinix:fabric/getReceivedRoutes:getReceivedRoutes": { + "inputs": { + "description": "A collection of arguments for invoking getReceivedRoutes.\n", + "properties": { + "connectionId": { + "type": "string", + "description": "The uuid of the routes this data source should retrieve\n" + }, + "filter": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesFilter:getReceivedRoutesFilter", + "description": "Filters for the Data Source Search Request\n" + }, + "pagination": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesPagination:getReceivedRoutesPagination", + "description": "Pagination details for the returned received routes list\n" + }, + "sort": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesSort:getReceivedRoutesSort", + "description": "Sort details for the returned received routes list\n" + } + }, + "type": "object", + "required": [ + "connectionId", + "filter", + "pagination" + ] + }, + "outputs": { + "description": "A collection of values returned by getReceivedRoutes.\n", + "properties": { + "connectionId": { + "type": "string", + "description": "The uuid of the routes this data source should retrieve\n" + }, + "datas": { + "type": "array", + "items": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesData:getReceivedRoutesData" + }, + "description": "Returned list of received routes objects\n" + }, + "filter": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesFilter:getReceivedRoutesFilter", + "description": "Filters for the Data Source Search Request\n" + }, + "id": { + "type": "string", + "description": "The unique identifier of the resource\n" + }, + "pagination": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesPagination:getReceivedRoutesPagination", + "description": "Pagination details for the returned received routes list\n" + }, + "sort": { + "$ref": "#/types/equinix:fabric/getReceivedRoutesSort:getReceivedRoutesSort", + "description": "Sort details for the returned received routes list\n" + } + }, + "type": "object", + "required": [ + "connectionId", + "datas", + "filter", + "id", + "pagination" + ] + } + }, "equinix:fabric/getRouteAggregation:getRouteAggregation": { "description": "Fabric V4 API compatible data resource that allow user to fetch Equinix Fabric Route Aggregation by UUID\nAdditional Documentation:\n* API: https://developer.equinix.com/catalog/fabricv4#tag/Route-Aggregations\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\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.GetRouteAggregationArgs;\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 raPolicy = FabricFunctions.getRouteAggregation(GetRouteAggregationArgs.builder()\n .uuid(\"\u003cuuid_of_route_aggregation\u003e\")\n .build());\n\n ctx.export(\"id\", raPolicy.applyValue(getRouteAggregationResult -\u003e getRouteAggregationResult.id()));\n ctx.export(\"type\", raPolicy.applyValue(getRouteAggregationResult -\u003e getRouteAggregationResult.type()));\n ctx.export(\"state\", raPolicy.applyValue(getRouteAggregationResult -\u003e getRouteAggregationResult.state()));\n ctx.export(\"connectionsCount\", raPolicy.applyValue(getRouteAggregationResult -\u003e getRouteAggregationResult.connectionsCount()));\n ctx.export(\"rulesCount\", raPolicy.applyValue(getRouteAggregationResult -\u003e getRouteAggregationResult.rulesCount()));\n }\n}\n```\n```yaml\nvariables:\n raPolicy:\n fn::invoke:\n function: equinix:fabric:getRouteAggregation\n arguments:\n uuid: \u003cuuid_of_route_aggregation\u003e\noutputs:\n id: ${raPolicy.id}\n type: ${raPolicy.type}\n state: ${raPolicy.state}\n connectionsCount: ${raPolicy.connectionsCount}\n rulesCount: ${raPolicy.rulesCount}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { @@ -32085,7 +32781,7 @@ }, "type": { "type": "string", - "description": "Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE\n" + "description": "Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE\n" }, "uuid": { "type": "string", diff --git a/provider/go.sum b/provider/go.sum index 813fd30f3..89970ebb7 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1575,8 +1575,8 @@ github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7 github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= -github.com/equinix/equinix-sdk-go v0.61.0 h1:7pSLMfcrpH9Gkj9qYs1Ul7Lg/EYKiC+ImbXpmKwvmCE= -github.com/equinix/equinix-sdk-go v0.61.0/go.mod h1:QokAmUtlYlD4gJ1s5UL1nZ4e6XALV0ftl5ZCwdPYp5M= +github.com/equinix/equinix-sdk-go v0.63.0 h1:QmLZKlhDKhfvOu35JRusrqyE7c17qNFpVzKBQ3XDjB0= +github.com/equinix/equinix-sdk-go v0.63.0/go.mod h1:QokAmUtlYlD4gJ1s5UL1nZ4e6XALV0ftl5ZCwdPYp5M= github.com/equinix/ne-go v1.21.0 h1:+OxxK7YcfmBTBsSPYgHnHUF9JqQ34YBFzMboXr094wI= github.com/equinix/ne-go v1.21.0/go.mod h1:eHkkxM4nbTB7DZ9X9zGnwfYnxIJWIsU3aHA+FAoZ1EI= github.com/equinix/rest-go v1.3.0 h1:m38scYTOfV6N+gcrwchgVDutDffYd+QoYCMm9Jn6jyk= diff --git a/provider/resources.go b/provider/resources.go index 196fd2663..00645e7d8 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -1190,6 +1190,12 @@ func Provider() tfbridge.ProviderInfo { }, DataSources: map[string]*tfbridge.DataSourceInfo{ // Equinix Fabric v4 + "equinix_fabric_received_routes": { + Tok: makeEquinixDataSource(fabricMod, "ReceivedRoutes"), + }, + "equinix_fabric_advertised_routes": { + Tok: makeEquinixDataSource(fabricMod, "AdvertisedRoutes"), + }, "equinix_fabric_service_token": { Tok: makeEquinixDataSource(fabricMod, "ServiceToken"), }, diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 1fe3c1a72..213605010 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -117,6 +117,18 @@ public static int? ResponseMaxPageSize set => _responseMaxPageSize.Set(value); } + private static readonly __Value _stsEndpoint = new __Value(() => __config.Get("stsEndpoint")); + /// + /// The STS API base URL to point to the desired environment. This argument can also be specified with the + /// `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + /// an alpha feature and not available for all users. + /// + public static string? StsEndpoint + { + get => _stsEndpoint.Get(); + set => _stsEndpoint.Set(value); + } + private static readonly __Value _token = new __Value(() => __config.Get("token")); /// /// API tokens are generated from API Consumer clients using the [OAuth2 @@ -129,5 +141,43 @@ public static string? Token set => _token.Set(value); } + private static readonly __Value _tokenExchangeScope = new __Value(() => __config.Get("tokenExchangeScope")); + /// + /// The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + /// This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + /// token exchange is an alpha feature and not available for all users. + /// + public static string? TokenExchangeScope + { + get => _tokenExchangeScope.Get(); + set => _tokenExchangeScope.Set(value); + } + + private static readonly __Value _tokenExchangeSubjectToken = new __Value(() => __config.Get("tokenExchangeSubjectToken")); + /// + /// The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + /// by Equinix STS. If not set, the provider will use the environment variable specified in + /// `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + /// users. + /// + public static string? TokenExchangeSubjectToken + { + get => _tokenExchangeSubjectToken.Get(); + set => _tokenExchangeSubjectToken.Set(value); + } + + private static readonly __Value _tokenExchangeSubjectTokenEnvVar = new __Value(() => __config.Get("tokenExchangeSubjectTokenEnvVar")); + /// + /// The name of the environment variable containing the subject token for token exchange. This argument can also be + /// specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + /// `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + /// users. + /// + public static string? TokenExchangeSubjectTokenEnvVar + { + get => _tokenExchangeSubjectTokenEnvVar.Get(); + set => _tokenExchangeSubjectTokenEnvVar.Set(value); + } + } } diff --git a/sdk/dotnet/Fabric/GetCloudRouter.cs b/sdk/dotnet/Fabric/GetCloudRouter.cs index a2d804a10..3450aa6cf 100644 --- a/sdk/dotnet/Fabric/GetCloudRouter.cs +++ b/sdk/dotnet/Fabric/GetCloudRouter.cs @@ -243,10 +243,6 @@ public sealed class GetCloudRouterResult /// public readonly int EquinixAsn; /// - /// Number of gateway attachments associated with this Access point - /// - public readonly int GatewayAttachmentsCount; - /// /// Fabric Cloud Router URI information /// public readonly string Href; @@ -307,8 +303,6 @@ private GetCloudRouterResult( int equinixAsn, - int gatewayAttachmentsCount, - string href, string id, @@ -338,7 +332,6 @@ private GetCloudRouterResult( ConnectionsCount = connectionsCount; Description = description; EquinixAsn = equinixAsn; - GatewayAttachmentsCount = gatewayAttachmentsCount; Href = href; Id = id; Locations = locations; diff --git a/sdk/dotnet/Fabric/GetMetro.cs b/sdk/dotnet/Fabric/GetMetro.cs index 3bbd418cc..6b0e060df 100644 --- a/sdk/dotnet/Fabric/GetMetro.cs +++ b/sdk/dotnet/Fabric/GetMetro.cs @@ -156,6 +156,10 @@ public sealed class GetMetroResult /// public readonly ImmutableArray ConnectedMetros; /// + /// Country in which the data center is located + /// + public readonly string Country; + /// /// Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. /// public readonly int EquinixAsn; @@ -202,6 +206,8 @@ private GetMetroResult( ImmutableArray connectedMetros, + string country, + int equinixAsn, Outputs.GetMetroGeoCoordinatesResult geoCoordinates, @@ -224,6 +230,7 @@ private GetMetroResult( { Code = code; ConnectedMetros = connectedMetros; + Country = country; EquinixAsn = equinixAsn; GeoCoordinates = geoCoordinates; GeoScopes = geoScopes; diff --git a/sdk/dotnet/Fabric/GetPorts.cs b/sdk/dotnet/Fabric/GetPorts.cs index 235d21950..910ef1518 100644 --- a/sdk/dotnet/Fabric/GetPorts.cs +++ b/sdk/dotnet/Fabric/GetPorts.cs @@ -12,7 +12,7 @@ namespace Pulumi.Equinix.Fabric public static class GetPorts { /// - /// Fabric V4 API compatible data resource that allow user to fetch port by name + /// Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid /// /// Additional documentation: /// * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -56,11 +56,11 @@ public static class GetPorts /// }); /// ``` /// - public static Task InvokeAsync(GetPortsArgs args, InvokeOptions? options = null) + public static Task InvokeAsync(GetPortsArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("equinix:fabric/getPorts:getPorts", args ?? new GetPortsArgs(), options.WithDefaults()); /// - /// Fabric V4 API compatible data resource that allow user to fetch port by name + /// Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid /// /// Additional documentation: /// * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -104,11 +104,11 @@ public static Task InvokeAsync(GetPortsArgs args, InvokeOptions? /// }); /// ``` /// - public static Output Invoke(GetPortsInvokeArgs args, InvokeOptions? options = null) + public static Output Invoke(GetPortsInvokeArgs? args = null, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("equinix:fabric/getPorts:getPorts", args ?? new GetPortsInvokeArgs(), options.WithDefaults()); /// - /// Fabric V4 API compatible data resource that allow user to fetch port by name + /// Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid /// /// Additional documentation: /// * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -160,10 +160,22 @@ public static Output Invoke(GetPortsInvokeArgs args, InvokeOutpu public sealed class GetPortsArgs : global::Pulumi.InvokeArgs { /// - /// name + /// (Deprecated) Use 'filter' instead. /// - [Input("filter", required: true)] - public Inputs.GetPortsFilterArgs Filter { get; set; } = null!; + [Input("filter")] + public Inputs.GetPortsFilterArgs? Filter { get; set; } + + [Input("filters")] + private List? _filters; + + /// + /// List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + /// + public List Filters + { + get => _filters ?? (_filters = new List()); + set => _filters = value; + } public GetPortsArgs() { @@ -174,10 +186,22 @@ public GetPortsArgs() public sealed class GetPortsInvokeArgs : global::Pulumi.InvokeArgs { /// - /// name + /// (Deprecated) Use 'filter' instead. /// - [Input("filter", required: true)] - public Input Filter { get; set; } = null!; + [Input("filter")] + public Input? Filter { get; set; } + + [Input("filters")] + private InputList? _filters; + + /// + /// List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + /// + public InputList Filters + { + get => _filters ?? (_filters = new InputList()); + set => _filters = value; + } public GetPortsInvokeArgs() { @@ -194,9 +218,13 @@ public sealed class GetPortsResult /// public readonly ImmutableArray Data; /// - /// name + /// (Deprecated) Use 'filter' instead. /// - public readonly Outputs.GetPortsFilterResult Filter; + public readonly Outputs.GetPortsFilterResult? Filter; + /// + /// List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + /// + public readonly ImmutableArray Filters; /// /// The provider-assigned unique ID for this managed resource. /// @@ -206,12 +234,15 @@ public sealed class GetPortsResult private GetPortsResult( ImmutableArray data, - Outputs.GetPortsFilterResult filter, + Outputs.GetPortsFilterResult? filter, + + ImmutableArray filters, string id) { Data = data; Filter = filter; + Filters = filters; Id = id; } } diff --git a/sdk/dotnet/Fabric/GetServiceProfile.cs b/sdk/dotnet/Fabric/GetServiceProfile.cs index cd7adb68b..937f90e12 100644 --- a/sdk/dotnet/Fabric/GetServiceProfile.cs +++ b/sdk/dotnet/Fabric/GetServiceProfile.cs @@ -240,7 +240,7 @@ public sealed class GetServiceProfileResult /// public readonly ImmutableArray Tags; /// - /// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + /// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE /// public readonly string Type; /// diff --git a/sdk/dotnet/Fabric/Inputs/GetConnectionsFilter.cs b/sdk/dotnet/Fabric/Inputs/GetConnectionsFilter.cs index ee016c36b..6a32532bd 100644 --- a/sdk/dotnet/Fabric/Inputs/GetConnectionsFilter.cs +++ b/sdk/dotnet/Fabric/Inputs/GetConnectionsFilter.cs @@ -25,7 +25,7 @@ public sealed class GetConnectionsFilterArgs : global::Pulumi.InvokeArgs public string Operator { get; set; } = null!; /// - /// Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + /// Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] /// [Input("property", required: true)] public string Property { get; set; } = null!; diff --git a/sdk/dotnet/Fabric/Inputs/GetConnectionsFilterArgs.cs b/sdk/dotnet/Fabric/Inputs/GetConnectionsFilterArgs.cs index 560e45145..103742efc 100644 --- a/sdk/dotnet/Fabric/Inputs/GetConnectionsFilterArgs.cs +++ b/sdk/dotnet/Fabric/Inputs/GetConnectionsFilterArgs.cs @@ -25,7 +25,7 @@ public sealed class GetConnectionsFilterInputArgs : global::Pulumi.ResourceArgs public Input Operator { get; set; } = null!; /// - /// Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + /// Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] /// [Input("property", required: true)] public Input Property { get; set; } = null!; diff --git a/sdk/dotnet/Fabric/Inputs/ServiceProfileAccessPointTypeConfigArgs.cs b/sdk/dotnet/Fabric/Inputs/ServiceProfileAccessPointTypeConfigArgs.cs index 6400802a2..57fbf473e 100644 --- a/sdk/dotnet/Fabric/Inputs/ServiceProfileAccessPointTypeConfigArgs.cs +++ b/sdk/dotnet/Fabric/Inputs/ServiceProfileAccessPointTypeConfigArgs.cs @@ -78,6 +78,12 @@ public sealed class ServiceProfileAccessPointTypeConfigArgs : global::Pulumi.Res [Input("linkProtocolConfig")] public Input? LinkProtocolConfig { get; set; } + /// + /// Optional redundant connections + /// + [Input("selectiveRedundancy")] + public Input? SelectiveRedundancy { get; set; } + [Input("supportedBandwidths")] private InputList? _supportedBandwidths; diff --git a/sdk/dotnet/Fabric/Inputs/ServiceProfileAccessPointTypeConfigGetArgs.cs b/sdk/dotnet/Fabric/Inputs/ServiceProfileAccessPointTypeConfigGetArgs.cs index d7c78dbc0..4cfaa93d0 100644 --- a/sdk/dotnet/Fabric/Inputs/ServiceProfileAccessPointTypeConfigGetArgs.cs +++ b/sdk/dotnet/Fabric/Inputs/ServiceProfileAccessPointTypeConfigGetArgs.cs @@ -78,6 +78,12 @@ public sealed class ServiceProfileAccessPointTypeConfigGetArgs : global::Pulumi. [Input("linkProtocolConfig")] public Input? LinkProtocolConfig { get; set; } + /// + /// Optional redundant connections + /// + [Input("selectiveRedundancy")] + public Input? SelectiveRedundancy { get; set; } + [Input("supportedBandwidths")] private InputList? _supportedBandwidths; diff --git a/sdk/dotnet/Fabric/Outputs/GetCloudRoutersDataResult.cs b/sdk/dotnet/Fabric/Outputs/GetCloudRoutersDataResult.cs index 18ec9ea10..74b1c7aee 100644 --- a/sdk/dotnet/Fabric/Outputs/GetCloudRoutersDataResult.cs +++ b/sdk/dotnet/Fabric/Outputs/GetCloudRoutersDataResult.cs @@ -34,10 +34,6 @@ public sealed class GetCloudRoutersDataResult /// public readonly int EquinixAsn; /// - /// Number of gateway attachments associated with this Access point - /// - public readonly int GatewayAttachmentsCount; - /// /// Fabric Cloud Router URI information /// public readonly string Href; @@ -94,8 +90,6 @@ private GetCloudRoutersDataResult( int equinixAsn, - int gatewayAttachmentsCount, - string href, ImmutableArray locations, @@ -123,7 +117,6 @@ private GetCloudRoutersDataResult( ConnectionsCount = connectionsCount; Description = description; EquinixAsn = equinixAsn; - GatewayAttachmentsCount = gatewayAttachmentsCount; Href = href; Locations = locations; MarketplaceSubscriptions = marketplaceSubscriptions; diff --git a/sdk/dotnet/Fabric/Outputs/GetConnectionsFilterResult.cs b/sdk/dotnet/Fabric/Outputs/GetConnectionsFilterResult.cs index b2721c96c..9e74a0444 100644 --- a/sdk/dotnet/Fabric/Outputs/GetConnectionsFilterResult.cs +++ b/sdk/dotnet/Fabric/Outputs/GetConnectionsFilterResult.cs @@ -22,7 +22,7 @@ public sealed class GetConnectionsFilterResult /// public readonly string Operator; /// - /// Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + /// Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] /// public readonly string Property; /// diff --git a/sdk/dotnet/Fabric/Outputs/GetMetrosDataResult.cs b/sdk/dotnet/Fabric/Outputs/GetMetrosDataResult.cs index e8372a0c4..87470925a 100644 --- a/sdk/dotnet/Fabric/Outputs/GetMetrosDataResult.cs +++ b/sdk/dotnet/Fabric/Outputs/GetMetrosDataResult.cs @@ -22,6 +22,10 @@ public sealed class GetMetrosDataResult /// public readonly ImmutableArray ConnectedMetros; /// + /// Country in which the data center is located + /// + public readonly string Country; + /// /// Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. /// public readonly int EquinixAsn; @@ -60,6 +64,8 @@ private GetMetrosDataResult( ImmutableArray connectedMetros, + string country, + int equinixAsn, Outputs.GetMetrosDataGeoCoordinatesResult geoCoordinates, @@ -78,6 +84,7 @@ private GetMetrosDataResult( { Code = code; ConnectedMetros = connectedMetros; + Country = country; EquinixAsn = equinixAsn; GeoCoordinates = geoCoordinates; GeoScopes = geoScopes; diff --git a/sdk/dotnet/Fabric/Outputs/GetServiceProfileAccessPointTypeConfigResult.cs b/sdk/dotnet/Fabric/Outputs/GetServiceProfileAccessPointTypeConfigResult.cs index 096406f10..0d42ed454 100644 --- a/sdk/dotnet/Fabric/Outputs/GetServiceProfileAccessPointTypeConfigResult.cs +++ b/sdk/dotnet/Fabric/Outputs/GetServiceProfileAccessPointTypeConfigResult.cs @@ -58,6 +58,10 @@ public sealed class GetServiceProfileAccessPointTypeConfigResult /// public readonly Outputs.GetServiceProfileAccessPointTypeConfigLinkProtocolConfigResult? LinkProtocolConfig; /// + /// Optional redundant connections + /// + public readonly bool? SelectiveRedundancy; + /// /// Supported bandwidths /// public readonly ImmutableArray SupportedBandwidths; @@ -94,6 +98,8 @@ private GetServiceProfileAccessPointTypeConfigResult( Outputs.GetServiceProfileAccessPointTypeConfigLinkProtocolConfigResult? linkProtocolConfig, + bool? selectiveRedundancy, + ImmutableArray supportedBandwidths, string type, @@ -111,6 +117,7 @@ private GetServiceProfileAccessPointTypeConfigResult( ConnectionRedundancyRequired = connectionRedundancyRequired; EnableAutoGenerateServiceKey = enableAutoGenerateServiceKey; LinkProtocolConfig = linkProtocolConfig; + SelectiveRedundancy = selectiveRedundancy; SupportedBandwidths = supportedBandwidths; Type = type; Uuid = uuid; diff --git a/sdk/dotnet/Fabric/Outputs/GetServiceProfilesDatumAccessPointTypeConfigResult.cs b/sdk/dotnet/Fabric/Outputs/GetServiceProfilesDatumAccessPointTypeConfigResult.cs index 9dfce09ba..7081c4c1a 100644 --- a/sdk/dotnet/Fabric/Outputs/GetServiceProfilesDatumAccessPointTypeConfigResult.cs +++ b/sdk/dotnet/Fabric/Outputs/GetServiceProfilesDatumAccessPointTypeConfigResult.cs @@ -58,6 +58,10 @@ public sealed class GetServiceProfilesDatumAccessPointTypeConfigResult /// public readonly Outputs.GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfigResult? LinkProtocolConfig; /// + /// Optional redundant connections + /// + public readonly bool? SelectiveRedundancy; + /// /// Supported bandwidths /// public readonly ImmutableArray SupportedBandwidths; @@ -94,6 +98,8 @@ private GetServiceProfilesDatumAccessPointTypeConfigResult( Outputs.GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfigResult? linkProtocolConfig, + bool? selectiveRedundancy, + ImmutableArray supportedBandwidths, string type, @@ -111,6 +117,7 @@ private GetServiceProfilesDatumAccessPointTypeConfigResult( ConnectionRedundancyRequired = connectionRedundancyRequired; EnableAutoGenerateServiceKey = enableAutoGenerateServiceKey; LinkProtocolConfig = linkProtocolConfig; + SelectiveRedundancy = selectiveRedundancy; SupportedBandwidths = supportedBandwidths; Type = type; Uuid = uuid; diff --git a/sdk/dotnet/Fabric/Outputs/GetServiceProfilesDatumResult.cs b/sdk/dotnet/Fabric/Outputs/GetServiceProfilesDatumResult.cs index 577b23197..fd34e4850 100644 --- a/sdk/dotnet/Fabric/Outputs/GetServiceProfilesDatumResult.cs +++ b/sdk/dotnet/Fabric/Outputs/GetServiceProfilesDatumResult.cs @@ -78,7 +78,7 @@ public sealed class GetServiceProfilesDatumResult /// public readonly ImmutableArray Tags; /// - /// Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + /// Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE /// public readonly string Type; /// diff --git a/sdk/dotnet/Fabric/Outputs/ServiceProfileAccessPointTypeConfig.cs b/sdk/dotnet/Fabric/Outputs/ServiceProfileAccessPointTypeConfig.cs index f55b6e93a..6247a745a 100644 --- a/sdk/dotnet/Fabric/Outputs/ServiceProfileAccessPointTypeConfig.cs +++ b/sdk/dotnet/Fabric/Outputs/ServiceProfileAccessPointTypeConfig.cs @@ -58,6 +58,10 @@ public sealed class ServiceProfileAccessPointTypeConfig /// public readonly Outputs.ServiceProfileAccessPointTypeConfigLinkProtocolConfig? LinkProtocolConfig; /// + /// Optional redundant connections + /// + public readonly bool? SelectiveRedundancy; + /// /// Supported bandwidths /// public readonly ImmutableArray SupportedBandwidths; @@ -94,6 +98,8 @@ private ServiceProfileAccessPointTypeConfig( Outputs.ServiceProfileAccessPointTypeConfigLinkProtocolConfig? linkProtocolConfig, + bool? selectiveRedundancy, + ImmutableArray supportedBandwidths, string type, @@ -111,6 +117,7 @@ private ServiceProfileAccessPointTypeConfig( ConnectionRedundancyRequired = connectionRedundancyRequired; EnableAutoGenerateServiceKey = enableAutoGenerateServiceKey; LinkProtocolConfig = linkProtocolConfig; + SelectiveRedundancy = selectiveRedundancy; SupportedBandwidths = supportedBandwidths; Type = type; Uuid = uuid; diff --git a/sdk/dotnet/Fabric/ServiceProfile.cs b/sdk/dotnet/Fabric/ServiceProfile.cs index 36c541947..8386ee07c 100644 --- a/sdk/dotnet/Fabric/ServiceProfile.cs +++ b/sdk/dotnet/Fabric/ServiceProfile.cs @@ -178,7 +178,7 @@ public partial class ServiceProfile : global::Pulumi.CustomResource public Output> Tags { get; private set; } = null!; /// - /// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + /// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE /// [Output("type")] public Output Type { get; private set; } = null!; @@ -375,7 +375,7 @@ public InputList Tags } /// - /// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + /// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE /// [Input("type", required: true)] public InputUnion Type { get; set; } = null!; @@ -551,7 +551,7 @@ public InputList Tags } /// - /// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + /// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE /// [Input("type")] public InputUnion? Type { get; set; } diff --git a/sdk/dotnet/Metal/Device.cs b/sdk/dotnet/Metal/Device.cs index 0a407bf19..25055a4de 100644 --- a/sdk/dotnet/Metal/Device.cs +++ b/sdk/dotnet/Metal/Device.cs @@ -107,7 +107,59 @@ namespace Pulumi.Equinix.Metal /// BillingCycle = Equinix.Metal.BillingCycle.Hourly, /// ProjectId = projectId, /// HardwareReservationId = "next-available", - /// Storage = @"{ \""disks\"": [ { \""device\"": \""/dev/sda\"", \""wipeTable\"": true, \""partitions\"": [ { \""label\"": \""BIOS\"", \""number\"": 1, \""size\"": \""4096\"" }, { \""label\"": \""SWAP\"", \""number\"": 2, \""size\"": \""3993600\"" }, { \""label\"": \""ROOT\"", \""number\"": 3, \""size\"": \""0\"" } ] } ], \""filesystems\"": [ { \""mount\"": { \""device\"": \""/dev/sda3\"", \""format\"": \""ext4\"", \""point\"": \""/\"", \""create\"": { \""options\"": [ \""-L\"", \""ROOT\"" ] } } }, { \""mount\"": { \""device\"": \""/dev/sda2\"", \""format\"": \""swap\"", \""point\"": \""none\"", \""create\"": { \""options\"": [ \""-L\"", \""SWAP\"" ] } } } ]} + /// Storage = @"{ + /// ""disks"": [ + /// { + /// ""device"": ""/dev/sda"", + /// ""wipeTable"": true, + /// ""partitions"": [ + /// { + /// ""label"": ""BIOS"", + /// ""number"": 1, + /// ""size"": ""4096"" + /// }, + /// { + /// ""label"": ""SWAP"", + /// ""number"": 2, + /// ""size"": ""3993600"" + /// }, + /// { + /// ""label"": ""ROOT"", + /// ""number"": 3, + /// ""size"": ""0"" + /// } + /// ] + /// } + /// ], + /// ""filesystems"": [ + /// { + /// ""mount"": { + /// ""device"": ""/dev/sda3"", + /// ""format"": ""ext4"", + /// ""point"": ""/"", + /// ""create"": { + /// ""options"": [ + /// ""-L"", + /// ""ROOT"" + /// ] + /// } + /// } + /// }, + /// { + /// ""mount"": { + /// ""device"": ""/dev/sda2"", + /// ""format"": ""swap"", + /// ""point"": ""none"", + /// ""create"": { + /// ""options"": [ + /// ""-L"", + /// ""SWAP"" + /// ] + /// } + /// } + /// } + /// ] + /// } /// ", /// }); /// diff --git a/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode0VendorConfigurationArgs.cs b/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode0VendorConfigurationArgs.cs index 2262fdd7d..a07d64c2a 100644 --- a/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode0VendorConfigurationArgs.cs +++ b/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode0VendorConfigurationArgs.cs @@ -74,6 +74,12 @@ public Input? AdminPassword [Input("ipAddress")] public Input? IpAddress { get; set; } + /// + /// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + [Input("ipAddressType")] + public Input? IpAddressType { get; set; } + [Input("licenseId")] private Input? _licenseId; @@ -106,6 +112,12 @@ public Input? LicenseKey } } + /// + /// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + [Input("managementInterfaceId")] + public Input? ManagementInterfaceId { get; set; } + /// /// Management Type. This field is relevant only for Cisco FTD Firewall devices /// diff --git a/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode0VendorConfigurationGetArgs.cs b/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode0VendorConfigurationGetArgs.cs index 085aa0008..43ba9e395 100644 --- a/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode0VendorConfigurationGetArgs.cs +++ b/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode0VendorConfigurationGetArgs.cs @@ -74,6 +74,12 @@ public Input? AdminPassword [Input("ipAddress")] public Input? IpAddress { get; set; } + /// + /// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + [Input("ipAddressType")] + public Input? IpAddressType { get; set; } + [Input("licenseId")] private Input? _licenseId; @@ -106,6 +112,12 @@ public Input? LicenseKey } } + /// + /// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + [Input("managementInterfaceId")] + public Input? ManagementInterfaceId { get; set; } + /// /// Management Type. This field is relevant only for Cisco FTD Firewall devices /// diff --git a/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode1VendorConfigurationArgs.cs b/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode1VendorConfigurationArgs.cs index 4bfd0e9bf..caf132172 100644 --- a/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode1VendorConfigurationArgs.cs +++ b/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode1VendorConfigurationArgs.cs @@ -74,6 +74,12 @@ public Input? AdminPassword [Input("ipAddress")] public Input? IpAddress { get; set; } + /// + /// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + [Input("ipAddressType")] + public Input? IpAddressType { get; set; } + [Input("licenseId")] private Input? _licenseId; @@ -106,6 +112,12 @@ public Input? LicenseKey } } + /// + /// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + [Input("managementInterfaceId")] + public Input? ManagementInterfaceId { get; set; } + /// /// Management Type. This field is relevant only for Cisco FTD Firewall devices /// diff --git a/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode1VendorConfigurationGetArgs.cs b/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode1VendorConfigurationGetArgs.cs index 5a032a3db..0a5b74068 100644 --- a/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode1VendorConfigurationGetArgs.cs +++ b/sdk/dotnet/NetworkEdge/Inputs/DeviceClusterDetailsNode1VendorConfigurationGetArgs.cs @@ -74,6 +74,12 @@ public Input? AdminPassword [Input("ipAddress")] public Input? IpAddress { get; set; } + /// + /// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + [Input("ipAddressType")] + public Input? IpAddressType { get; set; } + [Input("licenseId")] private Input? _licenseId; @@ -106,6 +112,12 @@ public Input? LicenseKey } } + /// + /// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + [Input("managementInterfaceId")] + public Input? ManagementInterfaceId { get; set; } + /// /// Management Type. This field is relevant only for Cisco FTD Firewall devices /// diff --git a/sdk/dotnet/NetworkEdge/Outputs/DeviceClusterDetailsNode0VendorConfiguration.cs b/sdk/dotnet/NetworkEdge/Outputs/DeviceClusterDetailsNode0VendorConfiguration.cs index d2914eb49..f0d96ab12 100644 --- a/sdk/dotnet/NetworkEdge/Outputs/DeviceClusterDetailsNode0VendorConfiguration.cs +++ b/sdk/dotnet/NetworkEdge/Outputs/DeviceClusterDetailsNode0VendorConfiguration.cs @@ -42,6 +42,10 @@ public sealed class DeviceClusterDetailsNode0VendorConfiguration /// public readonly string? IpAddress; /// + /// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + public readonly string? IpAddressType; + /// /// License id. This field is relevant only for the BlueCat DNS and DHCP Server /// public readonly string? LicenseId; @@ -50,6 +54,10 @@ public sealed class DeviceClusterDetailsNode0VendorConfiguration /// public readonly string? LicenseKey; /// + /// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + public readonly string? ManagementInterfaceId; + /// /// Management Type. This field is relevant only for Cisco FTD Firewall devices /// public readonly string? ManagementType; @@ -98,10 +106,14 @@ private DeviceClusterDetailsNode0VendorConfiguration( string? ipAddress, + string? ipAddressType, + string? licenseId, string? licenseKey, + string? managementInterfaceId, + string? managementType, string? panoramaAuthKey, @@ -125,8 +137,10 @@ private DeviceClusterDetailsNode0VendorConfiguration( GatewayIp = gatewayIp; Hostname = hostname; IpAddress = ipAddress; + IpAddressType = ipAddressType; LicenseId = licenseId; LicenseKey = licenseKey; + ManagementInterfaceId = managementInterfaceId; ManagementType = managementType; PanoramaAuthKey = panoramaAuthKey; PanoramaIpAddress = panoramaIpAddress; diff --git a/sdk/dotnet/NetworkEdge/Outputs/DeviceClusterDetailsNode1VendorConfiguration.cs b/sdk/dotnet/NetworkEdge/Outputs/DeviceClusterDetailsNode1VendorConfiguration.cs index 37d6c5290..8a49adbf9 100644 --- a/sdk/dotnet/NetworkEdge/Outputs/DeviceClusterDetailsNode1VendorConfiguration.cs +++ b/sdk/dotnet/NetworkEdge/Outputs/DeviceClusterDetailsNode1VendorConfiguration.cs @@ -42,6 +42,10 @@ public sealed class DeviceClusterDetailsNode1VendorConfiguration /// public readonly string? IpAddress; /// + /// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + public readonly string? IpAddressType; + /// /// License id. This field is relevant only for the BlueCat DNS and DHCP Server /// public readonly string? LicenseId; @@ -50,6 +54,10 @@ public sealed class DeviceClusterDetailsNode1VendorConfiguration /// public readonly string? LicenseKey; /// + /// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + /// + public readonly string? ManagementInterfaceId; + /// /// Management Type. This field is relevant only for Cisco FTD Firewall devices /// public readonly string? ManagementType; @@ -98,10 +106,14 @@ private DeviceClusterDetailsNode1VendorConfiguration( string? ipAddress, + string? ipAddressType, + string? licenseId, string? licenseKey, + string? managementInterfaceId, + string? managementType, string? panoramaAuthKey, @@ -125,8 +137,10 @@ private DeviceClusterDetailsNode1VendorConfiguration( GatewayIp = gatewayIp; Hostname = hostname; IpAddress = ipAddress; + IpAddressType = ipAddressType; LicenseId = licenseId; LicenseKey = licenseKey; + ManagementInterfaceId = managementInterfaceId; ManagementType = managementType; PanoramaAuthKey = panoramaAuthKey; PanoramaIpAddress = panoramaIpAddress; diff --git a/sdk/dotnet/NetworkEdge/Outputs/GetDeviceSecondaryDeviceResult.cs b/sdk/dotnet/NetworkEdge/Outputs/GetDeviceSecondaryDeviceResult.cs index 3eb02f2aa..4b874ba25 100644 --- a/sdk/dotnet/NetworkEdge/Outputs/GetDeviceSecondaryDeviceResult.cs +++ b/sdk/dotnet/NetworkEdge/Outputs/GetDeviceSecondaryDeviceResult.cs @@ -140,7 +140,7 @@ public sealed class GetDeviceSecondaryDeviceResult /// public readonly string Uuid; /// - /// Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + /// Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) /// public readonly ImmutableDictionary VendorConfiguration; /// diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index 2e5017ba8..fcb017d7c 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -45,6 +45,14 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("endpoint")] public Output Endpoint { get; private set; } = null!; + /// + /// The STS API base URL to point to the desired environment. This argument can also be specified with the + /// `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + /// an alpha feature and not available for all users. + /// + [Output("stsEndpoint")] + public Output StsEndpoint { get; private set; } = null!; + /// /// API tokens are generated from API Consumer clients using the [OAuth2 /// API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). @@ -53,6 +61,32 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("token")] public Output Token { get; private set; } = null!; + /// + /// The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + /// This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + /// token exchange is an alpha feature and not available for all users. + /// + [Output("tokenExchangeScope")] + public Output TokenExchangeScope { get; private set; } = null!; + + /// + /// The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + /// by Equinix STS. If not set, the provider will use the environment variable specified in + /// `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + /// users. + /// + [Output("tokenExchangeSubjectToken")] + public Output TokenExchangeSubjectToken { get; private set; } = null!; + + /// + /// The name of the environment variable containing the subject token for token exchange. This argument can also be + /// specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + /// `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + /// users. + /// + [Output("tokenExchangeSubjectTokenEnvVar")] + public Output TokenExchangeSubjectTokenEnvVar { get; private set; } = null!; + /// /// Create a Provider resource with the given unique name, arguments, and options. @@ -135,6 +169,14 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs [Input("responseMaxPageSize", json: true)] public Input? ResponseMaxPageSize { get; set; } + /// + /// The STS API base URL to point to the desired environment. This argument can also be specified with the + /// `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + /// an alpha feature and not available for all users. + /// + [Input("stsEndpoint")] + public Input? StsEndpoint { get; set; } + /// /// API tokens are generated from API Consumer clients using the [OAuth2 /// API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). @@ -143,6 +185,32 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs [Input("token")] public Input? Token { get; set; } + /// + /// The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + /// This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + /// token exchange is an alpha feature and not available for all users. + /// + [Input("tokenExchangeScope")] + public Input? TokenExchangeScope { get; set; } + + /// + /// The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + /// by Equinix STS. If not set, the provider will use the environment variable specified in + /// `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + /// users. + /// + [Input("tokenExchangeSubjectToken")] + public Input? TokenExchangeSubjectToken { get; set; } + + /// + /// The name of the environment variable containing the subject token for token exchange. This argument can also be + /// specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + /// `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + /// users. + /// + [Input("tokenExchangeSubjectTokenEnvVar")] + public Input? TokenExchangeSubjectTokenEnvVar { get; set; } + public ProviderArgs() { } diff --git a/sdk/go/equinix/config/config.go b/sdk/go/equinix/config/config.go index 0bb6c04af..5eecca9c0 100644 --- a/sdk/go/equinix/config/config.go +++ b/sdk/go/equinix/config/config.go @@ -56,9 +56,38 @@ func GetResponseMaxPageSize(ctx *pulumi.Context) int { return config.GetInt(ctx, "equinix:responseMaxPageSize") } +// The STS API base URL to point to the desired environment. This argument can also be specified with the +// `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is +// an alpha feature and not available for all users. +func GetStsEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "equinix:stsEndpoint") +} + // API tokens are generated from API Consumer clients using the [OAuth2 // API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). // This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. func GetToken(ctx *pulumi.Context) string { return config.Get(ctx, "equinix:token") } + +// The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. +// This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that +// token exchange is an alpha feature and not available for all users. +func GetTokenExchangeScope(ctx *pulumi.Context) string { + return config.Get(ctx, "equinix:tokenExchangeScope") +} + +// The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted +// by Equinix STS. If not set, the provider will use the environment variable specified in +// `tokenExchangeSubjectTokenEnvVar`. Please note that token exchange is an alpha feature and not available for all users. +func GetTokenExchangeSubjectToken(ctx *pulumi.Context) string { + return config.Get(ctx, "equinix:tokenExchangeSubjectToken") +} + +// The name of the environment variable containing the subject token for token exchange. This argument can also be +// specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to +// `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all +// users. +func GetTokenExchangeSubjectTokenEnvVar(ctx *pulumi.Context) string { + return config.Get(ctx, "equinix:tokenExchangeSubjectTokenEnvVar") +} diff --git a/sdk/go/equinix/fabric/connection.go b/sdk/go/equinix/fabric/connection.go index 5dd090060..a0bc70e8f 100644 --- a/sdk/go/equinix/fabric/connection.go +++ b/sdk/go/equinix/fabric/connection.go @@ -430,14 +430,14 @@ import ( // }, // }, // }, -// AdditionalInfo: pulumi.StringMapArray{ -// pulumi.StringMap{ -// "key": pulumi.String("accessKey"), -// "value": pulumi.String(""), +// AdditionalInfo: pulumi.MapArray{ +// pulumi.Map{ +// "key": pulumi.Any("accessKey"), +// "value": pulumi.Any(""), // }, -// pulumi.StringMap{ -// "key": pulumi.String("secretKey"), -// "value": pulumi.String(""), +// pulumi.Map{ +// "key": pulumi.Any("secretKey"), +// "value": pulumi.Any(""), // }, // }, // }) diff --git a/sdk/go/equinix/fabric/getCloudRouter.go b/sdk/go/equinix/fabric/getCloudRouter.go index 065f5e9f5..3f9a25ce9 100644 --- a/sdk/go/equinix/fabric/getCloudRouter.go +++ b/sdk/go/equinix/fabric/getCloudRouter.go @@ -80,8 +80,6 @@ type LookupCloudRouterResult struct { Description string `pulumi:"description"` // Equinix ASN EquinixAsn int `pulumi:"equinixAsn"` - // Number of gateway attachments associated with this Access point - GatewayAttachmentsCount int `pulumi:"gatewayAttachmentsCount"` // Fabric Cloud Router URI information Href string `pulumi:"href"` // The provider-assigned unique ID for this managed resource. @@ -167,11 +165,6 @@ func (o LookupCloudRouterResultOutput) EquinixAsn() pulumi.IntOutput { return o.ApplyT(func(v LookupCloudRouterResult) int { return v.EquinixAsn }).(pulumi.IntOutput) } -// Number of gateway attachments associated with this Access point -func (o LookupCloudRouterResultOutput) GatewayAttachmentsCount() pulumi.IntOutput { - return o.ApplyT(func(v LookupCloudRouterResult) int { return v.GatewayAttachmentsCount }).(pulumi.IntOutput) -} - // Fabric Cloud Router URI information func (o LookupCloudRouterResultOutput) Href() pulumi.StringOutput { return o.ApplyT(func(v LookupCloudRouterResult) string { return v.Href }).(pulumi.StringOutput) diff --git a/sdk/go/equinix/fabric/getMetro.go b/sdk/go/equinix/fabric/getMetro.go index ff5b6d99f..4d51da5f4 100644 --- a/sdk/go/equinix/fabric/getMetro.go +++ b/sdk/go/equinix/fabric/getMetro.go @@ -67,6 +67,8 @@ type GetMetroResult struct { Code string `pulumi:"code"` // Arrays of objects containing latency data for the specified metro ConnectedMetros []GetMetroConnectedMetro `pulumi:"connectedMetros"` + // Country in which the data center is located + Country string `pulumi:"country"` // Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. EquinixAsn int `pulumi:"equinixAsn"` // Geographic location data of Fabric Metro @@ -133,6 +135,11 @@ func (o GetMetroResultOutput) ConnectedMetros() GetMetroConnectedMetroArrayOutpu return o.ApplyT(func(v GetMetroResult) []GetMetroConnectedMetro { return v.ConnectedMetros }).(GetMetroConnectedMetroArrayOutput) } +// Country in which the data center is located +func (o GetMetroResultOutput) Country() pulumi.StringOutput { + return o.ApplyT(func(v GetMetroResult) string { return v.Country }).(pulumi.StringOutput) +} + // Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. func (o GetMetroResultOutput) EquinixAsn() pulumi.IntOutput { return o.ApplyT(func(v GetMetroResult) int { return v.EquinixAsn }).(pulumi.IntOutput) diff --git a/sdk/go/equinix/fabric/getPorts.go b/sdk/go/equinix/fabric/getPorts.go index 64fdcad7f..f6fe08db9 100644 --- a/sdk/go/equinix/fabric/getPorts.go +++ b/sdk/go/equinix/fabric/getPorts.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Fabric V4 API compatible data resource that allow user to fetch port by name +// Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid // // Additional documentation: // * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -70,16 +70,24 @@ func GetPorts(ctx *pulumi.Context, args *GetPortsArgs, opts ...pulumi.InvokeOpti // A collection of arguments for invoking getPorts. type GetPortsArgs struct { - // name - Filter GetPortsFilter `pulumi:"filter"` + // (Deprecated) Use 'filter' instead. + // + // Deprecated: Use 'filter' instead. + Filter *GetPortsFilter `pulumi:"filter"` + // List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + Filters []GetPortsFilter `pulumi:"filters"` } // A collection of values returned by getPorts. type GetPortsResult struct { // List of Ports Data []GetPortsDatum `pulumi:"data"` - // name - Filter GetPortsFilter `pulumi:"filter"` + // (Deprecated) Use 'filter' instead. + // + // Deprecated: Use 'filter' instead. + Filter *GetPortsFilter `pulumi:"filter"` + // List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + Filters []GetPortsFilter `pulumi:"filters"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` } @@ -95,8 +103,12 @@ func GetPortsOutput(ctx *pulumi.Context, args GetPortsOutputArgs, opts ...pulumi // A collection of arguments for invoking getPorts. type GetPortsOutputArgs struct { - // name - Filter GetPortsFilterInput `pulumi:"filter"` + // (Deprecated) Use 'filter' instead. + // + // Deprecated: Use 'filter' instead. + Filter GetPortsFilterPtrInput `pulumi:"filter"` + // List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + Filters GetPortsFilterArrayInput `pulumi:"filters"` } func (GetPortsOutputArgs) ElementType() reflect.Type { @@ -123,9 +135,16 @@ func (o GetPortsResultOutput) Data() GetPortsDatumArrayOutput { return o.ApplyT(func(v GetPortsResult) []GetPortsDatum { return v.Data }).(GetPortsDatumArrayOutput) } -// name -func (o GetPortsResultOutput) Filter() GetPortsFilterOutput { - return o.ApplyT(func(v GetPortsResult) GetPortsFilter { return v.Filter }).(GetPortsFilterOutput) +// (Deprecated) Use 'filter' instead. +// +// Deprecated: Use 'filter' instead. +func (o GetPortsResultOutput) Filter() GetPortsFilterPtrOutput { + return o.ApplyT(func(v GetPortsResult) *GetPortsFilter { return v.Filter }).(GetPortsFilterPtrOutput) +} + +// List of filter objects for SearchPorts API. Each filter must have property, operator, and value. +func (o GetPortsResultOutput) Filters() GetPortsFilterArrayOutput { + return o.ApplyT(func(v GetPortsResult) []GetPortsFilter { return v.Filters }).(GetPortsFilterArrayOutput) } // The provider-assigned unique ID for this managed resource. diff --git a/sdk/go/equinix/fabric/getServiceProfile.go b/sdk/go/equinix/fabric/getServiceProfile.go index 914660c15..e681531b6 100644 --- a/sdk/go/equinix/fabric/getServiceProfile.go +++ b/sdk/go/equinix/fabric/getServiceProfile.go @@ -105,7 +105,7 @@ type LookupServiceProfileResult struct { State string `pulumi:"state"` // Tags attached to the connection Tags []string `pulumi:"tags"` - // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE Type string `pulumi:"type"` // Equinix assigned service profile identifier Uuid string `pulumi:"uuid"` @@ -238,7 +238,7 @@ func (o LookupServiceProfileResultOutput) Tags() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupServiceProfileResult) []string { return v.Tags }).(pulumi.StringArrayOutput) } -// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE +// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE func (o LookupServiceProfileResultOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v LookupServiceProfileResult) string { return v.Type }).(pulumi.StringOutput) } diff --git a/sdk/go/equinix/fabric/pulumiTypes.go b/sdk/go/equinix/fabric/pulumiTypes.go index 72b427457..3138ef5f4 100644 --- a/sdk/go/equinix/fabric/pulumiTypes.go +++ b/sdk/go/equinix/fabric/pulumiTypes.go @@ -20007,6 +20007,8 @@ type ServiceProfileAccessPointTypeConfig struct { EnableAutoGenerateServiceKey *bool `pulumi:"enableAutoGenerateServiceKey"` // Link protocol configuration details LinkProtocolConfig *ServiceProfileAccessPointTypeConfigLinkProtocolConfig `pulumi:"linkProtocolConfig"` + // Optional redundant connections + SelectiveRedundancy *bool `pulumi:"selectiveRedundancy"` // Supported bandwidths SupportedBandwidths []int `pulumi:"supportedBandwidths"` // Type of access point type config - VD, COLO @@ -20049,6 +20051,8 @@ type ServiceProfileAccessPointTypeConfigArgs struct { EnableAutoGenerateServiceKey pulumi.BoolPtrInput `pulumi:"enableAutoGenerateServiceKey"` // Link protocol configuration details LinkProtocolConfig ServiceProfileAccessPointTypeConfigLinkProtocolConfigPtrInput `pulumi:"linkProtocolConfig"` + // Optional redundant connections + SelectiveRedundancy pulumi.BoolPtrInput `pulumi:"selectiveRedundancy"` // Supported bandwidths SupportedBandwidths pulumi.IntArrayInput `pulumi:"supportedBandwidths"` // Type of access point type config - VD, COLO @@ -20169,6 +20173,11 @@ func (o ServiceProfileAccessPointTypeConfigOutput) LinkProtocolConfig() ServiceP }).(ServiceProfileAccessPointTypeConfigLinkProtocolConfigPtrOutput) } +// Optional redundant connections +func (o ServiceProfileAccessPointTypeConfigOutput) SelectiveRedundancy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ServiceProfileAccessPointTypeConfig) *bool { return v.SelectiveRedundancy }).(pulumi.BoolPtrOutput) +} + // Supported bandwidths func (o ServiceProfileAccessPointTypeConfigOutput) SupportedBandwidths() pulumi.IntArrayOutput { return o.ApplyT(func(v ServiceProfileAccessPointTypeConfig) []int { return v.SupportedBandwidths }).(pulumi.IntArrayOutput) @@ -30468,6 +30477,719 @@ func (o StreamTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type GetAdvertisedRoutesData struct { + // List of supported AS Paths for the Advertised Routes. + AsPaths []string `pulumi:"asPaths"` + // Change Log of the route table entry + ChangeLog GetAdvertisedRoutesDataChangeLog `pulumi:"changeLog"` + // connection of the route table entry + Connection GetAdvertisedRoutesDataConnection `pulumi:"connection"` + // This field holds local preference of the advertised route. + LocalPreference int `pulumi:"localPreference"` + // Multi-Exit Discriminator for the Advertised Route + Med int `pulumi:"med"` + // Next Hop of the Advertised Route + NextHop string `pulumi:"nextHop"` + // Prefix of the Advertised Route + Prefix string `pulumi:"prefix"` + // Advertised Route protocol type + ProtocolType string `pulumi:"protocolType"` + // State of the advertised Route + State string `pulumi:"state"` + // Indicator of a advertised route + Type string `pulumi:"type"` +} + +// GetAdvertisedRoutesDataInput is an input type that accepts GetAdvertisedRoutesDataArgs and GetAdvertisedRoutesDataOutput values. +// You can construct a concrete instance of `GetAdvertisedRoutesDataInput` via: +// +// GetAdvertisedRoutesDataArgs{...} +type GetAdvertisedRoutesDataInput interface { + pulumi.Input + + ToGetAdvertisedRoutesDataOutput() GetAdvertisedRoutesDataOutput + ToGetAdvertisedRoutesDataOutputWithContext(context.Context) GetAdvertisedRoutesDataOutput +} + +type GetAdvertisedRoutesDataArgs struct { + // List of supported AS Paths for the Advertised Routes. + AsPaths pulumi.StringArrayInput `pulumi:"asPaths"` + // Change Log of the route table entry + ChangeLog GetAdvertisedRoutesDataChangeLogInput `pulumi:"changeLog"` + // connection of the route table entry + Connection GetAdvertisedRoutesDataConnectionInput `pulumi:"connection"` + // This field holds local preference of the advertised route. + LocalPreference pulumi.IntInput `pulumi:"localPreference"` + // Multi-Exit Discriminator for the Advertised Route + Med pulumi.IntInput `pulumi:"med"` + // Next Hop of the Advertised Route + NextHop pulumi.StringInput `pulumi:"nextHop"` + // Prefix of the Advertised Route + Prefix pulumi.StringInput `pulumi:"prefix"` + // Advertised Route protocol type + ProtocolType pulumi.StringInput `pulumi:"protocolType"` + // State of the advertised Route + State pulumi.StringInput `pulumi:"state"` + // Indicator of a advertised route + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetAdvertisedRoutesDataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesData)(nil)).Elem() +} + +func (i GetAdvertisedRoutesDataArgs) ToGetAdvertisedRoutesDataOutput() GetAdvertisedRoutesDataOutput { + return i.ToGetAdvertisedRoutesDataOutputWithContext(context.Background()) +} + +func (i GetAdvertisedRoutesDataArgs) ToGetAdvertisedRoutesDataOutputWithContext(ctx context.Context) GetAdvertisedRoutesDataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesDataOutput) +} + +// GetAdvertisedRoutesDataArrayInput is an input type that accepts GetAdvertisedRoutesDataArray and GetAdvertisedRoutesDataArrayOutput values. +// You can construct a concrete instance of `GetAdvertisedRoutesDataArrayInput` via: +// +// GetAdvertisedRoutesDataArray{ GetAdvertisedRoutesDataArgs{...} } +type GetAdvertisedRoutesDataArrayInput interface { + pulumi.Input + + ToGetAdvertisedRoutesDataArrayOutput() GetAdvertisedRoutesDataArrayOutput + ToGetAdvertisedRoutesDataArrayOutputWithContext(context.Context) GetAdvertisedRoutesDataArrayOutput +} + +type GetAdvertisedRoutesDataArray []GetAdvertisedRoutesDataInput + +func (GetAdvertisedRoutesDataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAdvertisedRoutesData)(nil)).Elem() +} + +func (i GetAdvertisedRoutesDataArray) ToGetAdvertisedRoutesDataArrayOutput() GetAdvertisedRoutesDataArrayOutput { + return i.ToGetAdvertisedRoutesDataArrayOutputWithContext(context.Background()) +} + +func (i GetAdvertisedRoutesDataArray) ToGetAdvertisedRoutesDataArrayOutputWithContext(ctx context.Context) GetAdvertisedRoutesDataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesDataArrayOutput) +} + +type GetAdvertisedRoutesDataOutput struct{ *pulumi.OutputState } + +func (GetAdvertisedRoutesDataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesData)(nil)).Elem() +} + +func (o GetAdvertisedRoutesDataOutput) ToGetAdvertisedRoutesDataOutput() GetAdvertisedRoutesDataOutput { + return o +} + +func (o GetAdvertisedRoutesDataOutput) ToGetAdvertisedRoutesDataOutputWithContext(ctx context.Context) GetAdvertisedRoutesDataOutput { + return o +} + +// List of supported AS Paths for the Advertised Routes. +func (o GetAdvertisedRoutesDataOutput) AsPaths() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) []string { return v.AsPaths }).(pulumi.StringArrayOutput) +} + +// Change Log of the route table entry +func (o GetAdvertisedRoutesDataOutput) ChangeLog() GetAdvertisedRoutesDataChangeLogOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) GetAdvertisedRoutesDataChangeLog { return v.ChangeLog }).(GetAdvertisedRoutesDataChangeLogOutput) +} + +// connection of the route table entry +func (o GetAdvertisedRoutesDataOutput) Connection() GetAdvertisedRoutesDataConnectionOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) GetAdvertisedRoutesDataConnection { return v.Connection }).(GetAdvertisedRoutesDataConnectionOutput) +} + +// This field holds local preference of the advertised route. +func (o GetAdvertisedRoutesDataOutput) LocalPreference() pulumi.IntOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) int { return v.LocalPreference }).(pulumi.IntOutput) +} + +// Multi-Exit Discriminator for the Advertised Route +func (o GetAdvertisedRoutesDataOutput) Med() pulumi.IntOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) int { return v.Med }).(pulumi.IntOutput) +} + +// Next Hop of the Advertised Route +func (o GetAdvertisedRoutesDataOutput) NextHop() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) string { return v.NextHop }).(pulumi.StringOutput) +} + +// Prefix of the Advertised Route +func (o GetAdvertisedRoutesDataOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Advertised Route protocol type +func (o GetAdvertisedRoutesDataOutput) ProtocolType() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) string { return v.ProtocolType }).(pulumi.StringOutput) +} + +// State of the advertised Route +func (o GetAdvertisedRoutesDataOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) string { return v.State }).(pulumi.StringOutput) +} + +// Indicator of a advertised route +func (o GetAdvertisedRoutesDataOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesData) string { return v.Type }).(pulumi.StringOutput) +} + +type GetAdvertisedRoutesDataArrayOutput struct{ *pulumi.OutputState } + +func (GetAdvertisedRoutesDataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAdvertisedRoutesData)(nil)).Elem() +} + +func (o GetAdvertisedRoutesDataArrayOutput) ToGetAdvertisedRoutesDataArrayOutput() GetAdvertisedRoutesDataArrayOutput { + return o +} + +func (o GetAdvertisedRoutesDataArrayOutput) ToGetAdvertisedRoutesDataArrayOutputWithContext(ctx context.Context) GetAdvertisedRoutesDataArrayOutput { + return o +} + +func (o GetAdvertisedRoutesDataArrayOutput) Index(i pulumi.IntInput) GetAdvertisedRoutesDataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAdvertisedRoutesData { + return vs[0].([]GetAdvertisedRoutesData)[vs[1].(int)] + }).(GetAdvertisedRoutesDataOutput) +} + +type GetAdvertisedRoutesDataChangeLog struct { + // Created by User Key + CreatedBy string `pulumi:"createdBy"` + // Created by User Email Address + CreatedByEmail string `pulumi:"createdByEmail"` + // Created by User Full Name + CreatedByFullName string `pulumi:"createdByFullName"` + // Created by User Date and Time + CreatedDateTime string `pulumi:"createdDateTime"` + // Deleted by User Key + DeletedBy string `pulumi:"deletedBy"` + // Deleted by User Email Address + DeletedByEmail string `pulumi:"deletedByEmail"` + // Deleted by User Full Name + DeletedByFullName string `pulumi:"deletedByFullName"` + // Deleted by User Date and Time + DeletedDateTime string `pulumi:"deletedDateTime"` + // Updated by User Key + UpdatedBy string `pulumi:"updatedBy"` + // Updated by User Email Address + UpdatedByEmail string `pulumi:"updatedByEmail"` + // Updated by User Full Name + UpdatedByFullName string `pulumi:"updatedByFullName"` + // Updated by User Date and Time + UpdatedDateTime string `pulumi:"updatedDateTime"` +} + +// GetAdvertisedRoutesDataChangeLogInput is an input type that accepts GetAdvertisedRoutesDataChangeLogArgs and GetAdvertisedRoutesDataChangeLogOutput values. +// You can construct a concrete instance of `GetAdvertisedRoutesDataChangeLogInput` via: +// +// GetAdvertisedRoutesDataChangeLogArgs{...} +type GetAdvertisedRoutesDataChangeLogInput interface { + pulumi.Input + + ToGetAdvertisedRoutesDataChangeLogOutput() GetAdvertisedRoutesDataChangeLogOutput + ToGetAdvertisedRoutesDataChangeLogOutputWithContext(context.Context) GetAdvertisedRoutesDataChangeLogOutput +} + +type GetAdvertisedRoutesDataChangeLogArgs struct { + // Created by User Key + CreatedBy pulumi.StringInput `pulumi:"createdBy"` + // Created by User Email Address + CreatedByEmail pulumi.StringInput `pulumi:"createdByEmail"` + // Created by User Full Name + CreatedByFullName pulumi.StringInput `pulumi:"createdByFullName"` + // Created by User Date and Time + CreatedDateTime pulumi.StringInput `pulumi:"createdDateTime"` + // Deleted by User Key + DeletedBy pulumi.StringInput `pulumi:"deletedBy"` + // Deleted by User Email Address + DeletedByEmail pulumi.StringInput `pulumi:"deletedByEmail"` + // Deleted by User Full Name + DeletedByFullName pulumi.StringInput `pulumi:"deletedByFullName"` + // Deleted by User Date and Time + DeletedDateTime pulumi.StringInput `pulumi:"deletedDateTime"` + // Updated by User Key + UpdatedBy pulumi.StringInput `pulumi:"updatedBy"` + // Updated by User Email Address + UpdatedByEmail pulumi.StringInput `pulumi:"updatedByEmail"` + // Updated by User Full Name + UpdatedByFullName pulumi.StringInput `pulumi:"updatedByFullName"` + // Updated by User Date and Time + UpdatedDateTime pulumi.StringInput `pulumi:"updatedDateTime"` +} + +func (GetAdvertisedRoutesDataChangeLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesDataChangeLog)(nil)).Elem() +} + +func (i GetAdvertisedRoutesDataChangeLogArgs) ToGetAdvertisedRoutesDataChangeLogOutput() GetAdvertisedRoutesDataChangeLogOutput { + return i.ToGetAdvertisedRoutesDataChangeLogOutputWithContext(context.Background()) +} + +func (i GetAdvertisedRoutesDataChangeLogArgs) ToGetAdvertisedRoutesDataChangeLogOutputWithContext(ctx context.Context) GetAdvertisedRoutesDataChangeLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesDataChangeLogOutput) +} + +type GetAdvertisedRoutesDataChangeLogOutput struct{ *pulumi.OutputState } + +func (GetAdvertisedRoutesDataChangeLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesDataChangeLog)(nil)).Elem() +} + +func (o GetAdvertisedRoutesDataChangeLogOutput) ToGetAdvertisedRoutesDataChangeLogOutput() GetAdvertisedRoutesDataChangeLogOutput { + return o +} + +func (o GetAdvertisedRoutesDataChangeLogOutput) ToGetAdvertisedRoutesDataChangeLogOutputWithContext(ctx context.Context) GetAdvertisedRoutesDataChangeLogOutput { + return o +} + +// Created by User Key +func (o GetAdvertisedRoutesDataChangeLogOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Created by User Email Address +func (o GetAdvertisedRoutesDataChangeLogOutput) CreatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.CreatedByEmail }).(pulumi.StringOutput) +} + +// Created by User Full Name +func (o GetAdvertisedRoutesDataChangeLogOutput) CreatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.CreatedByFullName }).(pulumi.StringOutput) +} + +// Created by User Date and Time +func (o GetAdvertisedRoutesDataChangeLogOutput) CreatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.CreatedDateTime }).(pulumi.StringOutput) +} + +// Deleted by User Key +func (o GetAdvertisedRoutesDataChangeLogOutput) DeletedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.DeletedBy }).(pulumi.StringOutput) +} + +// Deleted by User Email Address +func (o GetAdvertisedRoutesDataChangeLogOutput) DeletedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.DeletedByEmail }).(pulumi.StringOutput) +} + +// Deleted by User Full Name +func (o GetAdvertisedRoutesDataChangeLogOutput) DeletedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.DeletedByFullName }).(pulumi.StringOutput) +} + +// Deleted by User Date and Time +func (o GetAdvertisedRoutesDataChangeLogOutput) DeletedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.DeletedDateTime }).(pulumi.StringOutput) +} + +// Updated by User Key +func (o GetAdvertisedRoutesDataChangeLogOutput) UpdatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.UpdatedBy }).(pulumi.StringOutput) +} + +// Updated by User Email Address +func (o GetAdvertisedRoutesDataChangeLogOutput) UpdatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.UpdatedByEmail }).(pulumi.StringOutput) +} + +// Updated by User Full Name +func (o GetAdvertisedRoutesDataChangeLogOutput) UpdatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.UpdatedByFullName }).(pulumi.StringOutput) +} + +// Updated by User Date and Time +func (o GetAdvertisedRoutesDataChangeLogOutput) UpdatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataChangeLog) string { return v.UpdatedDateTime }).(pulumi.StringOutput) +} + +type GetAdvertisedRoutesDataConnection struct { + // HREF of the Connection + Href string `pulumi:"href"` + // Name of the Connection + Name string `pulumi:"name"` + // UUID of the Connection + Uuid string `pulumi:"uuid"` +} + +// GetAdvertisedRoutesDataConnectionInput is an input type that accepts GetAdvertisedRoutesDataConnectionArgs and GetAdvertisedRoutesDataConnectionOutput values. +// You can construct a concrete instance of `GetAdvertisedRoutesDataConnectionInput` via: +// +// GetAdvertisedRoutesDataConnectionArgs{...} +type GetAdvertisedRoutesDataConnectionInput interface { + pulumi.Input + + ToGetAdvertisedRoutesDataConnectionOutput() GetAdvertisedRoutesDataConnectionOutput + ToGetAdvertisedRoutesDataConnectionOutputWithContext(context.Context) GetAdvertisedRoutesDataConnectionOutput +} + +type GetAdvertisedRoutesDataConnectionArgs struct { + // HREF of the Connection + Href pulumi.StringInput `pulumi:"href"` + // Name of the Connection + Name pulumi.StringInput `pulumi:"name"` + // UUID of the Connection + Uuid pulumi.StringInput `pulumi:"uuid"` +} + +func (GetAdvertisedRoutesDataConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesDataConnection)(nil)).Elem() +} + +func (i GetAdvertisedRoutesDataConnectionArgs) ToGetAdvertisedRoutesDataConnectionOutput() GetAdvertisedRoutesDataConnectionOutput { + return i.ToGetAdvertisedRoutesDataConnectionOutputWithContext(context.Background()) +} + +func (i GetAdvertisedRoutesDataConnectionArgs) ToGetAdvertisedRoutesDataConnectionOutputWithContext(ctx context.Context) GetAdvertisedRoutesDataConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesDataConnectionOutput) +} + +type GetAdvertisedRoutesDataConnectionOutput struct{ *pulumi.OutputState } + +func (GetAdvertisedRoutesDataConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesDataConnection)(nil)).Elem() +} + +func (o GetAdvertisedRoutesDataConnectionOutput) ToGetAdvertisedRoutesDataConnectionOutput() GetAdvertisedRoutesDataConnectionOutput { + return o +} + +func (o GetAdvertisedRoutesDataConnectionOutput) ToGetAdvertisedRoutesDataConnectionOutputWithContext(ctx context.Context) GetAdvertisedRoutesDataConnectionOutput { + return o +} + +// HREF of the Connection +func (o GetAdvertisedRoutesDataConnectionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataConnection) string { return v.Href }).(pulumi.StringOutput) +} + +// Name of the Connection +func (o GetAdvertisedRoutesDataConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// UUID of the Connection +func (o GetAdvertisedRoutesDataConnectionOutput) Uuid() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesDataConnection) string { return v.Uuid }).(pulumi.StringOutput) +} + +type GetAdvertisedRoutesFilter struct { + // Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + Operator string `pulumi:"operator"` + // possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + Property string `pulumi:"property"` + // The values that you want to apply the property+operator combination to in order to filter your data search + Values []string `pulumi:"values"` +} + +// GetAdvertisedRoutesFilterInput is an input type that accepts GetAdvertisedRoutesFilterArgs and GetAdvertisedRoutesFilterOutput values. +// You can construct a concrete instance of `GetAdvertisedRoutesFilterInput` via: +// +// GetAdvertisedRoutesFilterArgs{...} +type GetAdvertisedRoutesFilterInput interface { + pulumi.Input + + ToGetAdvertisedRoutesFilterOutput() GetAdvertisedRoutesFilterOutput + ToGetAdvertisedRoutesFilterOutputWithContext(context.Context) GetAdvertisedRoutesFilterOutput +} + +type GetAdvertisedRoutesFilterArgs struct { + // Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + Operator pulumi.StringInput `pulumi:"operator"` + // possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + Property pulumi.StringInput `pulumi:"property"` + // The values that you want to apply the property+operator combination to in order to filter your data search + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetAdvertisedRoutesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesFilter)(nil)).Elem() +} + +func (i GetAdvertisedRoutesFilterArgs) ToGetAdvertisedRoutesFilterOutput() GetAdvertisedRoutesFilterOutput { + return i.ToGetAdvertisedRoutesFilterOutputWithContext(context.Background()) +} + +func (i GetAdvertisedRoutesFilterArgs) ToGetAdvertisedRoutesFilterOutputWithContext(ctx context.Context) GetAdvertisedRoutesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesFilterOutput) +} + +type GetAdvertisedRoutesFilterOutput struct{ *pulumi.OutputState } + +func (GetAdvertisedRoutesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesFilter)(nil)).Elem() +} + +func (o GetAdvertisedRoutesFilterOutput) ToGetAdvertisedRoutesFilterOutput() GetAdvertisedRoutesFilterOutput { + return o +} + +func (o GetAdvertisedRoutesFilterOutput) ToGetAdvertisedRoutesFilterOutputWithContext(ctx context.Context) GetAdvertisedRoutesFilterOutput { + return o +} + +// Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] +func (o GetAdvertisedRoutesFilterOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesFilter) string { return v.Operator }).(pulumi.StringOutput) +} + +// possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] +func (o GetAdvertisedRoutesFilterOutput) Property() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesFilter) string { return v.Property }).(pulumi.StringOutput) +} + +// The values that you want to apply the property+operator combination to in order to filter your data search +func (o GetAdvertisedRoutesFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAdvertisedRoutesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetAdvertisedRoutesPagination struct { + // Maximum number of search results returned per page. + Limit *int `pulumi:"limit"` + // URL relative to the next item in the response. + Next string `pulumi:"next"` + // Index of the first item returned in the response. + Offset *int `pulumi:"offset"` + // URL relative to the previous item in the response. + Previous string `pulumi:"previous"` + // The total number of elements returned + Total int `pulumi:"total"` +} + +// GetAdvertisedRoutesPaginationInput is an input type that accepts GetAdvertisedRoutesPaginationArgs and GetAdvertisedRoutesPaginationOutput values. +// You can construct a concrete instance of `GetAdvertisedRoutesPaginationInput` via: +// +// GetAdvertisedRoutesPaginationArgs{...} +type GetAdvertisedRoutesPaginationInput interface { + pulumi.Input + + ToGetAdvertisedRoutesPaginationOutput() GetAdvertisedRoutesPaginationOutput + ToGetAdvertisedRoutesPaginationOutputWithContext(context.Context) GetAdvertisedRoutesPaginationOutput +} + +type GetAdvertisedRoutesPaginationArgs struct { + // Maximum number of search results returned per page. + Limit pulumi.IntPtrInput `pulumi:"limit"` + // URL relative to the next item in the response. + Next pulumi.StringInput `pulumi:"next"` + // Index of the first item returned in the response. + Offset pulumi.IntPtrInput `pulumi:"offset"` + // URL relative to the previous item in the response. + Previous pulumi.StringInput `pulumi:"previous"` + // The total number of elements returned + Total pulumi.IntInput `pulumi:"total"` +} + +func (GetAdvertisedRoutesPaginationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesPagination)(nil)).Elem() +} + +func (i GetAdvertisedRoutesPaginationArgs) ToGetAdvertisedRoutesPaginationOutput() GetAdvertisedRoutesPaginationOutput { + return i.ToGetAdvertisedRoutesPaginationOutputWithContext(context.Background()) +} + +func (i GetAdvertisedRoutesPaginationArgs) ToGetAdvertisedRoutesPaginationOutputWithContext(ctx context.Context) GetAdvertisedRoutesPaginationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesPaginationOutput) +} + +type GetAdvertisedRoutesPaginationOutput struct{ *pulumi.OutputState } + +func (GetAdvertisedRoutesPaginationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesPagination)(nil)).Elem() +} + +func (o GetAdvertisedRoutesPaginationOutput) ToGetAdvertisedRoutesPaginationOutput() GetAdvertisedRoutesPaginationOutput { + return o +} + +func (o GetAdvertisedRoutesPaginationOutput) ToGetAdvertisedRoutesPaginationOutputWithContext(ctx context.Context) GetAdvertisedRoutesPaginationOutput { + return o +} + +// Maximum number of search results returned per page. +func (o GetAdvertisedRoutesPaginationOutput) Limit() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAdvertisedRoutesPagination) *int { return v.Limit }).(pulumi.IntPtrOutput) +} + +// URL relative to the next item in the response. +func (o GetAdvertisedRoutesPaginationOutput) Next() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesPagination) string { return v.Next }).(pulumi.StringOutput) +} + +// Index of the first item returned in the response. +func (o GetAdvertisedRoutesPaginationOutput) Offset() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAdvertisedRoutesPagination) *int { return v.Offset }).(pulumi.IntPtrOutput) +} + +// URL relative to the previous item in the response. +func (o GetAdvertisedRoutesPaginationOutput) Previous() pulumi.StringOutput { + return o.ApplyT(func(v GetAdvertisedRoutesPagination) string { return v.Previous }).(pulumi.StringOutput) +} + +// The total number of elements returned +func (o GetAdvertisedRoutesPaginationOutput) Total() pulumi.IntOutput { + return o.ApplyT(func(v GetAdvertisedRoutesPagination) int { return v.Total }).(pulumi.IntOutput) +} + +type GetAdvertisedRoutesSort struct { + // Sort direction, one of [ASC, DESC] + Direction *string `pulumi:"direction"` + // Property name to sort by + Property *string `pulumi:"property"` +} + +// GetAdvertisedRoutesSortInput is an input type that accepts GetAdvertisedRoutesSortArgs and GetAdvertisedRoutesSortOutput values. +// You can construct a concrete instance of `GetAdvertisedRoutesSortInput` via: +// +// GetAdvertisedRoutesSortArgs{...} +type GetAdvertisedRoutesSortInput interface { + pulumi.Input + + ToGetAdvertisedRoutesSortOutput() GetAdvertisedRoutesSortOutput + ToGetAdvertisedRoutesSortOutputWithContext(context.Context) GetAdvertisedRoutesSortOutput +} + +type GetAdvertisedRoutesSortArgs struct { + // Sort direction, one of [ASC, DESC] + Direction pulumi.StringPtrInput `pulumi:"direction"` + // Property name to sort by + Property pulumi.StringPtrInput `pulumi:"property"` +} + +func (GetAdvertisedRoutesSortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesSort)(nil)).Elem() +} + +func (i GetAdvertisedRoutesSortArgs) ToGetAdvertisedRoutesSortOutput() GetAdvertisedRoutesSortOutput { + return i.ToGetAdvertisedRoutesSortOutputWithContext(context.Background()) +} + +func (i GetAdvertisedRoutesSortArgs) ToGetAdvertisedRoutesSortOutputWithContext(ctx context.Context) GetAdvertisedRoutesSortOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesSortOutput) +} + +func (i GetAdvertisedRoutesSortArgs) ToGetAdvertisedRoutesSortPtrOutput() GetAdvertisedRoutesSortPtrOutput { + return i.ToGetAdvertisedRoutesSortPtrOutputWithContext(context.Background()) +} + +func (i GetAdvertisedRoutesSortArgs) ToGetAdvertisedRoutesSortPtrOutputWithContext(ctx context.Context) GetAdvertisedRoutesSortPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesSortOutput).ToGetAdvertisedRoutesSortPtrOutputWithContext(ctx) +} + +// GetAdvertisedRoutesSortPtrInput is an input type that accepts GetAdvertisedRoutesSortArgs, GetAdvertisedRoutesSortPtr and GetAdvertisedRoutesSortPtrOutput values. +// You can construct a concrete instance of `GetAdvertisedRoutesSortPtrInput` via: +// +// GetAdvertisedRoutesSortArgs{...} +// +// or: +// +// nil +type GetAdvertisedRoutesSortPtrInput interface { + pulumi.Input + + ToGetAdvertisedRoutesSortPtrOutput() GetAdvertisedRoutesSortPtrOutput + ToGetAdvertisedRoutesSortPtrOutputWithContext(context.Context) GetAdvertisedRoutesSortPtrOutput +} + +type getAdvertisedRoutesSortPtrType GetAdvertisedRoutesSortArgs + +func GetAdvertisedRoutesSortPtr(v *GetAdvertisedRoutesSortArgs) GetAdvertisedRoutesSortPtrInput { + return (*getAdvertisedRoutesSortPtrType)(v) +} + +func (*getAdvertisedRoutesSortPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAdvertisedRoutesSort)(nil)).Elem() +} + +func (i *getAdvertisedRoutesSortPtrType) ToGetAdvertisedRoutesSortPtrOutput() GetAdvertisedRoutesSortPtrOutput { + return i.ToGetAdvertisedRoutesSortPtrOutputWithContext(context.Background()) +} + +func (i *getAdvertisedRoutesSortPtrType) ToGetAdvertisedRoutesSortPtrOutputWithContext(ctx context.Context) GetAdvertisedRoutesSortPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAdvertisedRoutesSortPtrOutput) +} + +type GetAdvertisedRoutesSortOutput struct{ *pulumi.OutputState } + +func (GetAdvertisedRoutesSortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAdvertisedRoutesSort)(nil)).Elem() +} + +func (o GetAdvertisedRoutesSortOutput) ToGetAdvertisedRoutesSortOutput() GetAdvertisedRoutesSortOutput { + return o +} + +func (o GetAdvertisedRoutesSortOutput) ToGetAdvertisedRoutesSortOutputWithContext(ctx context.Context) GetAdvertisedRoutesSortOutput { + return o +} + +func (o GetAdvertisedRoutesSortOutput) ToGetAdvertisedRoutesSortPtrOutput() GetAdvertisedRoutesSortPtrOutput { + return o.ToGetAdvertisedRoutesSortPtrOutputWithContext(context.Background()) +} + +func (o GetAdvertisedRoutesSortOutput) ToGetAdvertisedRoutesSortPtrOutputWithContext(ctx context.Context) GetAdvertisedRoutesSortPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAdvertisedRoutesSort) *GetAdvertisedRoutesSort { + return &v + }).(GetAdvertisedRoutesSortPtrOutput) +} + +// Sort direction, one of [ASC, DESC] +func (o GetAdvertisedRoutesSortOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAdvertisedRoutesSort) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +// Property name to sort by +func (o GetAdvertisedRoutesSortOutput) Property() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAdvertisedRoutesSort) *string { return v.Property }).(pulumi.StringPtrOutput) +} + +type GetAdvertisedRoutesSortPtrOutput struct{ *pulumi.OutputState } + +func (GetAdvertisedRoutesSortPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAdvertisedRoutesSort)(nil)).Elem() +} + +func (o GetAdvertisedRoutesSortPtrOutput) ToGetAdvertisedRoutesSortPtrOutput() GetAdvertisedRoutesSortPtrOutput { + return o +} + +func (o GetAdvertisedRoutesSortPtrOutput) ToGetAdvertisedRoutesSortPtrOutputWithContext(ctx context.Context) GetAdvertisedRoutesSortPtrOutput { + return o +} + +func (o GetAdvertisedRoutesSortPtrOutput) Elem() GetAdvertisedRoutesSortOutput { + return o.ApplyT(func(v *GetAdvertisedRoutesSort) GetAdvertisedRoutesSort { + if v != nil { + return *v + } + var ret GetAdvertisedRoutesSort + return ret + }).(GetAdvertisedRoutesSortOutput) +} + +// Sort direction, one of [ASC, DESC] +func (o GetAdvertisedRoutesSortPtrOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAdvertisedRoutesSort) *string { + if v == nil { + return nil + } + return v.Direction + }).(pulumi.StringPtrOutput) +} + +// Property name to sort by +func (o GetAdvertisedRoutesSortPtrOutput) Property() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAdvertisedRoutesSort) *string { + if v == nil { + return nil + } + return v.Property + }).(pulumi.StringPtrOutput) +} + type GetCloudRouterAccount struct { // Account Number AccountNumber int `pulumi:"accountNumber"` @@ -31453,8 +32175,6 @@ type GetCloudRoutersData struct { Description string `pulumi:"description"` // Equinix ASN EquinixAsn int `pulumi:"equinixAsn"` - // Number of gateway attachments associated with this Access point - GatewayAttachmentsCount int `pulumi:"gatewayAttachmentsCount"` // Fabric Cloud Router URI information Href string `pulumi:"href"` // Fabric Cloud Router location @@ -31501,8 +32221,6 @@ type GetCloudRoutersDataArgs struct { Description pulumi.StringInput `pulumi:"description"` // Equinix ASN EquinixAsn pulumi.IntInput `pulumi:"equinixAsn"` - // Number of gateway attachments associated with this Access point - GatewayAttachmentsCount pulumi.IntInput `pulumi:"gatewayAttachmentsCount"` // Fabric Cloud Router URI information Href pulumi.StringInput `pulumi:"href"` // Fabric Cloud Router location @@ -31603,11 +32321,6 @@ func (o GetCloudRoutersDataOutput) EquinixAsn() pulumi.IntOutput { return o.ApplyT(func(v GetCloudRoutersData) int { return v.EquinixAsn }).(pulumi.IntOutput) } -// Number of gateway attachments associated with this Access point -func (o GetCloudRoutersDataOutput) GatewayAttachmentsCount() pulumi.IntOutput { - return o.ApplyT(func(v GetCloudRoutersData) int { return v.GatewayAttachmentsCount }).(pulumi.IntOutput) -} - // Fabric Cloud Router URI information func (o GetCloudRoutersDataOutput) Href() pulumi.StringOutput { return o.ApplyT(func(v GetCloudRoutersData) string { return v.Href }).(pulumi.StringOutput) @@ -47546,7 +48259,7 @@ type GetConnectionsFilter struct { Group *string `pulumi:"group"` // Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] Operator string `pulumi:"operator"` - // Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + // Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] Property string `pulumi:"property"` // The values that you want to apply the property+operator combination to in order to filter your data search Values []string `pulumi:"values"` @@ -47568,7 +48281,7 @@ type GetConnectionsFilterArgs struct { Group pulumi.StringPtrInput `pulumi:"group"` // Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] Operator pulumi.StringInput `pulumi:"operator"` - // Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + // Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] Property pulumi.StringInput `pulumi:"property"` // The values that you want to apply the property+operator combination to in order to filter your data search Values pulumi.StringArrayInput `pulumi:"values"` @@ -47635,7 +48348,7 @@ func (o GetConnectionsFilterOutput) Operator() pulumi.StringOutput { return o.ApplyT(func(v GetConnectionsFilter) string { return v.Operator }).(pulumi.StringOutput) } -// Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] +// Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] func (o GetConnectionsFilterOutput) Property() pulumi.StringOutput { return o.ApplyT(func(v GetConnectionsFilter) string { return v.Property }).(pulumi.StringOutput) } @@ -48497,6 +49210,8 @@ type GetMetrosData struct { Code string `pulumi:"code"` // Arrays of objects containing latency data for the specified metro ConnectedMetros []GetMetrosDataConnectedMetro `pulumi:"connectedMetros"` + // Country in which the data center is located + Country string `pulumi:"country"` // Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. EquinixAsn int `pulumi:"equinixAsn"` // Geographic location data of Fabric Metro @@ -48531,6 +49246,8 @@ type GetMetrosDataArgs struct { Code pulumi.StringInput `pulumi:"code"` // Arrays of objects containing latency data for the specified metro ConnectedMetros GetMetrosDataConnectedMetroArrayInput `pulumi:"connectedMetros"` + // Country in which the data center is located + Country pulumi.StringInput `pulumi:"country"` // Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. EquinixAsn pulumi.IntInput `pulumi:"equinixAsn"` // Geographic location data of Fabric Metro @@ -48610,6 +49327,11 @@ func (o GetMetrosDataOutput) ConnectedMetros() GetMetrosDataConnectedMetroArrayO return o.ApplyT(func(v GetMetrosData) []GetMetrosDataConnectedMetro { return v.ConnectedMetros }).(GetMetrosDataConnectedMetroArrayOutput) } +// Country in which the data center is located +func (o GetMetrosDataOutput) Country() pulumi.StringOutput { + return o.ApplyT(func(v GetMetrosData) string { return v.Country }).(pulumi.StringOutput) +} + // Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. func (o GetMetrosDataOutput) EquinixAsn() pulumi.IntOutput { return o.ApplyT(func(v GetMetrosData) int { return v.EquinixAsn }).(pulumi.IntOutput) @@ -52878,6 +53600,72 @@ func (i GetPortsFilterArgs) ToGetPortsFilterOutputWithContext(ctx context.Contex return pulumi.ToOutputWithContext(ctx, i).(GetPortsFilterOutput) } +func (i GetPortsFilterArgs) ToGetPortsFilterPtrOutput() GetPortsFilterPtrOutput { + return i.ToGetPortsFilterPtrOutputWithContext(context.Background()) +} + +func (i GetPortsFilterArgs) ToGetPortsFilterPtrOutputWithContext(ctx context.Context) GetPortsFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPortsFilterOutput).ToGetPortsFilterPtrOutputWithContext(ctx) +} + +// GetPortsFilterPtrInput is an input type that accepts GetPortsFilterArgs, GetPortsFilterPtr and GetPortsFilterPtrOutput values. +// You can construct a concrete instance of `GetPortsFilterPtrInput` via: +// +// GetPortsFilterArgs{...} +// +// or: +// +// nil +type GetPortsFilterPtrInput interface { + pulumi.Input + + ToGetPortsFilterPtrOutput() GetPortsFilterPtrOutput + ToGetPortsFilterPtrOutputWithContext(context.Context) GetPortsFilterPtrOutput +} + +type getPortsFilterPtrType GetPortsFilterArgs + +func GetPortsFilterPtr(v *GetPortsFilterArgs) GetPortsFilterPtrInput { + return (*getPortsFilterPtrType)(v) +} + +func (*getPortsFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetPortsFilter)(nil)).Elem() +} + +func (i *getPortsFilterPtrType) ToGetPortsFilterPtrOutput() GetPortsFilterPtrOutput { + return i.ToGetPortsFilterPtrOutputWithContext(context.Background()) +} + +func (i *getPortsFilterPtrType) ToGetPortsFilterPtrOutputWithContext(ctx context.Context) GetPortsFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPortsFilterPtrOutput) +} + +// GetPortsFilterArrayInput is an input type that accepts GetPortsFilterArray and GetPortsFilterArrayOutput values. +// You can construct a concrete instance of `GetPortsFilterArrayInput` via: +// +// GetPortsFilterArray{ GetPortsFilterArgs{...} } +type GetPortsFilterArrayInput interface { + pulumi.Input + + ToGetPortsFilterArrayOutput() GetPortsFilterArrayOutput + ToGetPortsFilterArrayOutputWithContext(context.Context) GetPortsFilterArrayOutput +} + +type GetPortsFilterArray []GetPortsFilterInput + +func (GetPortsFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPortsFilter)(nil)).Elem() +} + +func (i GetPortsFilterArray) ToGetPortsFilterArrayOutput() GetPortsFilterArrayOutput { + return i.ToGetPortsFilterArrayOutputWithContext(context.Background()) +} + +func (i GetPortsFilterArray) ToGetPortsFilterArrayOutputWithContext(ctx context.Context) GetPortsFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPortsFilterArrayOutput) +} + type GetPortsFilterOutput struct{ *pulumi.OutputState } func (GetPortsFilterOutput) ElementType() reflect.Type { @@ -52892,11 +53680,75 @@ func (o GetPortsFilterOutput) ToGetPortsFilterOutputWithContext(ctx context.Cont return o } +func (o GetPortsFilterOutput) ToGetPortsFilterPtrOutput() GetPortsFilterPtrOutput { + return o.ToGetPortsFilterPtrOutputWithContext(context.Background()) +} + +func (o GetPortsFilterOutput) ToGetPortsFilterPtrOutputWithContext(ctx context.Context) GetPortsFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetPortsFilter) *GetPortsFilter { + return &v + }).(GetPortsFilterPtrOutput) +} + // Query Parameter to Get Ports By Name func (o GetPortsFilterOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v GetPortsFilter) string { return v.Name }).(pulumi.StringOutput) } +type GetPortsFilterPtrOutput struct{ *pulumi.OutputState } + +func (GetPortsFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetPortsFilter)(nil)).Elem() +} + +func (o GetPortsFilterPtrOutput) ToGetPortsFilterPtrOutput() GetPortsFilterPtrOutput { + return o +} + +func (o GetPortsFilterPtrOutput) ToGetPortsFilterPtrOutputWithContext(ctx context.Context) GetPortsFilterPtrOutput { + return o +} + +func (o GetPortsFilterPtrOutput) Elem() GetPortsFilterOutput { + return o.ApplyT(func(v *GetPortsFilter) GetPortsFilter { + if v != nil { + return *v + } + var ret GetPortsFilter + return ret + }).(GetPortsFilterOutput) +} + +// Query Parameter to Get Ports By Name +func (o GetPortsFilterPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetPortsFilter) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +type GetPortsFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetPortsFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPortsFilter)(nil)).Elem() +} + +func (o GetPortsFilterArrayOutput) ToGetPortsFilterArrayOutput() GetPortsFilterArrayOutput { + return o +} + +func (o GetPortsFilterArrayOutput) ToGetPortsFilterArrayOutputWithContext(ctx context.Context) GetPortsFilterArrayOutput { + return o +} + +func (o GetPortsFilterArrayOutput) Index(i pulumi.IntInput) GetPortsFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPortsFilter { + return vs[0].([]GetPortsFilter)[vs[1].(int)] + }).(GetPortsFilterOutput) +} + type GetPrecisionTimeServiceAccount struct { // Account Name AccountName string `pulumi:"accountName"` @@ -56305,6 +57157,719 @@ func (o GetPrecisionTimeServicesSortArrayOutput) Index(i pulumi.IntInput) GetPre }).(GetPrecisionTimeServicesSortOutput) } +type GetReceivedRoutesData struct { + // List of supported AS Paths for the Received Routes. + AsPaths []string `pulumi:"asPaths"` + // Change Log of the route table entry + ChangeLog GetReceivedRoutesDataChangeLog `pulumi:"changeLog"` + // connection of the route table entry + Connection GetReceivedRoutesDataConnection `pulumi:"connection"` + // This field holds local preference of the received route. + LocalPreference int `pulumi:"localPreference"` + // Multi-Exit Discriminator for the Received Route + Med int `pulumi:"med"` + // Next Hop of the Received Route + NextHop string `pulumi:"nextHop"` + // Prefix of the Received Route + Prefix string `pulumi:"prefix"` + // Received Route protocol type + ProtocolType string `pulumi:"protocolType"` + // State of the received Route + State string `pulumi:"state"` + // Indicator of a received route + Type string `pulumi:"type"` +} + +// GetReceivedRoutesDataInput is an input type that accepts GetReceivedRoutesDataArgs and GetReceivedRoutesDataOutput values. +// You can construct a concrete instance of `GetReceivedRoutesDataInput` via: +// +// GetReceivedRoutesDataArgs{...} +type GetReceivedRoutesDataInput interface { + pulumi.Input + + ToGetReceivedRoutesDataOutput() GetReceivedRoutesDataOutput + ToGetReceivedRoutesDataOutputWithContext(context.Context) GetReceivedRoutesDataOutput +} + +type GetReceivedRoutesDataArgs struct { + // List of supported AS Paths for the Received Routes. + AsPaths pulumi.StringArrayInput `pulumi:"asPaths"` + // Change Log of the route table entry + ChangeLog GetReceivedRoutesDataChangeLogInput `pulumi:"changeLog"` + // connection of the route table entry + Connection GetReceivedRoutesDataConnectionInput `pulumi:"connection"` + // This field holds local preference of the received route. + LocalPreference pulumi.IntInput `pulumi:"localPreference"` + // Multi-Exit Discriminator for the Received Route + Med pulumi.IntInput `pulumi:"med"` + // Next Hop of the Received Route + NextHop pulumi.StringInput `pulumi:"nextHop"` + // Prefix of the Received Route + Prefix pulumi.StringInput `pulumi:"prefix"` + // Received Route protocol type + ProtocolType pulumi.StringInput `pulumi:"protocolType"` + // State of the received Route + State pulumi.StringInput `pulumi:"state"` + // Indicator of a received route + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetReceivedRoutesDataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesData)(nil)).Elem() +} + +func (i GetReceivedRoutesDataArgs) ToGetReceivedRoutesDataOutput() GetReceivedRoutesDataOutput { + return i.ToGetReceivedRoutesDataOutputWithContext(context.Background()) +} + +func (i GetReceivedRoutesDataArgs) ToGetReceivedRoutesDataOutputWithContext(ctx context.Context) GetReceivedRoutesDataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesDataOutput) +} + +// GetReceivedRoutesDataArrayInput is an input type that accepts GetReceivedRoutesDataArray and GetReceivedRoutesDataArrayOutput values. +// You can construct a concrete instance of `GetReceivedRoutesDataArrayInput` via: +// +// GetReceivedRoutesDataArray{ GetReceivedRoutesDataArgs{...} } +type GetReceivedRoutesDataArrayInput interface { + pulumi.Input + + ToGetReceivedRoutesDataArrayOutput() GetReceivedRoutesDataArrayOutput + ToGetReceivedRoutesDataArrayOutputWithContext(context.Context) GetReceivedRoutesDataArrayOutput +} + +type GetReceivedRoutesDataArray []GetReceivedRoutesDataInput + +func (GetReceivedRoutesDataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedRoutesData)(nil)).Elem() +} + +func (i GetReceivedRoutesDataArray) ToGetReceivedRoutesDataArrayOutput() GetReceivedRoutesDataArrayOutput { + return i.ToGetReceivedRoutesDataArrayOutputWithContext(context.Background()) +} + +func (i GetReceivedRoutesDataArray) ToGetReceivedRoutesDataArrayOutputWithContext(ctx context.Context) GetReceivedRoutesDataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesDataArrayOutput) +} + +type GetReceivedRoutesDataOutput struct{ *pulumi.OutputState } + +func (GetReceivedRoutesDataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesData)(nil)).Elem() +} + +func (o GetReceivedRoutesDataOutput) ToGetReceivedRoutesDataOutput() GetReceivedRoutesDataOutput { + return o +} + +func (o GetReceivedRoutesDataOutput) ToGetReceivedRoutesDataOutputWithContext(ctx context.Context) GetReceivedRoutesDataOutput { + return o +} + +// List of supported AS Paths for the Received Routes. +func (o GetReceivedRoutesDataOutput) AsPaths() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetReceivedRoutesData) []string { return v.AsPaths }).(pulumi.StringArrayOutput) +} + +// Change Log of the route table entry +func (o GetReceivedRoutesDataOutput) ChangeLog() GetReceivedRoutesDataChangeLogOutput { + return o.ApplyT(func(v GetReceivedRoutesData) GetReceivedRoutesDataChangeLog { return v.ChangeLog }).(GetReceivedRoutesDataChangeLogOutput) +} + +// connection of the route table entry +func (o GetReceivedRoutesDataOutput) Connection() GetReceivedRoutesDataConnectionOutput { + return o.ApplyT(func(v GetReceivedRoutesData) GetReceivedRoutesDataConnection { return v.Connection }).(GetReceivedRoutesDataConnectionOutput) +} + +// This field holds local preference of the received route. +func (o GetReceivedRoutesDataOutput) LocalPreference() pulumi.IntOutput { + return o.ApplyT(func(v GetReceivedRoutesData) int { return v.LocalPreference }).(pulumi.IntOutput) +} + +// Multi-Exit Discriminator for the Received Route +func (o GetReceivedRoutesDataOutput) Med() pulumi.IntOutput { + return o.ApplyT(func(v GetReceivedRoutesData) int { return v.Med }).(pulumi.IntOutput) +} + +// Next Hop of the Received Route +func (o GetReceivedRoutesDataOutput) NextHop() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesData) string { return v.NextHop }).(pulumi.StringOutput) +} + +// Prefix of the Received Route +func (o GetReceivedRoutesDataOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesData) string { return v.Prefix }).(pulumi.StringOutput) +} + +// Received Route protocol type +func (o GetReceivedRoutesDataOutput) ProtocolType() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesData) string { return v.ProtocolType }).(pulumi.StringOutput) +} + +// State of the received Route +func (o GetReceivedRoutesDataOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesData) string { return v.State }).(pulumi.StringOutput) +} + +// Indicator of a received route +func (o GetReceivedRoutesDataOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesData) string { return v.Type }).(pulumi.StringOutput) +} + +type GetReceivedRoutesDataArrayOutput struct{ *pulumi.OutputState } + +func (GetReceivedRoutesDataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReceivedRoutesData)(nil)).Elem() +} + +func (o GetReceivedRoutesDataArrayOutput) ToGetReceivedRoutesDataArrayOutput() GetReceivedRoutesDataArrayOutput { + return o +} + +func (o GetReceivedRoutesDataArrayOutput) ToGetReceivedRoutesDataArrayOutputWithContext(ctx context.Context) GetReceivedRoutesDataArrayOutput { + return o +} + +func (o GetReceivedRoutesDataArrayOutput) Index(i pulumi.IntInput) GetReceivedRoutesDataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReceivedRoutesData { + return vs[0].([]GetReceivedRoutesData)[vs[1].(int)] + }).(GetReceivedRoutesDataOutput) +} + +type GetReceivedRoutesDataChangeLog struct { + // Created by User Key + CreatedBy string `pulumi:"createdBy"` + // Created by User Email Address + CreatedByEmail string `pulumi:"createdByEmail"` + // Created by User Full Name + CreatedByFullName string `pulumi:"createdByFullName"` + // Created by User Date and Time + CreatedDateTime string `pulumi:"createdDateTime"` + // Deleted by User Key + DeletedBy string `pulumi:"deletedBy"` + // Deleted by User Email Address + DeletedByEmail string `pulumi:"deletedByEmail"` + // Deleted by User Full Name + DeletedByFullName string `pulumi:"deletedByFullName"` + // Deleted by User Date and Time + DeletedDateTime string `pulumi:"deletedDateTime"` + // Updated by User Key + UpdatedBy string `pulumi:"updatedBy"` + // Updated by User Email Address + UpdatedByEmail string `pulumi:"updatedByEmail"` + // Updated by User Full Name + UpdatedByFullName string `pulumi:"updatedByFullName"` + // Updated by User Date and Time + UpdatedDateTime string `pulumi:"updatedDateTime"` +} + +// GetReceivedRoutesDataChangeLogInput is an input type that accepts GetReceivedRoutesDataChangeLogArgs and GetReceivedRoutesDataChangeLogOutput values. +// You can construct a concrete instance of `GetReceivedRoutesDataChangeLogInput` via: +// +// GetReceivedRoutesDataChangeLogArgs{...} +type GetReceivedRoutesDataChangeLogInput interface { + pulumi.Input + + ToGetReceivedRoutesDataChangeLogOutput() GetReceivedRoutesDataChangeLogOutput + ToGetReceivedRoutesDataChangeLogOutputWithContext(context.Context) GetReceivedRoutesDataChangeLogOutput +} + +type GetReceivedRoutesDataChangeLogArgs struct { + // Created by User Key + CreatedBy pulumi.StringInput `pulumi:"createdBy"` + // Created by User Email Address + CreatedByEmail pulumi.StringInput `pulumi:"createdByEmail"` + // Created by User Full Name + CreatedByFullName pulumi.StringInput `pulumi:"createdByFullName"` + // Created by User Date and Time + CreatedDateTime pulumi.StringInput `pulumi:"createdDateTime"` + // Deleted by User Key + DeletedBy pulumi.StringInput `pulumi:"deletedBy"` + // Deleted by User Email Address + DeletedByEmail pulumi.StringInput `pulumi:"deletedByEmail"` + // Deleted by User Full Name + DeletedByFullName pulumi.StringInput `pulumi:"deletedByFullName"` + // Deleted by User Date and Time + DeletedDateTime pulumi.StringInput `pulumi:"deletedDateTime"` + // Updated by User Key + UpdatedBy pulumi.StringInput `pulumi:"updatedBy"` + // Updated by User Email Address + UpdatedByEmail pulumi.StringInput `pulumi:"updatedByEmail"` + // Updated by User Full Name + UpdatedByFullName pulumi.StringInput `pulumi:"updatedByFullName"` + // Updated by User Date and Time + UpdatedDateTime pulumi.StringInput `pulumi:"updatedDateTime"` +} + +func (GetReceivedRoutesDataChangeLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesDataChangeLog)(nil)).Elem() +} + +func (i GetReceivedRoutesDataChangeLogArgs) ToGetReceivedRoutesDataChangeLogOutput() GetReceivedRoutesDataChangeLogOutput { + return i.ToGetReceivedRoutesDataChangeLogOutputWithContext(context.Background()) +} + +func (i GetReceivedRoutesDataChangeLogArgs) ToGetReceivedRoutesDataChangeLogOutputWithContext(ctx context.Context) GetReceivedRoutesDataChangeLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesDataChangeLogOutput) +} + +type GetReceivedRoutesDataChangeLogOutput struct{ *pulumi.OutputState } + +func (GetReceivedRoutesDataChangeLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesDataChangeLog)(nil)).Elem() +} + +func (o GetReceivedRoutesDataChangeLogOutput) ToGetReceivedRoutesDataChangeLogOutput() GetReceivedRoutesDataChangeLogOutput { + return o +} + +func (o GetReceivedRoutesDataChangeLogOutput) ToGetReceivedRoutesDataChangeLogOutputWithContext(ctx context.Context) GetReceivedRoutesDataChangeLogOutput { + return o +} + +// Created by User Key +func (o GetReceivedRoutesDataChangeLogOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Created by User Email Address +func (o GetReceivedRoutesDataChangeLogOutput) CreatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.CreatedByEmail }).(pulumi.StringOutput) +} + +// Created by User Full Name +func (o GetReceivedRoutesDataChangeLogOutput) CreatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.CreatedByFullName }).(pulumi.StringOutput) +} + +// Created by User Date and Time +func (o GetReceivedRoutesDataChangeLogOutput) CreatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.CreatedDateTime }).(pulumi.StringOutput) +} + +// Deleted by User Key +func (o GetReceivedRoutesDataChangeLogOutput) DeletedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.DeletedBy }).(pulumi.StringOutput) +} + +// Deleted by User Email Address +func (o GetReceivedRoutesDataChangeLogOutput) DeletedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.DeletedByEmail }).(pulumi.StringOutput) +} + +// Deleted by User Full Name +func (o GetReceivedRoutesDataChangeLogOutput) DeletedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.DeletedByFullName }).(pulumi.StringOutput) +} + +// Deleted by User Date and Time +func (o GetReceivedRoutesDataChangeLogOutput) DeletedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.DeletedDateTime }).(pulumi.StringOutput) +} + +// Updated by User Key +func (o GetReceivedRoutesDataChangeLogOutput) UpdatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.UpdatedBy }).(pulumi.StringOutput) +} + +// Updated by User Email Address +func (o GetReceivedRoutesDataChangeLogOutput) UpdatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.UpdatedByEmail }).(pulumi.StringOutput) +} + +// Updated by User Full Name +func (o GetReceivedRoutesDataChangeLogOutput) UpdatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.UpdatedByFullName }).(pulumi.StringOutput) +} + +// Updated by User Date and Time +func (o GetReceivedRoutesDataChangeLogOutput) UpdatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataChangeLog) string { return v.UpdatedDateTime }).(pulumi.StringOutput) +} + +type GetReceivedRoutesDataConnection struct { + // HREF of the Connection + Href string `pulumi:"href"` + // Name of the Connection + Name string `pulumi:"name"` + // UUID of the Connection + Uuid string `pulumi:"uuid"` +} + +// GetReceivedRoutesDataConnectionInput is an input type that accepts GetReceivedRoutesDataConnectionArgs and GetReceivedRoutesDataConnectionOutput values. +// You can construct a concrete instance of `GetReceivedRoutesDataConnectionInput` via: +// +// GetReceivedRoutesDataConnectionArgs{...} +type GetReceivedRoutesDataConnectionInput interface { + pulumi.Input + + ToGetReceivedRoutesDataConnectionOutput() GetReceivedRoutesDataConnectionOutput + ToGetReceivedRoutesDataConnectionOutputWithContext(context.Context) GetReceivedRoutesDataConnectionOutput +} + +type GetReceivedRoutesDataConnectionArgs struct { + // HREF of the Connection + Href pulumi.StringInput `pulumi:"href"` + // Name of the Connection + Name pulumi.StringInput `pulumi:"name"` + // UUID of the Connection + Uuid pulumi.StringInput `pulumi:"uuid"` +} + +func (GetReceivedRoutesDataConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesDataConnection)(nil)).Elem() +} + +func (i GetReceivedRoutesDataConnectionArgs) ToGetReceivedRoutesDataConnectionOutput() GetReceivedRoutesDataConnectionOutput { + return i.ToGetReceivedRoutesDataConnectionOutputWithContext(context.Background()) +} + +func (i GetReceivedRoutesDataConnectionArgs) ToGetReceivedRoutesDataConnectionOutputWithContext(ctx context.Context) GetReceivedRoutesDataConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesDataConnectionOutput) +} + +type GetReceivedRoutesDataConnectionOutput struct{ *pulumi.OutputState } + +func (GetReceivedRoutesDataConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesDataConnection)(nil)).Elem() +} + +func (o GetReceivedRoutesDataConnectionOutput) ToGetReceivedRoutesDataConnectionOutput() GetReceivedRoutesDataConnectionOutput { + return o +} + +func (o GetReceivedRoutesDataConnectionOutput) ToGetReceivedRoutesDataConnectionOutputWithContext(ctx context.Context) GetReceivedRoutesDataConnectionOutput { + return o +} + +// HREF of the Connection +func (o GetReceivedRoutesDataConnectionOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataConnection) string { return v.Href }).(pulumi.StringOutput) +} + +// Name of the Connection +func (o GetReceivedRoutesDataConnectionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataConnection) string { return v.Name }).(pulumi.StringOutput) +} + +// UUID of the Connection +func (o GetReceivedRoutesDataConnectionOutput) Uuid() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesDataConnection) string { return v.Uuid }).(pulumi.StringOutput) +} + +type GetReceivedRoutesFilter struct { + // Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + Operator string `pulumi:"operator"` + // possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + Property string `pulumi:"property"` + // The values that you want to apply the property+operator combination to in order to filter your data search + Values []string `pulumi:"values"` +} + +// GetReceivedRoutesFilterInput is an input type that accepts GetReceivedRoutesFilterArgs and GetReceivedRoutesFilterOutput values. +// You can construct a concrete instance of `GetReceivedRoutesFilterInput` via: +// +// GetReceivedRoutesFilterArgs{...} +type GetReceivedRoutesFilterInput interface { + pulumi.Input + + ToGetReceivedRoutesFilterOutput() GetReceivedRoutesFilterOutput + ToGetReceivedRoutesFilterOutputWithContext(context.Context) GetReceivedRoutesFilterOutput +} + +type GetReceivedRoutesFilterArgs struct { + // Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + Operator pulumi.StringInput `pulumi:"operator"` + // possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + Property pulumi.StringInput `pulumi:"property"` + // The values that you want to apply the property+operator combination to in order to filter your data search + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetReceivedRoutesFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesFilter)(nil)).Elem() +} + +func (i GetReceivedRoutesFilterArgs) ToGetReceivedRoutesFilterOutput() GetReceivedRoutesFilterOutput { + return i.ToGetReceivedRoutesFilterOutputWithContext(context.Background()) +} + +func (i GetReceivedRoutesFilterArgs) ToGetReceivedRoutesFilterOutputWithContext(ctx context.Context) GetReceivedRoutesFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesFilterOutput) +} + +type GetReceivedRoutesFilterOutput struct{ *pulumi.OutputState } + +func (GetReceivedRoutesFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesFilter)(nil)).Elem() +} + +func (o GetReceivedRoutesFilterOutput) ToGetReceivedRoutesFilterOutput() GetReceivedRoutesFilterOutput { + return o +} + +func (o GetReceivedRoutesFilterOutput) ToGetReceivedRoutesFilterOutputWithContext(ctx context.Context) GetReceivedRoutesFilterOutput { + return o +} + +// Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] +func (o GetReceivedRoutesFilterOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesFilter) string { return v.Operator }).(pulumi.StringOutput) +} + +// possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] +func (o GetReceivedRoutesFilterOutput) Property() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesFilter) string { return v.Property }).(pulumi.StringOutput) +} + +// The values that you want to apply the property+operator combination to in order to filter your data search +func (o GetReceivedRoutesFilterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetReceivedRoutesFilter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetReceivedRoutesPagination struct { + // Maximum number of search results returned per page. + Limit *int `pulumi:"limit"` + // URL relative to the next item in the response. + Next string `pulumi:"next"` + // Index of the first item returned in the response. + Offset *int `pulumi:"offset"` + // URL relative to the previous item in the response. + Previous string `pulumi:"previous"` + // The total number of elements returned + Total int `pulumi:"total"` +} + +// GetReceivedRoutesPaginationInput is an input type that accepts GetReceivedRoutesPaginationArgs and GetReceivedRoutesPaginationOutput values. +// You can construct a concrete instance of `GetReceivedRoutesPaginationInput` via: +// +// GetReceivedRoutesPaginationArgs{...} +type GetReceivedRoutesPaginationInput interface { + pulumi.Input + + ToGetReceivedRoutesPaginationOutput() GetReceivedRoutesPaginationOutput + ToGetReceivedRoutesPaginationOutputWithContext(context.Context) GetReceivedRoutesPaginationOutput +} + +type GetReceivedRoutesPaginationArgs struct { + // Maximum number of search results returned per page. + Limit pulumi.IntPtrInput `pulumi:"limit"` + // URL relative to the next item in the response. + Next pulumi.StringInput `pulumi:"next"` + // Index of the first item returned in the response. + Offset pulumi.IntPtrInput `pulumi:"offset"` + // URL relative to the previous item in the response. + Previous pulumi.StringInput `pulumi:"previous"` + // The total number of elements returned + Total pulumi.IntInput `pulumi:"total"` +} + +func (GetReceivedRoutesPaginationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesPagination)(nil)).Elem() +} + +func (i GetReceivedRoutesPaginationArgs) ToGetReceivedRoutesPaginationOutput() GetReceivedRoutesPaginationOutput { + return i.ToGetReceivedRoutesPaginationOutputWithContext(context.Background()) +} + +func (i GetReceivedRoutesPaginationArgs) ToGetReceivedRoutesPaginationOutputWithContext(ctx context.Context) GetReceivedRoutesPaginationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesPaginationOutput) +} + +type GetReceivedRoutesPaginationOutput struct{ *pulumi.OutputState } + +func (GetReceivedRoutesPaginationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesPagination)(nil)).Elem() +} + +func (o GetReceivedRoutesPaginationOutput) ToGetReceivedRoutesPaginationOutput() GetReceivedRoutesPaginationOutput { + return o +} + +func (o GetReceivedRoutesPaginationOutput) ToGetReceivedRoutesPaginationOutputWithContext(ctx context.Context) GetReceivedRoutesPaginationOutput { + return o +} + +// Maximum number of search results returned per page. +func (o GetReceivedRoutesPaginationOutput) Limit() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetReceivedRoutesPagination) *int { return v.Limit }).(pulumi.IntPtrOutput) +} + +// URL relative to the next item in the response. +func (o GetReceivedRoutesPaginationOutput) Next() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesPagination) string { return v.Next }).(pulumi.StringOutput) +} + +// Index of the first item returned in the response. +func (o GetReceivedRoutesPaginationOutput) Offset() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetReceivedRoutesPagination) *int { return v.Offset }).(pulumi.IntPtrOutput) +} + +// URL relative to the previous item in the response. +func (o GetReceivedRoutesPaginationOutput) Previous() pulumi.StringOutput { + return o.ApplyT(func(v GetReceivedRoutesPagination) string { return v.Previous }).(pulumi.StringOutput) +} + +// The total number of elements returned +func (o GetReceivedRoutesPaginationOutput) Total() pulumi.IntOutput { + return o.ApplyT(func(v GetReceivedRoutesPagination) int { return v.Total }).(pulumi.IntOutput) +} + +type GetReceivedRoutesSort struct { + // Sort direction, one of [ASC, DESC] + Direction *string `pulumi:"direction"` + // Property name to sort by + Property *string `pulumi:"property"` +} + +// GetReceivedRoutesSortInput is an input type that accepts GetReceivedRoutesSortArgs and GetReceivedRoutesSortOutput values. +// You can construct a concrete instance of `GetReceivedRoutesSortInput` via: +// +// GetReceivedRoutesSortArgs{...} +type GetReceivedRoutesSortInput interface { + pulumi.Input + + ToGetReceivedRoutesSortOutput() GetReceivedRoutesSortOutput + ToGetReceivedRoutesSortOutputWithContext(context.Context) GetReceivedRoutesSortOutput +} + +type GetReceivedRoutesSortArgs struct { + // Sort direction, one of [ASC, DESC] + Direction pulumi.StringPtrInput `pulumi:"direction"` + // Property name to sort by + Property pulumi.StringPtrInput `pulumi:"property"` +} + +func (GetReceivedRoutesSortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesSort)(nil)).Elem() +} + +func (i GetReceivedRoutesSortArgs) ToGetReceivedRoutesSortOutput() GetReceivedRoutesSortOutput { + return i.ToGetReceivedRoutesSortOutputWithContext(context.Background()) +} + +func (i GetReceivedRoutesSortArgs) ToGetReceivedRoutesSortOutputWithContext(ctx context.Context) GetReceivedRoutesSortOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesSortOutput) +} + +func (i GetReceivedRoutesSortArgs) ToGetReceivedRoutesSortPtrOutput() GetReceivedRoutesSortPtrOutput { + return i.ToGetReceivedRoutesSortPtrOutputWithContext(context.Background()) +} + +func (i GetReceivedRoutesSortArgs) ToGetReceivedRoutesSortPtrOutputWithContext(ctx context.Context) GetReceivedRoutesSortPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesSortOutput).ToGetReceivedRoutesSortPtrOutputWithContext(ctx) +} + +// GetReceivedRoutesSortPtrInput is an input type that accepts GetReceivedRoutesSortArgs, GetReceivedRoutesSortPtr and GetReceivedRoutesSortPtrOutput values. +// You can construct a concrete instance of `GetReceivedRoutesSortPtrInput` via: +// +// GetReceivedRoutesSortArgs{...} +// +// or: +// +// nil +type GetReceivedRoutesSortPtrInput interface { + pulumi.Input + + ToGetReceivedRoutesSortPtrOutput() GetReceivedRoutesSortPtrOutput + ToGetReceivedRoutesSortPtrOutputWithContext(context.Context) GetReceivedRoutesSortPtrOutput +} + +type getReceivedRoutesSortPtrType GetReceivedRoutesSortArgs + +func GetReceivedRoutesSortPtr(v *GetReceivedRoutesSortArgs) GetReceivedRoutesSortPtrInput { + return (*getReceivedRoutesSortPtrType)(v) +} + +func (*getReceivedRoutesSortPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetReceivedRoutesSort)(nil)).Elem() +} + +func (i *getReceivedRoutesSortPtrType) ToGetReceivedRoutesSortPtrOutput() GetReceivedRoutesSortPtrOutput { + return i.ToGetReceivedRoutesSortPtrOutputWithContext(context.Background()) +} + +func (i *getReceivedRoutesSortPtrType) ToGetReceivedRoutesSortPtrOutputWithContext(ctx context.Context) GetReceivedRoutesSortPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReceivedRoutesSortPtrOutput) +} + +type GetReceivedRoutesSortOutput struct{ *pulumi.OutputState } + +func (GetReceivedRoutesSortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReceivedRoutesSort)(nil)).Elem() +} + +func (o GetReceivedRoutesSortOutput) ToGetReceivedRoutesSortOutput() GetReceivedRoutesSortOutput { + return o +} + +func (o GetReceivedRoutesSortOutput) ToGetReceivedRoutesSortOutputWithContext(ctx context.Context) GetReceivedRoutesSortOutput { + return o +} + +func (o GetReceivedRoutesSortOutput) ToGetReceivedRoutesSortPtrOutput() GetReceivedRoutesSortPtrOutput { + return o.ToGetReceivedRoutesSortPtrOutputWithContext(context.Background()) +} + +func (o GetReceivedRoutesSortOutput) ToGetReceivedRoutesSortPtrOutputWithContext(ctx context.Context) GetReceivedRoutesSortPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetReceivedRoutesSort) *GetReceivedRoutesSort { + return &v + }).(GetReceivedRoutesSortPtrOutput) +} + +// Sort direction, one of [ASC, DESC] +func (o GetReceivedRoutesSortOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetReceivedRoutesSort) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +// Property name to sort by +func (o GetReceivedRoutesSortOutput) Property() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetReceivedRoutesSort) *string { return v.Property }).(pulumi.StringPtrOutput) +} + +type GetReceivedRoutesSortPtrOutput struct{ *pulumi.OutputState } + +func (GetReceivedRoutesSortPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetReceivedRoutesSort)(nil)).Elem() +} + +func (o GetReceivedRoutesSortPtrOutput) ToGetReceivedRoutesSortPtrOutput() GetReceivedRoutesSortPtrOutput { + return o +} + +func (o GetReceivedRoutesSortPtrOutput) ToGetReceivedRoutesSortPtrOutputWithContext(ctx context.Context) GetReceivedRoutesSortPtrOutput { + return o +} + +func (o GetReceivedRoutesSortPtrOutput) Elem() GetReceivedRoutesSortOutput { + return o.ApplyT(func(v *GetReceivedRoutesSort) GetReceivedRoutesSort { + if v != nil { + return *v + } + var ret GetReceivedRoutesSort + return ret + }).(GetReceivedRoutesSortOutput) +} + +// Sort direction, one of [ASC, DESC] +func (o GetReceivedRoutesSortPtrOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetReceivedRoutesSort) *string { + if v == nil { + return nil + } + return v.Direction + }).(pulumi.StringPtrOutput) +} + +// Property name to sort by +func (o GetReceivedRoutesSortPtrOutput) Property() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetReceivedRoutesSort) *string { + if v == nil { + return nil + } + return v.Property + }).(pulumi.StringPtrOutput) +} + type GetRouteAggregationChange struct { // Equinix auto generated URI to the route aggregation change Href string `pulumi:"href"` @@ -61750,6 +63315,8 @@ type GetServiceProfileAccessPointTypeConfig struct { EnableAutoGenerateServiceKey *bool `pulumi:"enableAutoGenerateServiceKey"` // Link protocol configuration details LinkProtocolConfig *GetServiceProfileAccessPointTypeConfigLinkProtocolConfig `pulumi:"linkProtocolConfig"` + // Optional redundant connections + SelectiveRedundancy *bool `pulumi:"selectiveRedundancy"` // Supported bandwidths SupportedBandwidths []int `pulumi:"supportedBandwidths"` // Type of access point type config - VD, COLO @@ -61792,6 +63359,8 @@ type GetServiceProfileAccessPointTypeConfigArgs struct { EnableAutoGenerateServiceKey pulumi.BoolPtrInput `pulumi:"enableAutoGenerateServiceKey"` // Link protocol configuration details LinkProtocolConfig GetServiceProfileAccessPointTypeConfigLinkProtocolConfigPtrInput `pulumi:"linkProtocolConfig"` + // Optional redundant connections + SelectiveRedundancy pulumi.BoolPtrInput `pulumi:"selectiveRedundancy"` // Supported bandwidths SupportedBandwidths pulumi.IntArrayInput `pulumi:"supportedBandwidths"` // Type of access point type config - VD, COLO @@ -61912,6 +63481,11 @@ func (o GetServiceProfileAccessPointTypeConfigOutput) LinkProtocolConfig() GetSe }).(GetServiceProfileAccessPointTypeConfigLinkProtocolConfigPtrOutput) } +// Optional redundant connections +func (o GetServiceProfileAccessPointTypeConfigOutput) SelectiveRedundancy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetServiceProfileAccessPointTypeConfig) *bool { return v.SelectiveRedundancy }).(pulumi.BoolPtrOutput) +} + // Supported bandwidths func (o GetServiceProfileAccessPointTypeConfigOutput) SupportedBandwidths() pulumi.IntArrayOutput { return o.ApplyT(func(v GetServiceProfileAccessPointTypeConfig) []int { return v.SupportedBandwidths }).(pulumi.IntArrayOutput) @@ -64150,7 +65724,7 @@ type GetServiceProfilesDatum struct { State string `pulumi:"state"` // Tags attached to the connection Tags []string `pulumi:"tags"` - // Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + // Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE Type string `pulumi:"type"` // Equinix assigned service profile identifier Uuid string `pulumi:"uuid"` @@ -64206,7 +65780,7 @@ type GetServiceProfilesDatumArgs struct { State pulumi.StringInput `pulumi:"state"` // Tags attached to the connection Tags pulumi.StringArrayInput `pulumi:"tags"` - // Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + // Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE Type pulumi.StringInput `pulumi:"type"` // Equinix assigned service profile identifier Uuid pulumi.StringInput `pulumi:"uuid"` @@ -64351,7 +65925,7 @@ func (o GetServiceProfilesDatumOutput) Tags() pulumi.StringArrayOutput { return o.ApplyT(func(v GetServiceProfilesDatum) []string { return v.Tags }).(pulumi.StringArrayOutput) } -// Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE +// Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE func (o GetServiceProfilesDatumOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v GetServiceProfilesDatum) string { return v.Type }).(pulumi.StringOutput) } @@ -64419,6 +65993,8 @@ type GetServiceProfilesDatumAccessPointTypeConfig struct { EnableAutoGenerateServiceKey *bool `pulumi:"enableAutoGenerateServiceKey"` // Link protocol configuration details LinkProtocolConfig *GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfig `pulumi:"linkProtocolConfig"` + // Optional redundant connections + SelectiveRedundancy *bool `pulumi:"selectiveRedundancy"` // Supported bandwidths SupportedBandwidths []int `pulumi:"supportedBandwidths"` // Type of access point type config - VD, COLO @@ -64461,6 +66037,8 @@ type GetServiceProfilesDatumAccessPointTypeConfigArgs struct { EnableAutoGenerateServiceKey pulumi.BoolPtrInput `pulumi:"enableAutoGenerateServiceKey"` // Link protocol configuration details LinkProtocolConfig GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfigPtrInput `pulumi:"linkProtocolConfig"` + // Optional redundant connections + SelectiveRedundancy pulumi.BoolPtrInput `pulumi:"selectiveRedundancy"` // Supported bandwidths SupportedBandwidths pulumi.IntArrayInput `pulumi:"supportedBandwidths"` // Type of access point type config - VD, COLO @@ -64581,6 +66159,11 @@ func (o GetServiceProfilesDatumAccessPointTypeConfigOutput) LinkProtocolConfig() }).(GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfigPtrOutput) } +// Optional redundant connections +func (o GetServiceProfilesDatumAccessPointTypeConfigOutput) SelectiveRedundancy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetServiceProfilesDatumAccessPointTypeConfig) *bool { return v.SelectiveRedundancy }).(pulumi.BoolPtrOutput) +} + // Supported bandwidths func (o GetServiceProfilesDatumAccessPointTypeConfigOutput) SupportedBandwidths() pulumi.IntArrayOutput { return o.ApplyT(func(v GetServiceProfilesDatumAccessPointTypeConfig) []int { return v.SupportedBandwidths }).(pulumi.IntArrayOutput) @@ -77079,1239 +78662,6 @@ func (o GetStreamAttachmentsSortArrayOutput) Index(i pulumi.IntInput) GetStreamA }).(GetStreamAttachmentsSortOutput) } -type GetStreamChangeLog struct { - // User name of creator of the stream resource - CreatedBy string `pulumi:"createdBy"` - // Email of creator of the stream resource - CreatedByEmail string `pulumi:"createdByEmail"` - // Legal name of creator of the stream resource - CreatedByFullName string `pulumi:"createdByFullName"` - // Creation time of the stream resource - CreatedDateTime string `pulumi:"createdDateTime"` - // User name of deleter of the stream resource - DeletedBy string `pulumi:"deletedBy"` - // Email of deleter of the stream resource - DeletedByEmail string `pulumi:"deletedByEmail"` - // Legal name of deleter of the stream resource - DeletedByFullName string `pulumi:"deletedByFullName"` - // Deletion time of the stream resource - DeletedDateTime string `pulumi:"deletedDateTime"` - // User name of last updater of the stream resource - UpdatedBy string `pulumi:"updatedBy"` - // Email of last updater of the stream resource - UpdatedByEmail string `pulumi:"updatedByEmail"` - // Legal name of last updater of the stream resource - UpdatedByFullName string `pulumi:"updatedByFullName"` - // Last update time of the stream resource - UpdatedDateTime string `pulumi:"updatedDateTime"` -} - -// GetStreamChangeLogInput is an input type that accepts GetStreamChangeLogArgs and GetStreamChangeLogOutput values. -// You can construct a concrete instance of `GetStreamChangeLogInput` via: -// -// GetStreamChangeLogArgs{...} -type GetStreamChangeLogInput interface { - pulumi.Input - - ToGetStreamChangeLogOutput() GetStreamChangeLogOutput - ToGetStreamChangeLogOutputWithContext(context.Context) GetStreamChangeLogOutput -} - -type GetStreamChangeLogArgs struct { - // User name of creator of the stream resource - CreatedBy pulumi.StringInput `pulumi:"createdBy"` - // Email of creator of the stream resource - CreatedByEmail pulumi.StringInput `pulumi:"createdByEmail"` - // Legal name of creator of the stream resource - CreatedByFullName pulumi.StringInput `pulumi:"createdByFullName"` - // Creation time of the stream resource - CreatedDateTime pulumi.StringInput `pulumi:"createdDateTime"` - // User name of deleter of the stream resource - DeletedBy pulumi.StringInput `pulumi:"deletedBy"` - // Email of deleter of the stream resource - DeletedByEmail pulumi.StringInput `pulumi:"deletedByEmail"` - // Legal name of deleter of the stream resource - DeletedByFullName pulumi.StringInput `pulumi:"deletedByFullName"` - // Deletion time of the stream resource - DeletedDateTime pulumi.StringInput `pulumi:"deletedDateTime"` - // User name of last updater of the stream resource - UpdatedBy pulumi.StringInput `pulumi:"updatedBy"` - // Email of last updater of the stream resource - UpdatedByEmail pulumi.StringInput `pulumi:"updatedByEmail"` - // Legal name of last updater of the stream resource - UpdatedByFullName pulumi.StringInput `pulumi:"updatedByFullName"` - // Last update time of the stream resource - UpdatedDateTime pulumi.StringInput `pulumi:"updatedDateTime"` -} - -func (GetStreamChangeLogArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamChangeLog)(nil)).Elem() -} - -func (i GetStreamChangeLogArgs) ToGetStreamChangeLogOutput() GetStreamChangeLogOutput { - return i.ToGetStreamChangeLogOutputWithContext(context.Background()) -} - -func (i GetStreamChangeLogArgs) ToGetStreamChangeLogOutputWithContext(ctx context.Context) GetStreamChangeLogOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamChangeLogOutput) -} - -type GetStreamChangeLogOutput struct{ *pulumi.OutputState } - -func (GetStreamChangeLogOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamChangeLog)(nil)).Elem() -} - -func (o GetStreamChangeLogOutput) ToGetStreamChangeLogOutput() GetStreamChangeLogOutput { - return o -} - -func (o GetStreamChangeLogOutput) ToGetStreamChangeLogOutputWithContext(ctx context.Context) GetStreamChangeLogOutput { - return o -} - -// User name of creator of the stream resource -func (o GetStreamChangeLogOutput) CreatedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.CreatedBy }).(pulumi.StringOutput) -} - -// Email of creator of the stream resource -func (o GetStreamChangeLogOutput) CreatedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.CreatedByEmail }).(pulumi.StringOutput) -} - -// Legal name of creator of the stream resource -func (o GetStreamChangeLogOutput) CreatedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.CreatedByFullName }).(pulumi.StringOutput) -} - -// Creation time of the stream resource -func (o GetStreamChangeLogOutput) CreatedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.CreatedDateTime }).(pulumi.StringOutput) -} - -// User name of deleter of the stream resource -func (o GetStreamChangeLogOutput) DeletedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.DeletedBy }).(pulumi.StringOutput) -} - -// Email of deleter of the stream resource -func (o GetStreamChangeLogOutput) DeletedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.DeletedByEmail }).(pulumi.StringOutput) -} - -// Legal name of deleter of the stream resource -func (o GetStreamChangeLogOutput) DeletedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.DeletedByFullName }).(pulumi.StringOutput) -} - -// Deletion time of the stream resource -func (o GetStreamChangeLogOutput) DeletedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.DeletedDateTime }).(pulumi.StringOutput) -} - -// User name of last updater of the stream resource -func (o GetStreamChangeLogOutput) UpdatedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.UpdatedBy }).(pulumi.StringOutput) -} - -// Email of last updater of the stream resource -func (o GetStreamChangeLogOutput) UpdatedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.UpdatedByEmail }).(pulumi.StringOutput) -} - -// Legal name of last updater of the stream resource -func (o GetStreamChangeLogOutput) UpdatedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.UpdatedByFullName }).(pulumi.StringOutput) -} - -// Last update time of the stream resource -func (o GetStreamChangeLogOutput) UpdatedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamChangeLog) string { return v.UpdatedDateTime }).(pulumi.StringOutput) -} - -type GetStreamProject struct { - // Equinix Subscriber-assigned project ID - ProjectId string `pulumi:"projectId"` -} - -// GetStreamProjectInput is an input type that accepts GetStreamProjectArgs and GetStreamProjectOutput values. -// You can construct a concrete instance of `GetStreamProjectInput` via: -// -// GetStreamProjectArgs{...} -type GetStreamProjectInput interface { - pulumi.Input - - ToGetStreamProjectOutput() GetStreamProjectOutput - ToGetStreamProjectOutputWithContext(context.Context) GetStreamProjectOutput -} - -type GetStreamProjectArgs struct { - // Equinix Subscriber-assigned project ID - ProjectId pulumi.StringInput `pulumi:"projectId"` -} - -func (GetStreamProjectArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamProject)(nil)).Elem() -} - -func (i GetStreamProjectArgs) ToGetStreamProjectOutput() GetStreamProjectOutput { - return i.ToGetStreamProjectOutputWithContext(context.Background()) -} - -func (i GetStreamProjectArgs) ToGetStreamProjectOutputWithContext(ctx context.Context) GetStreamProjectOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamProjectOutput) -} - -type GetStreamProjectOutput struct{ *pulumi.OutputState } - -func (GetStreamProjectOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamProject)(nil)).Elem() -} - -func (o GetStreamProjectOutput) ToGetStreamProjectOutput() GetStreamProjectOutput { - return o -} - -func (o GetStreamProjectOutput) ToGetStreamProjectOutputWithContext(ctx context.Context) GetStreamProjectOutput { - return o -} - -// Equinix Subscriber-assigned project ID -func (o GetStreamProjectOutput) ProjectId() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamProject) string { return v.ProjectId }).(pulumi.StringOutput) -} - -type GetStreamSubscriptionChangeLog struct { - // User name of creator of the stream resource - CreatedBy string `pulumi:"createdBy"` - // Email of creator of the stream resource - CreatedByEmail string `pulumi:"createdByEmail"` - // Legal name of creator of the stream resource - CreatedByFullName string `pulumi:"createdByFullName"` - // Creation time of the stream resource - CreatedDateTime string `pulumi:"createdDateTime"` - // User name of deleter of the stream resource - DeletedBy string `pulumi:"deletedBy"` - // Email of deleter of the stream resource - DeletedByEmail string `pulumi:"deletedByEmail"` - // Legal name of deleter of the stream resource - DeletedByFullName string `pulumi:"deletedByFullName"` - // Deletion time of the stream resource - DeletedDateTime string `pulumi:"deletedDateTime"` - // User name of last updater of the stream resource - UpdatedBy string `pulumi:"updatedBy"` - // Email of last updater of the stream resource - UpdatedByEmail string `pulumi:"updatedByEmail"` - // Legal name of last updater of the stream resource - UpdatedByFullName string `pulumi:"updatedByFullName"` - // Last update time of the stream resource - UpdatedDateTime string `pulumi:"updatedDateTime"` -} - -// GetStreamSubscriptionChangeLogInput is an input type that accepts GetStreamSubscriptionChangeLogArgs and GetStreamSubscriptionChangeLogOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionChangeLogInput` via: -// -// GetStreamSubscriptionChangeLogArgs{...} -type GetStreamSubscriptionChangeLogInput interface { - pulumi.Input - - ToGetStreamSubscriptionChangeLogOutput() GetStreamSubscriptionChangeLogOutput - ToGetStreamSubscriptionChangeLogOutputWithContext(context.Context) GetStreamSubscriptionChangeLogOutput -} - -type GetStreamSubscriptionChangeLogArgs struct { - // User name of creator of the stream resource - CreatedBy pulumi.StringInput `pulumi:"createdBy"` - // Email of creator of the stream resource - CreatedByEmail pulumi.StringInput `pulumi:"createdByEmail"` - // Legal name of creator of the stream resource - CreatedByFullName pulumi.StringInput `pulumi:"createdByFullName"` - // Creation time of the stream resource - CreatedDateTime pulumi.StringInput `pulumi:"createdDateTime"` - // User name of deleter of the stream resource - DeletedBy pulumi.StringInput `pulumi:"deletedBy"` - // Email of deleter of the stream resource - DeletedByEmail pulumi.StringInput `pulumi:"deletedByEmail"` - // Legal name of deleter of the stream resource - DeletedByFullName pulumi.StringInput `pulumi:"deletedByFullName"` - // Deletion time of the stream resource - DeletedDateTime pulumi.StringInput `pulumi:"deletedDateTime"` - // User name of last updater of the stream resource - UpdatedBy pulumi.StringInput `pulumi:"updatedBy"` - // Email of last updater of the stream resource - UpdatedByEmail pulumi.StringInput `pulumi:"updatedByEmail"` - // Legal name of last updater of the stream resource - UpdatedByFullName pulumi.StringInput `pulumi:"updatedByFullName"` - // Last update time of the stream resource - UpdatedDateTime pulumi.StringInput `pulumi:"updatedDateTime"` -} - -func (GetStreamSubscriptionChangeLogArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionChangeLog)(nil)).Elem() -} - -func (i GetStreamSubscriptionChangeLogArgs) ToGetStreamSubscriptionChangeLogOutput() GetStreamSubscriptionChangeLogOutput { - return i.ToGetStreamSubscriptionChangeLogOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionChangeLogArgs) ToGetStreamSubscriptionChangeLogOutputWithContext(ctx context.Context) GetStreamSubscriptionChangeLogOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionChangeLogOutput) -} - -type GetStreamSubscriptionChangeLogOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionChangeLogOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionChangeLog)(nil)).Elem() -} - -func (o GetStreamSubscriptionChangeLogOutput) ToGetStreamSubscriptionChangeLogOutput() GetStreamSubscriptionChangeLogOutput { - return o -} - -func (o GetStreamSubscriptionChangeLogOutput) ToGetStreamSubscriptionChangeLogOutputWithContext(ctx context.Context) GetStreamSubscriptionChangeLogOutput { - return o -} - -// User name of creator of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) CreatedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.CreatedBy }).(pulumi.StringOutput) -} - -// Email of creator of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) CreatedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.CreatedByEmail }).(pulumi.StringOutput) -} - -// Legal name of creator of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) CreatedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.CreatedByFullName }).(pulumi.StringOutput) -} - -// Creation time of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) CreatedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.CreatedDateTime }).(pulumi.StringOutput) -} - -// User name of deleter of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) DeletedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.DeletedBy }).(pulumi.StringOutput) -} - -// Email of deleter of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) DeletedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.DeletedByEmail }).(pulumi.StringOutput) -} - -// Legal name of deleter of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) DeletedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.DeletedByFullName }).(pulumi.StringOutput) -} - -// Deletion time of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) DeletedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.DeletedDateTime }).(pulumi.StringOutput) -} - -// User name of last updater of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) UpdatedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.UpdatedBy }).(pulumi.StringOutput) -} - -// Email of last updater of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) UpdatedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.UpdatedByEmail }).(pulumi.StringOutput) -} - -// Legal name of last updater of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) UpdatedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.UpdatedByFullName }).(pulumi.StringOutput) -} - -// Last update time of the stream resource -func (o GetStreamSubscriptionChangeLogOutput) UpdatedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.UpdatedDateTime }).(pulumi.StringOutput) -} - -type GetStreamSubscriptionEventSelector struct { - // List of events to exclude - Excepts []string `pulumi:"excepts"` - // List of events to include - Includes []string `pulumi:"includes"` -} - -// GetStreamSubscriptionEventSelectorInput is an input type that accepts GetStreamSubscriptionEventSelectorArgs and GetStreamSubscriptionEventSelectorOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionEventSelectorInput` via: -// -// GetStreamSubscriptionEventSelectorArgs{...} -type GetStreamSubscriptionEventSelectorInput interface { - pulumi.Input - - ToGetStreamSubscriptionEventSelectorOutput() GetStreamSubscriptionEventSelectorOutput - ToGetStreamSubscriptionEventSelectorOutputWithContext(context.Context) GetStreamSubscriptionEventSelectorOutput -} - -type GetStreamSubscriptionEventSelectorArgs struct { - // List of events to exclude - Excepts pulumi.StringArrayInput `pulumi:"excepts"` - // List of events to include - Includes pulumi.StringArrayInput `pulumi:"includes"` -} - -func (GetStreamSubscriptionEventSelectorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionEventSelector)(nil)).Elem() -} - -func (i GetStreamSubscriptionEventSelectorArgs) ToGetStreamSubscriptionEventSelectorOutput() GetStreamSubscriptionEventSelectorOutput { - return i.ToGetStreamSubscriptionEventSelectorOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionEventSelectorArgs) ToGetStreamSubscriptionEventSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionEventSelectorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionEventSelectorOutput) -} - -type GetStreamSubscriptionEventSelectorOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionEventSelectorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionEventSelector)(nil)).Elem() -} - -func (o GetStreamSubscriptionEventSelectorOutput) ToGetStreamSubscriptionEventSelectorOutput() GetStreamSubscriptionEventSelectorOutput { - return o -} - -func (o GetStreamSubscriptionEventSelectorOutput) ToGetStreamSubscriptionEventSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionEventSelectorOutput { - return o -} - -// List of events to exclude -func (o GetStreamSubscriptionEventSelectorOutput) Excepts() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetStreamSubscriptionEventSelector) []string { return v.Excepts }).(pulumi.StringArrayOutput) -} - -// List of events to include -func (o GetStreamSubscriptionEventSelectorOutput) Includes() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetStreamSubscriptionEventSelector) []string { return v.Includes }).(pulumi.StringArrayOutput) -} - -type GetStreamSubscriptionMetricSelector struct { - // List of metrics to exclude - Excepts []string `pulumi:"excepts"` - // List of metrics to include - Includes []string `pulumi:"includes"` -} - -// GetStreamSubscriptionMetricSelectorInput is an input type that accepts GetStreamSubscriptionMetricSelectorArgs and GetStreamSubscriptionMetricSelectorOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionMetricSelectorInput` via: -// -// GetStreamSubscriptionMetricSelectorArgs{...} -type GetStreamSubscriptionMetricSelectorInput interface { - pulumi.Input - - ToGetStreamSubscriptionMetricSelectorOutput() GetStreamSubscriptionMetricSelectorOutput - ToGetStreamSubscriptionMetricSelectorOutputWithContext(context.Context) GetStreamSubscriptionMetricSelectorOutput -} - -type GetStreamSubscriptionMetricSelectorArgs struct { - // List of metrics to exclude - Excepts pulumi.StringArrayInput `pulumi:"excepts"` - // List of metrics to include - Includes pulumi.StringArrayInput `pulumi:"includes"` -} - -func (GetStreamSubscriptionMetricSelectorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionMetricSelector)(nil)).Elem() -} - -func (i GetStreamSubscriptionMetricSelectorArgs) ToGetStreamSubscriptionMetricSelectorOutput() GetStreamSubscriptionMetricSelectorOutput { - return i.ToGetStreamSubscriptionMetricSelectorOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionMetricSelectorArgs) ToGetStreamSubscriptionMetricSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionMetricSelectorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionMetricSelectorOutput) -} - -type GetStreamSubscriptionMetricSelectorOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionMetricSelectorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionMetricSelector)(nil)).Elem() -} - -func (o GetStreamSubscriptionMetricSelectorOutput) ToGetStreamSubscriptionMetricSelectorOutput() GetStreamSubscriptionMetricSelectorOutput { - return o -} - -func (o GetStreamSubscriptionMetricSelectorOutput) ToGetStreamSubscriptionMetricSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionMetricSelectorOutput { - return o -} - -// List of metrics to exclude -func (o GetStreamSubscriptionMetricSelectorOutput) Excepts() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetStreamSubscriptionMetricSelector) []string { return v.Excepts }).(pulumi.StringArrayOutput) -} - -// List of metrics to include -func (o GetStreamSubscriptionMetricSelectorOutput) Includes() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetStreamSubscriptionMetricSelector) []string { return v.Includes }).(pulumi.StringArrayOutput) -} - -type GetStreamSubscriptionSink struct { - // Boolean switch enabling batch delivery of data - BatchEnabled bool `pulumi:"batchEnabled"` - // Maximum size of the batch delivery if enabled - BatchSizeMax int `pulumi:"batchSizeMax"` - // Maximum time to wait for batch delivery if enabled - BatchWaitTimeMax int `pulumi:"batchWaitTimeMax"` - // Access details for the specified sink type - Credential GetStreamSubscriptionSinkCredential `pulumi:"credential"` - // Known hostname of certain data stream subscription products. Not to be confused with a variable URI - Host string `pulumi:"host"` - // Stream subscription sink settings - Settings GetStreamSubscriptionSinkSettings `pulumi:"settings"` - // Type of the subscriber - Type string `pulumi:"type"` - // Publicly reachable http endpoint destination for data stream - Uri string `pulumi:"uri"` -} - -// GetStreamSubscriptionSinkInput is an input type that accepts GetStreamSubscriptionSinkArgs and GetStreamSubscriptionSinkOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionSinkInput` via: -// -// GetStreamSubscriptionSinkArgs{...} -type GetStreamSubscriptionSinkInput interface { - pulumi.Input - - ToGetStreamSubscriptionSinkOutput() GetStreamSubscriptionSinkOutput - ToGetStreamSubscriptionSinkOutputWithContext(context.Context) GetStreamSubscriptionSinkOutput -} - -type GetStreamSubscriptionSinkArgs struct { - // Boolean switch enabling batch delivery of data - BatchEnabled pulumi.BoolInput `pulumi:"batchEnabled"` - // Maximum size of the batch delivery if enabled - BatchSizeMax pulumi.IntInput `pulumi:"batchSizeMax"` - // Maximum time to wait for batch delivery if enabled - BatchWaitTimeMax pulumi.IntInput `pulumi:"batchWaitTimeMax"` - // Access details for the specified sink type - Credential GetStreamSubscriptionSinkCredentialInput `pulumi:"credential"` - // Known hostname of certain data stream subscription products. Not to be confused with a variable URI - Host pulumi.StringInput `pulumi:"host"` - // Stream subscription sink settings - Settings GetStreamSubscriptionSinkSettingsInput `pulumi:"settings"` - // Type of the subscriber - Type pulumi.StringInput `pulumi:"type"` - // Publicly reachable http endpoint destination for data stream - Uri pulumi.StringInput `pulumi:"uri"` -} - -func (GetStreamSubscriptionSinkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionSink)(nil)).Elem() -} - -func (i GetStreamSubscriptionSinkArgs) ToGetStreamSubscriptionSinkOutput() GetStreamSubscriptionSinkOutput { - return i.ToGetStreamSubscriptionSinkOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionSinkArgs) ToGetStreamSubscriptionSinkOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionSinkOutput) -} - -type GetStreamSubscriptionSinkOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionSinkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionSink)(nil)).Elem() -} - -func (o GetStreamSubscriptionSinkOutput) ToGetStreamSubscriptionSinkOutput() GetStreamSubscriptionSinkOutput { - return o -} - -func (o GetStreamSubscriptionSinkOutput) ToGetStreamSubscriptionSinkOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkOutput { - return o -} - -// Boolean switch enabling batch delivery of data -func (o GetStreamSubscriptionSinkOutput) BatchEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetStreamSubscriptionSink) bool { return v.BatchEnabled }).(pulumi.BoolOutput) -} - -// Maximum size of the batch delivery if enabled -func (o GetStreamSubscriptionSinkOutput) BatchSizeMax() pulumi.IntOutput { - return o.ApplyT(func(v GetStreamSubscriptionSink) int { return v.BatchSizeMax }).(pulumi.IntOutput) -} - -// Maximum time to wait for batch delivery if enabled -func (o GetStreamSubscriptionSinkOutput) BatchWaitTimeMax() pulumi.IntOutput { - return o.ApplyT(func(v GetStreamSubscriptionSink) int { return v.BatchWaitTimeMax }).(pulumi.IntOutput) -} - -// Access details for the specified sink type -func (o GetStreamSubscriptionSinkOutput) Credential() GetStreamSubscriptionSinkCredentialOutput { - return o.ApplyT(func(v GetStreamSubscriptionSink) GetStreamSubscriptionSinkCredential { return v.Credential }).(GetStreamSubscriptionSinkCredentialOutput) -} - -// Known hostname of certain data stream subscription products. Not to be confused with a variable URI -func (o GetStreamSubscriptionSinkOutput) Host() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSink) string { return v.Host }).(pulumi.StringOutput) -} - -// Stream subscription sink settings -func (o GetStreamSubscriptionSinkOutput) Settings() GetStreamSubscriptionSinkSettingsOutput { - return o.ApplyT(func(v GetStreamSubscriptionSink) GetStreamSubscriptionSinkSettings { return v.Settings }).(GetStreamSubscriptionSinkSettingsOutput) -} - -// Type of the subscriber -func (o GetStreamSubscriptionSinkOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSink) string { return v.Type }).(pulumi.StringOutput) -} - -// Publicly reachable http endpoint destination for data stream -func (o GetStreamSubscriptionSinkOutput) Uri() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSink) string { return v.Uri }).(pulumi.StringOutput) -} - -type GetStreamSubscriptionSinkCredential struct { - // Passed as Authorization header value - AccessToken string `pulumi:"accessToken"` - // Passed as Authorization header value - ApiKey string `pulumi:"apiKey"` - // Passed as Authorization header value - IntegrationKey string `pulumi:"integrationKey"` - // Passed as Authorization header value - Password string `pulumi:"password"` - // Type of the credential being passed - Type string `pulumi:"type"` - // Passed as Authorization header value - Username string `pulumi:"username"` -} - -// GetStreamSubscriptionSinkCredentialInput is an input type that accepts GetStreamSubscriptionSinkCredentialArgs and GetStreamSubscriptionSinkCredentialOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionSinkCredentialInput` via: -// -// GetStreamSubscriptionSinkCredentialArgs{...} -type GetStreamSubscriptionSinkCredentialInput interface { - pulumi.Input - - ToGetStreamSubscriptionSinkCredentialOutput() GetStreamSubscriptionSinkCredentialOutput - ToGetStreamSubscriptionSinkCredentialOutputWithContext(context.Context) GetStreamSubscriptionSinkCredentialOutput -} - -type GetStreamSubscriptionSinkCredentialArgs struct { - // Passed as Authorization header value - AccessToken pulumi.StringInput `pulumi:"accessToken"` - // Passed as Authorization header value - ApiKey pulumi.StringInput `pulumi:"apiKey"` - // Passed as Authorization header value - IntegrationKey pulumi.StringInput `pulumi:"integrationKey"` - // Passed as Authorization header value - Password pulumi.StringInput `pulumi:"password"` - // Type of the credential being passed - Type pulumi.StringInput `pulumi:"type"` - // Passed as Authorization header value - Username pulumi.StringInput `pulumi:"username"` -} - -func (GetStreamSubscriptionSinkCredentialArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionSinkCredential)(nil)).Elem() -} - -func (i GetStreamSubscriptionSinkCredentialArgs) ToGetStreamSubscriptionSinkCredentialOutput() GetStreamSubscriptionSinkCredentialOutput { - return i.ToGetStreamSubscriptionSinkCredentialOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionSinkCredentialArgs) ToGetStreamSubscriptionSinkCredentialOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkCredentialOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionSinkCredentialOutput) -} - -type GetStreamSubscriptionSinkCredentialOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionSinkCredentialOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionSinkCredential)(nil)).Elem() -} - -func (o GetStreamSubscriptionSinkCredentialOutput) ToGetStreamSubscriptionSinkCredentialOutput() GetStreamSubscriptionSinkCredentialOutput { - return o -} - -func (o GetStreamSubscriptionSinkCredentialOutput) ToGetStreamSubscriptionSinkCredentialOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkCredentialOutput { - return o -} - -// Passed as Authorization header value -func (o GetStreamSubscriptionSinkCredentialOutput) AccessToken() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.AccessToken }).(pulumi.StringOutput) -} - -// Passed as Authorization header value -func (o GetStreamSubscriptionSinkCredentialOutput) ApiKey() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.ApiKey }).(pulumi.StringOutput) -} - -// Passed as Authorization header value -func (o GetStreamSubscriptionSinkCredentialOutput) IntegrationKey() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.IntegrationKey }).(pulumi.StringOutput) -} - -// Passed as Authorization header value -func (o GetStreamSubscriptionSinkCredentialOutput) Password() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.Password }).(pulumi.StringOutput) -} - -// Type of the credential being passed -func (o GetStreamSubscriptionSinkCredentialOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.Type }).(pulumi.StringOutput) -} - -// Passed as Authorization header value -func (o GetStreamSubscriptionSinkCredentialOutput) Username() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.Username }).(pulumi.StringOutput) -} - -type GetStreamSubscriptionSinkSettings struct { - ApplicationKey string `pulumi:"applicationKey"` - EventIndex string `pulumi:"eventIndex"` - EventUri string `pulumi:"eventUri"` - Format string `pulumi:"format"` - MetricIndex string `pulumi:"metricIndex"` - MetricUri string `pulumi:"metricUri"` - Source string `pulumi:"source"` -} - -// GetStreamSubscriptionSinkSettingsInput is an input type that accepts GetStreamSubscriptionSinkSettingsArgs and GetStreamSubscriptionSinkSettingsOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionSinkSettingsInput` via: -// -// GetStreamSubscriptionSinkSettingsArgs{...} -type GetStreamSubscriptionSinkSettingsInput interface { - pulumi.Input - - ToGetStreamSubscriptionSinkSettingsOutput() GetStreamSubscriptionSinkSettingsOutput - ToGetStreamSubscriptionSinkSettingsOutputWithContext(context.Context) GetStreamSubscriptionSinkSettingsOutput -} - -type GetStreamSubscriptionSinkSettingsArgs struct { - ApplicationKey pulumi.StringInput `pulumi:"applicationKey"` - EventIndex pulumi.StringInput `pulumi:"eventIndex"` - EventUri pulumi.StringInput `pulumi:"eventUri"` - Format pulumi.StringInput `pulumi:"format"` - MetricIndex pulumi.StringInput `pulumi:"metricIndex"` - MetricUri pulumi.StringInput `pulumi:"metricUri"` - Source pulumi.StringInput `pulumi:"source"` -} - -func (GetStreamSubscriptionSinkSettingsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionSinkSettings)(nil)).Elem() -} - -func (i GetStreamSubscriptionSinkSettingsArgs) ToGetStreamSubscriptionSinkSettingsOutput() GetStreamSubscriptionSinkSettingsOutput { - return i.ToGetStreamSubscriptionSinkSettingsOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionSinkSettingsArgs) ToGetStreamSubscriptionSinkSettingsOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkSettingsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionSinkSettingsOutput) -} - -type GetStreamSubscriptionSinkSettingsOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionSinkSettingsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionSinkSettings)(nil)).Elem() -} - -func (o GetStreamSubscriptionSinkSettingsOutput) ToGetStreamSubscriptionSinkSettingsOutput() GetStreamSubscriptionSinkSettingsOutput { - return o -} - -func (o GetStreamSubscriptionSinkSettingsOutput) ToGetStreamSubscriptionSinkSettingsOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkSettingsOutput { - return o -} - -func (o GetStreamSubscriptionSinkSettingsOutput) ApplicationKey() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.ApplicationKey }).(pulumi.StringOutput) -} - -func (o GetStreamSubscriptionSinkSettingsOutput) EventIndex() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.EventIndex }).(pulumi.StringOutput) -} - -func (o GetStreamSubscriptionSinkSettingsOutput) EventUri() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.EventUri }).(pulumi.StringOutput) -} - -func (o GetStreamSubscriptionSinkSettingsOutput) Format() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.Format }).(pulumi.StringOutput) -} - -func (o GetStreamSubscriptionSinkSettingsOutput) MetricIndex() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.MetricIndex }).(pulumi.StringOutput) -} - -func (o GetStreamSubscriptionSinkSettingsOutput) MetricUri() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.MetricUri }).(pulumi.StringOutput) -} - -func (o GetStreamSubscriptionSinkSettingsOutput) Source() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.Source }).(pulumi.StringOutput) -} - -type GetStreamSubscriptionsData struct { - // Details of the last change on the stream resource - ChangeLog GetStreamSubscriptionsDataChangeLog `pulumi:"changeLog"` - // Customer-provided stream subscription description - Description string `pulumi:"description"` - // Stream subscription enabled status - Enabled bool `pulumi:"enabled"` - // Lists of events to be included/excluded on the stream subscription - EventSelector GetStreamSubscriptionsDataEventSelector `pulumi:"eventSelector"` - // Equinix assigned URI of the stream subscription resource - Href string `pulumi:"href"` - // Lists of metrics to be included/excluded on the stream subscription - MetricSelector GetStreamSubscriptionsDataMetricSelector `pulumi:"metricSelector"` - // Customer-provided stream subscription name - Name string `pulumi:"name"` - // The details of the subscriber to the Equinix Stream - Sink GetStreamSubscriptionsDataSink `pulumi:"sink"` - // Value representing provisioning status for the stream resource - State string `pulumi:"state"` - // Type of the stream subscription request - Type string `pulumi:"type"` - // Equinix assigned unique identifier of the stream subscription resource - Uuid string `pulumi:"uuid"` -} - -// GetStreamSubscriptionsDataInput is an input type that accepts GetStreamSubscriptionsDataArgs and GetStreamSubscriptionsDataOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionsDataInput` via: -// -// GetStreamSubscriptionsDataArgs{...} -type GetStreamSubscriptionsDataInput interface { - pulumi.Input - - ToGetStreamSubscriptionsDataOutput() GetStreamSubscriptionsDataOutput - ToGetStreamSubscriptionsDataOutputWithContext(context.Context) GetStreamSubscriptionsDataOutput -} - -type GetStreamSubscriptionsDataArgs struct { - // Details of the last change on the stream resource - ChangeLog GetStreamSubscriptionsDataChangeLogInput `pulumi:"changeLog"` - // Customer-provided stream subscription description - Description pulumi.StringInput `pulumi:"description"` - // Stream subscription enabled status - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Lists of events to be included/excluded on the stream subscription - EventSelector GetStreamSubscriptionsDataEventSelectorInput `pulumi:"eventSelector"` - // Equinix assigned URI of the stream subscription resource - Href pulumi.StringInput `pulumi:"href"` - // Lists of metrics to be included/excluded on the stream subscription - MetricSelector GetStreamSubscriptionsDataMetricSelectorInput `pulumi:"metricSelector"` - // Customer-provided stream subscription name - Name pulumi.StringInput `pulumi:"name"` - // The details of the subscriber to the Equinix Stream - Sink GetStreamSubscriptionsDataSinkInput `pulumi:"sink"` - // Value representing provisioning status for the stream resource - State pulumi.StringInput `pulumi:"state"` - // Type of the stream subscription request - Type pulumi.StringInput `pulumi:"type"` - // Equinix assigned unique identifier of the stream subscription resource - Uuid pulumi.StringInput `pulumi:"uuid"` -} - -func (GetStreamSubscriptionsDataArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionsData)(nil)).Elem() -} - -func (i GetStreamSubscriptionsDataArgs) ToGetStreamSubscriptionsDataOutput() GetStreamSubscriptionsDataOutput { - return i.ToGetStreamSubscriptionsDataOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionsDataArgs) ToGetStreamSubscriptionsDataOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataOutput) -} - -// GetStreamSubscriptionsDataArrayInput is an input type that accepts GetStreamSubscriptionsDataArray and GetStreamSubscriptionsDataArrayOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionsDataArrayInput` via: -// -// GetStreamSubscriptionsDataArray{ GetStreamSubscriptionsDataArgs{...} } -type GetStreamSubscriptionsDataArrayInput interface { - pulumi.Input - - ToGetStreamSubscriptionsDataArrayOutput() GetStreamSubscriptionsDataArrayOutput - ToGetStreamSubscriptionsDataArrayOutputWithContext(context.Context) GetStreamSubscriptionsDataArrayOutput -} - -type GetStreamSubscriptionsDataArray []GetStreamSubscriptionsDataInput - -func (GetStreamSubscriptionsDataArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetStreamSubscriptionsData)(nil)).Elem() -} - -func (i GetStreamSubscriptionsDataArray) ToGetStreamSubscriptionsDataArrayOutput() GetStreamSubscriptionsDataArrayOutput { - return i.ToGetStreamSubscriptionsDataArrayOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionsDataArray) ToGetStreamSubscriptionsDataArrayOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataArrayOutput) -} - -type GetStreamSubscriptionsDataOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionsDataOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionsData)(nil)).Elem() -} - -func (o GetStreamSubscriptionsDataOutput) ToGetStreamSubscriptionsDataOutput() GetStreamSubscriptionsDataOutput { - return o -} - -func (o GetStreamSubscriptionsDataOutput) ToGetStreamSubscriptionsDataOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataOutput { - return o -} - -// Details of the last change on the stream resource -func (o GetStreamSubscriptionsDataOutput) ChangeLog() GetStreamSubscriptionsDataChangeLogOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) GetStreamSubscriptionsDataChangeLog { return v.ChangeLog }).(GetStreamSubscriptionsDataChangeLogOutput) -} - -// Customer-provided stream subscription description -func (o GetStreamSubscriptionsDataOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Description }).(pulumi.StringOutput) -} - -// Stream subscription enabled status -func (o GetStreamSubscriptionsDataOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) bool { return v.Enabled }).(pulumi.BoolOutput) -} - -// Lists of events to be included/excluded on the stream subscription -func (o GetStreamSubscriptionsDataOutput) EventSelector() GetStreamSubscriptionsDataEventSelectorOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) GetStreamSubscriptionsDataEventSelector { return v.EventSelector }).(GetStreamSubscriptionsDataEventSelectorOutput) -} - -// Equinix assigned URI of the stream subscription resource -func (o GetStreamSubscriptionsDataOutput) Href() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Href }).(pulumi.StringOutput) -} - -// Lists of metrics to be included/excluded on the stream subscription -func (o GetStreamSubscriptionsDataOutput) MetricSelector() GetStreamSubscriptionsDataMetricSelectorOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) GetStreamSubscriptionsDataMetricSelector { return v.MetricSelector }).(GetStreamSubscriptionsDataMetricSelectorOutput) -} - -// Customer-provided stream subscription name -func (o GetStreamSubscriptionsDataOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Name }).(pulumi.StringOutput) -} - -// The details of the subscriber to the Equinix Stream -func (o GetStreamSubscriptionsDataOutput) Sink() GetStreamSubscriptionsDataSinkOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) GetStreamSubscriptionsDataSink { return v.Sink }).(GetStreamSubscriptionsDataSinkOutput) -} - -// Value representing provisioning status for the stream resource -func (o GetStreamSubscriptionsDataOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.State }).(pulumi.StringOutput) -} - -// Type of the stream subscription request -func (o GetStreamSubscriptionsDataOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Type }).(pulumi.StringOutput) -} - -// Equinix assigned unique identifier of the stream subscription resource -func (o GetStreamSubscriptionsDataOutput) Uuid() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Uuid }).(pulumi.StringOutput) -} - -type GetStreamSubscriptionsDataArrayOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionsDataArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetStreamSubscriptionsData)(nil)).Elem() -} - -func (o GetStreamSubscriptionsDataArrayOutput) ToGetStreamSubscriptionsDataArrayOutput() GetStreamSubscriptionsDataArrayOutput { - return o -} - -func (o GetStreamSubscriptionsDataArrayOutput) ToGetStreamSubscriptionsDataArrayOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataArrayOutput { - return o -} - -func (o GetStreamSubscriptionsDataArrayOutput) Index(i pulumi.IntInput) GetStreamSubscriptionsDataOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetStreamSubscriptionsData { - return vs[0].([]GetStreamSubscriptionsData)[vs[1].(int)] - }).(GetStreamSubscriptionsDataOutput) -} - -type GetStreamSubscriptionsDataChangeLog struct { - // User name of creator of the stream resource - CreatedBy string `pulumi:"createdBy"` - // Email of creator of the stream resource - CreatedByEmail string `pulumi:"createdByEmail"` - // Legal name of creator of the stream resource - CreatedByFullName string `pulumi:"createdByFullName"` - // Creation time of the stream resource - CreatedDateTime string `pulumi:"createdDateTime"` - // User name of deleter of the stream resource - DeletedBy string `pulumi:"deletedBy"` - // Email of deleter of the stream resource - DeletedByEmail string `pulumi:"deletedByEmail"` - // Legal name of deleter of the stream resource - DeletedByFullName string `pulumi:"deletedByFullName"` - // Deletion time of the stream resource - DeletedDateTime string `pulumi:"deletedDateTime"` - // User name of last updater of the stream resource - UpdatedBy string `pulumi:"updatedBy"` - // Email of last updater of the stream resource - UpdatedByEmail string `pulumi:"updatedByEmail"` - // Legal name of last updater of the stream resource - UpdatedByFullName string `pulumi:"updatedByFullName"` - // Last update time of the stream resource - UpdatedDateTime string `pulumi:"updatedDateTime"` -} - -// GetStreamSubscriptionsDataChangeLogInput is an input type that accepts GetStreamSubscriptionsDataChangeLogArgs and GetStreamSubscriptionsDataChangeLogOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionsDataChangeLogInput` via: -// -// GetStreamSubscriptionsDataChangeLogArgs{...} -type GetStreamSubscriptionsDataChangeLogInput interface { - pulumi.Input - - ToGetStreamSubscriptionsDataChangeLogOutput() GetStreamSubscriptionsDataChangeLogOutput - ToGetStreamSubscriptionsDataChangeLogOutputWithContext(context.Context) GetStreamSubscriptionsDataChangeLogOutput -} - -type GetStreamSubscriptionsDataChangeLogArgs struct { - // User name of creator of the stream resource - CreatedBy pulumi.StringInput `pulumi:"createdBy"` - // Email of creator of the stream resource - CreatedByEmail pulumi.StringInput `pulumi:"createdByEmail"` - // Legal name of creator of the stream resource - CreatedByFullName pulumi.StringInput `pulumi:"createdByFullName"` - // Creation time of the stream resource - CreatedDateTime pulumi.StringInput `pulumi:"createdDateTime"` - // User name of deleter of the stream resource - DeletedBy pulumi.StringInput `pulumi:"deletedBy"` - // Email of deleter of the stream resource - DeletedByEmail pulumi.StringInput `pulumi:"deletedByEmail"` - // Legal name of deleter of the stream resource - DeletedByFullName pulumi.StringInput `pulumi:"deletedByFullName"` - // Deletion time of the stream resource - DeletedDateTime pulumi.StringInput `pulumi:"deletedDateTime"` - // User name of last updater of the stream resource - UpdatedBy pulumi.StringInput `pulumi:"updatedBy"` - // Email of last updater of the stream resource - UpdatedByEmail pulumi.StringInput `pulumi:"updatedByEmail"` - // Legal name of last updater of the stream resource - UpdatedByFullName pulumi.StringInput `pulumi:"updatedByFullName"` - // Last update time of the stream resource - UpdatedDateTime pulumi.StringInput `pulumi:"updatedDateTime"` -} - -func (GetStreamSubscriptionsDataChangeLogArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionsDataChangeLog)(nil)).Elem() -} - -func (i GetStreamSubscriptionsDataChangeLogArgs) ToGetStreamSubscriptionsDataChangeLogOutput() GetStreamSubscriptionsDataChangeLogOutput { - return i.ToGetStreamSubscriptionsDataChangeLogOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionsDataChangeLogArgs) ToGetStreamSubscriptionsDataChangeLogOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataChangeLogOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataChangeLogOutput) -} - -type GetStreamSubscriptionsDataChangeLogOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionsDataChangeLogOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionsDataChangeLog)(nil)).Elem() -} - -func (o GetStreamSubscriptionsDataChangeLogOutput) ToGetStreamSubscriptionsDataChangeLogOutput() GetStreamSubscriptionsDataChangeLogOutput { - return o -} - -func (o GetStreamSubscriptionsDataChangeLogOutput) ToGetStreamSubscriptionsDataChangeLogOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataChangeLogOutput { - return o -} - -// User name of creator of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) CreatedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.CreatedBy }).(pulumi.StringOutput) -} - -// Email of creator of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) CreatedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.CreatedByEmail }).(pulumi.StringOutput) -} - -// Legal name of creator of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) CreatedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.CreatedByFullName }).(pulumi.StringOutput) -} - -// Creation time of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) CreatedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.CreatedDateTime }).(pulumi.StringOutput) -} - -// User name of deleter of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) DeletedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.DeletedBy }).(pulumi.StringOutput) -} - -// Email of deleter of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) DeletedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.DeletedByEmail }).(pulumi.StringOutput) -} - -// Legal name of deleter of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) DeletedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.DeletedByFullName }).(pulumi.StringOutput) -} - -// Deletion time of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) DeletedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.DeletedDateTime }).(pulumi.StringOutput) -} - -// User name of last updater of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) UpdatedBy() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.UpdatedBy }).(pulumi.StringOutput) -} - -// Email of last updater of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) UpdatedByEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.UpdatedByEmail }).(pulumi.StringOutput) -} - -// Legal name of last updater of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) UpdatedByFullName() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.UpdatedByFullName }).(pulumi.StringOutput) -} - -// Last update time of the stream resource -func (o GetStreamSubscriptionsDataChangeLogOutput) UpdatedDateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.UpdatedDateTime }).(pulumi.StringOutput) -} - -type GetStreamSubscriptionsDataEventSelector struct { - // List of events to exclude - Excepts []string `pulumi:"excepts"` - // List of events to include - Includes []string `pulumi:"includes"` -} - -// GetStreamSubscriptionsDataEventSelectorInput is an input type that accepts GetStreamSubscriptionsDataEventSelectorArgs and GetStreamSubscriptionsDataEventSelectorOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionsDataEventSelectorInput` via: -// -// GetStreamSubscriptionsDataEventSelectorArgs{...} -type GetStreamSubscriptionsDataEventSelectorInput interface { - pulumi.Input - - ToGetStreamSubscriptionsDataEventSelectorOutput() GetStreamSubscriptionsDataEventSelectorOutput - ToGetStreamSubscriptionsDataEventSelectorOutputWithContext(context.Context) GetStreamSubscriptionsDataEventSelectorOutput -} - -type GetStreamSubscriptionsDataEventSelectorArgs struct { - // List of events to exclude - Excepts pulumi.StringArrayInput `pulumi:"excepts"` - // List of events to include - Includes pulumi.StringArrayInput `pulumi:"includes"` -} - -func (GetStreamSubscriptionsDataEventSelectorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionsDataEventSelector)(nil)).Elem() -} - -func (i GetStreamSubscriptionsDataEventSelectorArgs) ToGetStreamSubscriptionsDataEventSelectorOutput() GetStreamSubscriptionsDataEventSelectorOutput { - return i.ToGetStreamSubscriptionsDataEventSelectorOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionsDataEventSelectorArgs) ToGetStreamSubscriptionsDataEventSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataEventSelectorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataEventSelectorOutput) -} - -type GetStreamSubscriptionsDataEventSelectorOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionsDataEventSelectorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionsDataEventSelector)(nil)).Elem() -} - -func (o GetStreamSubscriptionsDataEventSelectorOutput) ToGetStreamSubscriptionsDataEventSelectorOutput() GetStreamSubscriptionsDataEventSelectorOutput { - return o -} - -func (o GetStreamSubscriptionsDataEventSelectorOutput) ToGetStreamSubscriptionsDataEventSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataEventSelectorOutput { - return o -} - -// List of events to exclude -func (o GetStreamSubscriptionsDataEventSelectorOutput) Excepts() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataEventSelector) []string { return v.Excepts }).(pulumi.StringArrayOutput) -} - -// List of events to include -func (o GetStreamSubscriptionsDataEventSelectorOutput) Includes() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataEventSelector) []string { return v.Includes }).(pulumi.StringArrayOutput) -} - -type GetStreamSubscriptionsDataMetricSelector struct { - // List of metrics to exclude - Excepts []string `pulumi:"excepts"` - // List of metrics to include - Includes []string `pulumi:"includes"` -} - -// GetStreamSubscriptionsDataMetricSelectorInput is an input type that accepts GetStreamSubscriptionsDataMetricSelectorArgs and GetStreamSubscriptionsDataMetricSelectorOutput values. -// You can construct a concrete instance of `GetStreamSubscriptionsDataMetricSelectorInput` via: -// -// GetStreamSubscriptionsDataMetricSelectorArgs{...} -type GetStreamSubscriptionsDataMetricSelectorInput interface { - pulumi.Input - - ToGetStreamSubscriptionsDataMetricSelectorOutput() GetStreamSubscriptionsDataMetricSelectorOutput - ToGetStreamSubscriptionsDataMetricSelectorOutputWithContext(context.Context) GetStreamSubscriptionsDataMetricSelectorOutput -} - -type GetStreamSubscriptionsDataMetricSelectorArgs struct { - // List of metrics to exclude - Excepts pulumi.StringArrayInput `pulumi:"excepts"` - // List of metrics to include - Includes pulumi.StringArrayInput `pulumi:"includes"` -} - -func (GetStreamSubscriptionsDataMetricSelectorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionsDataMetricSelector)(nil)).Elem() -} - -func (i GetStreamSubscriptionsDataMetricSelectorArgs) ToGetStreamSubscriptionsDataMetricSelectorOutput() GetStreamSubscriptionsDataMetricSelectorOutput { - return i.ToGetStreamSubscriptionsDataMetricSelectorOutputWithContext(context.Background()) -} - -func (i GetStreamSubscriptionsDataMetricSelectorArgs) ToGetStreamSubscriptionsDataMetricSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataMetricSelectorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataMetricSelectorOutput) -} - -type GetStreamSubscriptionsDataMetricSelectorOutput struct{ *pulumi.OutputState } - -func (GetStreamSubscriptionsDataMetricSelectorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetStreamSubscriptionsDataMetricSelector)(nil)).Elem() -} - -func (o GetStreamSubscriptionsDataMetricSelectorOutput) ToGetStreamSubscriptionsDataMetricSelectorOutput() GetStreamSubscriptionsDataMetricSelectorOutput { - return o -} - -func (o GetStreamSubscriptionsDataMetricSelectorOutput) ToGetStreamSubscriptionsDataMetricSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataMetricSelectorOutput { - return o -} - -// List of metrics to exclude -func (o GetStreamSubscriptionsDataMetricSelectorOutput) Excepts() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataMetricSelector) []string { return v.Excepts }).(pulumi.StringArrayOutput) -} - -// List of metrics to include -func (o GetStreamSubscriptionsDataMetricSelectorOutput) Includes() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetStreamSubscriptionsDataMetricSelector) []string { return v.Includes }).(pulumi.StringArrayOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*CloudRouterAccountInput)(nil)).Elem(), CloudRouterAccountArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudRouterAccountPtrInput)(nil)).Elem(), CloudRouterAccountArgs{}) @@ -78642,6 +78992,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StreamSubscriptionTimeoutsPtrInput)(nil)).Elem(), StreamSubscriptionTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StreamTimeoutsInput)(nil)).Elem(), StreamTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StreamTimeoutsPtrInput)(nil)).Elem(), StreamTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAdvertisedRoutesDataInput)(nil)).Elem(), GetAdvertisedRoutesDataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAdvertisedRoutesDataArrayInput)(nil)).Elem(), GetAdvertisedRoutesDataArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAdvertisedRoutesDataChangeLogInput)(nil)).Elem(), GetAdvertisedRoutesDataChangeLogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAdvertisedRoutesDataConnectionInput)(nil)).Elem(), GetAdvertisedRoutesDataConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAdvertisedRoutesFilterInput)(nil)).Elem(), GetAdvertisedRoutesFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAdvertisedRoutesPaginationInput)(nil)).Elem(), GetAdvertisedRoutesPaginationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAdvertisedRoutesSortInput)(nil)).Elem(), GetAdvertisedRoutesSortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAdvertisedRoutesSortPtrInput)(nil)).Elem(), GetAdvertisedRoutesSortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudRouterAccountInput)(nil)).Elem(), GetCloudRouterAccountArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudRouterAccountArrayInput)(nil)).Elem(), GetCloudRouterAccountArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCloudRouterChangeLogInput)(nil)).Elem(), GetCloudRouterChangeLogArgs{}) @@ -78926,6 +79284,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetPortsDatumRedundancyInput)(nil)).Elem(), GetPortsDatumRedundancyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPortsDatumRedundancyArrayInput)(nil)).Elem(), GetPortsDatumRedundancyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPortsFilterInput)(nil)).Elem(), GetPortsFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPortsFilterPtrInput)(nil)).Elem(), GetPortsFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPortsFilterArrayInput)(nil)).Elem(), GetPortsFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrecisionTimeServiceAccountInput)(nil)).Elem(), GetPrecisionTimeServiceAccountArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrecisionTimeServiceChangeLogInput)(nil)).Elem(), GetPrecisionTimeServiceChangeLogArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrecisionTimeServiceConnectionInput)(nil)).Elem(), GetPrecisionTimeServiceConnectionArgs{}) @@ -78968,6 +79328,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetPrecisionTimeServicesPaginationPtrInput)(nil)).Elem(), GetPrecisionTimeServicesPaginationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrecisionTimeServicesSortInput)(nil)).Elem(), GetPrecisionTimeServicesSortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPrecisionTimeServicesSortArrayInput)(nil)).Elem(), GetPrecisionTimeServicesSortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedRoutesDataInput)(nil)).Elem(), GetReceivedRoutesDataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedRoutesDataArrayInput)(nil)).Elem(), GetReceivedRoutesDataArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedRoutesDataChangeLogInput)(nil)).Elem(), GetReceivedRoutesDataChangeLogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedRoutesDataConnectionInput)(nil)).Elem(), GetReceivedRoutesDataConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedRoutesFilterInput)(nil)).Elem(), GetReceivedRoutesFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedRoutesPaginationInput)(nil)).Elem(), GetReceivedRoutesPaginationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedRoutesSortInput)(nil)).Elem(), GetReceivedRoutesSortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReceivedRoutesSortPtrInput)(nil)).Elem(), GetReceivedRoutesSortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteAggregationChangeInput)(nil)).Elem(), GetRouteAggregationChangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteAggregationChangeLogInput)(nil)).Elem(), GetRouteAggregationChangeLogArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteAggregationProjectInput)(nil)).Elem(), GetRouteAggregationProjectArgs{}) @@ -79217,19 +79585,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetStreamAttachmentsPaginationInput)(nil)).Elem(), GetStreamAttachmentsPaginationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStreamAttachmentsSortInput)(nil)).Elem(), GetStreamAttachmentsSortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStreamAttachmentsSortArrayInput)(nil)).Elem(), GetStreamAttachmentsSortArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamChangeLogInput)(nil)).Elem(), GetStreamChangeLogArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamProjectInput)(nil)).Elem(), GetStreamProjectArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionChangeLogInput)(nil)).Elem(), GetStreamSubscriptionChangeLogArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionEventSelectorInput)(nil)).Elem(), GetStreamSubscriptionEventSelectorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionMetricSelectorInput)(nil)).Elem(), GetStreamSubscriptionMetricSelectorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionSinkInput)(nil)).Elem(), GetStreamSubscriptionSinkArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionSinkCredentialInput)(nil)).Elem(), GetStreamSubscriptionSinkCredentialArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionSinkSettingsInput)(nil)).Elem(), GetStreamSubscriptionSinkSettingsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataInput)(nil)).Elem(), GetStreamSubscriptionsDataArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataArrayInput)(nil)).Elem(), GetStreamSubscriptionsDataArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataChangeLogInput)(nil)).Elem(), GetStreamSubscriptionsDataChangeLogArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataEventSelectorInput)(nil)).Elem(), GetStreamSubscriptionsDataEventSelectorArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataMetricSelectorInput)(nil)).Elem(), GetStreamSubscriptionsDataMetricSelectorArgs{}) pulumi.RegisterOutputType(CloudRouterAccountOutput{}) pulumi.RegisterOutputType(CloudRouterAccountPtrOutput{}) pulumi.RegisterOutputType(CloudRouterChangeLogOutput{}) @@ -79559,6 +79914,14 @@ func init() { pulumi.RegisterOutputType(StreamSubscriptionTimeoutsPtrOutput{}) pulumi.RegisterOutputType(StreamTimeoutsOutput{}) pulumi.RegisterOutputType(StreamTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(GetAdvertisedRoutesDataOutput{}) + pulumi.RegisterOutputType(GetAdvertisedRoutesDataArrayOutput{}) + pulumi.RegisterOutputType(GetAdvertisedRoutesDataChangeLogOutput{}) + pulumi.RegisterOutputType(GetAdvertisedRoutesDataConnectionOutput{}) + pulumi.RegisterOutputType(GetAdvertisedRoutesFilterOutput{}) + pulumi.RegisterOutputType(GetAdvertisedRoutesPaginationOutput{}) + pulumi.RegisterOutputType(GetAdvertisedRoutesSortOutput{}) + pulumi.RegisterOutputType(GetAdvertisedRoutesSortPtrOutput{}) pulumi.RegisterOutputType(GetCloudRouterAccountOutput{}) pulumi.RegisterOutputType(GetCloudRouterAccountArrayOutput{}) pulumi.RegisterOutputType(GetCloudRouterChangeLogOutput{}) @@ -79843,6 +80206,8 @@ func init() { pulumi.RegisterOutputType(GetPortsDatumRedundancyOutput{}) pulumi.RegisterOutputType(GetPortsDatumRedundancyArrayOutput{}) pulumi.RegisterOutputType(GetPortsFilterOutput{}) + pulumi.RegisterOutputType(GetPortsFilterPtrOutput{}) + pulumi.RegisterOutputType(GetPortsFilterArrayOutput{}) pulumi.RegisterOutputType(GetPrecisionTimeServiceAccountOutput{}) pulumi.RegisterOutputType(GetPrecisionTimeServiceChangeLogOutput{}) pulumi.RegisterOutputType(GetPrecisionTimeServiceConnectionOutput{}) @@ -79885,6 +80250,14 @@ func init() { pulumi.RegisterOutputType(GetPrecisionTimeServicesPaginationPtrOutput{}) pulumi.RegisterOutputType(GetPrecisionTimeServicesSortOutput{}) pulumi.RegisterOutputType(GetPrecisionTimeServicesSortArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedRoutesDataOutput{}) + pulumi.RegisterOutputType(GetReceivedRoutesDataArrayOutput{}) + pulumi.RegisterOutputType(GetReceivedRoutesDataChangeLogOutput{}) + pulumi.RegisterOutputType(GetReceivedRoutesDataConnectionOutput{}) + pulumi.RegisterOutputType(GetReceivedRoutesFilterOutput{}) + pulumi.RegisterOutputType(GetReceivedRoutesPaginationOutput{}) + pulumi.RegisterOutputType(GetReceivedRoutesSortOutput{}) + pulumi.RegisterOutputType(GetReceivedRoutesSortPtrOutput{}) pulumi.RegisterOutputType(GetRouteAggregationChangeOutput{}) pulumi.RegisterOutputType(GetRouteAggregationChangeLogOutput{}) pulumi.RegisterOutputType(GetRouteAggregationProjectOutput{}) @@ -80134,17 +80507,4 @@ func init() { pulumi.RegisterOutputType(GetStreamAttachmentsPaginationOutput{}) pulumi.RegisterOutputType(GetStreamAttachmentsSortOutput{}) pulumi.RegisterOutputType(GetStreamAttachmentsSortArrayOutput{}) - pulumi.RegisterOutputType(GetStreamChangeLogOutput{}) - pulumi.RegisterOutputType(GetStreamProjectOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionChangeLogOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionEventSelectorOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionMetricSelectorOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionSinkOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionSinkCredentialOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionSinkSettingsOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionsDataOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionsDataArrayOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionsDataChangeLogOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionsDataEventSelectorOutput{}) - pulumi.RegisterOutputType(GetStreamSubscriptionsDataMetricSelectorOutput{}) } diff --git a/sdk/go/equinix/fabric/pulumiTypes1.go b/sdk/go/equinix/fabric/pulumiTypes1.go index f8bb054a0..d7f44f1ed 100644 --- a/sdk/go/equinix/fabric/pulumiTypes1.go +++ b/sdk/go/equinix/fabric/pulumiTypes1.go @@ -13,6 +13,1239 @@ import ( var _ = internal.GetEnvOrDefault +type GetStreamChangeLog struct { + // User name of creator of the stream resource + CreatedBy string `pulumi:"createdBy"` + // Email of creator of the stream resource + CreatedByEmail string `pulumi:"createdByEmail"` + // Legal name of creator of the stream resource + CreatedByFullName string `pulumi:"createdByFullName"` + // Creation time of the stream resource + CreatedDateTime string `pulumi:"createdDateTime"` + // User name of deleter of the stream resource + DeletedBy string `pulumi:"deletedBy"` + // Email of deleter of the stream resource + DeletedByEmail string `pulumi:"deletedByEmail"` + // Legal name of deleter of the stream resource + DeletedByFullName string `pulumi:"deletedByFullName"` + // Deletion time of the stream resource + DeletedDateTime string `pulumi:"deletedDateTime"` + // User name of last updater of the stream resource + UpdatedBy string `pulumi:"updatedBy"` + // Email of last updater of the stream resource + UpdatedByEmail string `pulumi:"updatedByEmail"` + // Legal name of last updater of the stream resource + UpdatedByFullName string `pulumi:"updatedByFullName"` + // Last update time of the stream resource + UpdatedDateTime string `pulumi:"updatedDateTime"` +} + +// GetStreamChangeLogInput is an input type that accepts GetStreamChangeLogArgs and GetStreamChangeLogOutput values. +// You can construct a concrete instance of `GetStreamChangeLogInput` via: +// +// GetStreamChangeLogArgs{...} +type GetStreamChangeLogInput interface { + pulumi.Input + + ToGetStreamChangeLogOutput() GetStreamChangeLogOutput + ToGetStreamChangeLogOutputWithContext(context.Context) GetStreamChangeLogOutput +} + +type GetStreamChangeLogArgs struct { + // User name of creator of the stream resource + CreatedBy pulumi.StringInput `pulumi:"createdBy"` + // Email of creator of the stream resource + CreatedByEmail pulumi.StringInput `pulumi:"createdByEmail"` + // Legal name of creator of the stream resource + CreatedByFullName pulumi.StringInput `pulumi:"createdByFullName"` + // Creation time of the stream resource + CreatedDateTime pulumi.StringInput `pulumi:"createdDateTime"` + // User name of deleter of the stream resource + DeletedBy pulumi.StringInput `pulumi:"deletedBy"` + // Email of deleter of the stream resource + DeletedByEmail pulumi.StringInput `pulumi:"deletedByEmail"` + // Legal name of deleter of the stream resource + DeletedByFullName pulumi.StringInput `pulumi:"deletedByFullName"` + // Deletion time of the stream resource + DeletedDateTime pulumi.StringInput `pulumi:"deletedDateTime"` + // User name of last updater of the stream resource + UpdatedBy pulumi.StringInput `pulumi:"updatedBy"` + // Email of last updater of the stream resource + UpdatedByEmail pulumi.StringInput `pulumi:"updatedByEmail"` + // Legal name of last updater of the stream resource + UpdatedByFullName pulumi.StringInput `pulumi:"updatedByFullName"` + // Last update time of the stream resource + UpdatedDateTime pulumi.StringInput `pulumi:"updatedDateTime"` +} + +func (GetStreamChangeLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamChangeLog)(nil)).Elem() +} + +func (i GetStreamChangeLogArgs) ToGetStreamChangeLogOutput() GetStreamChangeLogOutput { + return i.ToGetStreamChangeLogOutputWithContext(context.Background()) +} + +func (i GetStreamChangeLogArgs) ToGetStreamChangeLogOutputWithContext(ctx context.Context) GetStreamChangeLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamChangeLogOutput) +} + +type GetStreamChangeLogOutput struct{ *pulumi.OutputState } + +func (GetStreamChangeLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamChangeLog)(nil)).Elem() +} + +func (o GetStreamChangeLogOutput) ToGetStreamChangeLogOutput() GetStreamChangeLogOutput { + return o +} + +func (o GetStreamChangeLogOutput) ToGetStreamChangeLogOutputWithContext(ctx context.Context) GetStreamChangeLogOutput { + return o +} + +// User name of creator of the stream resource +func (o GetStreamChangeLogOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Email of creator of the stream resource +func (o GetStreamChangeLogOutput) CreatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.CreatedByEmail }).(pulumi.StringOutput) +} + +// Legal name of creator of the stream resource +func (o GetStreamChangeLogOutput) CreatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.CreatedByFullName }).(pulumi.StringOutput) +} + +// Creation time of the stream resource +func (o GetStreamChangeLogOutput) CreatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.CreatedDateTime }).(pulumi.StringOutput) +} + +// User name of deleter of the stream resource +func (o GetStreamChangeLogOutput) DeletedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.DeletedBy }).(pulumi.StringOutput) +} + +// Email of deleter of the stream resource +func (o GetStreamChangeLogOutput) DeletedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.DeletedByEmail }).(pulumi.StringOutput) +} + +// Legal name of deleter of the stream resource +func (o GetStreamChangeLogOutput) DeletedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.DeletedByFullName }).(pulumi.StringOutput) +} + +// Deletion time of the stream resource +func (o GetStreamChangeLogOutput) DeletedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.DeletedDateTime }).(pulumi.StringOutput) +} + +// User name of last updater of the stream resource +func (o GetStreamChangeLogOutput) UpdatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.UpdatedBy }).(pulumi.StringOutput) +} + +// Email of last updater of the stream resource +func (o GetStreamChangeLogOutput) UpdatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.UpdatedByEmail }).(pulumi.StringOutput) +} + +// Legal name of last updater of the stream resource +func (o GetStreamChangeLogOutput) UpdatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.UpdatedByFullName }).(pulumi.StringOutput) +} + +// Last update time of the stream resource +func (o GetStreamChangeLogOutput) UpdatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamChangeLog) string { return v.UpdatedDateTime }).(pulumi.StringOutput) +} + +type GetStreamProject struct { + // Equinix Subscriber-assigned project ID + ProjectId string `pulumi:"projectId"` +} + +// GetStreamProjectInput is an input type that accepts GetStreamProjectArgs and GetStreamProjectOutput values. +// You can construct a concrete instance of `GetStreamProjectInput` via: +// +// GetStreamProjectArgs{...} +type GetStreamProjectInput interface { + pulumi.Input + + ToGetStreamProjectOutput() GetStreamProjectOutput + ToGetStreamProjectOutputWithContext(context.Context) GetStreamProjectOutput +} + +type GetStreamProjectArgs struct { + // Equinix Subscriber-assigned project ID + ProjectId pulumi.StringInput `pulumi:"projectId"` +} + +func (GetStreamProjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamProject)(nil)).Elem() +} + +func (i GetStreamProjectArgs) ToGetStreamProjectOutput() GetStreamProjectOutput { + return i.ToGetStreamProjectOutputWithContext(context.Background()) +} + +func (i GetStreamProjectArgs) ToGetStreamProjectOutputWithContext(ctx context.Context) GetStreamProjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamProjectOutput) +} + +type GetStreamProjectOutput struct{ *pulumi.OutputState } + +func (GetStreamProjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamProject)(nil)).Elem() +} + +func (o GetStreamProjectOutput) ToGetStreamProjectOutput() GetStreamProjectOutput { + return o +} + +func (o GetStreamProjectOutput) ToGetStreamProjectOutputWithContext(ctx context.Context) GetStreamProjectOutput { + return o +} + +// Equinix Subscriber-assigned project ID +func (o GetStreamProjectOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamProject) string { return v.ProjectId }).(pulumi.StringOutput) +} + +type GetStreamSubscriptionChangeLog struct { + // User name of creator of the stream resource + CreatedBy string `pulumi:"createdBy"` + // Email of creator of the stream resource + CreatedByEmail string `pulumi:"createdByEmail"` + // Legal name of creator of the stream resource + CreatedByFullName string `pulumi:"createdByFullName"` + // Creation time of the stream resource + CreatedDateTime string `pulumi:"createdDateTime"` + // User name of deleter of the stream resource + DeletedBy string `pulumi:"deletedBy"` + // Email of deleter of the stream resource + DeletedByEmail string `pulumi:"deletedByEmail"` + // Legal name of deleter of the stream resource + DeletedByFullName string `pulumi:"deletedByFullName"` + // Deletion time of the stream resource + DeletedDateTime string `pulumi:"deletedDateTime"` + // User name of last updater of the stream resource + UpdatedBy string `pulumi:"updatedBy"` + // Email of last updater of the stream resource + UpdatedByEmail string `pulumi:"updatedByEmail"` + // Legal name of last updater of the stream resource + UpdatedByFullName string `pulumi:"updatedByFullName"` + // Last update time of the stream resource + UpdatedDateTime string `pulumi:"updatedDateTime"` +} + +// GetStreamSubscriptionChangeLogInput is an input type that accepts GetStreamSubscriptionChangeLogArgs and GetStreamSubscriptionChangeLogOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionChangeLogInput` via: +// +// GetStreamSubscriptionChangeLogArgs{...} +type GetStreamSubscriptionChangeLogInput interface { + pulumi.Input + + ToGetStreamSubscriptionChangeLogOutput() GetStreamSubscriptionChangeLogOutput + ToGetStreamSubscriptionChangeLogOutputWithContext(context.Context) GetStreamSubscriptionChangeLogOutput +} + +type GetStreamSubscriptionChangeLogArgs struct { + // User name of creator of the stream resource + CreatedBy pulumi.StringInput `pulumi:"createdBy"` + // Email of creator of the stream resource + CreatedByEmail pulumi.StringInput `pulumi:"createdByEmail"` + // Legal name of creator of the stream resource + CreatedByFullName pulumi.StringInput `pulumi:"createdByFullName"` + // Creation time of the stream resource + CreatedDateTime pulumi.StringInput `pulumi:"createdDateTime"` + // User name of deleter of the stream resource + DeletedBy pulumi.StringInput `pulumi:"deletedBy"` + // Email of deleter of the stream resource + DeletedByEmail pulumi.StringInput `pulumi:"deletedByEmail"` + // Legal name of deleter of the stream resource + DeletedByFullName pulumi.StringInput `pulumi:"deletedByFullName"` + // Deletion time of the stream resource + DeletedDateTime pulumi.StringInput `pulumi:"deletedDateTime"` + // User name of last updater of the stream resource + UpdatedBy pulumi.StringInput `pulumi:"updatedBy"` + // Email of last updater of the stream resource + UpdatedByEmail pulumi.StringInput `pulumi:"updatedByEmail"` + // Legal name of last updater of the stream resource + UpdatedByFullName pulumi.StringInput `pulumi:"updatedByFullName"` + // Last update time of the stream resource + UpdatedDateTime pulumi.StringInput `pulumi:"updatedDateTime"` +} + +func (GetStreamSubscriptionChangeLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionChangeLog)(nil)).Elem() +} + +func (i GetStreamSubscriptionChangeLogArgs) ToGetStreamSubscriptionChangeLogOutput() GetStreamSubscriptionChangeLogOutput { + return i.ToGetStreamSubscriptionChangeLogOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionChangeLogArgs) ToGetStreamSubscriptionChangeLogOutputWithContext(ctx context.Context) GetStreamSubscriptionChangeLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionChangeLogOutput) +} + +type GetStreamSubscriptionChangeLogOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionChangeLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionChangeLog)(nil)).Elem() +} + +func (o GetStreamSubscriptionChangeLogOutput) ToGetStreamSubscriptionChangeLogOutput() GetStreamSubscriptionChangeLogOutput { + return o +} + +func (o GetStreamSubscriptionChangeLogOutput) ToGetStreamSubscriptionChangeLogOutputWithContext(ctx context.Context) GetStreamSubscriptionChangeLogOutput { + return o +} + +// User name of creator of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Email of creator of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) CreatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.CreatedByEmail }).(pulumi.StringOutput) +} + +// Legal name of creator of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) CreatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.CreatedByFullName }).(pulumi.StringOutput) +} + +// Creation time of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) CreatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.CreatedDateTime }).(pulumi.StringOutput) +} + +// User name of deleter of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) DeletedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.DeletedBy }).(pulumi.StringOutput) +} + +// Email of deleter of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) DeletedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.DeletedByEmail }).(pulumi.StringOutput) +} + +// Legal name of deleter of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) DeletedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.DeletedByFullName }).(pulumi.StringOutput) +} + +// Deletion time of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) DeletedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.DeletedDateTime }).(pulumi.StringOutput) +} + +// User name of last updater of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) UpdatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.UpdatedBy }).(pulumi.StringOutput) +} + +// Email of last updater of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) UpdatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.UpdatedByEmail }).(pulumi.StringOutput) +} + +// Legal name of last updater of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) UpdatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.UpdatedByFullName }).(pulumi.StringOutput) +} + +// Last update time of the stream resource +func (o GetStreamSubscriptionChangeLogOutput) UpdatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionChangeLog) string { return v.UpdatedDateTime }).(pulumi.StringOutput) +} + +type GetStreamSubscriptionEventSelector struct { + // List of events to exclude + Excepts []string `pulumi:"excepts"` + // List of events to include + Includes []string `pulumi:"includes"` +} + +// GetStreamSubscriptionEventSelectorInput is an input type that accepts GetStreamSubscriptionEventSelectorArgs and GetStreamSubscriptionEventSelectorOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionEventSelectorInput` via: +// +// GetStreamSubscriptionEventSelectorArgs{...} +type GetStreamSubscriptionEventSelectorInput interface { + pulumi.Input + + ToGetStreamSubscriptionEventSelectorOutput() GetStreamSubscriptionEventSelectorOutput + ToGetStreamSubscriptionEventSelectorOutputWithContext(context.Context) GetStreamSubscriptionEventSelectorOutput +} + +type GetStreamSubscriptionEventSelectorArgs struct { + // List of events to exclude + Excepts pulumi.StringArrayInput `pulumi:"excepts"` + // List of events to include + Includes pulumi.StringArrayInput `pulumi:"includes"` +} + +func (GetStreamSubscriptionEventSelectorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionEventSelector)(nil)).Elem() +} + +func (i GetStreamSubscriptionEventSelectorArgs) ToGetStreamSubscriptionEventSelectorOutput() GetStreamSubscriptionEventSelectorOutput { + return i.ToGetStreamSubscriptionEventSelectorOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionEventSelectorArgs) ToGetStreamSubscriptionEventSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionEventSelectorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionEventSelectorOutput) +} + +type GetStreamSubscriptionEventSelectorOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionEventSelectorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionEventSelector)(nil)).Elem() +} + +func (o GetStreamSubscriptionEventSelectorOutput) ToGetStreamSubscriptionEventSelectorOutput() GetStreamSubscriptionEventSelectorOutput { + return o +} + +func (o GetStreamSubscriptionEventSelectorOutput) ToGetStreamSubscriptionEventSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionEventSelectorOutput { + return o +} + +// List of events to exclude +func (o GetStreamSubscriptionEventSelectorOutput) Excepts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStreamSubscriptionEventSelector) []string { return v.Excepts }).(pulumi.StringArrayOutput) +} + +// List of events to include +func (o GetStreamSubscriptionEventSelectorOutput) Includes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStreamSubscriptionEventSelector) []string { return v.Includes }).(pulumi.StringArrayOutput) +} + +type GetStreamSubscriptionMetricSelector struct { + // List of metrics to exclude + Excepts []string `pulumi:"excepts"` + // List of metrics to include + Includes []string `pulumi:"includes"` +} + +// GetStreamSubscriptionMetricSelectorInput is an input type that accepts GetStreamSubscriptionMetricSelectorArgs and GetStreamSubscriptionMetricSelectorOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionMetricSelectorInput` via: +// +// GetStreamSubscriptionMetricSelectorArgs{...} +type GetStreamSubscriptionMetricSelectorInput interface { + pulumi.Input + + ToGetStreamSubscriptionMetricSelectorOutput() GetStreamSubscriptionMetricSelectorOutput + ToGetStreamSubscriptionMetricSelectorOutputWithContext(context.Context) GetStreamSubscriptionMetricSelectorOutput +} + +type GetStreamSubscriptionMetricSelectorArgs struct { + // List of metrics to exclude + Excepts pulumi.StringArrayInput `pulumi:"excepts"` + // List of metrics to include + Includes pulumi.StringArrayInput `pulumi:"includes"` +} + +func (GetStreamSubscriptionMetricSelectorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionMetricSelector)(nil)).Elem() +} + +func (i GetStreamSubscriptionMetricSelectorArgs) ToGetStreamSubscriptionMetricSelectorOutput() GetStreamSubscriptionMetricSelectorOutput { + return i.ToGetStreamSubscriptionMetricSelectorOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionMetricSelectorArgs) ToGetStreamSubscriptionMetricSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionMetricSelectorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionMetricSelectorOutput) +} + +type GetStreamSubscriptionMetricSelectorOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionMetricSelectorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionMetricSelector)(nil)).Elem() +} + +func (o GetStreamSubscriptionMetricSelectorOutput) ToGetStreamSubscriptionMetricSelectorOutput() GetStreamSubscriptionMetricSelectorOutput { + return o +} + +func (o GetStreamSubscriptionMetricSelectorOutput) ToGetStreamSubscriptionMetricSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionMetricSelectorOutput { + return o +} + +// List of metrics to exclude +func (o GetStreamSubscriptionMetricSelectorOutput) Excepts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStreamSubscriptionMetricSelector) []string { return v.Excepts }).(pulumi.StringArrayOutput) +} + +// List of metrics to include +func (o GetStreamSubscriptionMetricSelectorOutput) Includes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStreamSubscriptionMetricSelector) []string { return v.Includes }).(pulumi.StringArrayOutput) +} + +type GetStreamSubscriptionSink struct { + // Boolean switch enabling batch delivery of data + BatchEnabled bool `pulumi:"batchEnabled"` + // Maximum size of the batch delivery if enabled + BatchSizeMax int `pulumi:"batchSizeMax"` + // Maximum time to wait for batch delivery if enabled + BatchWaitTimeMax int `pulumi:"batchWaitTimeMax"` + // Access details for the specified sink type + Credential GetStreamSubscriptionSinkCredential `pulumi:"credential"` + // Known hostname of certain data stream subscription products. Not to be confused with a variable URI + Host string `pulumi:"host"` + // Stream subscription sink settings + Settings GetStreamSubscriptionSinkSettings `pulumi:"settings"` + // Type of the subscriber + Type string `pulumi:"type"` + // Publicly reachable http endpoint destination for data stream + Uri string `pulumi:"uri"` +} + +// GetStreamSubscriptionSinkInput is an input type that accepts GetStreamSubscriptionSinkArgs and GetStreamSubscriptionSinkOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionSinkInput` via: +// +// GetStreamSubscriptionSinkArgs{...} +type GetStreamSubscriptionSinkInput interface { + pulumi.Input + + ToGetStreamSubscriptionSinkOutput() GetStreamSubscriptionSinkOutput + ToGetStreamSubscriptionSinkOutputWithContext(context.Context) GetStreamSubscriptionSinkOutput +} + +type GetStreamSubscriptionSinkArgs struct { + // Boolean switch enabling batch delivery of data + BatchEnabled pulumi.BoolInput `pulumi:"batchEnabled"` + // Maximum size of the batch delivery if enabled + BatchSizeMax pulumi.IntInput `pulumi:"batchSizeMax"` + // Maximum time to wait for batch delivery if enabled + BatchWaitTimeMax pulumi.IntInput `pulumi:"batchWaitTimeMax"` + // Access details for the specified sink type + Credential GetStreamSubscriptionSinkCredentialInput `pulumi:"credential"` + // Known hostname of certain data stream subscription products. Not to be confused with a variable URI + Host pulumi.StringInput `pulumi:"host"` + // Stream subscription sink settings + Settings GetStreamSubscriptionSinkSettingsInput `pulumi:"settings"` + // Type of the subscriber + Type pulumi.StringInput `pulumi:"type"` + // Publicly reachable http endpoint destination for data stream + Uri pulumi.StringInput `pulumi:"uri"` +} + +func (GetStreamSubscriptionSinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionSink)(nil)).Elem() +} + +func (i GetStreamSubscriptionSinkArgs) ToGetStreamSubscriptionSinkOutput() GetStreamSubscriptionSinkOutput { + return i.ToGetStreamSubscriptionSinkOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionSinkArgs) ToGetStreamSubscriptionSinkOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionSinkOutput) +} + +type GetStreamSubscriptionSinkOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionSinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionSink)(nil)).Elem() +} + +func (o GetStreamSubscriptionSinkOutput) ToGetStreamSubscriptionSinkOutput() GetStreamSubscriptionSinkOutput { + return o +} + +func (o GetStreamSubscriptionSinkOutput) ToGetStreamSubscriptionSinkOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkOutput { + return o +} + +// Boolean switch enabling batch delivery of data +func (o GetStreamSubscriptionSinkOutput) BatchEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetStreamSubscriptionSink) bool { return v.BatchEnabled }).(pulumi.BoolOutput) +} + +// Maximum size of the batch delivery if enabled +func (o GetStreamSubscriptionSinkOutput) BatchSizeMax() pulumi.IntOutput { + return o.ApplyT(func(v GetStreamSubscriptionSink) int { return v.BatchSizeMax }).(pulumi.IntOutput) +} + +// Maximum time to wait for batch delivery if enabled +func (o GetStreamSubscriptionSinkOutput) BatchWaitTimeMax() pulumi.IntOutput { + return o.ApplyT(func(v GetStreamSubscriptionSink) int { return v.BatchWaitTimeMax }).(pulumi.IntOutput) +} + +// Access details for the specified sink type +func (o GetStreamSubscriptionSinkOutput) Credential() GetStreamSubscriptionSinkCredentialOutput { + return o.ApplyT(func(v GetStreamSubscriptionSink) GetStreamSubscriptionSinkCredential { return v.Credential }).(GetStreamSubscriptionSinkCredentialOutput) +} + +// Known hostname of certain data stream subscription products. Not to be confused with a variable URI +func (o GetStreamSubscriptionSinkOutput) Host() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSink) string { return v.Host }).(pulumi.StringOutput) +} + +// Stream subscription sink settings +func (o GetStreamSubscriptionSinkOutput) Settings() GetStreamSubscriptionSinkSettingsOutput { + return o.ApplyT(func(v GetStreamSubscriptionSink) GetStreamSubscriptionSinkSettings { return v.Settings }).(GetStreamSubscriptionSinkSettingsOutput) +} + +// Type of the subscriber +func (o GetStreamSubscriptionSinkOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSink) string { return v.Type }).(pulumi.StringOutput) +} + +// Publicly reachable http endpoint destination for data stream +func (o GetStreamSubscriptionSinkOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSink) string { return v.Uri }).(pulumi.StringOutput) +} + +type GetStreamSubscriptionSinkCredential struct { + // Passed as Authorization header value + AccessToken string `pulumi:"accessToken"` + // Passed as Authorization header value + ApiKey string `pulumi:"apiKey"` + // Passed as Authorization header value + IntegrationKey string `pulumi:"integrationKey"` + // Passed as Authorization header value + Password string `pulumi:"password"` + // Type of the credential being passed + Type string `pulumi:"type"` + // Passed as Authorization header value + Username string `pulumi:"username"` +} + +// GetStreamSubscriptionSinkCredentialInput is an input type that accepts GetStreamSubscriptionSinkCredentialArgs and GetStreamSubscriptionSinkCredentialOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionSinkCredentialInput` via: +// +// GetStreamSubscriptionSinkCredentialArgs{...} +type GetStreamSubscriptionSinkCredentialInput interface { + pulumi.Input + + ToGetStreamSubscriptionSinkCredentialOutput() GetStreamSubscriptionSinkCredentialOutput + ToGetStreamSubscriptionSinkCredentialOutputWithContext(context.Context) GetStreamSubscriptionSinkCredentialOutput +} + +type GetStreamSubscriptionSinkCredentialArgs struct { + // Passed as Authorization header value + AccessToken pulumi.StringInput `pulumi:"accessToken"` + // Passed as Authorization header value + ApiKey pulumi.StringInput `pulumi:"apiKey"` + // Passed as Authorization header value + IntegrationKey pulumi.StringInput `pulumi:"integrationKey"` + // Passed as Authorization header value + Password pulumi.StringInput `pulumi:"password"` + // Type of the credential being passed + Type pulumi.StringInput `pulumi:"type"` + // Passed as Authorization header value + Username pulumi.StringInput `pulumi:"username"` +} + +func (GetStreamSubscriptionSinkCredentialArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionSinkCredential)(nil)).Elem() +} + +func (i GetStreamSubscriptionSinkCredentialArgs) ToGetStreamSubscriptionSinkCredentialOutput() GetStreamSubscriptionSinkCredentialOutput { + return i.ToGetStreamSubscriptionSinkCredentialOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionSinkCredentialArgs) ToGetStreamSubscriptionSinkCredentialOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkCredentialOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionSinkCredentialOutput) +} + +type GetStreamSubscriptionSinkCredentialOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionSinkCredentialOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionSinkCredential)(nil)).Elem() +} + +func (o GetStreamSubscriptionSinkCredentialOutput) ToGetStreamSubscriptionSinkCredentialOutput() GetStreamSubscriptionSinkCredentialOutput { + return o +} + +func (o GetStreamSubscriptionSinkCredentialOutput) ToGetStreamSubscriptionSinkCredentialOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkCredentialOutput { + return o +} + +// Passed as Authorization header value +func (o GetStreamSubscriptionSinkCredentialOutput) AccessToken() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.AccessToken }).(pulumi.StringOutput) +} + +// Passed as Authorization header value +func (o GetStreamSubscriptionSinkCredentialOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.ApiKey }).(pulumi.StringOutput) +} + +// Passed as Authorization header value +func (o GetStreamSubscriptionSinkCredentialOutput) IntegrationKey() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.IntegrationKey }).(pulumi.StringOutput) +} + +// Passed as Authorization header value +func (o GetStreamSubscriptionSinkCredentialOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.Password }).(pulumi.StringOutput) +} + +// Type of the credential being passed +func (o GetStreamSubscriptionSinkCredentialOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.Type }).(pulumi.StringOutput) +} + +// Passed as Authorization header value +func (o GetStreamSubscriptionSinkCredentialOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkCredential) string { return v.Username }).(pulumi.StringOutput) +} + +type GetStreamSubscriptionSinkSettings struct { + ApplicationKey string `pulumi:"applicationKey"` + EventIndex string `pulumi:"eventIndex"` + EventUri string `pulumi:"eventUri"` + Format string `pulumi:"format"` + MetricIndex string `pulumi:"metricIndex"` + MetricUri string `pulumi:"metricUri"` + Source string `pulumi:"source"` +} + +// GetStreamSubscriptionSinkSettingsInput is an input type that accepts GetStreamSubscriptionSinkSettingsArgs and GetStreamSubscriptionSinkSettingsOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionSinkSettingsInput` via: +// +// GetStreamSubscriptionSinkSettingsArgs{...} +type GetStreamSubscriptionSinkSettingsInput interface { + pulumi.Input + + ToGetStreamSubscriptionSinkSettingsOutput() GetStreamSubscriptionSinkSettingsOutput + ToGetStreamSubscriptionSinkSettingsOutputWithContext(context.Context) GetStreamSubscriptionSinkSettingsOutput +} + +type GetStreamSubscriptionSinkSettingsArgs struct { + ApplicationKey pulumi.StringInput `pulumi:"applicationKey"` + EventIndex pulumi.StringInput `pulumi:"eventIndex"` + EventUri pulumi.StringInput `pulumi:"eventUri"` + Format pulumi.StringInput `pulumi:"format"` + MetricIndex pulumi.StringInput `pulumi:"metricIndex"` + MetricUri pulumi.StringInput `pulumi:"metricUri"` + Source pulumi.StringInput `pulumi:"source"` +} + +func (GetStreamSubscriptionSinkSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionSinkSettings)(nil)).Elem() +} + +func (i GetStreamSubscriptionSinkSettingsArgs) ToGetStreamSubscriptionSinkSettingsOutput() GetStreamSubscriptionSinkSettingsOutput { + return i.ToGetStreamSubscriptionSinkSettingsOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionSinkSettingsArgs) ToGetStreamSubscriptionSinkSettingsOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionSinkSettingsOutput) +} + +type GetStreamSubscriptionSinkSettingsOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionSinkSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionSinkSettings)(nil)).Elem() +} + +func (o GetStreamSubscriptionSinkSettingsOutput) ToGetStreamSubscriptionSinkSettingsOutput() GetStreamSubscriptionSinkSettingsOutput { + return o +} + +func (o GetStreamSubscriptionSinkSettingsOutput) ToGetStreamSubscriptionSinkSettingsOutputWithContext(ctx context.Context) GetStreamSubscriptionSinkSettingsOutput { + return o +} + +func (o GetStreamSubscriptionSinkSettingsOutput) ApplicationKey() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.ApplicationKey }).(pulumi.StringOutput) +} + +func (o GetStreamSubscriptionSinkSettingsOutput) EventIndex() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.EventIndex }).(pulumi.StringOutput) +} + +func (o GetStreamSubscriptionSinkSettingsOutput) EventUri() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.EventUri }).(pulumi.StringOutput) +} + +func (o GetStreamSubscriptionSinkSettingsOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.Format }).(pulumi.StringOutput) +} + +func (o GetStreamSubscriptionSinkSettingsOutput) MetricIndex() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.MetricIndex }).(pulumi.StringOutput) +} + +func (o GetStreamSubscriptionSinkSettingsOutput) MetricUri() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.MetricUri }).(pulumi.StringOutput) +} + +func (o GetStreamSubscriptionSinkSettingsOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionSinkSettings) string { return v.Source }).(pulumi.StringOutput) +} + +type GetStreamSubscriptionsData struct { + // Details of the last change on the stream resource + ChangeLog GetStreamSubscriptionsDataChangeLog `pulumi:"changeLog"` + // Customer-provided stream subscription description + Description string `pulumi:"description"` + // Stream subscription enabled status + Enabled bool `pulumi:"enabled"` + // Lists of events to be included/excluded on the stream subscription + EventSelector GetStreamSubscriptionsDataEventSelector `pulumi:"eventSelector"` + // Equinix assigned URI of the stream subscription resource + Href string `pulumi:"href"` + // Lists of metrics to be included/excluded on the stream subscription + MetricSelector GetStreamSubscriptionsDataMetricSelector `pulumi:"metricSelector"` + // Customer-provided stream subscription name + Name string `pulumi:"name"` + // The details of the subscriber to the Equinix Stream + Sink GetStreamSubscriptionsDataSink `pulumi:"sink"` + // Value representing provisioning status for the stream resource + State string `pulumi:"state"` + // Type of the stream subscription request + Type string `pulumi:"type"` + // Equinix assigned unique identifier of the stream subscription resource + Uuid string `pulumi:"uuid"` +} + +// GetStreamSubscriptionsDataInput is an input type that accepts GetStreamSubscriptionsDataArgs and GetStreamSubscriptionsDataOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionsDataInput` via: +// +// GetStreamSubscriptionsDataArgs{...} +type GetStreamSubscriptionsDataInput interface { + pulumi.Input + + ToGetStreamSubscriptionsDataOutput() GetStreamSubscriptionsDataOutput + ToGetStreamSubscriptionsDataOutputWithContext(context.Context) GetStreamSubscriptionsDataOutput +} + +type GetStreamSubscriptionsDataArgs struct { + // Details of the last change on the stream resource + ChangeLog GetStreamSubscriptionsDataChangeLogInput `pulumi:"changeLog"` + // Customer-provided stream subscription description + Description pulumi.StringInput `pulumi:"description"` + // Stream subscription enabled status + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Lists of events to be included/excluded on the stream subscription + EventSelector GetStreamSubscriptionsDataEventSelectorInput `pulumi:"eventSelector"` + // Equinix assigned URI of the stream subscription resource + Href pulumi.StringInput `pulumi:"href"` + // Lists of metrics to be included/excluded on the stream subscription + MetricSelector GetStreamSubscriptionsDataMetricSelectorInput `pulumi:"metricSelector"` + // Customer-provided stream subscription name + Name pulumi.StringInput `pulumi:"name"` + // The details of the subscriber to the Equinix Stream + Sink GetStreamSubscriptionsDataSinkInput `pulumi:"sink"` + // Value representing provisioning status for the stream resource + State pulumi.StringInput `pulumi:"state"` + // Type of the stream subscription request + Type pulumi.StringInput `pulumi:"type"` + // Equinix assigned unique identifier of the stream subscription resource + Uuid pulumi.StringInput `pulumi:"uuid"` +} + +func (GetStreamSubscriptionsDataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionsData)(nil)).Elem() +} + +func (i GetStreamSubscriptionsDataArgs) ToGetStreamSubscriptionsDataOutput() GetStreamSubscriptionsDataOutput { + return i.ToGetStreamSubscriptionsDataOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionsDataArgs) ToGetStreamSubscriptionsDataOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataOutput) +} + +// GetStreamSubscriptionsDataArrayInput is an input type that accepts GetStreamSubscriptionsDataArray and GetStreamSubscriptionsDataArrayOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionsDataArrayInput` via: +// +// GetStreamSubscriptionsDataArray{ GetStreamSubscriptionsDataArgs{...} } +type GetStreamSubscriptionsDataArrayInput interface { + pulumi.Input + + ToGetStreamSubscriptionsDataArrayOutput() GetStreamSubscriptionsDataArrayOutput + ToGetStreamSubscriptionsDataArrayOutputWithContext(context.Context) GetStreamSubscriptionsDataArrayOutput +} + +type GetStreamSubscriptionsDataArray []GetStreamSubscriptionsDataInput + +func (GetStreamSubscriptionsDataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetStreamSubscriptionsData)(nil)).Elem() +} + +func (i GetStreamSubscriptionsDataArray) ToGetStreamSubscriptionsDataArrayOutput() GetStreamSubscriptionsDataArrayOutput { + return i.ToGetStreamSubscriptionsDataArrayOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionsDataArray) ToGetStreamSubscriptionsDataArrayOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataArrayOutput) +} + +type GetStreamSubscriptionsDataOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionsDataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionsData)(nil)).Elem() +} + +func (o GetStreamSubscriptionsDataOutput) ToGetStreamSubscriptionsDataOutput() GetStreamSubscriptionsDataOutput { + return o +} + +func (o GetStreamSubscriptionsDataOutput) ToGetStreamSubscriptionsDataOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataOutput { + return o +} + +// Details of the last change on the stream resource +func (o GetStreamSubscriptionsDataOutput) ChangeLog() GetStreamSubscriptionsDataChangeLogOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) GetStreamSubscriptionsDataChangeLog { return v.ChangeLog }).(GetStreamSubscriptionsDataChangeLogOutput) +} + +// Customer-provided stream subscription description +func (o GetStreamSubscriptionsDataOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Description }).(pulumi.StringOutput) +} + +// Stream subscription enabled status +func (o GetStreamSubscriptionsDataOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// Lists of events to be included/excluded on the stream subscription +func (o GetStreamSubscriptionsDataOutput) EventSelector() GetStreamSubscriptionsDataEventSelectorOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) GetStreamSubscriptionsDataEventSelector { return v.EventSelector }).(GetStreamSubscriptionsDataEventSelectorOutput) +} + +// Equinix assigned URI of the stream subscription resource +func (o GetStreamSubscriptionsDataOutput) Href() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Href }).(pulumi.StringOutput) +} + +// Lists of metrics to be included/excluded on the stream subscription +func (o GetStreamSubscriptionsDataOutput) MetricSelector() GetStreamSubscriptionsDataMetricSelectorOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) GetStreamSubscriptionsDataMetricSelector { return v.MetricSelector }).(GetStreamSubscriptionsDataMetricSelectorOutput) +} + +// Customer-provided stream subscription name +func (o GetStreamSubscriptionsDataOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Name }).(pulumi.StringOutput) +} + +// The details of the subscriber to the Equinix Stream +func (o GetStreamSubscriptionsDataOutput) Sink() GetStreamSubscriptionsDataSinkOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) GetStreamSubscriptionsDataSink { return v.Sink }).(GetStreamSubscriptionsDataSinkOutput) +} + +// Value representing provisioning status for the stream resource +func (o GetStreamSubscriptionsDataOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.State }).(pulumi.StringOutput) +} + +// Type of the stream subscription request +func (o GetStreamSubscriptionsDataOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Type }).(pulumi.StringOutput) +} + +// Equinix assigned unique identifier of the stream subscription resource +func (o GetStreamSubscriptionsDataOutput) Uuid() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsData) string { return v.Uuid }).(pulumi.StringOutput) +} + +type GetStreamSubscriptionsDataArrayOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionsDataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetStreamSubscriptionsData)(nil)).Elem() +} + +func (o GetStreamSubscriptionsDataArrayOutput) ToGetStreamSubscriptionsDataArrayOutput() GetStreamSubscriptionsDataArrayOutput { + return o +} + +func (o GetStreamSubscriptionsDataArrayOutput) ToGetStreamSubscriptionsDataArrayOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataArrayOutput { + return o +} + +func (o GetStreamSubscriptionsDataArrayOutput) Index(i pulumi.IntInput) GetStreamSubscriptionsDataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetStreamSubscriptionsData { + return vs[0].([]GetStreamSubscriptionsData)[vs[1].(int)] + }).(GetStreamSubscriptionsDataOutput) +} + +type GetStreamSubscriptionsDataChangeLog struct { + // User name of creator of the stream resource + CreatedBy string `pulumi:"createdBy"` + // Email of creator of the stream resource + CreatedByEmail string `pulumi:"createdByEmail"` + // Legal name of creator of the stream resource + CreatedByFullName string `pulumi:"createdByFullName"` + // Creation time of the stream resource + CreatedDateTime string `pulumi:"createdDateTime"` + // User name of deleter of the stream resource + DeletedBy string `pulumi:"deletedBy"` + // Email of deleter of the stream resource + DeletedByEmail string `pulumi:"deletedByEmail"` + // Legal name of deleter of the stream resource + DeletedByFullName string `pulumi:"deletedByFullName"` + // Deletion time of the stream resource + DeletedDateTime string `pulumi:"deletedDateTime"` + // User name of last updater of the stream resource + UpdatedBy string `pulumi:"updatedBy"` + // Email of last updater of the stream resource + UpdatedByEmail string `pulumi:"updatedByEmail"` + // Legal name of last updater of the stream resource + UpdatedByFullName string `pulumi:"updatedByFullName"` + // Last update time of the stream resource + UpdatedDateTime string `pulumi:"updatedDateTime"` +} + +// GetStreamSubscriptionsDataChangeLogInput is an input type that accepts GetStreamSubscriptionsDataChangeLogArgs and GetStreamSubscriptionsDataChangeLogOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionsDataChangeLogInput` via: +// +// GetStreamSubscriptionsDataChangeLogArgs{...} +type GetStreamSubscriptionsDataChangeLogInput interface { + pulumi.Input + + ToGetStreamSubscriptionsDataChangeLogOutput() GetStreamSubscriptionsDataChangeLogOutput + ToGetStreamSubscriptionsDataChangeLogOutputWithContext(context.Context) GetStreamSubscriptionsDataChangeLogOutput +} + +type GetStreamSubscriptionsDataChangeLogArgs struct { + // User name of creator of the stream resource + CreatedBy pulumi.StringInput `pulumi:"createdBy"` + // Email of creator of the stream resource + CreatedByEmail pulumi.StringInput `pulumi:"createdByEmail"` + // Legal name of creator of the stream resource + CreatedByFullName pulumi.StringInput `pulumi:"createdByFullName"` + // Creation time of the stream resource + CreatedDateTime pulumi.StringInput `pulumi:"createdDateTime"` + // User name of deleter of the stream resource + DeletedBy pulumi.StringInput `pulumi:"deletedBy"` + // Email of deleter of the stream resource + DeletedByEmail pulumi.StringInput `pulumi:"deletedByEmail"` + // Legal name of deleter of the stream resource + DeletedByFullName pulumi.StringInput `pulumi:"deletedByFullName"` + // Deletion time of the stream resource + DeletedDateTime pulumi.StringInput `pulumi:"deletedDateTime"` + // User name of last updater of the stream resource + UpdatedBy pulumi.StringInput `pulumi:"updatedBy"` + // Email of last updater of the stream resource + UpdatedByEmail pulumi.StringInput `pulumi:"updatedByEmail"` + // Legal name of last updater of the stream resource + UpdatedByFullName pulumi.StringInput `pulumi:"updatedByFullName"` + // Last update time of the stream resource + UpdatedDateTime pulumi.StringInput `pulumi:"updatedDateTime"` +} + +func (GetStreamSubscriptionsDataChangeLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionsDataChangeLog)(nil)).Elem() +} + +func (i GetStreamSubscriptionsDataChangeLogArgs) ToGetStreamSubscriptionsDataChangeLogOutput() GetStreamSubscriptionsDataChangeLogOutput { + return i.ToGetStreamSubscriptionsDataChangeLogOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionsDataChangeLogArgs) ToGetStreamSubscriptionsDataChangeLogOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataChangeLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataChangeLogOutput) +} + +type GetStreamSubscriptionsDataChangeLogOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionsDataChangeLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionsDataChangeLog)(nil)).Elem() +} + +func (o GetStreamSubscriptionsDataChangeLogOutput) ToGetStreamSubscriptionsDataChangeLogOutput() GetStreamSubscriptionsDataChangeLogOutput { + return o +} + +func (o GetStreamSubscriptionsDataChangeLogOutput) ToGetStreamSubscriptionsDataChangeLogOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataChangeLogOutput { + return o +} + +// User name of creator of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.CreatedBy }).(pulumi.StringOutput) +} + +// Email of creator of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) CreatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.CreatedByEmail }).(pulumi.StringOutput) +} + +// Legal name of creator of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) CreatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.CreatedByFullName }).(pulumi.StringOutput) +} + +// Creation time of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) CreatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.CreatedDateTime }).(pulumi.StringOutput) +} + +// User name of deleter of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) DeletedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.DeletedBy }).(pulumi.StringOutput) +} + +// Email of deleter of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) DeletedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.DeletedByEmail }).(pulumi.StringOutput) +} + +// Legal name of deleter of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) DeletedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.DeletedByFullName }).(pulumi.StringOutput) +} + +// Deletion time of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) DeletedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.DeletedDateTime }).(pulumi.StringOutput) +} + +// User name of last updater of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) UpdatedBy() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.UpdatedBy }).(pulumi.StringOutput) +} + +// Email of last updater of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) UpdatedByEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.UpdatedByEmail }).(pulumi.StringOutput) +} + +// Legal name of last updater of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) UpdatedByFullName() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.UpdatedByFullName }).(pulumi.StringOutput) +} + +// Last update time of the stream resource +func (o GetStreamSubscriptionsDataChangeLogOutput) UpdatedDateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataChangeLog) string { return v.UpdatedDateTime }).(pulumi.StringOutput) +} + +type GetStreamSubscriptionsDataEventSelector struct { + // List of events to exclude + Excepts []string `pulumi:"excepts"` + // List of events to include + Includes []string `pulumi:"includes"` +} + +// GetStreamSubscriptionsDataEventSelectorInput is an input type that accepts GetStreamSubscriptionsDataEventSelectorArgs and GetStreamSubscriptionsDataEventSelectorOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionsDataEventSelectorInput` via: +// +// GetStreamSubscriptionsDataEventSelectorArgs{...} +type GetStreamSubscriptionsDataEventSelectorInput interface { + pulumi.Input + + ToGetStreamSubscriptionsDataEventSelectorOutput() GetStreamSubscriptionsDataEventSelectorOutput + ToGetStreamSubscriptionsDataEventSelectorOutputWithContext(context.Context) GetStreamSubscriptionsDataEventSelectorOutput +} + +type GetStreamSubscriptionsDataEventSelectorArgs struct { + // List of events to exclude + Excepts pulumi.StringArrayInput `pulumi:"excepts"` + // List of events to include + Includes pulumi.StringArrayInput `pulumi:"includes"` +} + +func (GetStreamSubscriptionsDataEventSelectorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionsDataEventSelector)(nil)).Elem() +} + +func (i GetStreamSubscriptionsDataEventSelectorArgs) ToGetStreamSubscriptionsDataEventSelectorOutput() GetStreamSubscriptionsDataEventSelectorOutput { + return i.ToGetStreamSubscriptionsDataEventSelectorOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionsDataEventSelectorArgs) ToGetStreamSubscriptionsDataEventSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataEventSelectorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataEventSelectorOutput) +} + +type GetStreamSubscriptionsDataEventSelectorOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionsDataEventSelectorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionsDataEventSelector)(nil)).Elem() +} + +func (o GetStreamSubscriptionsDataEventSelectorOutput) ToGetStreamSubscriptionsDataEventSelectorOutput() GetStreamSubscriptionsDataEventSelectorOutput { + return o +} + +func (o GetStreamSubscriptionsDataEventSelectorOutput) ToGetStreamSubscriptionsDataEventSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataEventSelectorOutput { + return o +} + +// List of events to exclude +func (o GetStreamSubscriptionsDataEventSelectorOutput) Excepts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataEventSelector) []string { return v.Excepts }).(pulumi.StringArrayOutput) +} + +// List of events to include +func (o GetStreamSubscriptionsDataEventSelectorOutput) Includes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataEventSelector) []string { return v.Includes }).(pulumi.StringArrayOutput) +} + +type GetStreamSubscriptionsDataMetricSelector struct { + // List of metrics to exclude + Excepts []string `pulumi:"excepts"` + // List of metrics to include + Includes []string `pulumi:"includes"` +} + +// GetStreamSubscriptionsDataMetricSelectorInput is an input type that accepts GetStreamSubscriptionsDataMetricSelectorArgs and GetStreamSubscriptionsDataMetricSelectorOutput values. +// You can construct a concrete instance of `GetStreamSubscriptionsDataMetricSelectorInput` via: +// +// GetStreamSubscriptionsDataMetricSelectorArgs{...} +type GetStreamSubscriptionsDataMetricSelectorInput interface { + pulumi.Input + + ToGetStreamSubscriptionsDataMetricSelectorOutput() GetStreamSubscriptionsDataMetricSelectorOutput + ToGetStreamSubscriptionsDataMetricSelectorOutputWithContext(context.Context) GetStreamSubscriptionsDataMetricSelectorOutput +} + +type GetStreamSubscriptionsDataMetricSelectorArgs struct { + // List of metrics to exclude + Excepts pulumi.StringArrayInput `pulumi:"excepts"` + // List of metrics to include + Includes pulumi.StringArrayInput `pulumi:"includes"` +} + +func (GetStreamSubscriptionsDataMetricSelectorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionsDataMetricSelector)(nil)).Elem() +} + +func (i GetStreamSubscriptionsDataMetricSelectorArgs) ToGetStreamSubscriptionsDataMetricSelectorOutput() GetStreamSubscriptionsDataMetricSelectorOutput { + return i.ToGetStreamSubscriptionsDataMetricSelectorOutputWithContext(context.Background()) +} + +func (i GetStreamSubscriptionsDataMetricSelectorArgs) ToGetStreamSubscriptionsDataMetricSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataMetricSelectorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetStreamSubscriptionsDataMetricSelectorOutput) +} + +type GetStreamSubscriptionsDataMetricSelectorOutput struct{ *pulumi.OutputState } + +func (GetStreamSubscriptionsDataMetricSelectorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetStreamSubscriptionsDataMetricSelector)(nil)).Elem() +} + +func (o GetStreamSubscriptionsDataMetricSelectorOutput) ToGetStreamSubscriptionsDataMetricSelectorOutput() GetStreamSubscriptionsDataMetricSelectorOutput { + return o +} + +func (o GetStreamSubscriptionsDataMetricSelectorOutput) ToGetStreamSubscriptionsDataMetricSelectorOutputWithContext(ctx context.Context) GetStreamSubscriptionsDataMetricSelectorOutput { + return o +} + +// List of metrics to exclude +func (o GetStreamSubscriptionsDataMetricSelectorOutput) Excepts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataMetricSelector) []string { return v.Excepts }).(pulumi.StringArrayOutput) +} + +// List of metrics to include +func (o GetStreamSubscriptionsDataMetricSelectorOutput) Includes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetStreamSubscriptionsDataMetricSelector) []string { return v.Includes }).(pulumi.StringArrayOutput) +} + type GetStreamSubscriptionsDataSink struct { // Boolean switch enabling batch delivery of data BatchEnabled bool `pulumi:"batchEnabled"` @@ -868,6 +2101,19 @@ func (o GetStreamsPaginationOutput) Total() pulumi.IntOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamChangeLogInput)(nil)).Elem(), GetStreamChangeLogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamProjectInput)(nil)).Elem(), GetStreamProjectArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionChangeLogInput)(nil)).Elem(), GetStreamSubscriptionChangeLogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionEventSelectorInput)(nil)).Elem(), GetStreamSubscriptionEventSelectorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionMetricSelectorInput)(nil)).Elem(), GetStreamSubscriptionMetricSelectorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionSinkInput)(nil)).Elem(), GetStreamSubscriptionSinkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionSinkCredentialInput)(nil)).Elem(), GetStreamSubscriptionSinkCredentialArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionSinkSettingsInput)(nil)).Elem(), GetStreamSubscriptionSinkSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataInput)(nil)).Elem(), GetStreamSubscriptionsDataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataArrayInput)(nil)).Elem(), GetStreamSubscriptionsDataArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataChangeLogInput)(nil)).Elem(), GetStreamSubscriptionsDataChangeLogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataEventSelectorInput)(nil)).Elem(), GetStreamSubscriptionsDataEventSelectorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataMetricSelectorInput)(nil)).Elem(), GetStreamSubscriptionsDataMetricSelectorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataSinkInput)(nil)).Elem(), GetStreamSubscriptionsDataSinkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataSinkCredentialInput)(nil)).Elem(), GetStreamSubscriptionsDataSinkCredentialArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStreamSubscriptionsDataSinkSettingsInput)(nil)).Elem(), GetStreamSubscriptionsDataSinkSettingsArgs{}) @@ -877,6 +2123,19 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetStreamsDataChangeLogInput)(nil)).Elem(), GetStreamsDataChangeLogArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStreamsDataProjectInput)(nil)).Elem(), GetStreamsDataProjectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStreamsPaginationInput)(nil)).Elem(), GetStreamsPaginationArgs{}) + pulumi.RegisterOutputType(GetStreamChangeLogOutput{}) + pulumi.RegisterOutputType(GetStreamProjectOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionChangeLogOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionEventSelectorOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionMetricSelectorOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionSinkOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionSinkCredentialOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionSinkSettingsOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionsDataOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionsDataArrayOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionsDataChangeLogOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionsDataEventSelectorOutput{}) + pulumi.RegisterOutputType(GetStreamSubscriptionsDataMetricSelectorOutput{}) pulumi.RegisterOutputType(GetStreamSubscriptionsDataSinkOutput{}) pulumi.RegisterOutputType(GetStreamSubscriptionsDataSinkCredentialOutput{}) pulumi.RegisterOutputType(GetStreamSubscriptionsDataSinkSettingsOutput{}) diff --git a/sdk/go/equinix/fabric/serviceProfile.go b/sdk/go/equinix/fabric/serviceProfile.go index 3817c1204..a36fa42a5 100644 --- a/sdk/go/equinix/fabric/serviceProfile.go +++ b/sdk/go/equinix/fabric/serviceProfile.go @@ -114,7 +114,7 @@ type ServiceProfile struct { State pulumi.StringPtrOutput `pulumi:"state"` // Tags attached to the connection Tags pulumi.StringArrayOutput `pulumi:"tags"` - // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE Type pulumi.StringOutput `pulumi:"type"` // Equinix assigned service profile identifier Uuid pulumi.StringOutput `pulumi:"uuid"` @@ -194,7 +194,7 @@ type serviceProfileState struct { State *string `pulumi:"state"` // Tags attached to the connection Tags []string `pulumi:"tags"` - // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE Type *string `pulumi:"type"` // Equinix assigned service profile identifier Uuid *string `pulumi:"uuid"` @@ -239,7 +239,7 @@ type ServiceProfileState struct { State pulumi.StringPtrInput // Tags attached to the connection Tags pulumi.StringArrayInput - // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE Type pulumi.StringPtrInput // Equinix assigned service profile identifier Uuid pulumi.StringPtrInput @@ -282,7 +282,7 @@ type serviceProfileArgs struct { State *string `pulumi:"state"` // Tags attached to the connection Tags []string `pulumi:"tags"` - // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE Type string `pulumi:"type"` // Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide ViewPoint *string `pulumi:"viewPoint"` @@ -320,7 +320,7 @@ type ServiceProfileArgs struct { State pulumi.StringPtrInput // Tags attached to the connection Tags pulumi.StringArrayInput - // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + // Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE Type pulumi.StringInput // Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide ViewPoint pulumi.StringPtrInput @@ -499,7 +499,7 @@ func (o ServiceProfileOutput) Tags() pulumi.StringArrayOutput { return o.ApplyT(func(v *ServiceProfile) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) } -// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE +// Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE func (o ServiceProfileOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v *ServiceProfile) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) } diff --git a/sdk/go/equinix/networkedge/pulumiTypes.go b/sdk/go/equinix/networkedge/pulumiTypes.go index 418dc3c36..0b1782a3e 100644 --- a/sdk/go/equinix/networkedge/pulumiTypes.go +++ b/sdk/go/equinix/networkedge/pulumiTypes.go @@ -743,10 +743,14 @@ type DeviceClusterDetailsNode0VendorConfiguration struct { Hostname *string `pulumi:"hostname"` // IP Address. This field is relevant only for the Infoblox devices. IpAddress *string `pulumi:"ipAddress"` + // Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + IpAddressType *string `pulumi:"ipAddressType"` // License id. This field is relevant only for the BlueCat DNS and DHCP Server LicenseId *string `pulumi:"licenseId"` // License key. This field is relevant only for the BlueCat DNS and DHCP Server LicenseKey *string `pulumi:"licenseKey"` + // Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + ManagementInterfaceId *string `pulumi:"managementInterfaceId"` // Management Type. This field is relevant only for Cisco FTD Firewall devices ManagementType *string `pulumi:"managementType"` // Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. @@ -791,10 +795,14 @@ type DeviceClusterDetailsNode0VendorConfigurationArgs struct { Hostname pulumi.StringPtrInput `pulumi:"hostname"` // IP Address. This field is relevant only for the Infoblox devices. IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"` + // Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + IpAddressType pulumi.StringPtrInput `pulumi:"ipAddressType"` // License id. This field is relevant only for the BlueCat DNS and DHCP Server LicenseId pulumi.StringPtrInput `pulumi:"licenseId"` // License key. This field is relevant only for the BlueCat DNS and DHCP Server LicenseKey pulumi.StringPtrInput `pulumi:"licenseKey"` + // Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + ManagementInterfaceId pulumi.StringPtrInput `pulumi:"managementInterfaceId"` // Management Type. This field is relevant only for Cisco FTD Firewall devices ManagementType pulumi.StringPtrInput `pulumi:"managementType"` // Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. @@ -925,6 +933,11 @@ func (o DeviceClusterDetailsNode0VendorConfigurationOutput) IpAddress() pulumi.S return o.ApplyT(func(v DeviceClusterDetailsNode0VendorConfiguration) *string { return v.IpAddress }).(pulumi.StringPtrOutput) } +// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option +func (o DeviceClusterDetailsNode0VendorConfigurationOutput) IpAddressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeviceClusterDetailsNode0VendorConfiguration) *string { return v.IpAddressType }).(pulumi.StringPtrOutput) +} + // License id. This field is relevant only for the BlueCat DNS and DHCP Server func (o DeviceClusterDetailsNode0VendorConfigurationOutput) LicenseId() pulumi.StringPtrOutput { return o.ApplyT(func(v DeviceClusterDetailsNode0VendorConfiguration) *string { return v.LicenseId }).(pulumi.StringPtrOutput) @@ -935,6 +948,11 @@ func (o DeviceClusterDetailsNode0VendorConfigurationOutput) LicenseKey() pulumi. return o.ApplyT(func(v DeviceClusterDetailsNode0VendorConfiguration) *string { return v.LicenseKey }).(pulumi.StringPtrOutput) } +// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option +func (o DeviceClusterDetailsNode0VendorConfigurationOutput) ManagementInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeviceClusterDetailsNode0VendorConfiguration) *string { return v.ManagementInterfaceId }).(pulumi.StringPtrOutput) +} + // Management Type. This field is relevant only for Cisco FTD Firewall devices func (o DeviceClusterDetailsNode0VendorConfigurationOutput) ManagementType() pulumi.StringPtrOutput { return o.ApplyT(func(v DeviceClusterDetailsNode0VendorConfiguration) *string { return v.ManagementType }).(pulumi.StringPtrOutput) @@ -1069,6 +1087,16 @@ func (o DeviceClusterDetailsNode0VendorConfigurationPtrOutput) IpAddress() pulum }).(pulumi.StringPtrOutput) } +// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option +func (o DeviceClusterDetailsNode0VendorConfigurationPtrOutput) IpAddressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeviceClusterDetailsNode0VendorConfiguration) *string { + if v == nil { + return nil + } + return v.IpAddressType + }).(pulumi.StringPtrOutput) +} + // License id. This field is relevant only for the BlueCat DNS and DHCP Server func (o DeviceClusterDetailsNode0VendorConfigurationPtrOutput) LicenseId() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeviceClusterDetailsNode0VendorConfiguration) *string { @@ -1089,6 +1117,16 @@ func (o DeviceClusterDetailsNode0VendorConfigurationPtrOutput) LicenseKey() pulu }).(pulumi.StringPtrOutput) } +// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option +func (o DeviceClusterDetailsNode0VendorConfigurationPtrOutput) ManagementInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeviceClusterDetailsNode0VendorConfiguration) *string { + if v == nil { + return nil + } + return v.ManagementInterfaceId + }).(pulumi.StringPtrOutput) +} + // Management Type. This field is relevant only for Cisco FTD Firewall devices func (o DeviceClusterDetailsNode0VendorConfigurationPtrOutput) ManagementType() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeviceClusterDetailsNode0VendorConfiguration) *string { @@ -1399,10 +1437,14 @@ type DeviceClusterDetailsNode1VendorConfiguration struct { Hostname *string `pulumi:"hostname"` // IP Address. This field is relevant only for the Infoblox devices. IpAddress *string `pulumi:"ipAddress"` + // Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + IpAddressType *string `pulumi:"ipAddressType"` // License id. This field is relevant only for the BlueCat DNS and DHCP Server LicenseId *string `pulumi:"licenseId"` // License key. This field is relevant only for the BlueCat DNS and DHCP Server LicenseKey *string `pulumi:"licenseKey"` + // Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + ManagementInterfaceId *string `pulumi:"managementInterfaceId"` // Management Type. This field is relevant only for Cisco FTD Firewall devices ManagementType *string `pulumi:"managementType"` // Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. @@ -1447,10 +1489,14 @@ type DeviceClusterDetailsNode1VendorConfigurationArgs struct { Hostname pulumi.StringPtrInput `pulumi:"hostname"` // IP Address. This field is relevant only for the Infoblox devices. IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"` + // Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + IpAddressType pulumi.StringPtrInput `pulumi:"ipAddressType"` // License id. This field is relevant only for the BlueCat DNS and DHCP Server LicenseId pulumi.StringPtrInput `pulumi:"licenseId"` // License key. This field is relevant only for the BlueCat DNS and DHCP Server LicenseKey pulumi.StringPtrInput `pulumi:"licenseKey"` + // Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + ManagementInterfaceId pulumi.StringPtrInput `pulumi:"managementInterfaceId"` // Management Type. This field is relevant only for Cisco FTD Firewall devices ManagementType pulumi.StringPtrInput `pulumi:"managementType"` // Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. @@ -1581,6 +1627,11 @@ func (o DeviceClusterDetailsNode1VendorConfigurationOutput) IpAddress() pulumi.S return o.ApplyT(func(v DeviceClusterDetailsNode1VendorConfiguration) *string { return v.IpAddress }).(pulumi.StringPtrOutput) } +// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option +func (o DeviceClusterDetailsNode1VendorConfigurationOutput) IpAddressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeviceClusterDetailsNode1VendorConfiguration) *string { return v.IpAddressType }).(pulumi.StringPtrOutput) +} + // License id. This field is relevant only for the BlueCat DNS and DHCP Server func (o DeviceClusterDetailsNode1VendorConfigurationOutput) LicenseId() pulumi.StringPtrOutput { return o.ApplyT(func(v DeviceClusterDetailsNode1VendorConfiguration) *string { return v.LicenseId }).(pulumi.StringPtrOutput) @@ -1591,6 +1642,11 @@ func (o DeviceClusterDetailsNode1VendorConfigurationOutput) LicenseKey() pulumi. return o.ApplyT(func(v DeviceClusterDetailsNode1VendorConfiguration) *string { return v.LicenseKey }).(pulumi.StringPtrOutput) } +// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option +func (o DeviceClusterDetailsNode1VendorConfigurationOutput) ManagementInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v DeviceClusterDetailsNode1VendorConfiguration) *string { return v.ManagementInterfaceId }).(pulumi.StringPtrOutput) +} + // Management Type. This field is relevant only for Cisco FTD Firewall devices func (o DeviceClusterDetailsNode1VendorConfigurationOutput) ManagementType() pulumi.StringPtrOutput { return o.ApplyT(func(v DeviceClusterDetailsNode1VendorConfiguration) *string { return v.ManagementType }).(pulumi.StringPtrOutput) @@ -1725,6 +1781,16 @@ func (o DeviceClusterDetailsNode1VendorConfigurationPtrOutput) IpAddress() pulum }).(pulumi.StringPtrOutput) } +// Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option +func (o DeviceClusterDetailsNode1VendorConfigurationPtrOutput) IpAddressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeviceClusterDetailsNode1VendorConfiguration) *string { + if v == nil { + return nil + } + return v.IpAddressType + }).(pulumi.StringPtrOutput) +} + // License id. This field is relevant only for the BlueCat DNS and DHCP Server func (o DeviceClusterDetailsNode1VendorConfigurationPtrOutput) LicenseId() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeviceClusterDetailsNode1VendorConfiguration) *string { @@ -1745,6 +1811,16 @@ func (o DeviceClusterDetailsNode1VendorConfigurationPtrOutput) LicenseKey() pulu }).(pulumi.StringPtrOutput) } +// Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option +func (o DeviceClusterDetailsNode1VendorConfigurationPtrOutput) ManagementInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeviceClusterDetailsNode1VendorConfiguration) *string { + if v == nil { + return nil + } + return v.ManagementInterfaceId + }).(pulumi.StringPtrOutput) +} + // Management Type. This field is relevant only for Cisco FTD Firewall devices func (o DeviceClusterDetailsNode1VendorConfigurationPtrOutput) ManagementType() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeviceClusterDetailsNode1VendorConfiguration) *string { @@ -4636,7 +4712,7 @@ type GetDeviceSecondaryDevice struct { Status string `pulumi:"status"` // UUID of an existing Equinix Network Edge device Uuid string `pulumi:"uuid"` - // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) VendorConfiguration map[string]string `pulumi:"vendorConfiguration"` // device interface id picked for WAN WanInterfaceId string `pulumi:"wanInterfaceId"` @@ -4732,7 +4808,7 @@ type GetDeviceSecondaryDeviceArgs struct { Status pulumi.StringInput `pulumi:"status"` // UUID of an existing Equinix Network Edge device Uuid pulumi.StringInput `pulumi:"uuid"` - // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + // Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) VendorConfiguration pulumi.StringMapInput `pulumi:"vendorConfiguration"` // device interface id picked for WAN WanInterfaceId pulumi.StringInput `pulumi:"wanInterfaceId"` @@ -4942,7 +5018,7 @@ func (o GetDeviceSecondaryDeviceOutput) Uuid() pulumi.StringOutput { return o.ApplyT(func(v GetDeviceSecondaryDevice) string { return v.Uuid }).(pulumi.StringOutput) } -// Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) +// Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) func (o GetDeviceSecondaryDeviceOutput) VendorConfiguration() pulumi.StringMapOutput { return o.ApplyT(func(v GetDeviceSecondaryDevice) map[string]string { return v.VendorConfiguration }).(pulumi.StringMapOutput) } diff --git a/sdk/go/equinix/provider.go b/sdk/go/equinix/provider.go index 9b0c1d396..9100c3c7b 100644 --- a/sdk/go/equinix/provider.go +++ b/sdk/go/equinix/provider.go @@ -29,10 +29,27 @@ type Provider struct { // The Equinix API base URL to point out desired environment. This argument can also be specified with the // `EQUINIX_API_ENDPOINT` shell environment variable. (Defaults to `https://api.equinix.com`) Endpoint pulumi.StringPtrOutput `pulumi:"endpoint"` + // The STS API base URL to point to the desired environment. This argument can also be specified with the + // `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + // an alpha feature and not available for all users. + StsEndpoint pulumi.StringPtrOutput `pulumi:"stsEndpoint"` // API tokens are generated from API Consumer clients using the [OAuth2 // API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). // This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. Token pulumi.StringPtrOutput `pulumi:"token"` + // The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + // This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + // token exchange is an alpha feature and not available for all users. + TokenExchangeScope pulumi.StringPtrOutput `pulumi:"tokenExchangeScope"` + // The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + // by Equinix STS. If not set, the provider will use the environment variable specified in + // `tokenExchangeSubjectTokenEnvVar`. Please note that token exchange is an alpha feature and not available for all users. + TokenExchangeSubjectToken pulumi.StringPtrOutput `pulumi:"tokenExchangeSubjectToken"` + // The name of the environment variable containing the subject token for token exchange. This argument can also be + // specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + // `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + // users. + TokenExchangeSubjectTokenEnvVar pulumi.StringPtrOutput `pulumi:"tokenExchangeSubjectTokenEnvVar"` } // NewProvider registers a new resource with the given unique name, arguments, and options. @@ -73,10 +90,27 @@ type providerArgs struct { // The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client // specific) ResponseMaxPageSize *int `pulumi:"responseMaxPageSize"` + // The STS API base URL to point to the desired environment. This argument can also be specified with the + // `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + // an alpha feature and not available for all users. + StsEndpoint *string `pulumi:"stsEndpoint"` // API tokens are generated from API Consumer clients using the [OAuth2 // API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). // This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. Token *string `pulumi:"token"` + // The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + // This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + // token exchange is an alpha feature and not available for all users. + TokenExchangeScope *string `pulumi:"tokenExchangeScope"` + // The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + // by Equinix STS. If not set, the provider will use the environment variable specified in + // `tokenExchangeSubjectTokenEnvVar`. Please note that token exchange is an alpha feature and not available for all users. + TokenExchangeSubjectToken *string `pulumi:"tokenExchangeSubjectToken"` + // The name of the environment variable containing the subject token for token exchange. This argument can also be + // specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + // `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + // users. + TokenExchangeSubjectTokenEnvVar *string `pulumi:"tokenExchangeSubjectTokenEnvVar"` } // The set of arguments for constructing a Provider resource. @@ -102,10 +136,27 @@ type ProviderArgs struct { // The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client // specific) ResponseMaxPageSize pulumi.IntPtrInput + // The STS API base URL to point to the desired environment. This argument can also be specified with the + // `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + // an alpha feature and not available for all users. + StsEndpoint pulumi.StringPtrInput // API tokens are generated from API Consumer clients using the [OAuth2 // API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). // This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. Token pulumi.StringPtrInput + // The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + // This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + // token exchange is an alpha feature and not available for all users. + TokenExchangeScope pulumi.StringPtrInput + // The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + // by Equinix STS. If not set, the provider will use the environment variable specified in + // `tokenExchangeSubjectTokenEnvVar`. Please note that token exchange is an alpha feature and not available for all users. + TokenExchangeSubjectToken pulumi.StringPtrInput + // The name of the environment variable containing the subject token for token exchange. This argument can also be + // specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + // `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + // users. + TokenExchangeSubjectTokenEnvVar pulumi.StringPtrInput } func (ProviderArgs) ElementType() reflect.Type { @@ -168,6 +219,13 @@ func (o ProviderOutput) Endpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Endpoint }).(pulumi.StringPtrOutput) } +// The STS API base URL to point to the desired environment. This argument can also be specified with the +// `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is +// an alpha feature and not available for all users. +func (o ProviderOutput) StsEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.StsEndpoint }).(pulumi.StringPtrOutput) +} + // API tokens are generated from API Consumer clients using the [OAuth2 // API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). // This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. @@ -175,6 +233,28 @@ func (o ProviderOutput) Token() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Token }).(pulumi.StringPtrOutput) } +// The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. +// This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that +// token exchange is an alpha feature and not available for all users. +func (o ProviderOutput) TokenExchangeScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TokenExchangeScope }).(pulumi.StringPtrOutput) +} + +// The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted +// by Equinix STS. If not set, the provider will use the environment variable specified in +// `tokenExchangeSubjectTokenEnvVar`. Please note that token exchange is an alpha feature and not available for all users. +func (o ProviderOutput) TokenExchangeSubjectToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TokenExchangeSubjectToken }).(pulumi.StringPtrOutput) +} + +// The name of the environment variable containing the subject token for token exchange. This argument can also be +// specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to +// `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all +// users. +func (o ProviderOutput) TokenExchangeSubjectTokenEnvVar() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TokenExchangeSubjectTokenEnvVar }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) pulumi.RegisterOutputType(ProviderOutput{}) diff --git a/sdk/java/src/main/java/com/equinix/pulumi/Config.java b/sdk/java/src/main/java/com/equinix/pulumi/Config.java index 17bc29904..282bb87f1 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/Config.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/Config.java @@ -72,6 +72,15 @@ public Optional requestTimeout() { public Optional responseMaxPageSize() { return Codegen.integerProp("responseMaxPageSize").config(config).get(); } +/** + * The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + * + */ + public Optional stsEndpoint() { + return Codegen.stringProp("stsEndpoint").config(config).get(); + } /** * API tokens are generated from API Consumer clients using the [OAuth2 * API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). @@ -81,4 +90,33 @@ public Optional responseMaxPageSize() { public Optional token() { return Codegen.stringProp("token").config(config).get(); } +/** + * The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + * + */ + public Optional tokenExchangeScope() { + return Codegen.stringProp("tokenExchangeScope").config(config).get(); + } +/** + * The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + public Optional tokenExchangeSubjectToken() { + return Codegen.stringProp("tokenExchangeSubjectToken").config(config).get(); + } +/** + * The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + public Optional tokenExchangeSubjectTokenEnvVar() { + return Codegen.stringProp("tokenExchangeSubjectTokenEnvVar").config(config).get(); + } } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/Provider.java b/sdk/java/src/main/java/com/equinix/pulumi/Provider.java index 6f02768c1..7189f1568 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/Provider.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/Provider.java @@ -84,6 +84,24 @@ public Output> clientSecret() { public Output> endpoint() { return Codegen.optional(this.endpoint); } + /** + * The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + * + */ + @Export(name="stsEndpoint", refs={String.class}, tree="[0]") + private Output stsEndpoint; + + /** + * @return The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + * + */ + public Output> stsEndpoint() { + return Codegen.optional(this.stsEndpoint); + } /** * API tokens are generated from API Consumer clients using the [OAuth2 * API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). @@ -102,6 +120,64 @@ public Output> endpoint() { public Output> token() { return Codegen.optional(this.token); } + /** + * The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + * + */ + @Export(name="tokenExchangeScope", refs={String.class}, tree="[0]") + private Output tokenExchangeScope; + + /** + * @return The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + * + */ + public Output> tokenExchangeScope() { + return Codegen.optional(this.tokenExchangeScope); + } + /** + * The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + @Export(name="tokenExchangeSubjectToken", refs={String.class}, tree="[0]") + private Output tokenExchangeSubjectToken; + + /** + * @return The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + public Output> tokenExchangeSubjectToken() { + return Codegen.optional(this.tokenExchangeSubjectToken); + } + /** + * The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + @Export(name="tokenExchangeSubjectTokenEnvVar", refs={String.class}, tree="[0]") + private Output tokenExchangeSubjectTokenEnvVar; + + /** + * @return The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + public Output> tokenExchangeSubjectTokenEnvVar() { + return Codegen.optional(this.tokenExchangeSubjectTokenEnvVar); + } /** * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/ProviderArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/ProviderArgs.java index 1b10ddaa9..2eab83702 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/ProviderArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/ProviderArgs.java @@ -146,6 +146,25 @@ public Optional> responseMaxPageSize() { return Optional.ofNullable(this.responseMaxPageSize); } + /** + * The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + * + */ + @Import(name="stsEndpoint") + private @Nullable Output stsEndpoint; + + /** + * @return The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + * + */ + public Optional> stsEndpoint() { + return Optional.ofNullable(this.stsEndpoint); + } + /** * API tokens are generated from API Consumer clients using the [OAuth2 * API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). @@ -165,6 +184,67 @@ public Optional> token() { return Optional.ofNullable(this.token); } + /** + * The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + * + */ + @Import(name="tokenExchangeScope") + private @Nullable Output tokenExchangeScope; + + /** + * @return The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + * + */ + public Optional> tokenExchangeScope() { + return Optional.ofNullable(this.tokenExchangeScope); + } + + /** + * The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + @Import(name="tokenExchangeSubjectToken") + private @Nullable Output tokenExchangeSubjectToken; + + /** + * @return The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + public Optional> tokenExchangeSubjectToken() { + return Optional.ofNullable(this.tokenExchangeSubjectToken); + } + + /** + * The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + @Import(name="tokenExchangeSubjectTokenEnvVar") + private @Nullable Output tokenExchangeSubjectTokenEnvVar; + + /** + * @return The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + * + */ + public Optional> tokenExchangeSubjectTokenEnvVar() { + return Optional.ofNullable(this.tokenExchangeSubjectTokenEnvVar); + } + private ProviderArgs() {} private ProviderArgs(ProviderArgs $) { @@ -176,7 +256,11 @@ private ProviderArgs(ProviderArgs $) { this.maxRetryWaitSeconds = $.maxRetryWaitSeconds; this.requestTimeout = $.requestTimeout; this.responseMaxPageSize = $.responseMaxPageSize; + this.stsEndpoint = $.stsEndpoint; this.token = $.token; + this.tokenExchangeScope = $.tokenExchangeScope; + this.tokenExchangeSubjectToken = $.tokenExchangeSubjectToken; + this.tokenExchangeSubjectTokenEnvVar = $.tokenExchangeSubjectTokenEnvVar; } public static Builder builder() { @@ -375,6 +459,31 @@ public Builder responseMaxPageSize(Integer responseMaxPageSize) { return responseMaxPageSize(Output.of(responseMaxPageSize)); } + /** + * @param stsEndpoint The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + * + * @return builder + * + */ + public Builder stsEndpoint(@Nullable Output stsEndpoint) { + $.stsEndpoint = stsEndpoint; + return this; + } + + /** + * @param stsEndpoint The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + * + * @return builder + * + */ + public Builder stsEndpoint(String stsEndpoint) { + return stsEndpoint(Output.of(stsEndpoint)); + } + /** * @param token API tokens are generated from API Consumer clients using the [OAuth2 * API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). @@ -400,6 +509,85 @@ public Builder token(String token) { return token(Output.of(token)); } + /** + * @param tokenExchangeScope The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + * + * @return builder + * + */ + public Builder tokenExchangeScope(@Nullable Output tokenExchangeScope) { + $.tokenExchangeScope = tokenExchangeScope; + return this; + } + + /** + * @param tokenExchangeScope The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:<org_id>`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + * + * @return builder + * + */ + public Builder tokenExchangeScope(String tokenExchangeScope) { + return tokenExchangeScope(Output.of(tokenExchangeScope)); + } + + /** + * @param tokenExchangeSubjectToken The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + * users. + * + * @return builder + * + */ + public Builder tokenExchangeSubjectToken(@Nullable Output tokenExchangeSubjectToken) { + $.tokenExchangeSubjectToken = tokenExchangeSubjectToken; + return this; + } + + /** + * @param tokenExchangeSubjectToken The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + * users. + * + * @return builder + * + */ + public Builder tokenExchangeSubjectToken(String tokenExchangeSubjectToken) { + return tokenExchangeSubjectToken(Output.of(tokenExchangeSubjectToken)); + } + + /** + * @param tokenExchangeSubjectTokenEnvVar The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + * + * @return builder + * + */ + public Builder tokenExchangeSubjectTokenEnvVar(@Nullable Output tokenExchangeSubjectTokenEnvVar) { + $.tokenExchangeSubjectTokenEnvVar = tokenExchangeSubjectTokenEnvVar; + return this; + } + + /** + * @param tokenExchangeSubjectTokenEnvVar The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + * + * @return builder + * + */ + public Builder tokenExchangeSubjectTokenEnvVar(String tokenExchangeSubjectTokenEnvVar) { + return tokenExchangeSubjectTokenEnvVar(Output.of(tokenExchangeSubjectTokenEnvVar)); + } + public ProviderArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/FabricFunctions.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/FabricFunctions.java index 21c97c0ae..92f4d3c04 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/FabricFunctions.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/FabricFunctions.java @@ -4,6 +4,8 @@ package com.equinix.pulumi.fabric; import com.equinix.pulumi.Utilities; +import com.equinix.pulumi.fabric.inputs.GetAdvertisedRoutesArgs; +import com.equinix.pulumi.fabric.inputs.GetAdvertisedRoutesPlainArgs; import com.equinix.pulumi.fabric.inputs.GetCloudRouterArgs; import com.equinix.pulumi.fabric.inputs.GetCloudRouterPlainArgs; import com.equinix.pulumi.fabric.inputs.GetCloudRoutersArgs; @@ -38,6 +40,8 @@ import com.equinix.pulumi.fabric.inputs.GetPrecisionTimeServicePlainArgs; import com.equinix.pulumi.fabric.inputs.GetPrecisionTimeServicesArgs; import com.equinix.pulumi.fabric.inputs.GetPrecisionTimeServicesPlainArgs; +import com.equinix.pulumi.fabric.inputs.GetReceivedRoutesArgs; +import com.equinix.pulumi.fabric.inputs.GetReceivedRoutesPlainArgs; import com.equinix.pulumi.fabric.inputs.GetRouteAggregationArgs; import com.equinix.pulumi.fabric.inputs.GetRouteAggregationPlainArgs; import com.equinix.pulumi.fabric.inputs.GetRouteAggregationRuleArgs; @@ -80,6 +84,7 @@ import com.equinix.pulumi.fabric.inputs.GetStreamSubscriptionsPlainArgs; import com.equinix.pulumi.fabric.inputs.GetStreamsArgs; import com.equinix.pulumi.fabric.inputs.GetStreamsPlainArgs; +import com.equinix.pulumi.fabric.outputs.GetAdvertisedRoutesResult; import com.equinix.pulumi.fabric.outputs.GetCloudRouterResult; import com.equinix.pulumi.fabric.outputs.GetCloudRoutersResult; import com.equinix.pulumi.fabric.outputs.GetConnectionResult; @@ -97,6 +102,7 @@ import com.equinix.pulumi.fabric.outputs.GetPortsResult; import com.equinix.pulumi.fabric.outputs.GetPrecisionTimeServiceResult; import com.equinix.pulumi.fabric.outputs.GetPrecisionTimeServicesResult; +import com.equinix.pulumi.fabric.outputs.GetReceivedRoutesResult; import com.equinix.pulumi.fabric.outputs.GetRouteAggregationResult; import com.equinix.pulumi.fabric.outputs.GetRouteAggregationRuleResult; import com.equinix.pulumi.fabric.outputs.GetRouteAggregationRulesResult; @@ -126,6 +132,21 @@ import java.util.concurrent.CompletableFuture; public final class FabricFunctions { + public static Output getAdvertisedRoutes(GetAdvertisedRoutesArgs args) { + return getAdvertisedRoutes(args, InvokeOptions.Empty); + } + public static CompletableFuture getAdvertisedRoutesPlain(GetAdvertisedRoutesPlainArgs args) { + return getAdvertisedRoutesPlain(args, InvokeOptions.Empty); + } + public static Output getAdvertisedRoutes(GetAdvertisedRoutesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("equinix:fabric/getAdvertisedRoutes:getAdvertisedRoutes", TypeShape.of(GetAdvertisedRoutesResult.class), args, Utilities.withVersion(options)); + } + public static Output getAdvertisedRoutes(GetAdvertisedRoutesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("equinix:fabric/getAdvertisedRoutes:getAdvertisedRoutes", TypeShape.of(GetAdvertisedRoutesResult.class), args, Utilities.withVersion(options)); + } + public static CompletableFuture getAdvertisedRoutesPlain(GetAdvertisedRoutesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("equinix:fabric/getAdvertisedRoutes:getAdvertisedRoutes", TypeShape.of(GetAdvertisedRoutesResult.class), args, Utilities.withVersion(options)); + } /** * Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID * @@ -2727,7 +2748,133 @@ public static CompletableFuture getPortPlain(GetPortPlainArgs arg return Deployment.getInstance().invokeAsync("equinix:fabric/getPort:getPort", TypeShape.of(GetPortResult.class), args, Utilities.withVersion(options)); } /** - * Fabric V4 API compatible data resource that allow user to fetch port by name + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid + * + * Additional documentation: + * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm + * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#ports + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.equinix.fabric.FabricFunctions;
+     * import com.pulumi.equinix.fabric.inputs.GetPortsArgs;
+     * import com.pulumi.equinix.fabric.inputs.GetPortsFilterArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var portsDataName = FabricFunctions.getPorts(GetPortsArgs.builder()
+     *             .filter(GetPortsFilterArgs.builder()
+     *                 .name("")
+     *                 .build())
+     *             .build());
+     * 
+     *         ctx.export("id", data.equinix_fabric_port().ports_data_name().data()[0].id());
+     *         ctx.export("name", data.equinix_fabric_port().ports_data_name().data()[0].name());
+     *         ctx.export("state", data.equinix_fabric_port().ports_data_name().data()[0].state());
+     *         ctx.export("accountName", data.equinix_fabric_port().ports_data_name().data()[0].account()[0].account_name());
+     *         ctx.export("type", data.equinix_fabric_port().ports_data_name().data()[0].type());
+     *         ctx.export("bandwidth", data.equinix_fabric_port().ports_data_name().data()[0].bandwidth());
+     *         ctx.export("usedBandwidth", data.equinix_fabric_port().ports_data_name().data()[0].used_bandwidth());
+     *         ctx.export("encapsulationType", data.equinix_fabric_port().ports_data_name().data()[0].encapsulation()[0].type());
+     *         ctx.export("ibx", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].ibx());
+     *         ctx.export("metroCode", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].metro_code());
+     *         ctx.export("metroName", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].metro_name());
+     *         ctx.export("region", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].region());
+     *         ctx.export("deviceRedundancyEnabled", data.equinix_fabric_port().ports_data_name().data()[0].device()[0].redundancy()[0].enabled());
+     *         ctx.export("deviceRedundancyPriority", data.equinix_fabric_port().ports_data_name().data()[0].device()[0].redundancy()[0].priority());
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static Output getPorts() { + return getPorts(GetPortsArgs.Empty, InvokeOptions.Empty); + } + /** + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid + * + * Additional documentation: + * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm + * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#ports + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+     * {@code
+     * package generated_program;
+     * 
+     * import com.pulumi.Context;
+     * import com.pulumi.Pulumi;
+     * import com.pulumi.core.Output;
+     * import com.pulumi.equinix.fabric.FabricFunctions;
+     * import com.pulumi.equinix.fabric.inputs.GetPortsArgs;
+     * import com.pulumi.equinix.fabric.inputs.GetPortsFilterArgs;
+     * import java.util.List;
+     * import java.util.ArrayList;
+     * import java.util.Map;
+     * import java.io.File;
+     * import java.nio.file.Files;
+     * import java.nio.file.Paths;
+     * 
+     * public class App {
+     *     public static void main(String[] args) {
+     *         Pulumi.run(App::stack);
+     *     }
+     * 
+     *     public static void stack(Context ctx) {
+     *         final var portsDataName = FabricFunctions.getPorts(GetPortsArgs.builder()
+     *             .filter(GetPortsFilterArgs.builder()
+     *                 .name("")
+     *                 .build())
+     *             .build());
+     * 
+     *         ctx.export("id", data.equinix_fabric_port().ports_data_name().data()[0].id());
+     *         ctx.export("name", data.equinix_fabric_port().ports_data_name().data()[0].name());
+     *         ctx.export("state", data.equinix_fabric_port().ports_data_name().data()[0].state());
+     *         ctx.export("accountName", data.equinix_fabric_port().ports_data_name().data()[0].account()[0].account_name());
+     *         ctx.export("type", data.equinix_fabric_port().ports_data_name().data()[0].type());
+     *         ctx.export("bandwidth", data.equinix_fabric_port().ports_data_name().data()[0].bandwidth());
+     *         ctx.export("usedBandwidth", data.equinix_fabric_port().ports_data_name().data()[0].used_bandwidth());
+     *         ctx.export("encapsulationType", data.equinix_fabric_port().ports_data_name().data()[0].encapsulation()[0].type());
+     *         ctx.export("ibx", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].ibx());
+     *         ctx.export("metroCode", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].metro_code());
+     *         ctx.export("metroName", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].metro_name());
+     *         ctx.export("region", data.equinix_fabric_port().ports_data_name().data()[0].location()[0].region());
+     *         ctx.export("deviceRedundancyEnabled", data.equinix_fabric_port().ports_data_name().data()[0].device()[0].redundancy()[0].enabled());
+     *         ctx.export("deviceRedundancyPriority", data.equinix_fabric_port().ports_data_name().data()[0].device()[0].redundancy()[0].priority());
+     *     }
+     * }
+     * }
+     * 
+ * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getPortsPlain() { + return getPortsPlain(GetPortsPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -2790,7 +2937,7 @@ public static Output getPorts(GetPortsArgs args) { return getPorts(args, InvokeOptions.Empty); } /** - * Fabric V4 API compatible data resource that allow user to fetch port by name + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -2853,7 +3000,7 @@ public static CompletableFuture getPortsPlain(GetPortsPlainArgs return getPortsPlain(args, InvokeOptions.Empty); } /** - * Fabric V4 API compatible data resource that allow user to fetch port by name + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -2916,7 +3063,7 @@ public static Output getPorts(GetPortsArgs args, InvokeOptions o return Deployment.getInstance().invoke("equinix:fabric/getPorts:getPorts", TypeShape.of(GetPortsResult.class), args, Utilities.withVersion(options)); } /** - * Fabric V4 API compatible data resource that allow user to fetch port by name + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -2979,7 +3126,7 @@ public static Output getPorts(GetPortsArgs args, InvokeOutputOpt return Deployment.getInstance().invoke("equinix:fabric/getPorts:getPorts", TypeShape.of(GetPortsResult.class), args, Utilities.withVersion(options)); } /** - * Fabric V4 API compatible data resource that allow user to fetch port by name + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -3354,6 +3501,21 @@ public static Output getPrecisionTimeServices(Ge public static CompletableFuture getPrecisionTimeServicesPlain(GetPrecisionTimeServicesPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("equinix:fabric/getPrecisionTimeServices:getPrecisionTimeServices", TypeShape.of(GetPrecisionTimeServicesResult.class), args, Utilities.withVersion(options)); } + public static Output getReceivedRoutes(GetReceivedRoutesArgs args) { + return getReceivedRoutes(args, InvokeOptions.Empty); + } + public static CompletableFuture getReceivedRoutesPlain(GetReceivedRoutesPlainArgs args) { + return getReceivedRoutesPlain(args, InvokeOptions.Empty); + } + public static Output getReceivedRoutes(GetReceivedRoutesArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("equinix:fabric/getReceivedRoutes:getReceivedRoutes", TypeShape.of(GetReceivedRoutesResult.class), args, Utilities.withVersion(options)); + } + public static Output getReceivedRoutes(GetReceivedRoutesArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("equinix:fabric/getReceivedRoutes:getReceivedRoutes", TypeShape.of(GetReceivedRoutesResult.class), args, Utilities.withVersion(options)); + } + public static CompletableFuture getReceivedRoutesPlain(GetReceivedRoutesPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("equinix:fabric/getReceivedRoutes:getReceivedRoutes", TypeShape.of(GetReceivedRoutesResult.class), args, Utilities.withVersion(options)); + } /** * Fabric V4 API compatible data resource that allow user to fetch Equinix Fabric Route Aggregation by UUID * Additional Documentation: diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/ServiceProfile.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/ServiceProfile.java index a81079811..ac80b7e6f 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/ServiceProfile.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/ServiceProfile.java @@ -322,14 +322,14 @@ public Output>> tags() { return Codegen.optional(this.tags); } /** - * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** - * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * */ public Output type() { diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/ServiceProfileArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/ServiceProfileArgs.java index 540226a75..3268e4b82 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/ServiceProfileArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/ServiceProfileArgs.java @@ -226,14 +226,14 @@ public Optional>> tags() { } /** - * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * */ @Import(name="type", required=true) private Output> type; /** - * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * */ public Output> type() { @@ -689,7 +689,7 @@ public Builder tags(String... tags) { } /** - * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * * @return builder * @@ -700,7 +700,7 @@ public Builder type(Output> type) { } /** - * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * * @return builder * @@ -710,7 +710,7 @@ public Builder type(Either type) { } /** - * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * * @return builder * @@ -720,7 +720,7 @@ public Builder type(String type) { } /** - * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * * @return builder * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetConnectionsFilter.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetConnectionsFilter.java index 2c2ba65b6..e97e4bca0 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetConnectionsFilter.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetConnectionsFilter.java @@ -47,14 +47,14 @@ public String operator() { } /** - * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * */ @Import(name="property", required=true) private String property; /** - * @return Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * @return Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * */ public String property() { @@ -126,7 +126,7 @@ public Builder operator(String operator) { } /** - * @param property Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * @param property Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * * @return builder * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetConnectionsFilterArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetConnectionsFilterArgs.java index 2aaf61ba7..885906bba 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetConnectionsFilterArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetConnectionsFilterArgs.java @@ -48,14 +48,14 @@ public Output operator() { } /** - * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * */ @Import(name="property", required=true) private Output property; /** - * @return Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * @return Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * */ public Output property() { @@ -147,7 +147,7 @@ public Builder operator(String operator) { } /** - * @param property Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * @param property Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * * @return builder * @@ -158,7 +158,7 @@ public Builder property(Output property) { } /** - * @param property Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * @param property Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * * @return builder * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetPortsArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetPortsArgs.java index cb3eb9832..b7fe84132 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetPortsArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetPortsArgs.java @@ -6,8 +6,10 @@ import com.equinix.pulumi.fabric.inputs.GetPortsFilterArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GetPortsArgs extends com.pulumi.resources.InvokeArgs { @@ -15,24 +17,48 @@ public final class GetPortsArgs extends com.pulumi.resources.InvokeArgs { public static final GetPortsArgs Empty = new GetPortsArgs(); /** - * name + * (Deprecated) Use 'filter' instead. + * + * @deprecated + * Use 'filter' instead. + * + */ + @Deprecated /* Use 'filter' instead. */ + @Import(name="filter") + private @Nullable Output filter; + + /** + * @return (Deprecated) Use 'filter' instead. + * + * @deprecated + * Use 'filter' instead. + * + */ + @Deprecated /* Use 'filter' instead. */ + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + + /** + * List of filter objects for SearchPorts API. Each filter must have property, operator, and value. * */ - @Import(name="filter", required=true) - private Output filter; + @Import(name="filters") + private @Nullable Output> filters; /** - * @return name + * @return List of filter objects for SearchPorts API. Each filter must have property, operator, and value. * */ - public Output filter() { - return this.filter; + public Optional>> filters() { + return Optional.ofNullable(this.filters); } private GetPortsArgs() {} private GetPortsArgs(GetPortsArgs $) { this.filter = $.filter; + this.filters = $.filters; } public static Builder builder() { @@ -54,30 +80,66 @@ public Builder(GetPortsArgs defaults) { } /** - * @param filter name + * @param filter (Deprecated) Use 'filter' instead. * * @return builder * + * @deprecated + * Use 'filter' instead. + * */ - public Builder filter(Output filter) { + @Deprecated /* Use 'filter' instead. */ + public Builder filter(@Nullable Output filter) { $.filter = filter; return this; } /** - * @param filter name + * @param filter (Deprecated) Use 'filter' instead. * * @return builder * + * @deprecated + * Use 'filter' instead. + * */ + @Deprecated /* Use 'filter' instead. */ public Builder filter(GetPortsFilterArgs filter) { return filter(Output.of(filter)); } + /** + * @param filters List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + * + * @return builder + * + */ + public Builder filters(@Nullable Output> filters) { + $.filters = filters; + return this; + } + + /** + * @param filters List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + * + * @return builder + * + */ + public Builder filters(List filters) { + return filters(Output.of(filters)); + } + + /** + * @param filters List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + * + * @return builder + * + */ + public Builder filters(GetPortsFilterArgs... filters) { + return filters(List.of(filters)); + } + public GetPortsArgs build() { - if ($.filter == null) { - throw new MissingRequiredPropertyException("GetPortsArgs", "filter"); - } return $; } } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetPortsPlainArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetPortsPlainArgs.java index 6055d0b9a..00aed6db2 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetPortsPlainArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/GetPortsPlainArgs.java @@ -5,8 +5,10 @@ import com.equinix.pulumi.fabric.inputs.GetPortsFilter; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GetPortsPlainArgs extends com.pulumi.resources.InvokeArgs { @@ -14,24 +16,48 @@ public final class GetPortsPlainArgs extends com.pulumi.resources.InvokeArgs { public static final GetPortsPlainArgs Empty = new GetPortsPlainArgs(); /** - * name + * (Deprecated) Use 'filter' instead. + * + * @deprecated + * Use 'filter' instead. + * + */ + @Deprecated /* Use 'filter' instead. */ + @Import(name="filter") + private @Nullable GetPortsFilter filter; + + /** + * @return (Deprecated) Use 'filter' instead. + * + * @deprecated + * Use 'filter' instead. + * + */ + @Deprecated /* Use 'filter' instead. */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } + + /** + * List of filter objects for SearchPorts API. Each filter must have property, operator, and value. * */ - @Import(name="filter", required=true) - private GetPortsFilter filter; + @Import(name="filters") + private @Nullable List filters; /** - * @return name + * @return List of filter objects for SearchPorts API. Each filter must have property, operator, and value. * */ - public GetPortsFilter filter() { - return this.filter; + public Optional> filters() { + return Optional.ofNullable(this.filters); } private GetPortsPlainArgs() {} private GetPortsPlainArgs(GetPortsPlainArgs $) { this.filter = $.filter; + this.filters = $.filters; } public static Builder builder() { @@ -53,20 +79,42 @@ public Builder(GetPortsPlainArgs defaults) { } /** - * @param filter name + * @param filter (Deprecated) Use 'filter' instead. * * @return builder * + * @deprecated + * Use 'filter' instead. + * */ - public Builder filter(GetPortsFilter filter) { + @Deprecated /* Use 'filter' instead. */ + public Builder filter(@Nullable GetPortsFilter filter) { $.filter = filter; return this; } + /** + * @param filters List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + * + * @return builder + * + */ + public Builder filters(@Nullable List filters) { + $.filters = filters; + return this; + } + + /** + * @param filters List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + * + * @return builder + * + */ + public Builder filters(GetPortsFilter... filters) { + return filters(List.of(filters)); + } + public GetPortsPlainArgs build() { - if ($.filter == null) { - throw new MissingRequiredPropertyException("GetPortsPlainArgs", "filter"); - } return $; } } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ServiceProfileAccessPointTypeConfigArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ServiceProfileAccessPointTypeConfigArgs.java index ef57dbf73..e40fd9221 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ServiceProfileAccessPointTypeConfigArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ServiceProfileAccessPointTypeConfigArgs.java @@ -190,6 +190,21 @@ public Optional selectiveRedundancy; + + /** + * @return Optional redundant connections + * + */ + public Optional> selectiveRedundancy() { + return Optional.ofNullable(this.selectiveRedundancy); + } + /** * Supported bandwidths * @@ -249,6 +264,7 @@ private ServiceProfileAccessPointTypeConfigArgs(ServiceProfileAccessPointTypeCon this.connectionRedundancyRequired = $.connectionRedundancyRequired; this.enableAutoGenerateServiceKey = $.enableAutoGenerateServiceKey; this.linkProtocolConfig = $.linkProtocolConfig; + this.selectiveRedundancy = $.selectiveRedundancy; this.supportedBandwidths = $.supportedBandwidths; this.type = $.type; this.uuid = $.uuid; @@ -503,6 +519,27 @@ public Builder linkProtocolConfig(ServiceProfileAccessPointTypeConfigLinkProtoco return linkProtocolConfig(Output.of(linkProtocolConfig)); } + /** + * @param selectiveRedundancy Optional redundant connections + * + * @return builder + * + */ + public Builder selectiveRedundancy(@Nullable Output selectiveRedundancy) { + $.selectiveRedundancy = selectiveRedundancy; + return this; + } + + /** + * @param selectiveRedundancy Optional redundant connections + * + * @return builder + * + */ + public Builder selectiveRedundancy(Boolean selectiveRedundancy) { + return selectiveRedundancy(Output.of(selectiveRedundancy)); + } + /** * @param supportedBandwidths Supported bandwidths * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ServiceProfileState.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ServiceProfileState.java index 9a144c1b2..952ba47f1 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ServiceProfileState.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/inputs/ServiceProfileState.java @@ -272,14 +272,14 @@ public Optional>> tags() { } /** - * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * */ @Import(name="type") private @Nullable Output> type; /** - * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * */ public Optional>> type() { @@ -817,7 +817,7 @@ public Builder tags(String... tags) { } /** - * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * * @return builder * @@ -828,7 +828,7 @@ public Builder type(@Nullable Output> type) { } /** - * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * * @return builder * @@ -838,7 +838,7 @@ public Builder type(Either type) { } /** - * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * * @return builder * @@ -848,7 +848,7 @@ public Builder type(String type) { } /** - * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @param type Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * * @return builder * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetCloudRouterResult.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetCloudRouterResult.java index 93cd9db6e..1ec25d366 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetCloudRouterResult.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetCloudRouterResult.java @@ -45,11 +45,6 @@ public final class GetCloudRouterResult { * */ private Integer equinixAsn; - /** - * @return Number of gateway attachments associated with this Access point - * - */ - private Integer gatewayAttachmentsCount; /** * @return Fabric Cloud Router URI information * @@ -147,13 +142,6 @@ public String description() { public Integer equinixAsn() { return this.equinixAsn; } - /** - * @return Number of gateway attachments associated with this Access point - * - */ - public Integer gatewayAttachmentsCount() { - return this.gatewayAttachmentsCount; - } /** * @return Fabric Cloud Router URI information * @@ -253,7 +241,6 @@ public static final class Builder { private Integer connectionsCount; private String description; private Integer equinixAsn; - private Integer gatewayAttachmentsCount; private String href; private String id; private List locations; @@ -274,7 +261,6 @@ public Builder(GetCloudRouterResult defaults) { this.connectionsCount = defaults.connectionsCount; this.description = defaults.description; this.equinixAsn = defaults.equinixAsn; - this.gatewayAttachmentsCount = defaults.gatewayAttachmentsCount; this.href = defaults.href; this.id = defaults.id; this.locations = defaults.locations; @@ -336,14 +322,6 @@ public Builder equinixAsn(Integer equinixAsn) { return this; } @CustomType.Setter - public Builder gatewayAttachmentsCount(Integer gatewayAttachmentsCount) { - if (gatewayAttachmentsCount == null) { - throw new MissingRequiredPropertyException("GetCloudRouterResult", "gatewayAttachmentsCount"); - } - this.gatewayAttachmentsCount = gatewayAttachmentsCount; - return this; - } - @CustomType.Setter public Builder href(String href) { if (href == null) { throw new MissingRequiredPropertyException("GetCloudRouterResult", "href"); @@ -464,7 +442,6 @@ public GetCloudRouterResult build() { _resultValue.connectionsCount = connectionsCount; _resultValue.description = description; _resultValue.equinixAsn = equinixAsn; - _resultValue.gatewayAttachmentsCount = gatewayAttachmentsCount; _resultValue.href = href; _resultValue.id = id; _resultValue.locations = locations; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetCloudRoutersData.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetCloudRoutersData.java index a261ea3a4..2a62961c9 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetCloudRoutersData.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetCloudRoutersData.java @@ -45,11 +45,6 @@ public final class GetCloudRoutersData { * */ private Integer equinixAsn; - /** - * @return Number of gateway attachments associated with this Access point - * - */ - private Integer gatewayAttachmentsCount; /** * @return Fabric Cloud Router URI information * @@ -142,13 +137,6 @@ public String description() { public Integer equinixAsn() { return this.equinixAsn; } - /** - * @return Number of gateway attachments associated with this Access point - * - */ - public Integer gatewayAttachmentsCount() { - return this.gatewayAttachmentsCount; - } /** * @return Fabric Cloud Router URI information * @@ -241,7 +229,6 @@ public static final class Builder { private Integer connectionsCount; private String description; private Integer equinixAsn; - private Integer gatewayAttachmentsCount; private String href; private List locations; private List marketplaceSubscriptions; @@ -261,7 +248,6 @@ public Builder(GetCloudRoutersData defaults) { this.connectionsCount = defaults.connectionsCount; this.description = defaults.description; this.equinixAsn = defaults.equinixAsn; - this.gatewayAttachmentsCount = defaults.gatewayAttachmentsCount; this.href = defaults.href; this.locations = defaults.locations; this.marketplaceSubscriptions = defaults.marketplaceSubscriptions; @@ -322,14 +308,6 @@ public Builder equinixAsn(Integer equinixAsn) { return this; } @CustomType.Setter - public Builder gatewayAttachmentsCount(Integer gatewayAttachmentsCount) { - if (gatewayAttachmentsCount == null) { - throw new MissingRequiredPropertyException("GetCloudRoutersData", "gatewayAttachmentsCount"); - } - this.gatewayAttachmentsCount = gatewayAttachmentsCount; - return this; - } - @CustomType.Setter public Builder href(String href) { if (href == null) { throw new MissingRequiredPropertyException("GetCloudRoutersData", "href"); @@ -442,7 +420,6 @@ public GetCloudRoutersData build() { _resultValue.connectionsCount = connectionsCount; _resultValue.description = description; _resultValue.equinixAsn = equinixAsn; - _resultValue.gatewayAttachmentsCount = gatewayAttachmentsCount; _resultValue.href = href; _resultValue.locations = locations; _resultValue.marketplaceSubscriptions = marketplaceSubscriptions; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetConnectionsFilter.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetConnectionsFilter.java index e2b6a794b..0a052721d 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetConnectionsFilter.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetConnectionsFilter.java @@ -24,7 +24,7 @@ public final class GetConnectionsFilter { */ private String operator; /** - * @return Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * @return Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * */ private String property; @@ -50,7 +50,7 @@ public String operator() { return this.operator; } /** - * @return Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * @return Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] * */ public String property() { diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetMetroResult.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetMetroResult.java index 86f4796eb..d4287b5e4 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetMetroResult.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetMetroResult.java @@ -24,6 +24,11 @@ public final class GetMetroResult { * */ private List connectedMetros; + /** + * @return Country in which the data center is located + * + */ + private String country; /** * @return Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. * @@ -90,6 +95,13 @@ public String code() { public List connectedMetros() { return this.connectedMetros; } + /** + * @return Country in which the data center is located + * + */ + public String country() { + return this.country; + } /** * @return Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. * @@ -172,6 +184,7 @@ public static Builder builder(GetMetroResult defaults) { public static final class Builder { private String code; private List connectedMetros; + private String country; private Integer equinixAsn; private GetMetroGeoCoordinates geoCoordinates; private List geoScopes; @@ -187,6 +200,7 @@ public Builder(GetMetroResult defaults) { Objects.requireNonNull(defaults); this.code = defaults.code; this.connectedMetros = defaults.connectedMetros; + this.country = defaults.country; this.equinixAsn = defaults.equinixAsn; this.geoCoordinates = defaults.geoCoordinates; this.geoScopes = defaults.geoScopes; @@ -219,6 +233,14 @@ public Builder connectedMetros(GetMetroConnectedMetro... connectedMetros) { return connectedMetros(List.of(connectedMetros)); } @CustomType.Setter + public Builder country(String country) { + if (country == null) { + throw new MissingRequiredPropertyException("GetMetroResult", "country"); + } + this.country = country; + return this; + } + @CustomType.Setter public Builder equinixAsn(Integer equinixAsn) { if (equinixAsn == null) { throw new MissingRequiredPropertyException("GetMetroResult", "equinixAsn"); @@ -305,6 +327,7 @@ public GetMetroResult build() { final var _resultValue = new GetMetroResult(); _resultValue.code = code; _resultValue.connectedMetros = connectedMetros; + _resultValue.country = country; _resultValue.equinixAsn = equinixAsn; _resultValue.geoCoordinates = geoCoordinates; _resultValue.geoScopes = geoScopes; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetMetrosData.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetMetrosData.java index 622f4b070..164f62938 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetMetrosData.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetMetrosData.java @@ -24,6 +24,11 @@ public final class GetMetrosData { * */ private List connectedMetros; + /** + * @return Country in which the data center is located + * + */ + private String country; /** * @return Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. * @@ -80,6 +85,13 @@ public String code() { public List connectedMetros() { return this.connectedMetros; } + /** + * @return Country in which the data center is located + * + */ + public String country() { + return this.country; + } /** * @return Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. * @@ -148,6 +160,7 @@ public static Builder builder(GetMetrosData defaults) { public static final class Builder { private String code; private List connectedMetros; + private String country; private Integer equinixAsn; private GetMetrosDataGeoCoordinates geoCoordinates; private List geoScopes; @@ -161,6 +174,7 @@ public Builder(GetMetrosData defaults) { Objects.requireNonNull(defaults); this.code = defaults.code; this.connectedMetros = defaults.connectedMetros; + this.country = defaults.country; this.equinixAsn = defaults.equinixAsn; this.geoCoordinates = defaults.geoCoordinates; this.geoScopes = defaults.geoScopes; @@ -191,6 +205,14 @@ public Builder connectedMetros(GetMetrosDataConnectedMetro... connectedMetros) { return connectedMetros(List.of(connectedMetros)); } @CustomType.Setter + public Builder country(String country) { + if (country == null) { + throw new MissingRequiredPropertyException("GetMetrosData", "country"); + } + this.country = country; + return this; + } + @CustomType.Setter public Builder equinixAsn(Integer equinixAsn) { if (equinixAsn == null) { throw new MissingRequiredPropertyException("GetMetrosData", "equinixAsn"); @@ -261,6 +283,7 @@ public GetMetrosData build() { final var _resultValue = new GetMetrosData(); _resultValue.code = code; _resultValue.connectedMetros = connectedMetros; + _resultValue.country = country; _resultValue.equinixAsn = equinixAsn; _resultValue.geoCoordinates = geoCoordinates; _resultValue.geoScopes = geoScopes; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetPortsResult.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetPortsResult.java index 743903395..5444dab1b 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetPortsResult.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetPortsResult.java @@ -10,6 +10,8 @@ import java.lang.String; import java.util.List; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class GetPortsResult { @@ -19,10 +21,19 @@ public final class GetPortsResult { */ private List data; /** - * @return name + * @return (Deprecated) Use 'filter' instead. + * + * @deprecated + * Use 'filter' instead. + * + */ + @Deprecated /* Use 'filter' instead. */ + private @Nullable GetPortsFilter filter; + /** + * @return List of filter objects for SearchPorts API. Each filter must have property, operator, and value. * */ - private GetPortsFilter filter; + private @Nullable List filters; /** * @return The provider-assigned unique ID for this managed resource. * @@ -38,11 +49,22 @@ public List data() { return this.data; } /** - * @return name + * @return (Deprecated) Use 'filter' instead. + * + * @deprecated + * Use 'filter' instead. + * + */ + @Deprecated /* Use 'filter' instead. */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } + /** + * @return List of filter objects for SearchPorts API. Each filter must have property, operator, and value. * */ - public GetPortsFilter filter() { - return this.filter; + public List filters() { + return this.filters == null ? List.of() : this.filters; } /** * @return The provider-assigned unique ID for this managed resource. @@ -62,13 +84,15 @@ public static Builder builder(GetPortsResult defaults) { @CustomType.Builder public static final class Builder { private List data; - private GetPortsFilter filter; + private @Nullable GetPortsFilter filter; + private @Nullable List filters; private String id; public Builder() {} public Builder(GetPortsResult defaults) { Objects.requireNonNull(defaults); this.data = defaults.data; this.filter = defaults.filter; + this.filters = defaults.filters; this.id = defaults.id; } @@ -84,14 +108,21 @@ public Builder data(GetPortsDatum... data) { return data(List.of(data)); } @CustomType.Setter - public Builder filter(GetPortsFilter filter) { - if (filter == null) { - throw new MissingRequiredPropertyException("GetPortsResult", "filter"); - } + public Builder filter(@Nullable GetPortsFilter filter) { + this.filter = filter; return this; } @CustomType.Setter + public Builder filters(@Nullable List filters) { + + this.filters = filters; + return this; + } + public Builder filters(GetPortsFilter... filters) { + return filters(List.of(filters)); + } + @CustomType.Setter public Builder id(String id) { if (id == null) { throw new MissingRequiredPropertyException("GetPortsResult", "id"); @@ -103,6 +134,7 @@ public GetPortsResult build() { final var _resultValue = new GetPortsResult(); _resultValue.data = data; _resultValue.filter = filter; + _resultValue.filters = filters; _resultValue.id = id; return _resultValue; } diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfileAccessPointTypeConfig.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfileAccessPointTypeConfig.java index ce8e0c74b..262b948c8 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfileAccessPointTypeConfig.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfileAccessPointTypeConfig.java @@ -74,6 +74,11 @@ public final class GetServiceProfileAccessPointTypeConfig { * */ private @Nullable GetServiceProfileAccessPointTypeConfigLinkProtocolConfig linkProtocolConfig; + /** + * @return Optional redundant connections + * + */ + private @Nullable Boolean selectiveRedundancy; /** * @return Supported bandwidths * @@ -168,6 +173,13 @@ public Optional enableAutoGenerateServiceKey() { public Optional linkProtocolConfig() { return Optional.ofNullable(this.linkProtocolConfig); } + /** + * @return Optional redundant connections + * + */ + public Optional selectiveRedundancy() { + return Optional.ofNullable(this.selectiveRedundancy); + } /** * @return Supported bandwidths * @@ -210,6 +222,7 @@ public static final class Builder { private @Nullable Boolean connectionRedundancyRequired; private @Nullable Boolean enableAutoGenerateServiceKey; private @Nullable GetServiceProfileAccessPointTypeConfigLinkProtocolConfig linkProtocolConfig; + private @Nullable Boolean selectiveRedundancy; private @Nullable List supportedBandwidths; private String type; private String uuid; @@ -227,6 +240,7 @@ public Builder(GetServiceProfileAccessPointTypeConfig defaults) { this.connectionRedundancyRequired = defaults.connectionRedundancyRequired; this.enableAutoGenerateServiceKey = defaults.enableAutoGenerateServiceKey; this.linkProtocolConfig = defaults.linkProtocolConfig; + this.selectiveRedundancy = defaults.selectiveRedundancy; this.supportedBandwidths = defaults.supportedBandwidths; this.type = defaults.type; this.uuid = defaults.uuid; @@ -299,6 +313,12 @@ public Builder linkProtocolConfig(@Nullable GetServiceProfileAccessPointTypeConf return this; } @CustomType.Setter + public Builder selectiveRedundancy(@Nullable Boolean selectiveRedundancy) { + + this.selectiveRedundancy = selectiveRedundancy; + return this; + } + @CustomType.Setter public Builder supportedBandwidths(@Nullable List supportedBandwidths) { this.supportedBandwidths = supportedBandwidths; @@ -336,6 +356,7 @@ public GetServiceProfileAccessPointTypeConfig build() { _resultValue.connectionRedundancyRequired = connectionRedundancyRequired; _resultValue.enableAutoGenerateServiceKey = enableAutoGenerateServiceKey; _resultValue.linkProtocolConfig = linkProtocolConfig; + _resultValue.selectiveRedundancy = selectiveRedundancy; _resultValue.supportedBandwidths = supportedBandwidths; _resultValue.type = type; _resultValue.uuid = uuid; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfileResult.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfileResult.java index 07d40f23c..1e764bef0 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfileResult.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfileResult.java @@ -108,7 +108,7 @@ public final class GetServiceProfileResult { */ private List tags; /** - * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * */ private String type; @@ -254,7 +254,7 @@ public List tags() { return this.tags; } /** - * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * @return Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE * */ public String type() { diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfilesDatum.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfilesDatum.java index 2c84c7f1a..b3d381037 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfilesDatum.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfilesDatum.java @@ -103,7 +103,7 @@ public final class GetServiceProfilesDatum { */ private List tags; /** - * @return Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + * @return Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE * */ private String type; @@ -242,7 +242,7 @@ public List tags() { return this.tags; } /** - * @return Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + * @return Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE * */ public String type() { diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfilesDatumAccessPointTypeConfig.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfilesDatumAccessPointTypeConfig.java index 3fcb03553..0c8abcb87 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfilesDatumAccessPointTypeConfig.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/GetServiceProfilesDatumAccessPointTypeConfig.java @@ -74,6 +74,11 @@ public final class GetServiceProfilesDatumAccessPointTypeConfig { * */ private @Nullable GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfig linkProtocolConfig; + /** + * @return Optional redundant connections + * + */ + private @Nullable Boolean selectiveRedundancy; /** * @return Supported bandwidths * @@ -168,6 +173,13 @@ public Optional enableAutoGenerateServiceKey() { public Optional linkProtocolConfig() { return Optional.ofNullable(this.linkProtocolConfig); } + /** + * @return Optional redundant connections + * + */ + public Optional selectiveRedundancy() { + return Optional.ofNullable(this.selectiveRedundancy); + } /** * @return Supported bandwidths * @@ -210,6 +222,7 @@ public static final class Builder { private @Nullable Boolean connectionRedundancyRequired; private @Nullable Boolean enableAutoGenerateServiceKey; private @Nullable GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfig linkProtocolConfig; + private @Nullable Boolean selectiveRedundancy; private @Nullable List supportedBandwidths; private String type; private String uuid; @@ -227,6 +240,7 @@ public Builder(GetServiceProfilesDatumAccessPointTypeConfig defaults) { this.connectionRedundancyRequired = defaults.connectionRedundancyRequired; this.enableAutoGenerateServiceKey = defaults.enableAutoGenerateServiceKey; this.linkProtocolConfig = defaults.linkProtocolConfig; + this.selectiveRedundancy = defaults.selectiveRedundancy; this.supportedBandwidths = defaults.supportedBandwidths; this.type = defaults.type; this.uuid = defaults.uuid; @@ -299,6 +313,12 @@ public Builder linkProtocolConfig(@Nullable GetServiceProfilesDatumAccessPointTy return this; } @CustomType.Setter + public Builder selectiveRedundancy(@Nullable Boolean selectiveRedundancy) { + + this.selectiveRedundancy = selectiveRedundancy; + return this; + } + @CustomType.Setter public Builder supportedBandwidths(@Nullable List supportedBandwidths) { this.supportedBandwidths = supportedBandwidths; @@ -336,6 +356,7 @@ public GetServiceProfilesDatumAccessPointTypeConfig build() { _resultValue.connectionRedundancyRequired = connectionRedundancyRequired; _resultValue.enableAutoGenerateServiceKey = enableAutoGenerateServiceKey; _resultValue.linkProtocolConfig = linkProtocolConfig; + _resultValue.selectiveRedundancy = selectiveRedundancy; _resultValue.supportedBandwidths = supportedBandwidths; _resultValue.type = type; _resultValue.uuid = uuid; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ServiceProfileAccessPointTypeConfig.java b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ServiceProfileAccessPointTypeConfig.java index 1bfeea3ac..f13456f1c 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ServiceProfileAccessPointTypeConfig.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/fabric/outputs/ServiceProfileAccessPointTypeConfig.java @@ -74,6 +74,11 @@ public final class ServiceProfileAccessPointTypeConfig { * */ private @Nullable ServiceProfileAccessPointTypeConfigLinkProtocolConfig linkProtocolConfig; + /** + * @return Optional redundant connections + * + */ + private @Nullable Boolean selectiveRedundancy; /** * @return Supported bandwidths * @@ -168,6 +173,13 @@ public Optional enableAutoGenerateServiceKey() { public Optional linkProtocolConfig() { return Optional.ofNullable(this.linkProtocolConfig); } + /** + * @return Optional redundant connections + * + */ + public Optional selectiveRedundancy() { + return Optional.ofNullable(this.selectiveRedundancy); + } /** * @return Supported bandwidths * @@ -210,6 +222,7 @@ public static final class Builder { private @Nullable Boolean connectionRedundancyRequired; private @Nullable Boolean enableAutoGenerateServiceKey; private @Nullable ServiceProfileAccessPointTypeConfigLinkProtocolConfig linkProtocolConfig; + private @Nullable Boolean selectiveRedundancy; private @Nullable List supportedBandwidths; private String type; private @Nullable String uuid; @@ -227,6 +240,7 @@ public Builder(ServiceProfileAccessPointTypeConfig defaults) { this.connectionRedundancyRequired = defaults.connectionRedundancyRequired; this.enableAutoGenerateServiceKey = defaults.enableAutoGenerateServiceKey; this.linkProtocolConfig = defaults.linkProtocolConfig; + this.selectiveRedundancy = defaults.selectiveRedundancy; this.supportedBandwidths = defaults.supportedBandwidths; this.type = defaults.type; this.uuid = defaults.uuid; @@ -299,6 +313,12 @@ public Builder linkProtocolConfig(@Nullable ServiceProfileAccessPointTypeConfigL return this; } @CustomType.Setter + public Builder selectiveRedundancy(@Nullable Boolean selectiveRedundancy) { + + this.selectiveRedundancy = selectiveRedundancy; + return this; + } + @CustomType.Setter public Builder supportedBandwidths(@Nullable List supportedBandwidths) { this.supportedBandwidths = supportedBandwidths; @@ -334,6 +354,7 @@ public ServiceProfileAccessPointTypeConfig build() { _resultValue.connectionRedundancyRequired = connectionRedundancyRequired; _resultValue.enableAutoGenerateServiceKey = enableAutoGenerateServiceKey; _resultValue.linkProtocolConfig = linkProtocolConfig; + _resultValue.selectiveRedundancy = selectiveRedundancy; _resultValue.supportedBandwidths = supportedBandwidths; _resultValue.type = type; _resultValue.uuid = uuid; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/metal/Device.java b/sdk/java/src/main/java/com/equinix/pulumi/metal/Device.java index 40f7b1892..204af45cc 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/metal/Device.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/metal/Device.java @@ -175,7 +175,59 @@ * .projectId(projectId) * .hardwareReservationId("next-available") * .storage(""" - * { \"disks\": [ { \"device\": \"/dev/sda\", \"wipeTable\": true, \"partitions\": [ { \"label\": \"BIOS\", \"number\": 1, \"size\": \"4096\" }, { \"label\": \"SWAP\", \"number\": 2, \"size\": \"3993600\" }, { \"label\": \"ROOT\", \"number\": 3, \"size\": \"0\" } ] } ], \"filesystems\": [ { \"mount\": { \"device\": \"/dev/sda3\", \"format\": \"ext4\", \"point\": \"/\", \"create\": { \"options\": [ \"-L\", \"ROOT\" ] } } }, { \"mount\": { \"device\": \"/dev/sda2\", \"format\": \"swap\", \"point\": \"none\", \"create\": { \"options\": [ \"-L\", \"SWAP\" ] } } } ]} + * { + * "disks": [ + * { + * "device": "/dev/sda", + * "wipeTable": true, + * "partitions": [ + * { + * "label": "BIOS", + * "number": 1, + * "size": "4096" + * }, + * { + * "label": "SWAP", + * "number": 2, + * "size": "3993600" + * }, + * { + * "label": "ROOT", + * "number": 3, + * "size": "0" + * } + * ] + * } + * ], + * "filesystems": [ + * { + * "mount": { + * "device": "/dev/sda3", + * "format": "ext4", + * "point": "/", + * "create": { + * "options": [ + * "-L", + * "ROOT" + * ] + * } + * } + * }, + * { + * "mount": { + * "device": "/dev/sda2", + * "format": "swap", + * "point": "none", + * "create": { + * "options": [ + * "-L", + * "SWAP" + * ] + * } + * } + * } + * ] + * } * """) * .build()); * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/inputs/DeviceClusterDetailsNode0VendorConfigurationArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/inputs/DeviceClusterDetailsNode0VendorConfigurationArgs.java index 4b8b936ae..da826492d 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/inputs/DeviceClusterDetailsNode0VendorConfigurationArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/inputs/DeviceClusterDetailsNode0VendorConfigurationArgs.java @@ -120,6 +120,21 @@ public Optional> ipAddress() { return Optional.ofNullable(this.ipAddress); } + /** + * Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + @Import(name="ipAddressType") + private @Nullable Output ipAddressType; + + /** + * @return Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + public Optional> ipAddressType() { + return Optional.ofNullable(this.ipAddressType); + } + /** * License id. This field is relevant only for the BlueCat DNS and DHCP Server * @@ -150,6 +165,21 @@ public Optional> licenseKey() { return Optional.ofNullable(this.licenseKey); } + /** + * Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + @Import(name="managementInterfaceId") + private @Nullable Output managementInterfaceId; + + /** + * @return Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + public Optional> managementInterfaceId() { + return Optional.ofNullable(this.managementInterfaceId); + } + /** * Management Type. This field is relevant only for Cisco FTD Firewall devices * @@ -280,8 +310,10 @@ private DeviceClusterDetailsNode0VendorConfigurationArgs(DeviceClusterDetailsNod this.gatewayIp = $.gatewayIp; this.hostname = $.hostname; this.ipAddress = $.ipAddress; + this.ipAddressType = $.ipAddressType; this.licenseId = $.licenseId; this.licenseKey = $.licenseKey; + this.managementInterfaceId = $.managementInterfaceId; this.managementType = $.managementType; this.panoramaAuthKey = $.panoramaAuthKey; this.panoramaIpAddress = $.panoramaIpAddress; @@ -457,6 +489,27 @@ public Builder ipAddress(String ipAddress) { return ipAddress(Output.of(ipAddress)); } + /** + * @param ipAddressType Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + * @return builder + * + */ + public Builder ipAddressType(@Nullable Output ipAddressType) { + $.ipAddressType = ipAddressType; + return this; + } + + /** + * @param ipAddressType Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + * @return builder + * + */ + public Builder ipAddressType(String ipAddressType) { + return ipAddressType(Output.of(ipAddressType)); + } + /** * @param licenseId License id. This field is relevant only for the BlueCat DNS and DHCP Server * @@ -499,6 +552,27 @@ public Builder licenseKey(String licenseKey) { return licenseKey(Output.of(licenseKey)); } + /** + * @param managementInterfaceId Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + * @return builder + * + */ + public Builder managementInterfaceId(@Nullable Output managementInterfaceId) { + $.managementInterfaceId = managementInterfaceId; + return this; + } + + /** + * @param managementInterfaceId Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + * @return builder + * + */ + public Builder managementInterfaceId(String managementInterfaceId) { + return managementInterfaceId(Output.of(managementInterfaceId)); + } + /** * @param managementType Management Type. This field is relevant only for Cisco FTD Firewall devices * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/inputs/DeviceClusterDetailsNode1VendorConfigurationArgs.java b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/inputs/DeviceClusterDetailsNode1VendorConfigurationArgs.java index bb3c93055..c8720b34d 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/inputs/DeviceClusterDetailsNode1VendorConfigurationArgs.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/inputs/DeviceClusterDetailsNode1VendorConfigurationArgs.java @@ -120,6 +120,21 @@ public Optional> ipAddress() { return Optional.ofNullable(this.ipAddress); } + /** + * Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + @Import(name="ipAddressType") + private @Nullable Output ipAddressType; + + /** + * @return Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + public Optional> ipAddressType() { + return Optional.ofNullable(this.ipAddressType); + } + /** * License id. This field is relevant only for the BlueCat DNS and DHCP Server * @@ -150,6 +165,21 @@ public Optional> licenseKey() { return Optional.ofNullable(this.licenseKey); } + /** + * Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + @Import(name="managementInterfaceId") + private @Nullable Output managementInterfaceId; + + /** + * @return Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + public Optional> managementInterfaceId() { + return Optional.ofNullable(this.managementInterfaceId); + } + /** * Management Type. This field is relevant only for Cisco FTD Firewall devices * @@ -280,8 +310,10 @@ private DeviceClusterDetailsNode1VendorConfigurationArgs(DeviceClusterDetailsNod this.gatewayIp = $.gatewayIp; this.hostname = $.hostname; this.ipAddress = $.ipAddress; + this.ipAddressType = $.ipAddressType; this.licenseId = $.licenseId; this.licenseKey = $.licenseKey; + this.managementInterfaceId = $.managementInterfaceId; this.managementType = $.managementType; this.panoramaAuthKey = $.panoramaAuthKey; this.panoramaIpAddress = $.panoramaIpAddress; @@ -457,6 +489,27 @@ public Builder ipAddress(String ipAddress) { return ipAddress(Output.of(ipAddress)); } + /** + * @param ipAddressType Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + * @return builder + * + */ + public Builder ipAddressType(@Nullable Output ipAddressType) { + $.ipAddressType = ipAddressType; + return this; + } + + /** + * @param ipAddressType Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + * @return builder + * + */ + public Builder ipAddressType(String ipAddressType) { + return ipAddressType(Output.of(ipAddressType)); + } + /** * @param licenseId License id. This field is relevant only for the BlueCat DNS and DHCP Server * @@ -499,6 +552,27 @@ public Builder licenseKey(String licenseKey) { return licenseKey(Output.of(licenseKey)); } + /** + * @param managementInterfaceId Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + * @return builder + * + */ + public Builder managementInterfaceId(@Nullable Output managementInterfaceId) { + $.managementInterfaceId = managementInterfaceId; + return this; + } + + /** + * @param managementInterfaceId Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + * @return builder + * + */ + public Builder managementInterfaceId(String managementInterfaceId) { + return managementInterfaceId(Output.of(managementInterfaceId)); + } + /** * @param managementType Management Type. This field is relevant only for Cisco FTD Firewall devices * diff --git a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/DeviceClusterDetailsNode0VendorConfiguration.java b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/DeviceClusterDetailsNode0VendorConfiguration.java index d63400f5b..4ef20e306 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/DeviceClusterDetailsNode0VendorConfiguration.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/DeviceClusterDetailsNode0VendorConfiguration.java @@ -46,6 +46,11 @@ public final class DeviceClusterDetailsNode0VendorConfiguration { * */ private @Nullable String ipAddress; + /** + * @return Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + private @Nullable String ipAddressType; /** * @return License id. This field is relevant only for the BlueCat DNS and DHCP Server * @@ -56,6 +61,11 @@ public final class DeviceClusterDetailsNode0VendorConfiguration { * */ private @Nullable String licenseKey; + /** + * @return Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + private @Nullable String managementInterfaceId; /** * @return Management Type. This field is relevant only for Cisco FTD Firewall devices * @@ -147,6 +157,13 @@ public Optional hostname() { public Optional ipAddress() { return Optional.ofNullable(this.ipAddress); } + /** + * @return Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + public Optional ipAddressType() { + return Optional.ofNullable(this.ipAddressType); + } /** * @return License id. This field is relevant only for the BlueCat DNS and DHCP Server * @@ -161,6 +178,13 @@ public Optional licenseId() { public Optional licenseKey() { return Optional.ofNullable(this.licenseKey); } + /** + * @return Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + public Optional managementInterfaceId() { + return Optional.ofNullable(this.managementInterfaceId); + } /** * @return Management Type. This field is relevant only for Cisco FTD Firewall devices * @@ -234,8 +258,10 @@ public static final class Builder { private @Nullable String gatewayIp; private @Nullable String hostname; private @Nullable String ipAddress; + private @Nullable String ipAddressType; private @Nullable String licenseId; private @Nullable String licenseKey; + private @Nullable String managementInterfaceId; private @Nullable String managementType; private @Nullable String panoramaAuthKey; private @Nullable String panoramaIpAddress; @@ -254,8 +280,10 @@ public Builder(DeviceClusterDetailsNode0VendorConfiguration defaults) { this.gatewayIp = defaults.gatewayIp; this.hostname = defaults.hostname; this.ipAddress = defaults.ipAddress; + this.ipAddressType = defaults.ipAddressType; this.licenseId = defaults.licenseId; this.licenseKey = defaults.licenseKey; + this.managementInterfaceId = defaults.managementInterfaceId; this.managementType = defaults.managementType; this.panoramaAuthKey = defaults.panoramaAuthKey; this.panoramaIpAddress = defaults.panoramaIpAddress; @@ -309,6 +337,12 @@ public Builder ipAddress(@Nullable String ipAddress) { return this; } @CustomType.Setter + public Builder ipAddressType(@Nullable String ipAddressType) { + + this.ipAddressType = ipAddressType; + return this; + } + @CustomType.Setter public Builder licenseId(@Nullable String licenseId) { this.licenseId = licenseId; @@ -321,6 +355,12 @@ public Builder licenseKey(@Nullable String licenseKey) { return this; } @CustomType.Setter + public Builder managementInterfaceId(@Nullable String managementInterfaceId) { + + this.managementInterfaceId = managementInterfaceId; + return this; + } + @CustomType.Setter public Builder managementType(@Nullable String managementType) { this.managementType = managementType; @@ -377,8 +417,10 @@ public DeviceClusterDetailsNode0VendorConfiguration build() { _resultValue.gatewayIp = gatewayIp; _resultValue.hostname = hostname; _resultValue.ipAddress = ipAddress; + _resultValue.ipAddressType = ipAddressType; _resultValue.licenseId = licenseId; _resultValue.licenseKey = licenseKey; + _resultValue.managementInterfaceId = managementInterfaceId; _resultValue.managementType = managementType; _resultValue.panoramaAuthKey = panoramaAuthKey; _resultValue.panoramaIpAddress = panoramaIpAddress; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/DeviceClusterDetailsNode1VendorConfiguration.java b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/DeviceClusterDetailsNode1VendorConfiguration.java index fcefcf1b8..659643c3b 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/DeviceClusterDetailsNode1VendorConfiguration.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/DeviceClusterDetailsNode1VendorConfiguration.java @@ -46,6 +46,11 @@ public final class DeviceClusterDetailsNode1VendorConfiguration { * */ private @Nullable String ipAddress; + /** + * @return Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + private @Nullable String ipAddressType; /** * @return License id. This field is relevant only for the BlueCat DNS and DHCP Server * @@ -56,6 +61,11 @@ public final class DeviceClusterDetailsNode1VendorConfiguration { * */ private @Nullable String licenseKey; + /** + * @return Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + private @Nullable String managementInterfaceId; /** * @return Management Type. This field is relevant only for Cisco FTD Firewall devices * @@ -147,6 +157,13 @@ public Optional hostname() { public Optional ipAddress() { return Optional.ofNullable(this.ipAddress); } + /** + * @return Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + public Optional ipAddressType() { + return Optional.ofNullable(this.ipAddressType); + } /** * @return License id. This field is relevant only for the BlueCat DNS and DHCP Server * @@ -161,6 +178,13 @@ public Optional licenseId() { public Optional licenseKey() { return Optional.ofNullable(this.licenseKey); } + /** + * @return Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + * + */ + public Optional managementInterfaceId() { + return Optional.ofNullable(this.managementInterfaceId); + } /** * @return Management Type. This field is relevant only for Cisco FTD Firewall devices * @@ -234,8 +258,10 @@ public static final class Builder { private @Nullable String gatewayIp; private @Nullable String hostname; private @Nullable String ipAddress; + private @Nullable String ipAddressType; private @Nullable String licenseId; private @Nullable String licenseKey; + private @Nullable String managementInterfaceId; private @Nullable String managementType; private @Nullable String panoramaAuthKey; private @Nullable String panoramaIpAddress; @@ -254,8 +280,10 @@ public Builder(DeviceClusterDetailsNode1VendorConfiguration defaults) { this.gatewayIp = defaults.gatewayIp; this.hostname = defaults.hostname; this.ipAddress = defaults.ipAddress; + this.ipAddressType = defaults.ipAddressType; this.licenseId = defaults.licenseId; this.licenseKey = defaults.licenseKey; + this.managementInterfaceId = defaults.managementInterfaceId; this.managementType = defaults.managementType; this.panoramaAuthKey = defaults.panoramaAuthKey; this.panoramaIpAddress = defaults.panoramaIpAddress; @@ -309,6 +337,12 @@ public Builder ipAddress(@Nullable String ipAddress) { return this; } @CustomType.Setter + public Builder ipAddressType(@Nullable String ipAddressType) { + + this.ipAddressType = ipAddressType; + return this; + } + @CustomType.Setter public Builder licenseId(@Nullable String licenseId) { this.licenseId = licenseId; @@ -321,6 +355,12 @@ public Builder licenseKey(@Nullable String licenseKey) { return this; } @CustomType.Setter + public Builder managementInterfaceId(@Nullable String managementInterfaceId) { + + this.managementInterfaceId = managementInterfaceId; + return this; + } + @CustomType.Setter public Builder managementType(@Nullable String managementType) { this.managementType = managementType; @@ -377,8 +417,10 @@ public DeviceClusterDetailsNode1VendorConfiguration build() { _resultValue.gatewayIp = gatewayIp; _resultValue.hostname = hostname; _resultValue.ipAddress = ipAddress; + _resultValue.ipAddressType = ipAddressType; _resultValue.licenseId = licenseId; _resultValue.licenseKey = licenseKey; + _resultValue.managementInterfaceId = managementInterfaceId; _resultValue.managementType = managementType; _resultValue.panoramaAuthKey = panoramaAuthKey; _resultValue.panoramaIpAddress = panoramaIpAddress; diff --git a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/GetDeviceSecondaryDevice.java b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/GetDeviceSecondaryDevice.java index 73d83197b..b600378b2 100644 --- a/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/GetDeviceSecondaryDevice.java +++ b/sdk/java/src/main/java/com/equinix/pulumi/networkedge/outputs/GetDeviceSecondaryDevice.java @@ -167,7 +167,7 @@ public final class GetDeviceSecondaryDevice { */ private String uuid; /** - * @return Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + * @return Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) * */ private Map vendorConfiguration; @@ -385,7 +385,7 @@ public String uuid() { return this.uuid; } /** - * @return Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + * @return Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) * */ public Map vendorConfiguration() { diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index 4a2880962..cd1b6e812 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -100,6 +100,19 @@ Object.defineProperty(exports, "responseMaxPageSize", { enumerable: true, }); +/** + * The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + */ +export declare const stsEndpoint: string | undefined; +Object.defineProperty(exports, "stsEndpoint", { + get() { + return __config.get("stsEndpoint"); + }, + enumerable: true, +}); + /** * API tokens are generated from API Consumer clients using the [OAuth2 * API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). @@ -113,3 +126,43 @@ Object.defineProperty(exports, "token", { enumerable: true, }); +/** + * The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + */ +export declare const tokenExchangeScope: string | undefined; +Object.defineProperty(exports, "tokenExchangeScope", { + get() { + return __config.get("tokenExchangeScope"); + }, + enumerable: true, +}); + +/** + * The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `tokenExchangeSubjectTokenEnvVar`. Please note that token exchange is an alpha feature and not available for all users. + */ +export declare const tokenExchangeSubjectToken: string | undefined; +Object.defineProperty(exports, "tokenExchangeSubjectToken", { + get() { + return __config.get("tokenExchangeSubjectToken"); + }, + enumerable: true, +}); + +/** + * The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + */ +export declare const tokenExchangeSubjectTokenEnvVar: string | undefined; +Object.defineProperty(exports, "tokenExchangeSubjectTokenEnvVar", { + get() { + return __config.get("tokenExchangeSubjectTokenEnvVar"); + }, + enumerable: true, +}); + diff --git a/sdk/nodejs/fabric/getCloudRouter.ts b/sdk/nodejs/fabric/getCloudRouter.ts index e5298feae..c0eefa8b7 100644 --- a/sdk/nodejs/fabric/getCloudRouter.ts +++ b/sdk/nodejs/fabric/getCloudRouter.ts @@ -76,10 +76,6 @@ export interface GetCloudRouterResult { * Equinix ASN */ readonly equinixAsn: number; - /** - * Number of gateway attachments associated with this Access point - */ - readonly gatewayAttachmentsCount: number; /** * Fabric Cloud Router URI information */ diff --git a/sdk/nodejs/fabric/getMetro.ts b/sdk/nodejs/fabric/getMetro.ts index d78834b1d..a8f4d8011 100644 --- a/sdk/nodejs/fabric/getMetro.ts +++ b/sdk/nodejs/fabric/getMetro.ts @@ -57,6 +57,10 @@ export interface GetMetroResult { * Arrays of objects containing latency data for the specified metro */ readonly connectedMetros: outputs.fabric.GetMetroConnectedMetro[]; + /** + * Country in which the data center is located + */ + readonly country: string; /** * Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. */ diff --git a/sdk/nodejs/fabric/getPorts.ts b/sdk/nodejs/fabric/getPorts.ts index f2dfd18ac..b47226fb8 100644 --- a/sdk/nodejs/fabric/getPorts.ts +++ b/sdk/nodejs/fabric/getPorts.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Fabric V4 API compatible data resource that allow user to fetch port by name + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -41,10 +41,12 @@ import * as utilities from "../utilities"; * export const deviceRedundancyPriority = data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].priority; * ``` */ -export function getPorts(args: GetPortsArgs, opts?: pulumi.InvokeOptions): Promise { +export function getPorts(args?: GetPortsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("equinix:fabric/getPorts:getPorts", { "filter": args.filter, + "filters": args.filters, }, opts); } @@ -53,9 +55,15 @@ export function getPorts(args: GetPortsArgs, opts?: pulumi.InvokeOptions): Promi */ export interface GetPortsArgs { /** - * name + * (Deprecated) Use 'filter' instead. + * + * @deprecated Use 'filter' instead. */ - filter: inputs.fabric.GetPortsFilter; + filter?: inputs.fabric.GetPortsFilter; + /** + * List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + */ + filters?: inputs.fabric.GetPortsFilter[]; } /** @@ -67,16 +75,22 @@ export interface GetPortsResult { */ readonly data: outputs.fabric.GetPortsDatum[]; /** - * name + * (Deprecated) Use 'filter' instead. + * + * @deprecated Use 'filter' instead. + */ + readonly filter?: outputs.fabric.GetPortsFilter; + /** + * List of filter objects for SearchPorts API. Each filter must have property, operator, and value. */ - readonly filter: outputs.fabric.GetPortsFilter; + readonly filters?: outputs.fabric.GetPortsFilter[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; } /** - * Fabric V4 API compatible data resource that allow user to fetch port by name + * Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid * * Additional documentation: * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -109,10 +123,12 @@ export interface GetPortsResult { * export const deviceRedundancyPriority = data.equinix_fabric_port.ports_data_name.data[0].device[0].redundancy[0].priority; * ``` */ -export function getPortsOutput(args: GetPortsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { +export function getPortsOutput(args?: GetPortsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + args = args || {}; opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("equinix:fabric/getPorts:getPorts", { "filter": args.filter, + "filters": args.filters, }, opts); } @@ -121,7 +137,13 @@ export function getPortsOutput(args: GetPortsOutputArgs, opts?: pulumi.InvokeOut */ export interface GetPortsOutputArgs { /** - * name + * (Deprecated) Use 'filter' instead. + * + * @deprecated Use 'filter' instead. + */ + filter?: pulumi.Input; + /** + * List of filter objects for SearchPorts API. Each filter must have property, operator, and value. */ - filter: pulumi.Input; + filters?: pulumi.Input[]>; } diff --git a/sdk/nodejs/fabric/getServiceProfile.ts b/sdk/nodejs/fabric/getServiceProfile.ts index 5f6acef42..555b2cb32 100644 --- a/sdk/nodejs/fabric/getServiceProfile.ts +++ b/sdk/nodejs/fabric/getServiceProfile.ts @@ -126,7 +126,7 @@ export interface GetServiceProfileResult { */ readonly tags: string[]; /** - * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE */ readonly type: string; /** diff --git a/sdk/nodejs/fabric/index.ts b/sdk/nodejs/fabric/index.ts index b751c7935..99ed08e81 100644 --- a/sdk/nodejs/fabric/index.ts +++ b/sdk/nodejs/fabric/index.ts @@ -25,6 +25,11 @@ export type ConnectionRouteFilter = import("./connectionRouteFilter").Connection export const ConnectionRouteFilter: typeof import("./connectionRouteFilter").ConnectionRouteFilter = null as any; utilities.lazyLoad(exports, ["ConnectionRouteFilter"], () => require("./connectionRouteFilter")); +export { GetAdvertisedRoutesArgs, GetAdvertisedRoutesResult, GetAdvertisedRoutesOutputArgs } from "./getAdvertisedRoutes"; +export const getAdvertisedRoutes: typeof import("./getAdvertisedRoutes").getAdvertisedRoutes = null as any; +export const getAdvertisedRoutesOutput: typeof import("./getAdvertisedRoutes").getAdvertisedRoutesOutput = null as any; +utilities.lazyLoad(exports, ["getAdvertisedRoutes","getAdvertisedRoutesOutput"], () => require("./getAdvertisedRoutes")); + export { GetCloudRouterArgs, GetCloudRouterResult, GetCloudRouterOutputArgs } from "./getCloudRouter"; export const getCloudRouter: typeof import("./getCloudRouter").getCloudRouter = null as any; export const getCloudRouterOutput: typeof import("./getCloudRouter").getCloudRouterOutput = null as any; @@ -110,6 +115,11 @@ export const getPrecisionTimeServices: typeof import("./getPrecisionTimeServices export const getPrecisionTimeServicesOutput: typeof import("./getPrecisionTimeServices").getPrecisionTimeServicesOutput = null as any; utilities.lazyLoad(exports, ["getPrecisionTimeServices","getPrecisionTimeServicesOutput"], () => require("./getPrecisionTimeServices")); +export { GetReceivedRoutesArgs, GetReceivedRoutesResult, GetReceivedRoutesOutputArgs } from "./getReceivedRoutes"; +export const getReceivedRoutes: typeof import("./getReceivedRoutes").getReceivedRoutes = null as any; +export const getReceivedRoutesOutput: typeof import("./getReceivedRoutes").getReceivedRoutesOutput = null as any; +utilities.lazyLoad(exports, ["getReceivedRoutes","getReceivedRoutesOutput"], () => require("./getReceivedRoutes")); + export { GetRouteAggregationArgs, GetRouteAggregationResult, GetRouteAggregationOutputArgs } from "./getRouteAggregation"; export const getRouteAggregation: typeof import("./getRouteAggregation").getRouteAggregation = null as any; export const getRouteAggregationOutput: typeof import("./getRouteAggregation").getRouteAggregationOutput = null as any; diff --git a/sdk/nodejs/fabric/serviceProfile.ts b/sdk/nodejs/fabric/serviceProfile.ts index 94fe24f1c..cdc8aa11f 100644 --- a/sdk/nodejs/fabric/serviceProfile.ts +++ b/sdk/nodejs/fabric/serviceProfile.ts @@ -145,7 +145,7 @@ export class ServiceProfile extends pulumi.CustomResource { */ public readonly tags!: pulumi.Output; /** - * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE */ public readonly type!: pulumi.Output; /** @@ -303,7 +303,7 @@ export interface ServiceProfileState { */ tags?: pulumi.Input[]>; /** - * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE */ type?: pulumi.Input; /** @@ -381,7 +381,7 @@ export interface ServiceProfileArgs { */ tags?: pulumi.Input[]>; /** - * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + * Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE */ type: pulumi.Input; /** diff --git a/sdk/nodejs/metal/device.ts b/sdk/nodejs/metal/device.ts index 373318836..258ffd982 100644 --- a/sdk/nodejs/metal/device.ts +++ b/sdk/nodejs/metal/device.ts @@ -75,8 +75,60 @@ import * as utilities from "../utilities"; * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: projectId, * hardwareReservationId: "next-available", - * storage: "{ \\"disks\\": [ { \\"device\\": \\"/dev/sda\\", \\"wipeTable\\": true, \\"partitions\\": [ { \\"label\\": \\"BIOS\\", \\"number\\": 1, \\"size\\": \\"4096\\" }, { \\"label\\": \\"SWAP\\", \\"number\\": 2, \\"size\\": \\"3993600\\" }, { \\"label\\": \\"ROOT\\", \\"number\\": 3, \\"size\\": \\"0\\" } ] } ], \\"filesystems\\": [ { \\"mount\\": { \\"device\\": \\"/dev/sda3\\", \\"format\\": \\"ext4\\", \\"point\\": \\"/\\", \\"create\\": { \\"options\\": [ \\"-L\\", \\"ROOT\\" ] } } }, { \\"mount\\": { \\"device\\": \\"/dev/sda2\\", \\"format\\": \\"swap\\", \\"point\\": \\"none\\", \\"create\\": { \\"options\\": [ \\"-L\\", \\"SWAP\\" ] } } } ]} - * ", + * storage: `{ + * "disks": [ + * { + * "device": "/dev/sda", + * "wipeTable": true, + * "partitions": [ + * { + * "label": "BIOS", + * "number": 1, + * "size": "4096" + * }, + * { + * "label": "SWAP", + * "number": 2, + * "size": "3993600" + * }, + * { + * "label": "ROOT", + * "number": 3, + * "size": "0" + * } + * ] + * } + * ], + * "filesystems": [ + * { + * "mount": { + * "device": "/dev/sda3", + * "format": "ext4", + * "point": "/", + * "create": { + * "options": [ + * "-L", + * "ROOT" + * ] + * } + * } + * }, + * { + * "mount": { + * "device": "/dev/sda2", + * "format": "swap", + * "point": "none", + * "create": { + * "options": [ + * "-L", + * "SWAP" + * ] + * } + * } + * } + * ] + * } + * `, * }); * ``` * ### example 5 diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index 929b6b5b7..fbf85515d 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -44,12 +44,37 @@ export class Provider extends pulumi.ProviderResource { * `EQUINIX_API_ENDPOINT` shell environment variable. (Defaults to `https://api.equinix.com`) */ public readonly endpoint!: pulumi.Output; + /** + * The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + */ + public readonly stsEndpoint!: pulumi.Output; /** * API tokens are generated from API Consumer clients using the [OAuth2 * API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). * This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. */ public readonly token!: pulumi.Output; + /** + * The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + */ + public readonly tokenExchangeScope!: pulumi.Output; + /** + * The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `tokenExchangeSubjectTokenEnvVar`. Please note that token exchange is an alpha feature and not available for all users. + */ + public readonly tokenExchangeSubjectToken!: pulumi.Output; + /** + * The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + */ + public readonly tokenExchangeSubjectTokenEnvVar!: pulumi.Output; /** * Create a Provider resource with the given unique name, arguments, and options. @@ -70,7 +95,11 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["maxRetryWaitSeconds"] = pulumi.output(args ? args.maxRetryWaitSeconds : undefined).apply(JSON.stringify); resourceInputs["requestTimeout"] = pulumi.output(args ? args.requestTimeout : undefined).apply(JSON.stringify); resourceInputs["responseMaxPageSize"] = pulumi.output(args ? args.responseMaxPageSize : undefined).apply(JSON.stringify); + resourceInputs["stsEndpoint"] = args ? args.stsEndpoint : undefined; resourceInputs["token"] = args ? args.token : undefined; + resourceInputs["tokenExchangeScope"] = args ? args.tokenExchangeScope : undefined; + resourceInputs["tokenExchangeSubjectToken"] = args ? args.tokenExchangeSubjectToken : undefined; + resourceInputs["tokenExchangeSubjectTokenEnvVar"] = args ? args.tokenExchangeSubjectTokenEnvVar : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Provider.__pulumiType, name, resourceInputs, opts); @@ -118,10 +147,35 @@ export interface ProviderArgs { * specific) */ responseMaxPageSize?: pulumi.Input; + /** + * The STS API base URL to point to the desired environment. This argument can also be specified with the + * `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + * an alpha feature and not available for all users. + */ + stsEndpoint?: pulumi.Input; /** * API tokens are generated from API Consumer clients using the [OAuth2 * API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). * This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. */ token?: pulumi.Input; + /** + * The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + * This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + * token exchange is an alpha feature and not available for all users. + */ + tokenExchangeScope?: pulumi.Input; + /** + * The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + * by Equinix STS. If not set, the provider will use the environment variable specified in + * `tokenExchangeSubjectTokenEnvVar`. Please note that token exchange is an alpha feature and not available for all users. + */ + tokenExchangeSubjectToken?: pulumi.Input; + /** + * The name of the environment variable containing the subject token for token exchange. This argument can also be + * specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + * `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + * users. + */ + tokenExchangeSubjectTokenEnvVar?: pulumi.Input; } diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7107704a8..ef4999738 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -19,6 +19,7 @@ "fabric/connection.ts", "fabric/connectionRouteAggregation.ts", "fabric/connectionRouteFilter.ts", + "fabric/getAdvertisedRoutes.ts", "fabric/getCloudRouter.ts", "fabric/getCloudRouters.ts", "fabric/getConnection.ts", @@ -36,6 +37,7 @@ "fabric/getPorts.ts", "fabric/getPrecisionTimeService.ts", "fabric/getPrecisionTimeServices.ts", + "fabric/getReceivedRoutes.ts", "fabric/getRouteAggregation.ts", "fabric/getRouteAggregationRule.ts", "fabric/getRouteAggregationRules.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 220d8ef57..ea848caf6 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1021,6 +1021,104 @@ export namespace fabric { uuid?: pulumi.Input; } + export interface GetAdvertisedRoutesFilter { + /** + * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + */ + operator: string; + /** + * possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + */ + property: string; + /** + * The values that you want to apply the property+operator combination to in order to filter your data search + */ + values: string[]; + } + + export interface GetAdvertisedRoutesFilterArgs { + /** + * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + */ + operator: pulumi.Input; + /** + * possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + */ + property: pulumi.Input; + /** + * The values that you want to apply the property+operator combination to in order to filter your data search + */ + values: pulumi.Input[]>; + } + + export interface GetAdvertisedRoutesPagination { + /** + * Maximum number of search results returned per page. + */ + limit?: number; + /** + * URL relative to the next item in the response. + */ + next?: string; + /** + * Index of the first item returned in the response. + */ + offset?: number; + /** + * URL relative to the previous item in the response. + */ + previous?: string; + /** + * The total number of elements returned + */ + total?: number; + } + + export interface GetAdvertisedRoutesPaginationArgs { + /** + * Maximum number of search results returned per page. + */ + limit?: pulumi.Input; + /** + * URL relative to the next item in the response. + */ + next?: pulumi.Input; + /** + * Index of the first item returned in the response. + */ + offset?: pulumi.Input; + /** + * URL relative to the previous item in the response. + */ + previous?: pulumi.Input; + /** + * The total number of elements returned + */ + total?: pulumi.Input; + } + + export interface GetAdvertisedRoutesSort { + /** + * Sort direction, one of [ASC, DESC] + */ + direction?: string; + /** + * Property name to sort by + */ + property?: string; + } + + export interface GetAdvertisedRoutesSortArgs { + /** + * Sort direction, one of [ASC, DESC] + */ + direction?: pulumi.Input; + /** + * Property name to sort by + */ + property?: pulumi.Input; + } + export interface GetCloudRoutersFilter { /** * Possible operators to use on the filter property. Can be one of the following: [= - equal, != - not equal, > - greater than, >= - greater than or equal to, < - less than, <= - less than or equal to, [NOT] BETWEEN - (not) between, [NOT] LIKE - (not) like, [NOT] IN - (not) in @@ -1159,7 +1257,7 @@ export namespace fabric { */ operator: string; /** - * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] */ property: string; /** @@ -1178,7 +1276,7 @@ export namespace fabric { */ operator: pulumi.Input; /** - * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] */ property: pulumi.Input; /** @@ -1581,6 +1679,104 @@ export namespace fabric { property?: pulumi.Input; } + export interface GetReceivedRoutesFilter { + /** + * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + */ + operator: string; + /** + * possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + */ + property: string; + /** + * The values that you want to apply the property+operator combination to in order to filter your data search + */ + values: string[]; + } + + export interface GetReceivedRoutesFilterArgs { + /** + * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + */ + operator: pulumi.Input; + /** + * possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + */ + property: pulumi.Input; + /** + * The values that you want to apply the property+operator combination to in order to filter your data search + */ + values: pulumi.Input[]>; + } + + export interface GetReceivedRoutesPagination { + /** + * Maximum number of search results returned per page. + */ + limit?: number; + /** + * URL relative to the next item in the response. + */ + next?: string; + /** + * Index of the first item returned in the response. + */ + offset?: number; + /** + * URL relative to the previous item in the response. + */ + previous?: string; + /** + * The total number of elements returned + */ + total?: number; + } + + export interface GetReceivedRoutesPaginationArgs { + /** + * Maximum number of search results returned per page. + */ + limit?: pulumi.Input; + /** + * URL relative to the next item in the response. + */ + next?: pulumi.Input; + /** + * Index of the first item returned in the response. + */ + offset?: pulumi.Input; + /** + * URL relative to the previous item in the response. + */ + previous?: pulumi.Input; + /** + * The total number of elements returned + */ + total?: pulumi.Input; + } + + export interface GetReceivedRoutesSort { + /** + * Sort direction, one of [ASC, DESC] + */ + direction?: string; + /** + * Property name to sort by + */ + property?: string; + } + + export interface GetReceivedRoutesSortArgs { + /** + * Sort direction, one of [ASC, DESC] + */ + direction?: pulumi.Input; + /** + * Property name to sort by + */ + property?: pulumi.Input; + } + export interface GetRouteAggregationRulesPagination { /** * Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 @@ -3517,6 +3713,10 @@ export namespace fabric { * Link protocol configuration details */ linkProtocolConfig?: pulumi.Input; + /** + * Optional redundant connections + */ + selectiveRedundancy?: pulumi.Input; /** * Supported bandwidths */ @@ -5244,6 +5444,10 @@ export namespace networkedge { * IP Address. This field is relevant only for the Infoblox devices. */ ipAddress?: pulumi.Input; + /** + * Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + */ + ipAddressType?: pulumi.Input; /** * License id. This field is relevant only for the BlueCat DNS and DHCP Server */ @@ -5252,6 +5456,10 @@ export namespace networkedge { * License key. This field is relevant only for the BlueCat DNS and DHCP Server */ licenseKey?: pulumi.Input; + /** + * Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + */ + managementInterfaceId?: pulumi.Input; /** * Management Type. This field is relevant only for Cisco FTD Firewall devices */ @@ -5338,6 +5546,10 @@ export namespace networkedge { * IP Address. This field is relevant only for the Infoblox devices. */ ipAddress?: pulumi.Input; + /** + * Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + */ + ipAddressType?: pulumi.Input; /** * License id. This field is relevant only for the BlueCat DNS and DHCP Server */ @@ -5346,6 +5558,10 @@ export namespace networkedge { * License key. This field is relevant only for the BlueCat DNS and DHCP Server */ licenseKey?: pulumi.Input; + /** + * Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + */ + managementInterfaceId?: pulumi.Input; /** * Management Type. This field is relevant only for Cisco FTD Firewall devices */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 368dcff14..def44a6ad 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1021,6 +1021,164 @@ export namespace fabric { uuid?: string; } + export interface GetAdvertisedRoutesData { + /** + * List of supported AS Paths for the Advertised Routes. + */ + asPaths: string[]; + /** + * Change Log of the route table entry + */ + changeLog: outputs.fabric.GetAdvertisedRoutesDataChangeLog; + /** + * connection of the route table entry + */ + connection: outputs.fabric.GetAdvertisedRoutesDataConnection; + /** + * This field holds local preference of the advertised route. + */ + localPreference: number; + /** + * Multi-Exit Discriminator for the Advertised Route + */ + med: number; + /** + * Next Hop of the Advertised Route + */ + nextHop: string; + /** + * Prefix of the Advertised Route + */ + prefix: string; + /** + * Advertised Route protocol type + */ + protocolType: string; + /** + * State of the advertised Route + */ + state: string; + /** + * Indicator of a advertised route + */ + type: string; + } + + export interface GetAdvertisedRoutesDataChangeLog { + /** + * Created by User Key + */ + createdBy: string; + /** + * Created by User Email Address + */ + createdByEmail: string; + /** + * Created by User Full Name + */ + createdByFullName: string; + /** + * Created by User Date and Time + */ + createdDateTime: string; + /** + * Deleted by User Key + */ + deletedBy: string; + /** + * Deleted by User Email Address + */ + deletedByEmail: string; + /** + * Deleted by User Full Name + */ + deletedByFullName: string; + /** + * Deleted by User Date and Time + */ + deletedDateTime: string; + /** + * Updated by User Key + */ + updatedBy: string; + /** + * Updated by User Email Address + */ + updatedByEmail: string; + /** + * Updated by User Full Name + */ + updatedByFullName: string; + /** + * Updated by User Date and Time + */ + updatedDateTime: string; + } + + export interface GetAdvertisedRoutesDataConnection { + /** + * HREF of the Connection + */ + href: string; + /** + * Name of the Connection + */ + name: string; + /** + * UUID of the Connection + */ + uuid: string; + } + + export interface GetAdvertisedRoutesFilter { + /** + * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + */ + operator: string; + /** + * possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + */ + property: string; + /** + * The values that you want to apply the property+operator combination to in order to filter your data search + */ + values: string[]; + } + + export interface GetAdvertisedRoutesPagination { + /** + * Maximum number of search results returned per page. + */ + limit?: number; + /** + * URL relative to the next item in the response. + */ + next: string; + /** + * Index of the first item returned in the response. + */ + offset?: number; + /** + * URL relative to the previous item in the response. + */ + previous: string; + /** + * The total number of elements returned + */ + total: number; + } + + export interface GetAdvertisedRoutesSort { + /** + * Sort direction, one of [ASC, DESC] + */ + direction?: string; + /** + * Property name to sort by + */ + property?: string; + } + export interface GetCloudRouterAccount { /** * Account Number @@ -1186,10 +1344,6 @@ export namespace fabric { * Equinix ASN */ equinixAsn: number; - /** - * Number of gateway attachments associated with this Access point - */ - gatewayAttachmentsCount: number; /** * Fabric Cloud Router URI information */ @@ -3308,7 +3462,7 @@ export namespace fabric { */ operator: string; /** - * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + * Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] */ property: string; /** @@ -3414,6 +3568,10 @@ export namespace fabric { * Arrays of objects containing latency data for the specified metro */ connectedMetros: outputs.fabric.GetMetrosDataConnectedMetro[]; + /** + * Country in which the data center is located + */ + country: string; /** * Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. */ @@ -4851,6 +5009,164 @@ export namespace fabric { property?: string; } + export interface GetReceivedRoutesData { + /** + * List of supported AS Paths for the Received Routes. + */ + asPaths: string[]; + /** + * Change Log of the route table entry + */ + changeLog: outputs.fabric.GetReceivedRoutesDataChangeLog; + /** + * connection of the route table entry + */ + connection: outputs.fabric.GetReceivedRoutesDataConnection; + /** + * This field holds local preference of the received route. + */ + localPreference: number; + /** + * Multi-Exit Discriminator for the Received Route + */ + med: number; + /** + * Next Hop of the Received Route + */ + nextHop: string; + /** + * Prefix of the Received Route + */ + prefix: string; + /** + * Received Route protocol type + */ + protocolType: string; + /** + * State of the received Route + */ + state: string; + /** + * Indicator of a received route + */ + type: string; + } + + export interface GetReceivedRoutesDataChangeLog { + /** + * Created by User Key + */ + createdBy: string; + /** + * Created by User Email Address + */ + createdByEmail: string; + /** + * Created by User Full Name + */ + createdByFullName: string; + /** + * Created by User Date and Time + */ + createdDateTime: string; + /** + * Deleted by User Key + */ + deletedBy: string; + /** + * Deleted by User Email Address + */ + deletedByEmail: string; + /** + * Deleted by User Full Name + */ + deletedByFullName: string; + /** + * Deleted by User Date and Time + */ + deletedDateTime: string; + /** + * Updated by User Key + */ + updatedBy: string; + /** + * Updated by User Email Address + */ + updatedByEmail: string; + /** + * Updated by User Full Name + */ + updatedByFullName: string; + /** + * Updated by User Date and Time + */ + updatedDateTime: string; + } + + export interface GetReceivedRoutesDataConnection { + /** + * HREF of the Connection + */ + href: string; + /** + * Name of the Connection + */ + name: string; + /** + * UUID of the Connection + */ + uuid: string; + } + + export interface GetReceivedRoutesFilter { + /** + * Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + */ + operator: string; + /** + * possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + */ + property: string; + /** + * The values that you want to apply the property+operator combination to in order to filter your data search + */ + values: string[]; + } + + export interface GetReceivedRoutesPagination { + /** + * Maximum number of search results returned per page. + */ + limit?: number; + /** + * URL relative to the next item in the response. + */ + next: string; + /** + * Index of the first item returned in the response. + */ + offset?: number; + /** + * URL relative to the previous item in the response. + */ + previous: string; + /** + * The total number of elements returned + */ + total: number; + } + + export interface GetReceivedRoutesSort { + /** + * Sort direction, one of [ASC, DESC] + */ + direction?: string; + /** + * Property name to sort by + */ + property?: string; + } + export interface GetRouteAggregationChange { /** * Equinix auto generated URI to the route aggregation change @@ -5976,6 +6292,10 @@ export namespace fabric { * Link protocol configuration details */ linkProtocolConfig?: outputs.fabric.GetServiceProfileAccessPointTypeConfigLinkProtocolConfig; + /** + * Optional redundant connections + */ + selectiveRedundancy?: boolean; /** * Supported bandwidths */ @@ -6397,7 +6717,7 @@ export namespace fabric { */ tags: string[]; /** - * Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + * Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE */ type: string; /** @@ -6463,6 +6783,10 @@ export namespace fabric { * Link protocol configuration details */ linkProtocolConfig?: outputs.fabric.GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfig; + /** + * Optional redundant connections + */ + selectiveRedundancy?: boolean; /** * Supported bandwidths */ @@ -10142,6 +10466,10 @@ export namespace fabric { * Link protocol configuration details */ linkProtocolConfig?: outputs.fabric.ServiceProfileAccessPointTypeConfigLinkProtocolConfig; + /** + * Optional redundant connections + */ + selectiveRedundancy?: boolean; /** * Supported bandwidths */ @@ -12188,6 +12516,10 @@ export namespace networkedge { * IP Address. This field is relevant only for the Infoblox devices. */ ipAddress?: string; + /** + * Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + */ + ipAddressType?: string; /** * License id. This field is relevant only for the BlueCat DNS and DHCP Server */ @@ -12196,6 +12528,10 @@ export namespace networkedge { * License key. This field is relevant only for the BlueCat DNS and DHCP Server */ licenseKey?: string; + /** + * Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + */ + managementInterfaceId?: string; /** * Management Type. This field is relevant only for Cisco FTD Firewall devices */ @@ -12282,6 +12618,10 @@ export namespace networkedge { * IP Address. This field is relevant only for the Infoblox devices. */ ipAddress?: string; + /** + * Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + */ + ipAddressType?: string; /** * License id. This field is relevant only for the BlueCat DNS and DHCP Server */ @@ -12290,6 +12630,10 @@ export namespace networkedge { * License key. This field is relevant only for the BlueCat DNS and DHCP Server */ licenseKey?: string; + /** + * Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + */ + managementInterfaceId?: string; /** * Management Type. This field is relevant only for Cisco FTD Firewall devices */ @@ -12509,7 +12853,7 @@ export namespace networkedge { /** * Purchase order number associated with a device order. */ - purchaseOrderNumber?: string; + purchaseOrderNumber: string; /** * Device redundancy type applicable for HA devices, either primary or secondary. */ @@ -12967,7 +13311,7 @@ export namespace networkedge { */ uuid: string; /** - * Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + * Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) */ vendorConfiguration: {[key: string]: string}; /** diff --git a/sdk/python/pulumi_equinix/config/__init__.pyi b/sdk/python/pulumi_equinix/config/__init__.pyi index 50ffd1863..ac629ffa5 100644 --- a/sdk/python/pulumi_equinix/config/__init__.pyi +++ b/sdk/python/pulumi_equinix/config/__init__.pyi @@ -59,6 +59,13 @@ The maximum number of records in a single response for REST queries that produce specific) """ +stsEndpoint: Optional[str] +""" +The STS API base URL to point to the desired environment. This argument can also be specified with the +`EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is +an alpha feature and not available for all users. +""" + token: Optional[str] """ API tokens are generated from API Consumer clients using the [OAuth2 @@ -66,3 +73,26 @@ API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-acces This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. """ +tokenExchangeScope: Optional[str] +""" +The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. +This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that +token exchange is an alpha feature and not available for all users. +""" + +tokenExchangeSubjectToken: Optional[str] +""" +The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted +by Equinix STS. If not set, the provider will use the environment variable specified in +`token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all +users. +""" + +tokenExchangeSubjectTokenEnvVar: Optional[str] +""" +The name of the environment variable containing the subject token for token exchange. This argument can also be +specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to +`EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all +users. +""" + diff --git a/sdk/python/pulumi_equinix/config/vars.py b/sdk/python/pulumi_equinix/config/vars.py index 60dd2caff..0c06d2cec 100644 --- a/sdk/python/pulumi_equinix/config/vars.py +++ b/sdk/python/pulumi_equinix/config/vars.py @@ -81,6 +81,15 @@ def response_max_page_size(self) -> Optional[int]: """ return __config__.get_int('responseMaxPageSize') + @property + def sts_endpoint(self) -> Optional[str]: + """ + The STS API base URL to point to the desired environment. This argument can also be specified with the + `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + an alpha feature and not available for all users. + """ + return __config__.get('stsEndpoint') + @property def token(self) -> Optional[str]: """ @@ -90,3 +99,32 @@ def token(self) -> Optional[str]: """ return __config__.get('token') + @property + def token_exchange_scope(self) -> Optional[str]: + """ + The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + token exchange is an alpha feature and not available for all users. + """ + return __config__.get('tokenExchangeScope') + + @property + def token_exchange_subject_token(self) -> Optional[str]: + """ + The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + by Equinix STS. If not set, the provider will use the environment variable specified in + `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + users. + """ + return __config__.get('tokenExchangeSubjectToken') + + @property + def token_exchange_subject_token_env_var(self) -> Optional[str]: + """ + The name of the environment variable containing the subject token for token exchange. This argument can also be + specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + users. + """ + return __config__.get('tokenExchangeSubjectTokenEnvVar') + diff --git a/sdk/python/pulumi_equinix/fabric/__init__.py b/sdk/python/pulumi_equinix/fabric/__init__.py index f1f1ae8b5..610f90050 100644 --- a/sdk/python/pulumi_equinix/fabric/__init__.py +++ b/sdk/python/pulumi_equinix/fabric/__init__.py @@ -10,6 +10,7 @@ from .connection import * from .connection_route_aggregation import * from .connection_route_filter import * +from .get_advertised_routes import * from .get_cloud_router import * from .get_cloud_routers import * from .get_connection import * @@ -27,6 +28,7 @@ from .get_ports import * from .get_precision_time_service import * from .get_precision_time_services import * +from .get_received_routes import * from .get_route_aggregation import * from .get_route_aggregation_rule import * from .get_route_aggregation_rules import * diff --git a/sdk/python/pulumi_equinix/fabric/_inputs.py b/sdk/python/pulumi_equinix/fabric/_inputs.py index 1683c009a..655cf88cc 100644 --- a/sdk/python/pulumi_equinix/fabric/_inputs.py +++ b/sdk/python/pulumi_equinix/fabric/_inputs.py @@ -347,6 +347,12 @@ 'StreamSubscriptionTimeoutsArgsDict', 'StreamTimeoutsArgs', 'StreamTimeoutsArgsDict', + 'GetAdvertisedRoutesFilterArgs', + 'GetAdvertisedRoutesFilterArgsDict', + 'GetAdvertisedRoutesPaginationArgs', + 'GetAdvertisedRoutesPaginationArgsDict', + 'GetAdvertisedRoutesSortArgs', + 'GetAdvertisedRoutesSortArgsDict', 'GetCloudRoutersFilterArgs', 'GetCloudRoutersFilterArgsDict', 'GetCloudRoutersPaginationArgs', @@ -383,6 +389,12 @@ 'GetPrecisionTimeServicesPaginationArgsDict', 'GetPrecisionTimeServicesSortArgs', 'GetPrecisionTimeServicesSortArgsDict', + 'GetReceivedRoutesFilterArgs', + 'GetReceivedRoutesFilterArgsDict', + 'GetReceivedRoutesPaginationArgs', + 'GetReceivedRoutesPaginationArgsDict', + 'GetReceivedRoutesSortArgs', + 'GetReceivedRoutesSortArgsDict', 'GetRouteAggregationRulesPaginationArgs', 'GetRouteAggregationRulesPaginationArgsDict', 'GetRouteAggregationsFilterArgs', @@ -11117,6 +11129,10 @@ class ServiceProfileAccessPointTypeConfigArgsDict(TypedDict): """ Link protocol configuration details """ + selective_redundancy: NotRequired[pulumi.Input[bool]] + """ + Optional redundant connections + """ supported_bandwidths: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]] """ Supported bandwidths @@ -11143,6 +11159,7 @@ def __init__(__self__, *, connection_redundancy_required: Optional[pulumi.Input[bool]] = None, enable_auto_generate_service_key: Optional[pulumi.Input[bool]] = None, link_protocol_config: Optional[pulumi.Input['ServiceProfileAccessPointTypeConfigLinkProtocolConfigArgs']] = None, + selective_redundancy: Optional[pulumi.Input[bool]] = None, supported_bandwidths: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, uuid: Optional[pulumi.Input[str]] = None): """ @@ -11158,6 +11175,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] connection_redundancy_required: Mandate redundant connections :param pulumi.Input[bool] enable_auto_generate_service_key: Enable auto generate service key :param pulumi.Input['ServiceProfileAccessPointTypeConfigLinkProtocolConfigArgs'] link_protocol_config: Link protocol configuration details + :param pulumi.Input[bool] selective_redundancy: Optional redundant connections :param pulumi.Input[Sequence[pulumi.Input[int]]] supported_bandwidths: Supported bandwidths :param pulumi.Input[str] uuid: Colo/Port Uuid """ @@ -11184,6 +11202,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_auto_generate_service_key", enable_auto_generate_service_key) if link_protocol_config is not None: pulumi.set(__self__, "link_protocol_config", link_protocol_config) + if selective_redundancy is not None: + pulumi.set(__self__, "selective_redundancy", selective_redundancy) if supported_bandwidths is not None: pulumi.set(__self__, "supported_bandwidths", supported_bandwidths) if uuid is not None: @@ -11333,6 +11353,18 @@ def link_protocol_config(self) -> Optional[pulumi.Input['ServiceProfileAccessPoi def link_protocol_config(self, value: Optional[pulumi.Input['ServiceProfileAccessPointTypeConfigLinkProtocolConfigArgs']]): pulumi.set(self, "link_protocol_config", value) + @property + @pulumi.getter(name="selectiveRedundancy") + def selective_redundancy(self) -> Optional[pulumi.Input[bool]]: + """ + Optional redundant connections + """ + return pulumi.get(self, "selective_redundancy") + + @selective_redundancy.setter + def selective_redundancy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "selective_redundancy", value) + @property @pulumi.getter(name="supportedBandwidths") def supported_bandwidths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: @@ -17486,6 +17518,236 @@ def update(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "update", value) +if not MYPY: + class GetAdvertisedRoutesFilterArgsDict(TypedDict): + operator: str + """ + Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + """ + property: str + """ + possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + """ + values: Sequence[str] + """ + The values that you want to apply the property+operator combination to in order to filter your data search + """ +elif False: + GetAdvertisedRoutesFilterArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GetAdvertisedRoutesFilterArgs: + def __init__(__self__, *, + operator: str, + property: str, + values: Sequence[str]): + """ + :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + :param str property: possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def operator(self) -> str: + """ + Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: str): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + The values that you want to apply the property+operator combination to in order to filter your data search + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + @property + @pulumi.getter + def property(self) -> str: + """ + possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + """ + return pulumi.get(self, "property") + + @property.setter + def property(self, value: str): + pulumi.set(self, "property", value) + + +if not MYPY: + class GetAdvertisedRoutesPaginationArgsDict(TypedDict): + next: str + """ + URL relative to the next item in the response. + """ + previous: str + """ + URL relative to the previous item in the response. + """ + total: int + """ + The total number of elements returned + """ + limit: NotRequired[int] + """ + Maximum number of search results returned per page. + """ + offset: NotRequired[int] + """ + Index of the first item returned in the response. + """ +elif False: + GetAdvertisedRoutesPaginationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GetAdvertisedRoutesPaginationArgs: + def __init__(__self__, *, + next: str, + previous: str, + total: int, + limit: Optional[int] = None, + offset: Optional[int] = None): + """ + :param str next: URL relative to the next item in the response. + :param str previous: URL relative to the previous item in the response. + :param int total: The total number of elements returned + :param int limit: Maximum number of search results returned per page. + :param int offset: Index of the first item returned in the response. + """ + pulumi.set(__self__, "next", next) + pulumi.set(__self__, "previous", previous) + pulumi.set(__self__, "total", total) + if limit is not None: + pulumi.set(__self__, "limit", limit) + if offset is not None: + pulumi.set(__self__, "offset", offset) + + @property + @pulumi.getter + def next(self) -> str: + """ + URL relative to the next item in the response. + """ + return pulumi.get(self, "next") + + @next.setter + def next(self, value: str): + pulumi.set(self, "next", value) + + @property + @pulumi.getter + def previous(self) -> str: + """ + URL relative to the previous item in the response. + """ + return pulumi.get(self, "previous") + + @previous.setter + def previous(self, value: str): + pulumi.set(self, "previous", value) + + @property + @pulumi.getter + def total(self) -> int: + """ + The total number of elements returned + """ + return pulumi.get(self, "total") + + @total.setter + def total(self, value: int): + pulumi.set(self, "total", value) + + @property + @pulumi.getter + def limit(self) -> Optional[int]: + """ + Maximum number of search results returned per page. + """ + return pulumi.get(self, "limit") + + @limit.setter + def limit(self, value: Optional[int]): + pulumi.set(self, "limit", value) + + @property + @pulumi.getter + def offset(self) -> Optional[int]: + """ + Index of the first item returned in the response. + """ + return pulumi.get(self, "offset") + + @offset.setter + def offset(self, value: Optional[int]): + pulumi.set(self, "offset", value) + + +if not MYPY: + class GetAdvertisedRoutesSortArgsDict(TypedDict): + direction: NotRequired[str] + """ + Sort direction, one of [ASC, DESC] + """ + property: NotRequired[str] + """ + Property name to sort by + """ +elif False: + GetAdvertisedRoutesSortArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GetAdvertisedRoutesSortArgs: + def __init__(__self__, *, + direction: Optional[str] = None, + property: Optional[str] = None): + """ + :param str direction: Sort direction, one of [ASC, DESC] + :param str property: Property name to sort by + """ + if direction is not None: + pulumi.set(__self__, "direction", direction) + if property is not None: + pulumi.set(__self__, "property", property) + + @property + @pulumi.getter + def direction(self) -> Optional[str]: + """ + Sort direction, one of [ASC, DESC] + """ + return pulumi.get(self, "direction") + + @direction.setter + def direction(self, value: Optional[str]): + pulumi.set(self, "direction", value) + + @property + @pulumi.getter + def property(self) -> Optional[str]: + """ + Property name to sort by + """ + return pulumi.get(self, "property") + + @property.setter + def property(self, value: Optional[str]): + pulumi.set(self, "property", value) + + if not MYPY: class GetCloudRoutersFilterArgsDict(TypedDict): operator: str @@ -17794,7 +18056,7 @@ class GetConnectionsFilterArgsDict(TypedDict): """ property: str """ - Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] """ values: Sequence[str] """ @@ -17816,7 +18078,7 @@ def __init__(__self__, *, group: Optional[str] = None): """ :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] - :param str property: Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + :param str property: Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search :param str group: Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. """ @@ -17866,7 +18128,7 @@ def group(self, value: Optional[str]): @pulumi.getter def property(self) -> str: """ - Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] """ return pulumi.get(self, "property") @@ -18804,6 +19066,236 @@ def property(self, value: Optional[str]): pulumi.set(self, "property", value) +if not MYPY: + class GetReceivedRoutesFilterArgsDict(TypedDict): + operator: str + """ + Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + """ + property: str + """ + possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + """ + values: Sequence[str] + """ + The values that you want to apply the property+operator combination to in order to filter your data search + """ +elif False: + GetReceivedRoutesFilterArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GetReceivedRoutesFilterArgs: + def __init__(__self__, *, + operator: str, + property: str, + values: Sequence[str]): + """ + :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + :param str property: possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def operator(self) -> str: + """ + Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: str): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + The values that you want to apply the property+operator combination to in order to filter your data search + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Sequence[str]): + pulumi.set(self, "values", value) + + @property + @pulumi.getter + def property(self) -> str: + """ + possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + """ + return pulumi.get(self, "property") + + @property.setter + def property(self, value: str): + pulumi.set(self, "property", value) + + +if not MYPY: + class GetReceivedRoutesPaginationArgsDict(TypedDict): + next: str + """ + URL relative to the next item in the response. + """ + previous: str + """ + URL relative to the previous item in the response. + """ + total: int + """ + The total number of elements returned + """ + limit: NotRequired[int] + """ + Maximum number of search results returned per page. + """ + offset: NotRequired[int] + """ + Index of the first item returned in the response. + """ +elif False: + GetReceivedRoutesPaginationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GetReceivedRoutesPaginationArgs: + def __init__(__self__, *, + next: str, + previous: str, + total: int, + limit: Optional[int] = None, + offset: Optional[int] = None): + """ + :param str next: URL relative to the next item in the response. + :param str previous: URL relative to the previous item in the response. + :param int total: The total number of elements returned + :param int limit: Maximum number of search results returned per page. + :param int offset: Index of the first item returned in the response. + """ + pulumi.set(__self__, "next", next) + pulumi.set(__self__, "previous", previous) + pulumi.set(__self__, "total", total) + if limit is not None: + pulumi.set(__self__, "limit", limit) + if offset is not None: + pulumi.set(__self__, "offset", offset) + + @property + @pulumi.getter + def next(self) -> str: + """ + URL relative to the next item in the response. + """ + return pulumi.get(self, "next") + + @next.setter + def next(self, value: str): + pulumi.set(self, "next", value) + + @property + @pulumi.getter + def previous(self) -> str: + """ + URL relative to the previous item in the response. + """ + return pulumi.get(self, "previous") + + @previous.setter + def previous(self, value: str): + pulumi.set(self, "previous", value) + + @property + @pulumi.getter + def total(self) -> int: + """ + The total number of elements returned + """ + return pulumi.get(self, "total") + + @total.setter + def total(self, value: int): + pulumi.set(self, "total", value) + + @property + @pulumi.getter + def limit(self) -> Optional[int]: + """ + Maximum number of search results returned per page. + """ + return pulumi.get(self, "limit") + + @limit.setter + def limit(self, value: Optional[int]): + pulumi.set(self, "limit", value) + + @property + @pulumi.getter + def offset(self) -> Optional[int]: + """ + Index of the first item returned in the response. + """ + return pulumi.get(self, "offset") + + @offset.setter + def offset(self, value: Optional[int]): + pulumi.set(self, "offset", value) + + +if not MYPY: + class GetReceivedRoutesSortArgsDict(TypedDict): + direction: NotRequired[str] + """ + Sort direction, one of [ASC, DESC] + """ + property: NotRequired[str] + """ + Property name to sort by + """ +elif False: + GetReceivedRoutesSortArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GetReceivedRoutesSortArgs: + def __init__(__self__, *, + direction: Optional[str] = None, + property: Optional[str] = None): + """ + :param str direction: Sort direction, one of [ASC, DESC] + :param str property: Property name to sort by + """ + if direction is not None: + pulumi.set(__self__, "direction", direction) + if property is not None: + pulumi.set(__self__, "property", property) + + @property + @pulumi.getter + def direction(self) -> Optional[str]: + """ + Sort direction, one of [ASC, DESC] + """ + return pulumi.get(self, "direction") + + @direction.setter + def direction(self, value: Optional[str]): + pulumi.set(self, "direction", value) + + @property + @pulumi.getter + def property(self) -> Optional[str]: + """ + Property name to sort by + """ + return pulumi.get(self, "property") + + @property.setter + def property(self, value: Optional[str]): + pulumi.set(self, "property", value) + + if not MYPY: class GetRouteAggregationRulesPaginationArgsDict(TypedDict): limit: int diff --git a/sdk/python/pulumi_equinix/fabric/cloud_router.py b/sdk/python/pulumi_equinix/fabric/cloud_router.py index 5a187ac76..5bc40503b 100644 --- a/sdk/python/pulumi_equinix/fabric/cloud_router.py +++ b/sdk/python/pulumi_equinix/fabric/cloud_router.py @@ -221,7 +221,6 @@ def __init__(__self__, *, connections_count: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, equinix_asn: Optional[pulumi.Input[int]] = None, - gateway_attachments_count: Optional[pulumi.Input[int]] = None, href: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input['CloudRouterLocationArgs']] = None, marketplace_subscription: Optional[pulumi.Input['CloudRouterMarketplaceSubscriptionArgs']] = None, @@ -240,7 +239,6 @@ def __init__(__self__, *, :param pulumi.Input[int] connections_count: Number of connections associated with this Fabric Cloud Router instance :param pulumi.Input[str] description: Customer-provided Fabric Cloud Router description :param pulumi.Input[int] equinix_asn: Equinix ASN - :param pulumi.Input[int] gateway_attachments_count: Number of gateway attachments associated with this Access point :param pulumi.Input[str] href: Fabric Cloud Router URI information :param pulumi.Input['CloudRouterLocationArgs'] location: Fabric Cloud Router location :param pulumi.Input['CloudRouterMarketplaceSubscriptionArgs'] marketplace_subscription: Equinix Fabric Entity for Marketplace Subscription @@ -263,8 +261,6 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if equinix_asn is not None: pulumi.set(__self__, "equinix_asn", equinix_asn) - if gateway_attachments_count is not None: - pulumi.set(__self__, "gateway_attachments_count", gateway_attachments_count) if href is not None: pulumi.set(__self__, "href", href) if location is not None: @@ -348,18 +344,6 @@ def equinix_asn(self) -> Optional[pulumi.Input[int]]: def equinix_asn(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "equinix_asn", value) - @property - @pulumi.getter(name="gatewayAttachmentsCount") - def gateway_attachments_count(self) -> Optional[pulumi.Input[int]]: - """ - Number of gateway attachments associated with this Access point - """ - return pulumi.get(self, "gateway_attachments_count") - - @gateway_attachments_count.setter - def gateway_attachments_count(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "gateway_attachments_count", value) - @property @pulumi.getter def href(self) -> Optional[pulumi.Input[str]]: @@ -550,38 +534,6 @@ def __init__(__self__, "account_number": 203612, }) ``` - ### example 2 - ```python - import pulumi - import pulumi_equinix as equinix - - new_cloud_router = equinix.fabric.CloudRouter("newCloudRouter", - name="Router-SV", - type="XF_ROUTER", - notifications=[{ - "type": "ALL", - "emails": [ - "example@equinix.com", - "test1@equinix.com", - ], - }], - order={ - "purchase_order_number": "1-323292", - }, - location={ - "metro_code": "SV", - }, - package={ - "code": "STANDARD", - }, - project={ - "project_id": "776847000642406", - }, - marketplace_subscription={ - "type": "AWS_MARKETPLACE_SUBSCRIPTION", - "uuid": "2823b8ae07-a2a2-45b4-a658-c3542bb24e9", - }) - ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -643,38 +595,6 @@ def __init__(__self__, "account_number": 203612, }) ``` - ### example 2 - ```python - import pulumi - import pulumi_equinix as equinix - - new_cloud_router = equinix.fabric.CloudRouter("newCloudRouter", - name="Router-SV", - type="XF_ROUTER", - notifications=[{ - "type": "ALL", - "emails": [ - "example@equinix.com", - "test1@equinix.com", - ], - }], - order={ - "purchase_order_number": "1-323292", - }, - location={ - "metro_code": "SV", - }, - package={ - "code": "STANDARD", - }, - project={ - "project_id": "776847000642406", - }, - marketplace_subscription={ - "type": "AWS_MARKETPLACE_SUBSCRIPTION", - "uuid": "2823b8ae07-a2a2-45b4-a658-c3542bb24e9", - }) - ``` :param str resource_name: The name of the resource. :param CloudRouterArgs args: The arguments to use to populate this resource's properties. @@ -737,7 +657,6 @@ def _internal_init(__self__, __props__.__dict__["change_logs"] = None __props__.__dict__["connections_count"] = None __props__.__dict__["equinix_asn"] = None - __props__.__dict__["gateway_attachments_count"] = None __props__.__dict__["state"] = None super(CloudRouter, __self__).__init__( 'equinix:fabric/cloudRouter:CloudRouter', @@ -754,7 +673,6 @@ def get(resource_name: str, connections_count: Optional[pulumi.Input[int]] = None, description: Optional[pulumi.Input[str]] = None, equinix_asn: Optional[pulumi.Input[int]] = None, - gateway_attachments_count: Optional[pulumi.Input[int]] = None, href: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[Union['CloudRouterLocationArgs', 'CloudRouterLocationArgsDict']]] = None, marketplace_subscription: Optional[pulumi.Input[Union['CloudRouterMarketplaceSubscriptionArgs', 'CloudRouterMarketplaceSubscriptionArgsDict']]] = None, @@ -778,7 +696,6 @@ def get(resource_name: str, :param pulumi.Input[int] connections_count: Number of connections associated with this Fabric Cloud Router instance :param pulumi.Input[str] description: Customer-provided Fabric Cloud Router description :param pulumi.Input[int] equinix_asn: Equinix ASN - :param pulumi.Input[int] gateway_attachments_count: Number of gateway attachments associated with this Access point :param pulumi.Input[str] href: Fabric Cloud Router URI information :param pulumi.Input[Union['CloudRouterLocationArgs', 'CloudRouterLocationArgsDict']] location: Fabric Cloud Router location :param pulumi.Input[Union['CloudRouterMarketplaceSubscriptionArgs', 'CloudRouterMarketplaceSubscriptionArgsDict']] marketplace_subscription: Equinix Fabric Entity for Marketplace Subscription @@ -800,7 +717,6 @@ def get(resource_name: str, __props__.__dict__["connections_count"] = connections_count __props__.__dict__["description"] = description __props__.__dict__["equinix_asn"] = equinix_asn - __props__.__dict__["gateway_attachments_count"] = gateway_attachments_count __props__.__dict__["href"] = href __props__.__dict__["location"] = location __props__.__dict__["marketplace_subscription"] = marketplace_subscription @@ -854,14 +770,6 @@ def equinix_asn(self) -> pulumi.Output[int]: """ return pulumi.get(self, "equinix_asn") - @property - @pulumi.getter(name="gatewayAttachmentsCount") - def gateway_attachments_count(self) -> pulumi.Output[int]: - """ - Number of gateway attachments associated with this Access point - """ - return pulumi.get(self, "gateway_attachments_count") - @property @pulumi.getter def href(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_equinix/fabric/get_cloud_router.py b/sdk/python/pulumi_equinix/fabric/get_cloud_router.py index e22c2cf88..8c33deada 100644 --- a/sdk/python/pulumi_equinix/fabric/get_cloud_router.py +++ b/sdk/python/pulumi_equinix/fabric/get_cloud_router.py @@ -27,7 +27,7 @@ class GetCloudRouterResult: """ A collection of values returned by getCloudRouter. """ - def __init__(__self__, accounts=None, change_logs=None, connections_count=None, description=None, equinix_asn=None, gateway_attachments_count=None, href=None, id=None, locations=None, marketplace_subscriptions=None, name=None, notifications=None, orders=None, packages=None, projects=None, state=None, type=None, uuid=None): + def __init__(__self__, accounts=None, change_logs=None, connections_count=None, description=None, equinix_asn=None, href=None, id=None, locations=None, marketplace_subscriptions=None, name=None, notifications=None, orders=None, packages=None, projects=None, state=None, type=None, uuid=None): if accounts and not isinstance(accounts, list): raise TypeError("Expected argument 'accounts' to be a list") pulumi.set(__self__, "accounts", accounts) @@ -43,9 +43,6 @@ def __init__(__self__, accounts=None, change_logs=None, connections_count=None, if equinix_asn and not isinstance(equinix_asn, int): raise TypeError("Expected argument 'equinix_asn' to be a int") pulumi.set(__self__, "equinix_asn", equinix_asn) - if gateway_attachments_count and not isinstance(gateway_attachments_count, int): - raise TypeError("Expected argument 'gateway_attachments_count' to be a int") - pulumi.set(__self__, "gateway_attachments_count", gateway_attachments_count) if href and not isinstance(href, str): raise TypeError("Expected argument 'href' to be a str") pulumi.set(__self__, "href", href) @@ -123,14 +120,6 @@ def equinix_asn(self) -> int: """ return pulumi.get(self, "equinix_asn") - @property - @pulumi.getter(name="gatewayAttachmentsCount") - def gateway_attachments_count(self) -> int: - """ - Number of gateway attachments associated with this Access point - """ - return pulumi.get(self, "gateway_attachments_count") - @property @pulumi.getter def href(self) -> str: @@ -239,7 +228,6 @@ def __await__(self): connections_count=self.connections_count, description=self.description, equinix_asn=self.equinix_asn, - gateway_attachments_count=self.gateway_attachments_count, href=self.href, id=self.id, locations=self.locations, @@ -296,7 +284,6 @@ def get_cloud_router(uuid: Optional[str] = None, connections_count=pulumi.get(__ret__, 'connections_count'), description=pulumi.get(__ret__, 'description'), equinix_asn=pulumi.get(__ret__, 'equinix_asn'), - gateway_attachments_count=pulumi.get(__ret__, 'gateway_attachments_count'), href=pulumi.get(__ret__, 'href'), id=pulumi.get(__ret__, 'id'), locations=pulumi.get(__ret__, 'locations'), @@ -350,7 +337,6 @@ def get_cloud_router_output(uuid: Optional[pulumi.Input[str]] = None, connections_count=pulumi.get(__response__, 'connections_count'), description=pulumi.get(__response__, 'description'), equinix_asn=pulumi.get(__response__, 'equinix_asn'), - gateway_attachments_count=pulumi.get(__response__, 'gateway_attachments_count'), href=pulumi.get(__response__, 'href'), id=pulumi.get(__response__, 'id'), locations=pulumi.get(__response__, 'locations'), diff --git a/sdk/python/pulumi_equinix/fabric/get_metro.py b/sdk/python/pulumi_equinix/fabric/get_metro.py index 5eff19ebe..7552083f2 100644 --- a/sdk/python/pulumi_equinix/fabric/get_metro.py +++ b/sdk/python/pulumi_equinix/fabric/get_metro.py @@ -27,13 +27,16 @@ class GetMetroResult: """ A collection of values returned by getMetro. """ - def __init__(__self__, code=None, connected_metros=None, equinix_asn=None, geo_coordinates=None, geo_scopes=None, href=None, id=None, local_vc_bandwidth_max=None, metro_code=None, name=None, region=None, type=None): + def __init__(__self__, code=None, connected_metros=None, country=None, equinix_asn=None, geo_coordinates=None, geo_scopes=None, href=None, id=None, local_vc_bandwidth_max=None, metro_code=None, name=None, region=None, type=None): if code and not isinstance(code, str): raise TypeError("Expected argument 'code' to be a str") pulumi.set(__self__, "code", code) if connected_metros and not isinstance(connected_metros, list): raise TypeError("Expected argument 'connected_metros' to be a list") pulumi.set(__self__, "connected_metros", connected_metros) + if country and not isinstance(country, str): + raise TypeError("Expected argument 'country' to be a str") + pulumi.set(__self__, "country", country) if equinix_asn and not isinstance(equinix_asn, int): raise TypeError("Expected argument 'equinix_asn' to be a int") pulumi.set(__self__, "equinix_asn", equinix_asn) @@ -81,6 +84,14 @@ def connected_metros(self) -> Sequence['outputs.GetMetroConnectedMetroResult']: """ return pulumi.get(self, "connected_metros") + @property + @pulumi.getter + def country(self) -> str: + """ + Country in which the data center is located + """ + return pulumi.get(self, "country") + @property @pulumi.getter(name="equinixAsn") def equinix_asn(self) -> int: @@ -170,6 +181,7 @@ def __await__(self): return GetMetroResult( code=self.code, connected_metros=self.connected_metros, + country=self.country, equinix_asn=self.equinix_asn, geo_coordinates=self.geo_coordinates, geo_scopes=self.geo_scopes, @@ -214,6 +226,7 @@ def get_metro(metro_code: Optional[str] = None, return AwaitableGetMetroResult( code=pulumi.get(__ret__, 'code'), connected_metros=pulumi.get(__ret__, 'connected_metros'), + country=pulumi.get(__ret__, 'country'), equinix_asn=pulumi.get(__ret__, 'equinix_asn'), geo_coordinates=pulumi.get(__ret__, 'geo_coordinates'), geo_scopes=pulumi.get(__ret__, 'geo_scopes'), @@ -255,6 +268,7 @@ def get_metro_output(metro_code: Optional[pulumi.Input[str]] = None, return __ret__.apply(lambda __response__: GetMetroResult( code=pulumi.get(__response__, 'code'), connected_metros=pulumi.get(__response__, 'connected_metros'), + country=pulumi.get(__response__, 'country'), equinix_asn=pulumi.get(__response__, 'equinix_asn'), geo_coordinates=pulumi.get(__response__, 'geo_coordinates'), geo_scopes=pulumi.get(__response__, 'geo_scopes'), diff --git a/sdk/python/pulumi_equinix/fabric/get_ports.py b/sdk/python/pulumi_equinix/fabric/get_ports.py index 5bdd3e504..051456767 100644 --- a/sdk/python/pulumi_equinix/fabric/get_ports.py +++ b/sdk/python/pulumi_equinix/fabric/get_ports.py @@ -28,13 +28,16 @@ class GetPortsResult: """ A collection of values returned by getPorts. """ - def __init__(__self__, data=None, filter=None, id=None): + def __init__(__self__, data=None, filter=None, filters=None, id=None): if data and not isinstance(data, list): raise TypeError("Expected argument 'data' to be a list") pulumi.set(__self__, "data", data) if filter and not isinstance(filter, dict): raise TypeError("Expected argument 'filter' to be a dict") pulumi.set(__self__, "filter", filter) + if filters and not isinstance(filters, list): + raise TypeError("Expected argument 'filters' to be a list") + pulumi.set(__self__, "filters", filters) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -49,12 +52,21 @@ def data(self) -> Sequence['outputs.GetPortsDatumResult']: @property @pulumi.getter - def filter(self) -> 'outputs.GetPortsFilterResult': + @_utilities.deprecated("""Use 'filter' instead.""") + def filter(self) -> Optional['outputs.GetPortsFilterResult']: """ - name + (Deprecated) Use 'filter' instead. """ return pulumi.get(self, "filter") + @property + @pulumi.getter + def filters(self) -> Optional[Sequence['outputs.GetPortsFilterResult']]: + """ + List of filter objects for SearchPorts API. Each filter must have property, operator, and value. + """ + return pulumi.get(self, "filters") + @property @pulumi.getter def id(self) -> str: @@ -72,13 +84,15 @@ def __await__(self): return GetPortsResult( data=self.data, filter=self.filter, + filters=self.filters, id=self.id) def get_ports(filter: Optional[Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict']] = None, + filters: Optional[Sequence[Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict']]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPortsResult: """ - Fabric V4 API compatible data resource that allow user to fetch port by name + Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid Additional documentation: * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -110,21 +124,25 @@ def get_ports(filter: Optional[Union['GetPortsFilterArgs', 'GetPortsFilterArgsDi ``` - :param Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict'] filter: name + :param Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict'] filter: (Deprecated) Use 'filter' instead. + :param Sequence[Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict']] filters: List of filter objects for SearchPorts API. Each filter must have property, operator, and value. """ __args__ = dict() __args__['filter'] = filter + __args__['filters'] = filters opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('equinix:fabric/getPorts:getPorts', __args__, opts=opts, typ=GetPortsResult).value return AwaitableGetPortsResult( data=pulumi.get(__ret__, 'data'), filter=pulumi.get(__ret__, 'filter'), + filters=pulumi.get(__ret__, 'filters'), id=pulumi.get(__ret__, 'id')) -def get_ports_output(filter: Optional[pulumi.Input[Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict']]] = None, +def get_ports_output(filter: Optional[pulumi.Input[Optional[Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict']]]] = None, + filters: Optional[pulumi.Input[Optional[Sequence[Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict']]]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPortsResult]: """ - Fabric V4 API compatible data resource that allow user to fetch port by name + Fabric V4 API compatible data resource that allow user to fetch ports by name or uuid Additional documentation: * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/Fabric/IMPLEMENTATION/fabric-ports-implement.htm @@ -156,13 +174,16 @@ def get_ports_output(filter: Optional[pulumi.Input[Union['GetPortsFilterArgs', ' ``` - :param Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict'] filter: name + :param Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict'] filter: (Deprecated) Use 'filter' instead. + :param Sequence[Union['GetPortsFilterArgs', 'GetPortsFilterArgsDict']] filters: List of filter objects for SearchPorts API. Each filter must have property, operator, and value. """ __args__ = dict() __args__['filter'] = filter + __args__['filters'] = filters opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('equinix:fabric/getPorts:getPorts', __args__, opts=opts, typ=GetPortsResult) return __ret__.apply(lambda __response__: GetPortsResult( data=pulumi.get(__response__, 'data'), filter=pulumi.get(__response__, 'filter'), + filters=pulumi.get(__response__, 'filters'), id=pulumi.get(__response__, 'id'))) diff --git a/sdk/python/pulumi_equinix/fabric/get_service_profile.py b/sdk/python/pulumi_equinix/fabric/get_service_profile.py index dfde4b053..3494c1d39 100644 --- a/sdk/python/pulumi_equinix/fabric/get_service_profile.py +++ b/sdk/python/pulumi_equinix/fabric/get_service_profile.py @@ -235,7 +235,7 @@ def tags(self) -> Sequence[str]: @pulumi.getter def type(self) -> str: """ - Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_equinix/fabric/outputs.py b/sdk/python/pulumi_equinix/fabric/outputs.py index 2004e8243..079493c99 100644 --- a/sdk/python/pulumi_equinix/fabric/outputs.py +++ b/sdk/python/pulumi_equinix/fabric/outputs.py @@ -183,6 +183,12 @@ 'StreamSubscriptionSinkSettings', 'StreamSubscriptionTimeouts', 'StreamTimeouts', + 'GetAdvertisedRoutesDataResult', + 'GetAdvertisedRoutesDataChangeLogResult', + 'GetAdvertisedRoutesDataConnectionResult', + 'GetAdvertisedRoutesFilterResult', + 'GetAdvertisedRoutesPaginationResult', + 'GetAdvertisedRoutesSortResult', 'GetCloudRouterAccountResult', 'GetCloudRouterChangeLogResult', 'GetCloudRouterLocationResult', @@ -365,6 +371,12 @@ 'GetPrecisionTimeServicesFilterResult', 'GetPrecisionTimeServicesPaginationResult', 'GetPrecisionTimeServicesSortResult', + 'GetReceivedRoutesDataResult', + 'GetReceivedRoutesDataChangeLogResult', + 'GetReceivedRoutesDataConnectionResult', + 'GetReceivedRoutesFilterResult', + 'GetReceivedRoutesPaginationResult', + 'GetReceivedRoutesSortResult', 'GetRouteAggregationChangeResult', 'GetRouteAggregationChangeLogResult', 'GetRouteAggregationProjectResult', @@ -8360,6 +8372,8 @@ def __key_warning(key: str): suggest = "enable_auto_generate_service_key" elif key == "linkProtocolConfig": suggest = "link_protocol_config" + elif key == "selectiveRedundancy": + suggest = "selective_redundancy" elif key == "supportedBandwidths": suggest = "supported_bandwidths" @@ -8387,6 +8401,7 @@ def __init__(__self__, *, connection_redundancy_required: Optional[bool] = None, enable_auto_generate_service_key: Optional[bool] = None, link_protocol_config: Optional['outputs.ServiceProfileAccessPointTypeConfigLinkProtocolConfig'] = None, + selective_redundancy: Optional[bool] = None, supported_bandwidths: Optional[Sequence[int]] = None, uuid: Optional[str] = None): """ @@ -8402,6 +8417,7 @@ def __init__(__self__, *, :param bool connection_redundancy_required: Mandate redundant connections :param bool enable_auto_generate_service_key: Enable auto generate service key :param 'ServiceProfileAccessPointTypeConfigLinkProtocolConfigArgs' link_protocol_config: Link protocol configuration details + :param bool selective_redundancy: Optional redundant connections :param Sequence[int] supported_bandwidths: Supported bandwidths :param str uuid: Colo/Port Uuid """ @@ -8428,6 +8444,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_auto_generate_service_key", enable_auto_generate_service_key) if link_protocol_config is not None: pulumi.set(__self__, "link_protocol_config", link_protocol_config) + if selective_redundancy is not None: + pulumi.set(__self__, "selective_redundancy", selective_redundancy) if supported_bandwidths is not None: pulumi.set(__self__, "supported_bandwidths", supported_bandwidths) if uuid is not None: @@ -8529,6 +8547,14 @@ def link_protocol_config(self) -> Optional['outputs.ServiceProfileAccessPointTyp """ return pulumi.get(self, "link_protocol_config") + @property + @pulumi.getter(name="selectiveRedundancy") + def selective_redundancy(self) -> Optional[bool]: + """ + Optional redundant connections + """ + return pulumi.get(self, "selective_redundancy") + @property @pulumi.getter(name="supportedBandwidths") def supported_bandwidths(self) -> Optional[Sequence[int]]: @@ -13093,25 +13119,124 @@ def update(self) -> Optional[str]: @pulumi.output_type -class GetCloudRouterAccountResult(dict): +class GetAdvertisedRoutesDataResult(dict): def __init__(__self__, *, - account_number: int): + as_paths: Sequence[str], + change_log: 'outputs.GetAdvertisedRoutesDataChangeLogResult', + connection: 'outputs.GetAdvertisedRoutesDataConnectionResult', + local_preference: int, + med: int, + next_hop: str, + prefix: str, + protocol_type: str, + state: str, + type: str): """ - :param int account_number: Account Number + :param Sequence[str] as_paths: List of supported AS Paths for the Advertised Routes. + :param 'GetAdvertisedRoutesDataChangeLogArgs' change_log: Change Log of the route table entry + :param 'GetAdvertisedRoutesDataConnectionArgs' connection: connection of the route table entry + :param int local_preference: This field holds local preference of the advertised route. + :param int med: Multi-Exit Discriminator for the Advertised Route + :param str next_hop: Next Hop of the Advertised Route + :param str prefix: Prefix of the Advertised Route + :param str protocol_type: Advertised Route protocol type + :param str state: State of the advertised Route + :param str type: Indicator of a advertised route + """ + pulumi.set(__self__, "as_paths", as_paths) + pulumi.set(__self__, "change_log", change_log) + pulumi.set(__self__, "connection", connection) + pulumi.set(__self__, "local_preference", local_preference) + pulumi.set(__self__, "med", med) + pulumi.set(__self__, "next_hop", next_hop) + pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "protocol_type", protocol_type) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="asPaths") + def as_paths(self) -> Sequence[str]: """ - pulumi.set(__self__, "account_number", account_number) + List of supported AS Paths for the Advertised Routes. + """ + return pulumi.get(self, "as_paths") @property - @pulumi.getter(name="accountNumber") - def account_number(self) -> int: + @pulumi.getter(name="changeLog") + def change_log(self) -> 'outputs.GetAdvertisedRoutesDataChangeLogResult': """ - Account Number + Change Log of the route table entry """ - return pulumi.get(self, "account_number") + return pulumi.get(self, "change_log") + + @property + @pulumi.getter + def connection(self) -> 'outputs.GetAdvertisedRoutesDataConnectionResult': + """ + connection of the route table entry + """ + return pulumi.get(self, "connection") + + @property + @pulumi.getter(name="localPreference") + def local_preference(self) -> int: + """ + This field holds local preference of the advertised route. + """ + return pulumi.get(self, "local_preference") + + @property + @pulumi.getter + def med(self) -> int: + """ + Multi-Exit Discriminator for the Advertised Route + """ + return pulumi.get(self, "med") + + @property + @pulumi.getter(name="nextHop") + def next_hop(self) -> str: + """ + Next Hop of the Advertised Route + """ + return pulumi.get(self, "next_hop") + + @property + @pulumi.getter + def prefix(self) -> str: + """ + Prefix of the Advertised Route + """ + return pulumi.get(self, "prefix") + + @property + @pulumi.getter(name="protocolType") + def protocol_type(self) -> str: + """ + Advertised Route protocol type + """ + return pulumi.get(self, "protocol_type") + + @property + @pulumi.getter + def state(self) -> str: + """ + State of the advertised Route + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def type(self) -> str: + """ + Indicator of a advertised route + """ + return pulumi.get(self, "type") @pulumi.output_type -class GetCloudRouterChangeLogResult(dict): +class GetAdvertisedRoutesDataChangeLogResult(dict): def __init__(__self__, *, created_by: str, created_by_email: str, @@ -13129,15 +13254,15 @@ def __init__(__self__, *, :param str created_by: Created by User Key :param str created_by_email: Created by User Email Address :param str created_by_full_name: Created by User Full Name - :param str created_date_time: Created by Date and Time + :param str created_date_time: Created by User Date and Time :param str deleted_by: Deleted by User Key :param str deleted_by_email: Deleted by User Email Address :param str deleted_by_full_name: Deleted by User Full Name - :param str deleted_date_time: Deleted by Date and Time + :param str deleted_date_time: Deleted by User Date and Time :param str updated_by: Updated by User Key :param str updated_by_email: Updated by User Email Address :param str updated_by_full_name: Updated by User Full Name - :param str updated_date_time: Updated by Date and Time + :param str updated_date_time: Updated by User Date and Time """ pulumi.set(__self__, "created_by", created_by) pulumi.set(__self__, "created_by_email", created_by_email) @@ -13180,7 +13305,7 @@ def created_by_full_name(self) -> str: @pulumi.getter(name="createdDateTime") def created_date_time(self) -> str: """ - Created by Date and Time + Created by User Date and Time """ return pulumi.get(self, "created_date_time") @@ -13212,7 +13337,7 @@ def deleted_by_full_name(self) -> str: @pulumi.getter(name="deletedDateTime") def deleted_date_time(self) -> str: """ - Deleted by Date and Time + Deleted by User Date and Time """ return pulumi.get(self, "deleted_date_time") @@ -13244,438 +13369,188 @@ def updated_by_full_name(self) -> str: @pulumi.getter(name="updatedDateTime") def updated_date_time(self) -> str: """ - Updated by Date and Time + Updated by User Date and Time """ return pulumi.get(self, "updated_date_time") @pulumi.output_type -class GetCloudRouterLocationResult(dict): +class GetAdvertisedRoutesDataConnectionResult(dict): def __init__(__self__, *, - ibx: str, - metro_code: str, - metro_name: str, - region: str): - """ - :param str ibx: IBX Code - :param str metro_code: Access point metro code - :param str metro_name: Access point metro name - :param str region: Access point region - """ - pulumi.set(__self__, "ibx", ibx) - pulumi.set(__self__, "metro_code", metro_code) - pulumi.set(__self__, "metro_name", metro_name) - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter - def ibx(self) -> str: - """ - IBX Code - """ - return pulumi.get(self, "ibx") - - @property - @pulumi.getter(name="metroCode") - def metro_code(self) -> str: - """ - Access point metro code - """ - return pulumi.get(self, "metro_code") - - @property - @pulumi.getter(name="metroName") - def metro_name(self) -> str: + href: str, + name: str, + uuid: str): """ - Access point metro name + :param str href: HREF of the Connection + :param str name: Name of the Connection + :param str uuid: UUID of the Connection """ - return pulumi.get(self, "metro_name") + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def region(self) -> str: - """ - Access point region - """ - return pulumi.get(self, "region") - - -@pulumi.output_type -class GetCloudRouterMarketplaceSubscriptionResult(dict): - def __init__(__self__, *, - type: str, - uuid: str): + def href(self) -> str: """ - :param str type: Marketplace Subscription type like; AWS_MARKETPLACE_SUBSCRIPTION - :param str uuid: Equinix-assigned Marketplace Subscription identifier + HREF of the Connection """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "href") @property @pulumi.getter - def type(self) -> str: + def name(self) -> str: """ - Marketplace Subscription type like; AWS_MARKETPLACE_SUBSCRIPTION + Name of the Connection """ - return pulumi.get(self, "type") + return pulumi.get(self, "name") @property @pulumi.getter def uuid(self) -> str: """ - Equinix-assigned Marketplace Subscription identifier + UUID of the Connection """ return pulumi.get(self, "uuid") @pulumi.output_type -class GetCloudRouterNotificationResult(dict): +class GetAdvertisedRoutesFilterResult(dict): def __init__(__self__, *, - emails: Sequence[str], - type: str, - send_interval: Optional[str] = None): + operator: str, + property: str, + values: Sequence[str]): """ - :param Sequence[str] emails: Array of contact emails - :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS - :param str send_interval: Send interval + :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + :param str property: possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search """ - pulumi.set(__self__, "emails", emails) - pulumi.set(__self__, "type", type) - if send_interval is not None: - pulumi.set(__self__, "send_interval", send_interval) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "values", values) @property @pulumi.getter - def emails(self) -> Sequence[str]: + def operator(self) -> str: """ - Array of contact emails + Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] """ - return pulumi.get(self, "emails") + return pulumi.get(self, "operator") @property @pulumi.getter - def type(self) -> str: + def values(self) -> Sequence[str]: """ - Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + The values that you want to apply the property+operator combination to in order to filter your data search """ - return pulumi.get(self, "type") + return pulumi.get(self, "values") @property - @pulumi.getter(name="sendInterval") - def send_interval(self) -> Optional[str]: + @pulumi.getter + def property(self) -> str: """ - Send interval + possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] """ - return pulumi.get(self, "send_interval") + return pulumi.get(self, "property") @pulumi.output_type -class GetCloudRouterOrderResult(dict): +class GetAdvertisedRoutesPaginationResult(dict): def __init__(__self__, *, - billing_tier: str, - order_id: str, - order_number: str, - purchase_order_number: str, - term_length: Optional[int] = None): + next: str, + previous: str, + total: int, + limit: Optional[int] = None, + offset: Optional[int] = None): """ - :param str billing_tier: Billing tier for connection bandwidth - :param str order_id: Order Identification - :param str order_number: Order Reference Number - :param str purchase_order_number: Purchase order number - :param int term_length: Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) + :param str next: URL relative to the next item in the response. + :param str previous: URL relative to the previous item in the response. + :param int total: The total number of elements returned + :param int limit: Maximum number of search results returned per page. + :param int offset: Index of the first item returned in the response. """ - pulumi.set(__self__, "billing_tier", billing_tier) - pulumi.set(__self__, "order_id", order_id) - pulumi.set(__self__, "order_number", order_number) - pulumi.set(__self__, "purchase_order_number", purchase_order_number) - if term_length is not None: - pulumi.set(__self__, "term_length", term_length) + pulumi.set(__self__, "next", next) + pulumi.set(__self__, "previous", previous) + pulumi.set(__self__, "total", total) + if limit is not None: + pulumi.set(__self__, "limit", limit) + if offset is not None: + pulumi.set(__self__, "offset", offset) @property - @pulumi.getter(name="billingTier") - def billing_tier(self) -> str: + @pulumi.getter + def next(self) -> str: """ - Billing tier for connection bandwidth + URL relative to the next item in the response. """ - return pulumi.get(self, "billing_tier") + return pulumi.get(self, "next") @property - @pulumi.getter(name="orderId") - def order_id(self) -> str: + @pulumi.getter + def previous(self) -> str: """ - Order Identification + URL relative to the previous item in the response. """ - return pulumi.get(self, "order_id") + return pulumi.get(self, "previous") @property - @pulumi.getter(name="orderNumber") - def order_number(self) -> str: + @pulumi.getter + def total(self) -> int: """ - Order Reference Number + The total number of elements returned """ - return pulumi.get(self, "order_number") + return pulumi.get(self, "total") @property - @pulumi.getter(name="purchaseOrderNumber") - def purchase_order_number(self) -> str: + @pulumi.getter + def limit(self) -> Optional[int]: """ - Purchase order number + Maximum number of search results returned per page. """ - return pulumi.get(self, "purchase_order_number") + return pulumi.get(self, "limit") @property - @pulumi.getter(name="termLength") - def term_length(self) -> Optional[int]: + @pulumi.getter + def offset(self) -> Optional[int]: """ - Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) + Index of the first item returned in the response. """ - return pulumi.get(self, "term_length") + return pulumi.get(self, "offset") @pulumi.output_type -class GetCloudRouterPackageResult(dict): +class GetAdvertisedRoutesSortResult(dict): def __init__(__self__, *, - code: str): - """ - :param str code: Fabric Cloud Router package code - """ - pulumi.set(__self__, "code", code) - - @property - @pulumi.getter - def code(self) -> str: - """ - Fabric Cloud Router package code - """ - return pulumi.get(self, "code") - - -@pulumi.output_type -class GetCloudRouterProjectResult(dict): - def __init__(__self__, *, - href: str, - project_id: str): - """ - :param str href: Unique Resource URL - :param str project_id: Project Id - """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "project_id", project_id) - - @property - @pulumi.getter - def href(self) -> str: - """ - Unique Resource URL - """ - return pulumi.get(self, "href") - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: - """ - Project Id - """ - return pulumi.get(self, "project_id") - - -@pulumi.output_type -class GetCloudRoutersDataResult(dict): - def __init__(__self__, *, - accounts: Sequence['outputs.GetCloudRoutersDataAccountResult'], - change_logs: Sequence['outputs.GetCloudRoutersDataChangeLogResult'], - connections_count: int, - description: str, - equinix_asn: int, - gateway_attachments_count: int, - href: str, - locations: Sequence['outputs.GetCloudRoutersDataLocationResult'], - marketplace_subscriptions: Sequence['outputs.GetCloudRoutersDataMarketplaceSubscriptionResult'], - name: str, - notifications: Sequence['outputs.GetCloudRoutersDataNotificationResult'], - orders: Sequence['outputs.GetCloudRoutersDataOrderResult'], - packages: Sequence['outputs.GetCloudRoutersDataPackageResult'], - projects: Sequence['outputs.GetCloudRoutersDataProjectResult'], - state: str, - type: str, - uuid: str): - """ - :param Sequence['GetCloudRoutersDataAccountArgs'] accounts: Customer account information that is associated with this Fabric Cloud Router - :param Sequence['GetCloudRoutersDataChangeLogArgs'] change_logs: Captures Fabric Cloud Router lifecycle change information - :param int connections_count: Number of connections associated with this Fabric Cloud Router instance - :param str description: Customer-provided Fabric Cloud Router description - :param int equinix_asn: Equinix ASN - :param int gateway_attachments_count: Number of gateway attachments associated with this Access point - :param str href: Fabric Cloud Router URI information - :param Sequence['GetCloudRoutersDataLocationArgs'] locations: Fabric Cloud Router location - :param Sequence['GetCloudRoutersDataMarketplaceSubscriptionArgs'] marketplace_subscriptions: Equinix Fabric Entity for Marketplace Subscription - :param str name: Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores - :param Sequence['GetCloudRoutersDataNotificationArgs'] notifications: Preferences for notifications on Fabric Cloud Router configuration or status changes - :param Sequence['GetCloudRoutersDataOrderArgs'] orders: Order information related to this Fabric Cloud Router - :param Sequence['GetCloudRoutersDataPackageArgs'] packages: Fabric Cloud Router Package Type - :param Sequence['GetCloudRoutersDataProjectArgs'] projects: Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects - :param str state: Fabric Cloud Router overall state - :param str type: Defines the FCR type like; XF_ROUTER - :param str uuid: Equinix-assigned Fabric Cloud Router identifier - """ - pulumi.set(__self__, "accounts", accounts) - pulumi.set(__self__, "change_logs", change_logs) - pulumi.set(__self__, "connections_count", connections_count) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "equinix_asn", equinix_asn) - pulumi.set(__self__, "gateway_attachments_count", gateway_attachments_count) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "locations", locations) - pulumi.set(__self__, "marketplace_subscriptions", marketplace_subscriptions) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "notifications", notifications) - pulumi.set(__self__, "orders", orders) - pulumi.set(__self__, "packages", packages) - pulumi.set(__self__, "projects", projects) - pulumi.set(__self__, "state", state) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) - - @property - @pulumi.getter - def accounts(self) -> Sequence['outputs.GetCloudRoutersDataAccountResult']: - """ - Customer account information that is associated with this Fabric Cloud Router - """ - return pulumi.get(self, "accounts") - - @property - @pulumi.getter(name="changeLogs") - def change_logs(self) -> Sequence['outputs.GetCloudRoutersDataChangeLogResult']: - """ - Captures Fabric Cloud Router lifecycle change information - """ - return pulumi.get(self, "change_logs") - - @property - @pulumi.getter(name="connectionsCount") - def connections_count(self) -> int: - """ - Number of connections associated with this Fabric Cloud Router instance - """ - return pulumi.get(self, "connections_count") - - @property - @pulumi.getter - def description(self) -> str: - """ - Customer-provided Fabric Cloud Router description - """ - return pulumi.get(self, "description") - - @property - @pulumi.getter(name="equinixAsn") - def equinix_asn(self) -> int: - """ - Equinix ASN - """ - return pulumi.get(self, "equinix_asn") - - @property - @pulumi.getter(name="gatewayAttachmentsCount") - def gateway_attachments_count(self) -> int: - """ - Number of gateway attachments associated with this Access point - """ - return pulumi.get(self, "gateway_attachments_count") - - @property - @pulumi.getter - def href(self) -> str: - """ - Fabric Cloud Router URI information - """ - return pulumi.get(self, "href") - - @property - @pulumi.getter - def locations(self) -> Sequence['outputs.GetCloudRoutersDataLocationResult']: - """ - Fabric Cloud Router location - """ - return pulumi.get(self, "locations") - - @property - @pulumi.getter(name="marketplaceSubscriptions") - def marketplace_subscriptions(self) -> Sequence['outputs.GetCloudRoutersDataMarketplaceSubscriptionResult']: - """ - Equinix Fabric Entity for Marketplace Subscription - """ - return pulumi.get(self, "marketplace_subscriptions") - - @property - @pulumi.getter - def name(self) -> str: - """ - Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def notifications(self) -> Sequence['outputs.GetCloudRoutersDataNotificationResult']: - """ - Preferences for notifications on Fabric Cloud Router configuration or status changes - """ - return pulumi.get(self, "notifications") - - @property - @pulumi.getter - def orders(self) -> Sequence['outputs.GetCloudRoutersDataOrderResult']: - """ - Order information related to this Fabric Cloud Router - """ - return pulumi.get(self, "orders") - - @property - @pulumi.getter - def packages(self) -> Sequence['outputs.GetCloudRoutersDataPackageResult']: - """ - Fabric Cloud Router Package Type - """ - return pulumi.get(self, "packages") - - @property - @pulumi.getter - def projects(self) -> Sequence['outputs.GetCloudRoutersDataProjectResult']: - """ - Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects - """ - return pulumi.get(self, "projects") - - @property - @pulumi.getter - def state(self) -> str: + direction: Optional[str] = None, + property: Optional[str] = None): """ - Fabric Cloud Router overall state + :param str direction: Sort direction, one of [ASC, DESC] + :param str property: Property name to sort by """ - return pulumi.get(self, "state") + if direction is not None: + pulumi.set(__self__, "direction", direction) + if property is not None: + pulumi.set(__self__, "property", property) @property @pulumi.getter - def type(self) -> str: + def direction(self) -> Optional[str]: """ - Defines the FCR type like; XF_ROUTER + Sort direction, one of [ASC, DESC] """ - return pulumi.get(self, "type") + return pulumi.get(self, "direction") @property @pulumi.getter - def uuid(self) -> str: + def property(self) -> Optional[str]: """ - Equinix-assigned Fabric Cloud Router identifier + Property name to sort by """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "property") @pulumi.output_type -class GetCloudRoutersDataAccountResult(dict): +class GetCloudRouterAccountResult(dict): def __init__(__self__, *, account_number: int): """ @@ -13693,7 +13568,7 @@ def account_number(self) -> int: @pulumi.output_type -class GetCloudRoutersDataChangeLogResult(dict): +class GetCloudRouterChangeLogResult(dict): def __init__(__self__, *, created_by: str, created_by_email: str, @@ -13832,7 +13707,7 @@ def updated_date_time(self) -> str: @pulumi.output_type -class GetCloudRoutersDataLocationResult(dict): +class GetCloudRouterLocationResult(dict): def __init__(__self__, *, ibx: str, metro_code: str, @@ -13883,7 +13758,7 @@ def region(self) -> str: @pulumi.output_type -class GetCloudRoutersDataMarketplaceSubscriptionResult(dict): +class GetCloudRouterMarketplaceSubscriptionResult(dict): def __init__(__self__, *, type: str, uuid: str): @@ -13912,7 +13787,7 @@ def uuid(self) -> str: @pulumi.output_type -class GetCloudRoutersDataNotificationResult(dict): +class GetCloudRouterNotificationResult(dict): def __init__(__self__, *, emails: Sequence[str], type: str, @@ -13953,7 +13828,7 @@ def send_interval(self) -> Optional[str]: @pulumi.output_type -class GetCloudRoutersDataOrderResult(dict): +class GetCloudRouterOrderResult(dict): def __init__(__self__, *, billing_tier: str, order_id: str, @@ -14016,7 +13891,7 @@ def term_length(self) -> Optional[int]: @pulumi.output_type -class GetCloudRoutersDataPackageResult(dict): +class GetCloudRouterPackageResult(dict): def __init__(__self__, *, code: str): """ @@ -14034,7 +13909,7 @@ def code(self) -> str: @pulumi.output_type -class GetCloudRoutersDataProjectResult(dict): +class GetCloudRouterProjectResult(dict): def __init__(__self__, *, href: str, project_id: str): @@ -14063,1020 +13938,932 @@ def project_id(self) -> str: @pulumi.output_type -class GetCloudRoutersFilterResult(dict): +class GetCloudRoutersDataResult(dict): def __init__(__self__, *, - operator: str, - property: str, - values: Sequence[str], - or_: Optional[bool] = None): - """ - :param str operator: Possible operators to use on the filter property. Can be one of the following: [= - equal, != - not equal, > - greater than, >= - greater than or equal to, < - less than, <= - less than or equal to, [NOT] BETWEEN - (not) between, [NOT] LIKE - (not) like, [NOT] IN - (not) in - :param str property: The API response property which you want to filter your request on. Can be one of the following: "/project/projectId", "/name", "/uuid", "/state", "/location/metroCode", "/location/metroName", "/package/code", "/*" - :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search - :param bool or_: Boolean flag indicating whether this filter is included in the OR group. There can only be one OR group and it can have a maximum of 3 filters. The OR group only counts as 1 of the 8 possible filters - """ - pulumi.set(__self__, "operator", operator) - pulumi.set(__self__, "property", property) - pulumi.set(__self__, "values", values) - if or_ is not None: - pulumi.set(__self__, "or_", or_) + accounts: Sequence['outputs.GetCloudRoutersDataAccountResult'], + change_logs: Sequence['outputs.GetCloudRoutersDataChangeLogResult'], + connections_count: int, + description: str, + equinix_asn: int, + href: str, + locations: Sequence['outputs.GetCloudRoutersDataLocationResult'], + marketplace_subscriptions: Sequence['outputs.GetCloudRoutersDataMarketplaceSubscriptionResult'], + name: str, + notifications: Sequence['outputs.GetCloudRoutersDataNotificationResult'], + orders: Sequence['outputs.GetCloudRoutersDataOrderResult'], + packages: Sequence['outputs.GetCloudRoutersDataPackageResult'], + projects: Sequence['outputs.GetCloudRoutersDataProjectResult'], + state: str, + type: str, + uuid: str): + """ + :param Sequence['GetCloudRoutersDataAccountArgs'] accounts: Customer account information that is associated with this Fabric Cloud Router + :param Sequence['GetCloudRoutersDataChangeLogArgs'] change_logs: Captures Fabric Cloud Router lifecycle change information + :param int connections_count: Number of connections associated with this Fabric Cloud Router instance + :param str description: Customer-provided Fabric Cloud Router description + :param int equinix_asn: Equinix ASN + :param str href: Fabric Cloud Router URI information + :param Sequence['GetCloudRoutersDataLocationArgs'] locations: Fabric Cloud Router location + :param Sequence['GetCloudRoutersDataMarketplaceSubscriptionArgs'] marketplace_subscriptions: Equinix Fabric Entity for Marketplace Subscription + :param str name: Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores + :param Sequence['GetCloudRoutersDataNotificationArgs'] notifications: Preferences for notifications on Fabric Cloud Router configuration or status changes + :param Sequence['GetCloudRoutersDataOrderArgs'] orders: Order information related to this Fabric Cloud Router + :param Sequence['GetCloudRoutersDataPackageArgs'] packages: Fabric Cloud Router Package Type + :param Sequence['GetCloudRoutersDataProjectArgs'] projects: Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects + :param str state: Fabric Cloud Router overall state + :param str type: Defines the FCR type like; XF_ROUTER + :param str uuid: Equinix-assigned Fabric Cloud Router identifier + """ + pulumi.set(__self__, "accounts", accounts) + pulumi.set(__self__, "change_logs", change_logs) + pulumi.set(__self__, "connections_count", connections_count) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "equinix_asn", equinix_asn) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "locations", locations) + pulumi.set(__self__, "marketplace_subscriptions", marketplace_subscriptions) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "notifications", notifications) + pulumi.set(__self__, "orders", orders) + pulumi.set(__self__, "packages", packages) + pulumi.set(__self__, "projects", projects) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def operator(self) -> str: + def accounts(self) -> Sequence['outputs.GetCloudRoutersDataAccountResult']: """ - Possible operators to use on the filter property. Can be one of the following: [= - equal, != - not equal, > - greater than, >= - greater than or equal to, < - less than, <= - less than or equal to, [NOT] BETWEEN - (not) between, [NOT] LIKE - (not) like, [NOT] IN - (not) in + Customer account information that is associated with this Fabric Cloud Router """ - return pulumi.get(self, "operator") + return pulumi.get(self, "accounts") @property - @pulumi.getter - def values(self) -> Sequence[str]: + @pulumi.getter(name="changeLogs") + def change_logs(self) -> Sequence['outputs.GetCloudRoutersDataChangeLogResult']: """ - The values that you want to apply the property+operator combination to in order to filter your data search + Captures Fabric Cloud Router lifecycle change information """ - return pulumi.get(self, "values") + return pulumi.get(self, "change_logs") @property - @pulumi.getter(name="or") - def or_(self) -> Optional[bool]: + @pulumi.getter(name="connectionsCount") + def connections_count(self) -> int: """ - Boolean flag indicating whether this filter is included in the OR group. There can only be one OR group and it can have a maximum of 3 filters. The OR group only counts as 1 of the 8 possible filters + Number of connections associated with this Fabric Cloud Router instance """ - return pulumi.get(self, "or_") + return pulumi.get(self, "connections_count") @property @pulumi.getter - def property(self) -> str: + def description(self) -> str: """ - The API response property which you want to filter your request on. Can be one of the following: "/project/projectId", "/name", "/uuid", "/state", "/location/metroCode", "/location/metroName", "/package/code", "/*" + Customer-provided Fabric Cloud Router description """ - return pulumi.get(self, "property") - + return pulumi.get(self, "description") -@pulumi.output_type -class GetCloudRoutersPaginationResult(dict): - def __init__(__self__, *, - limit: Optional[int] = None, - offset: Optional[int] = None): + @property + @pulumi.getter(name="equinixAsn") + def equinix_asn(self) -> int: """ - :param int limit: Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 - :param int offset: The page offset for the pagination request. Index of the first element. Default is 0. + Equinix ASN """ - if limit is not None: - pulumi.set(__self__, "limit", limit) - if offset is not None: - pulumi.set(__self__, "offset", offset) + return pulumi.get(self, "equinix_asn") @property @pulumi.getter - def limit(self) -> Optional[int]: + def href(self) -> str: """ - Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 + Fabric Cloud Router URI information """ - return pulumi.get(self, "limit") + return pulumi.get(self, "href") @property @pulumi.getter - def offset(self) -> Optional[int]: + def locations(self) -> Sequence['outputs.GetCloudRoutersDataLocationResult']: """ - The page offset for the pagination request. Index of the first element. Default is 0. + Fabric Cloud Router location """ - return pulumi.get(self, "offset") + return pulumi.get(self, "locations") + @property + @pulumi.getter(name="marketplaceSubscriptions") + def marketplace_subscriptions(self) -> Sequence['outputs.GetCloudRoutersDataMarketplaceSubscriptionResult']: + """ + Equinix Fabric Entity for Marketplace Subscription + """ + return pulumi.get(self, "marketplace_subscriptions") -@pulumi.output_type -class GetCloudRoutersSortResult(dict): - def __init__(__self__, *, - direction: Optional[str] = None, - property: Optional[str] = None): + @property + @pulumi.getter + def name(self) -> str: """ - :param str direction: The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC - :param str property: The property name to use in sorting. Can be one of the following: [/name, /uuid, /state, /location/metroCode, /location/metroName, /package/code, /changeLog/createdDateTime, /changeLog/updatedDateTime], Defaults to /changeLog/updatedDateTime + Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores """ - if direction is not None: - pulumi.set(__self__, "direction", direction) - if property is not None: - pulumi.set(__self__, "property", property) + return pulumi.get(self, "name") @property @pulumi.getter - def direction(self) -> Optional[str]: + def notifications(self) -> Sequence['outputs.GetCloudRoutersDataNotificationResult']: """ - The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + Preferences for notifications on Fabric Cloud Router configuration or status changes """ - return pulumi.get(self, "direction") + return pulumi.get(self, "notifications") @property @pulumi.getter - def property(self) -> Optional[str]: + def orders(self) -> Sequence['outputs.GetCloudRoutersDataOrderResult']: """ - The property name to use in sorting. Can be one of the following: [/name, /uuid, /state, /location/metroCode, /location/metroName, /package/code, /changeLog/createdDateTime, /changeLog/updatedDateTime], Defaults to /changeLog/updatedDateTime + Order information related to this Fabric Cloud Router """ - return pulumi.get(self, "property") + return pulumi.get(self, "orders") + @property + @pulumi.getter + def packages(self) -> Sequence['outputs.GetCloudRoutersDataPackageResult']: + """ + Fabric Cloud Router Package Type + """ + return pulumi.get(self, "packages") -@pulumi.output_type -class GetConnectionASideResult(dict): - def __init__(__self__, *, - access_point: Optional['outputs.GetConnectionASideAccessPointResult'] = None, - additional_infos: Optional[Sequence['outputs.GetConnectionASideAdditionalInfoResult']] = None, - service_token: Optional['outputs.GetConnectionASideServiceTokenResult'] = None): + @property + @pulumi.getter + def projects(self) -> Sequence['outputs.GetCloudRoutersDataProjectResult']: """ - :param 'GetConnectionASideAccessPointArgs' access_point: Point of access details - :param Sequence['GetConnectionASideAdditionalInfoArgs'] additional_infos: Connection side additional information - :param 'GetConnectionASideServiceTokenArgs' service_token: For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects """ - if access_point is not None: - pulumi.set(__self__, "access_point", access_point) - if additional_infos is not None: - pulumi.set(__self__, "additional_infos", additional_infos) - if service_token is not None: - pulumi.set(__self__, "service_token", service_token) + return pulumi.get(self, "projects") @property - @pulumi.getter(name="accessPoint") - def access_point(self) -> Optional['outputs.GetConnectionASideAccessPointResult']: + @pulumi.getter + def state(self) -> str: """ - Point of access details + Fabric Cloud Router overall state """ - return pulumi.get(self, "access_point") + return pulumi.get(self, "state") @property - @pulumi.getter(name="additionalInfos") - def additional_infos(self) -> Optional[Sequence['outputs.GetConnectionASideAdditionalInfoResult']]: + @pulumi.getter + def type(self) -> str: """ - Connection side additional information + Defines the FCR type like; XF_ROUTER """ - return pulumi.get(self, "additional_infos") + return pulumi.get(self, "type") @property - @pulumi.getter(name="serviceToken") - def service_token(self) -> Optional['outputs.GetConnectionASideServiceTokenResult']: + @pulumi.getter + def uuid(self) -> str: """ - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + Equinix-assigned Fabric Cloud Router identifier """ - return pulumi.get(self, "service_token") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionASideAccessPointResult(dict): +class GetCloudRoutersDataAccountResult(dict): def __init__(__self__, *, - accounts: Sequence['outputs.GetConnectionASideAccessPointAccountResult'], - location: 'outputs.GetConnectionASideAccessPointLocationResult', - provider_connection_id: str, - authentication_key: Optional[str] = None, - gateway: Optional['outputs.GetConnectionASideAccessPointGatewayResult'] = None, - interface: Optional['outputs.GetConnectionASideAccessPointInterfaceResult'] = None, - link_protocol: Optional['outputs.GetConnectionASideAccessPointLinkProtocolResult'] = None, - network: Optional['outputs.GetConnectionASideAccessPointNetworkResult'] = None, - peering_type: Optional[str] = None, - port: Optional['outputs.GetConnectionASideAccessPointPortResult'] = None, - profile: Optional['outputs.GetConnectionASideAccessPointProfileResult'] = None, - role: Optional[str] = None, - router: Optional['outputs.GetConnectionASideAccessPointRouterResult'] = None, - seller_region: Optional[str] = None, - type: Optional[str] = None, - virtual_device: Optional['outputs.GetConnectionASideAccessPointVirtualDeviceResult'] = None): + account_number: int): """ - :param Sequence['GetConnectionASideAccessPointAccountArgs'] accounts: Account - :param 'GetConnectionASideAccessPointLocationArgs' location: Access point location - :param str provider_connection_id: Provider assigned Connection Id - :param str authentication_key: Authentication key for provider based connections or Metal-Fabric Integration connections - :param 'GetConnectionASideAccessPointGatewayArgs' gateway: **Deprecated** `gateway` Use `router` attribute instead - :param 'GetConnectionASideAccessPointInterfaceArgs' interface: Virtual device interface - :param 'GetConnectionASideAccessPointLinkProtocolArgs' link_protocol: Connection link protocol - :param 'GetConnectionASideAccessPointNetworkArgs' network: network access point information - :param str peering_type: Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL - :param 'GetConnectionASideAccessPointPortArgs' port: Port access point information - :param 'GetConnectionASideAccessPointProfileArgs' profile: Service Profile - :param str role: Network role - :param 'GetConnectionASideAccessPointRouterArgs' router: Cloud Router access point information that replaces `gateway` - :param str seller_region: Access point seller region - :param str type: Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK - :param 'GetConnectionASideAccessPointVirtualDeviceArgs' virtual_device: Virtual device + :param int account_number: Account Number """ - pulumi.set(__self__, "accounts", accounts) - pulumi.set(__self__, "location", location) - pulumi.set(__self__, "provider_connection_id", provider_connection_id) - if authentication_key is not None: - pulumi.set(__self__, "authentication_key", authentication_key) - if gateway is not None: - pulumi.set(__self__, "gateway", gateway) - if interface is not None: - pulumi.set(__self__, "interface", interface) - if link_protocol is not None: - pulumi.set(__self__, "link_protocol", link_protocol) - if network is not None: - pulumi.set(__self__, "network", network) - if peering_type is not None: - pulumi.set(__self__, "peering_type", peering_type) - if port is not None: - pulumi.set(__self__, "port", port) - if profile is not None: - pulumi.set(__self__, "profile", profile) - if role is not None: - pulumi.set(__self__, "role", role) - if router is not None: - pulumi.set(__self__, "router", router) - if seller_region is not None: - pulumi.set(__self__, "seller_region", seller_region) - if type is not None: - pulumi.set(__self__, "type", type) - if virtual_device is not None: - pulumi.set(__self__, "virtual_device", virtual_device) - - @property - @pulumi.getter - def accounts(self) -> Sequence['outputs.GetConnectionASideAccessPointAccountResult']: - """ - Account - """ - return pulumi.get(self, "accounts") + pulumi.set(__self__, "account_number", account_number) @property - @pulumi.getter - def location(self) -> 'outputs.GetConnectionASideAccessPointLocationResult': + @pulumi.getter(name="accountNumber") + def account_number(self) -> int: """ - Access point location + Account Number """ - return pulumi.get(self, "location") + return pulumi.get(self, "account_number") - @property - @pulumi.getter(name="providerConnectionId") - def provider_connection_id(self) -> str: - """ - Provider assigned Connection Id - """ - return pulumi.get(self, "provider_connection_id") - @property - @pulumi.getter(name="authenticationKey") - def authentication_key(self) -> Optional[str]: +@pulumi.output_type +class GetCloudRoutersDataChangeLogResult(dict): + def __init__(__self__, *, + created_by: str, + created_by_email: str, + created_by_full_name: str, + created_date_time: str, + deleted_by: str, + deleted_by_email: str, + deleted_by_full_name: str, + deleted_date_time: str, + updated_by: str, + updated_by_email: str, + updated_by_full_name: str, + updated_date_time: str): """ - Authentication key for provider based connections or Metal-Fabric Integration connections + :param str created_by: Created by User Key + :param str created_by_email: Created by User Email Address + :param str created_by_full_name: Created by User Full Name + :param str created_date_time: Created by Date and Time + :param str deleted_by: Deleted by User Key + :param str deleted_by_email: Deleted by User Email Address + :param str deleted_by_full_name: Deleted by User Full Name + :param str deleted_date_time: Deleted by Date and Time + :param str updated_by: Updated by User Key + :param str updated_by_email: Updated by User Email Address + :param str updated_by_full_name: Updated by User Full Name + :param str updated_date_time: Updated by Date and Time """ - return pulumi.get(self, "authentication_key") + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_email", created_by_email) + pulumi.set(__self__, "created_by_full_name", created_by_full_name) + pulumi.set(__self__, "created_date_time", created_date_time) + pulumi.set(__self__, "deleted_by", deleted_by) + pulumi.set(__self__, "deleted_by_email", deleted_by_email) + pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) + pulumi.set(__self__, "deleted_date_time", deleted_date_time) + pulumi.set(__self__, "updated_by", updated_by) + pulumi.set(__self__, "updated_by_email", updated_by_email) + pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) + pulumi.set(__self__, "updated_date_time", updated_date_time) @property - @pulumi.getter - @_utilities.deprecated("""use router attribute instead; gateway is no longer a part of the supported backend""") - def gateway(self) -> Optional['outputs.GetConnectionASideAccessPointGatewayResult']: + @pulumi.getter(name="createdBy") + def created_by(self) -> str: """ - **Deprecated** `gateway` Use `router` attribute instead + Created by User Key """ - return pulumi.get(self, "gateway") + return pulumi.get(self, "created_by") @property - @pulumi.getter - def interface(self) -> Optional['outputs.GetConnectionASideAccessPointInterfaceResult']: + @pulumi.getter(name="createdByEmail") + def created_by_email(self) -> str: """ - Virtual device interface + Created by User Email Address """ - return pulumi.get(self, "interface") + return pulumi.get(self, "created_by_email") @property - @pulumi.getter(name="linkProtocol") - def link_protocol(self) -> Optional['outputs.GetConnectionASideAccessPointLinkProtocolResult']: + @pulumi.getter(name="createdByFullName") + def created_by_full_name(self) -> str: """ - Connection link protocol + Created by User Full Name """ - return pulumi.get(self, "link_protocol") + return pulumi.get(self, "created_by_full_name") @property - @pulumi.getter - def network(self) -> Optional['outputs.GetConnectionASideAccessPointNetworkResult']: + @pulumi.getter(name="createdDateTime") + def created_date_time(self) -> str: """ - network access point information + Created by Date and Time """ - return pulumi.get(self, "network") + return pulumi.get(self, "created_date_time") @property - @pulumi.getter(name="peeringType") - def peering_type(self) -> Optional[str]: + @pulumi.getter(name="deletedBy") + def deleted_by(self) -> str: """ - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + Deleted by User Key """ - return pulumi.get(self, "peering_type") + return pulumi.get(self, "deleted_by") @property - @pulumi.getter - def port(self) -> Optional['outputs.GetConnectionASideAccessPointPortResult']: + @pulumi.getter(name="deletedByEmail") + def deleted_by_email(self) -> str: """ - Port access point information + Deleted by User Email Address """ - return pulumi.get(self, "port") + return pulumi.get(self, "deleted_by_email") @property - @pulumi.getter - def profile(self) -> Optional['outputs.GetConnectionASideAccessPointProfileResult']: + @pulumi.getter(name="deletedByFullName") + def deleted_by_full_name(self) -> str: """ - Service Profile + Deleted by User Full Name """ - return pulumi.get(self, "profile") + return pulumi.get(self, "deleted_by_full_name") @property - @pulumi.getter - def role(self) -> Optional[str]: + @pulumi.getter(name="deletedDateTime") + def deleted_date_time(self) -> str: """ - Network role + Deleted by Date and Time """ - return pulumi.get(self, "role") + return pulumi.get(self, "deleted_date_time") @property - @pulumi.getter - def router(self) -> Optional['outputs.GetConnectionASideAccessPointRouterResult']: + @pulumi.getter(name="updatedBy") + def updated_by(self) -> str: """ - Cloud Router access point information that replaces `gateway` + Updated by User Key """ - return pulumi.get(self, "router") + return pulumi.get(self, "updated_by") @property - @pulumi.getter(name="sellerRegion") - def seller_region(self) -> Optional[str]: + @pulumi.getter(name="updatedByEmail") + def updated_by_email(self) -> str: """ - Access point seller region + Updated by User Email Address """ - return pulumi.get(self, "seller_region") + return pulumi.get(self, "updated_by_email") @property - @pulumi.getter - def type(self) -> Optional[str]: + @pulumi.getter(name="updatedByFullName") + def updated_by_full_name(self) -> str: """ - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK + Updated by User Full Name """ - return pulumi.get(self, "type") + return pulumi.get(self, "updated_by_full_name") @property - @pulumi.getter(name="virtualDevice") - def virtual_device(self) -> Optional['outputs.GetConnectionASideAccessPointVirtualDeviceResult']: + @pulumi.getter(name="updatedDateTime") + def updated_date_time(self) -> str: """ - Virtual device + Updated by Date and Time """ - return pulumi.get(self, "virtual_device") + return pulumi.get(self, "updated_date_time") @pulumi.output_type -class GetConnectionASideAccessPointAccountResult(dict): +class GetCloudRoutersDataLocationResult(dict): def __init__(__self__, *, - account_name: str, - account_number: int, - global_cust_id: str, - global_org_id: str, - global_organization_name: str, - org_id: int, - organization_name: str, - ucm_id: str): + ibx: str, + metro_code: str, + metro_name: str, + region: str): """ - :param str account_name: Legal name of the accountholder. - :param int account_number: Equinix-assigned account number. - :param str global_cust_id: Equinix-assigned ID of the subscriber's parent organization. - :param str global_org_id: Equinix-assigned ID of the subscriber's parent organization. - :param str global_organization_name: Equinix-assigned name of the subscriber's parent organization. - :param int org_id: Equinix-assigned ID of the subscriber's organization. - :param str organization_name: Equinix-assigned name of the subscriber's organization. - :param str ucm_id: Enterprise datastore id + :param str ibx: IBX Code + :param str metro_code: Access point metro code + :param str metro_name: Access point metro name + :param str region: Access point region """ - pulumi.set(__self__, "account_name", account_name) - pulumi.set(__self__, "account_number", account_number) - pulumi.set(__self__, "global_cust_id", global_cust_id) - pulumi.set(__self__, "global_org_id", global_org_id) - pulumi.set(__self__, "global_organization_name", global_organization_name) - pulumi.set(__self__, "org_id", org_id) - pulumi.set(__self__, "organization_name", organization_name) - pulumi.set(__self__, "ucm_id", ucm_id) + pulumi.set(__self__, "ibx", ibx) + pulumi.set(__self__, "metro_code", metro_code) + pulumi.set(__self__, "metro_name", metro_name) + pulumi.set(__self__, "region", region) @property - @pulumi.getter(name="accountName") - def account_name(self) -> str: + @pulumi.getter + def ibx(self) -> str: """ - Legal name of the accountholder. + IBX Code """ - return pulumi.get(self, "account_name") + return pulumi.get(self, "ibx") @property - @pulumi.getter(name="accountNumber") - def account_number(self) -> int: + @pulumi.getter(name="metroCode") + def metro_code(self) -> str: """ - Equinix-assigned account number. + Access point metro code """ - return pulumi.get(self, "account_number") + return pulumi.get(self, "metro_code") @property - @pulumi.getter(name="globalCustId") - def global_cust_id(self) -> str: + @pulumi.getter(name="metroName") + def metro_name(self) -> str: """ - Equinix-assigned ID of the subscriber's parent organization. + Access point metro name """ - return pulumi.get(self, "global_cust_id") + return pulumi.get(self, "metro_name") @property - @pulumi.getter(name="globalOrgId") - def global_org_id(self) -> str: + @pulumi.getter + def region(self) -> str: """ - Equinix-assigned ID of the subscriber's parent organization. + Access point region """ - return pulumi.get(self, "global_org_id") + return pulumi.get(self, "region") - @property - @pulumi.getter(name="globalOrganizationName") - def global_organization_name(self) -> str: + +@pulumi.output_type +class GetCloudRoutersDataMarketplaceSubscriptionResult(dict): + def __init__(__self__, *, + type: str, + uuid: str): """ - Equinix-assigned name of the subscriber's parent organization. + :param str type: Marketplace Subscription type like; AWS_MARKETPLACE_SUBSCRIPTION + :param str uuid: Equinix-assigned Marketplace Subscription identifier """ - return pulumi.get(self, "global_organization_name") - - @property - @pulumi.getter(name="orgId") - def org_id(self) -> int: - """ - Equinix-assigned ID of the subscriber's organization. - """ - return pulumi.get(self, "org_id") - - @property - @pulumi.getter(name="organizationName") - def organization_name(self) -> str: - """ - Equinix-assigned name of the subscriber's organization. - """ - return pulumi.get(self, "organization_name") - - @property - @pulumi.getter(name="ucmId") - def ucm_id(self) -> str: - """ - Enterprise datastore id - """ - return pulumi.get(self, "ucm_id") - - -@pulumi.output_type -class GetConnectionASideAccessPointGatewayResult(dict): - def __init__(__self__, *, - href: str, - uuid: Optional[str] = None): - """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned virtual gateway identifier - """ - pulumi.set(__self__, "href", href) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def href(self) -> str: + def type(self) -> str: """ - Unique Resource Identifier + Marketplace Subscription type like; AWS_MARKETPLACE_SUBSCRIPTION """ - return pulumi.get(self, "href") + return pulumi.get(self, "type") @property @pulumi.getter - def uuid(self) -> Optional[str]: + def uuid(self) -> str: """ - Equinix-assigned virtual gateway identifier + Equinix-assigned Marketplace Subscription identifier """ return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionASideAccessPointInterfaceResult(dict): +class GetCloudRoutersDataNotificationResult(dict): def __init__(__self__, *, - id: int, - type: Optional[str] = None, - uuid: Optional[str] = None): + emails: Sequence[str], + type: str, + send_interval: Optional[str] = None): """ - :param int id: id - :param str type: Interface type - :param str uuid: Equinix-assigned interface identifier + :param Sequence[str] emails: Array of contact emails + :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + :param str send_interval: Send interval """ - pulumi.set(__self__, "id", id) - if type is not None: - pulumi.set(__self__, "type", type) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "emails", emails) + pulumi.set(__self__, "type", type) + if send_interval is not None: + pulumi.set(__self__, "send_interval", send_interval) @property @pulumi.getter - def id(self) -> int: + def emails(self) -> Sequence[str]: """ - id + Array of contact emails """ - return pulumi.get(self, "id") + return pulumi.get(self, "emails") @property @pulumi.getter - def type(self) -> Optional[str]: + def type(self) -> str: """ - Interface type + Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS """ return pulumi.get(self, "type") @property - @pulumi.getter - def uuid(self) -> Optional[str]: + @pulumi.getter(name="sendInterval") + def send_interval(self) -> Optional[str]: """ - Equinix-assigned interface identifier + Send interval """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "send_interval") @pulumi.output_type -class GetConnectionASideAccessPointLinkProtocolResult(dict): +class GetCloudRoutersDataOrderResult(dict): def __init__(__self__, *, - vlan_c_tag: int, - vlan_s_tag: int, - vlan_tag: int, - type: Optional[str] = None): + billing_tier: str, + order_id: str, + order_number: str, + purchase_order_number: str, + term_length: Optional[int] = None): """ - :param int vlan_c_tag: Vlan Customer Tag information, vlanCTag value specified for QINQ connections - :param int vlan_s_tag: Vlan Provider Tag information, vlanSTag value specified for QINQ connections - :param int vlan_tag: Vlan Tag information, vlanTag value specified for DOT1Q connections - :param str type: Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + :param str billing_tier: Billing tier for connection bandwidth + :param str order_id: Order Identification + :param str order_number: Order Reference Number + :param str purchase_order_number: Purchase order number + :param int term_length: Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) """ - pulumi.set(__self__, "vlan_c_tag", vlan_c_tag) - pulumi.set(__self__, "vlan_s_tag", vlan_s_tag) - pulumi.set(__self__, "vlan_tag", vlan_tag) - if type is not None: - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "billing_tier", billing_tier) + pulumi.set(__self__, "order_id", order_id) + pulumi.set(__self__, "order_number", order_number) + pulumi.set(__self__, "purchase_order_number", purchase_order_number) + if term_length is not None: + pulumi.set(__self__, "term_length", term_length) @property - @pulumi.getter(name="vlanCTag") - def vlan_c_tag(self) -> int: + @pulumi.getter(name="billingTier") + def billing_tier(self) -> str: """ - Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Billing tier for connection bandwidth """ - return pulumi.get(self, "vlan_c_tag") + return pulumi.get(self, "billing_tier") @property - @pulumi.getter(name="vlanSTag") - def vlan_s_tag(self) -> int: + @pulumi.getter(name="orderId") + def order_id(self) -> str: """ - Vlan Provider Tag information, vlanSTag value specified for QINQ connections + Order Identification """ - return pulumi.get(self, "vlan_s_tag") + return pulumi.get(self, "order_id") @property - @pulumi.getter(name="vlanTag") - def vlan_tag(self) -> int: + @pulumi.getter(name="orderNumber") + def order_number(self) -> str: """ - Vlan Tag information, vlanTag value specified for DOT1Q connections + Order Reference Number """ - return pulumi.get(self, "vlan_tag") + return pulumi.get(self, "order_number") @property - @pulumi.getter - def type(self) -> Optional[str]: - """ - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN - """ - return pulumi.get(self, "type") - - -@pulumi.output_type -class GetConnectionASideAccessPointLocationResult(dict): - def __init__(__self__, *, - ibx: str, - metro_code: str, - metro_name: str, - region: str): + @pulumi.getter(name="purchaseOrderNumber") + def purchase_order_number(self) -> str: """ - :param str ibx: IBX Code - :param str metro_code: Access point metro code - :param str metro_name: Access point metro name - :param str region: Access point region + Purchase order number """ - pulumi.set(__self__, "ibx", ibx) - pulumi.set(__self__, "metro_code", metro_code) - pulumi.set(__self__, "metro_name", metro_name) - pulumi.set(__self__, "region", region) + return pulumi.get(self, "purchase_order_number") @property - @pulumi.getter - def ibx(self) -> str: + @pulumi.getter(name="termLength") + def term_length(self) -> Optional[int]: """ - IBX Code + Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) """ - return pulumi.get(self, "ibx") + return pulumi.get(self, "term_length") - @property - @pulumi.getter(name="metroCode") - def metro_code(self) -> str: - """ - Access point metro code - """ - return pulumi.get(self, "metro_code") - @property - @pulumi.getter(name="metroName") - def metro_name(self) -> str: +@pulumi.output_type +class GetCloudRoutersDataPackageResult(dict): + def __init__(__self__, *, + code: str): """ - Access point metro name + :param str code: Fabric Cloud Router package code """ - return pulumi.get(self, "metro_name") + pulumi.set(__self__, "code", code) @property @pulumi.getter - def region(self) -> str: + def code(self) -> str: """ - Access point region + Fabric Cloud Router package code """ - return pulumi.get(self, "region") + return pulumi.get(self, "code") @pulumi.output_type -class GetConnectionASideAccessPointNetworkResult(dict): +class GetCloudRoutersDataProjectResult(dict): def __init__(__self__, *, href: str, - uuid: str): + project_id: str): """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned Network identifier + :param str href: Unique Resource URL + :param str project_id: Project Id """ pulumi.set(__self__, "href", href) - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "project_id", project_id) @property @pulumi.getter def href(self) -> str: """ - Unique Resource Identifier + Unique Resource URL """ return pulumi.get(self, "href") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="projectId") + def project_id(self) -> str: """ - Equinix-assigned Network identifier + Project Id """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "project_id") @pulumi.output_type -class GetConnectionASideAccessPointPortResult(dict): +class GetCloudRoutersFilterResult(dict): def __init__(__self__, *, - href: str, - name: str, - redundancies: Sequence['outputs.GetConnectionASideAccessPointPortRedundancyResult'], - uuid: str): + operator: str, + property: str, + values: Sequence[str], + or_: Optional[bool] = None): """ - :param str href: Unique Resource Identifier - :param str name: Port name - :param Sequence['GetConnectionASideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information - :param str uuid: Equinix-assigned Port identifier + :param str operator: Possible operators to use on the filter property. Can be one of the following: [= - equal, != - not equal, > - greater than, >= - greater than or equal to, < - less than, <= - less than or equal to, [NOT] BETWEEN - (not) between, [NOT] LIKE - (not) like, [NOT] IN - (not) in + :param str property: The API response property which you want to filter your request on. Can be one of the following: "/project/projectId", "/name", "/uuid", "/state", "/location/metroCode", "/location/metroName", "/package/code", "/*" + :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search + :param bool or_: Boolean flag indicating whether this filter is included in the OR group. There can only be one OR group and it can have a maximum of 3 filters. The OR group only counts as 1 of the 8 possible filters """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "redundancies", redundancies) - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "values", values) + if or_ is not None: + pulumi.set(__self__, "or_", or_) @property @pulumi.getter - def href(self) -> str: + def operator(self) -> str: """ - Unique Resource Identifier + Possible operators to use on the filter property. Can be one of the following: [= - equal, != - not equal, > - greater than, >= - greater than or equal to, < - less than, <= - less than or equal to, [NOT] BETWEEN - (not) between, [NOT] LIKE - (not) like, [NOT] IN - (not) in """ - return pulumi.get(self, "href") + return pulumi.get(self, "operator") @property @pulumi.getter - def name(self) -> str: + def values(self) -> Sequence[str]: """ - Port name + The values that you want to apply the property+operator combination to in order to filter your data search """ - return pulumi.get(self, "name") + return pulumi.get(self, "values") @property - @pulumi.getter - def redundancies(self) -> Sequence['outputs.GetConnectionASideAccessPointPortRedundancyResult']: + @pulumi.getter(name="or") + def or_(self) -> Optional[bool]: """ - Redundancy Information + Boolean flag indicating whether this filter is included in the OR group. There can only be one OR group and it can have a maximum of 3 filters. The OR group only counts as 1 of the 8 possible filters """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "or_") @property @pulumi.getter - def uuid(self) -> str: + def property(self) -> str: """ - Equinix-assigned Port identifier + The API response property which you want to filter your request on. Can be one of the following: "/project/projectId", "/name", "/uuid", "/state", "/location/metroCode", "/location/metroName", "/package/code", "/*" """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "property") @pulumi.output_type -class GetConnectionASideAccessPointPortRedundancyResult(dict): +class GetCloudRoutersPaginationResult(dict): def __init__(__self__, *, - enabled: bool, - group: str, - priority: str): - """ - :param bool enabled: Access point redundancy - :param str group: Port redundancy group - :param str priority: Priority type-Primary or Secondary - """ - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "group", group) - pulumi.set(__self__, "priority", priority) - - @property - @pulumi.getter - def enabled(self) -> bool: + limit: Optional[int] = None, + offset: Optional[int] = None): """ - Access point redundancy + :param int limit: Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 + :param int offset: The page offset for the pagination request. Index of the first element. Default is 0. """ - return pulumi.get(self, "enabled") + if limit is not None: + pulumi.set(__self__, "limit", limit) + if offset is not None: + pulumi.set(__self__, "offset", offset) @property @pulumi.getter - def group(self) -> str: + def limit(self) -> Optional[int]: """ - Port redundancy group + Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 """ - return pulumi.get(self, "group") + return pulumi.get(self, "limit") @property @pulumi.getter - def priority(self) -> str: + def offset(self) -> Optional[int]: """ - Priority type-Primary or Secondary + The page offset for the pagination request. Index of the first element. Default is 0. """ - return pulumi.get(self, "priority") + return pulumi.get(self, "offset") @pulumi.output_type -class GetConnectionASideAccessPointProfileResult(dict): +class GetCloudRoutersSortResult(dict): def __init__(__self__, *, - access_point_type_configs: Sequence['outputs.GetConnectionASideAccessPointProfileAccessPointTypeConfigResult'], - description: str, - href: str, - name: str, - type: str, - uuid: str): + direction: Optional[str] = None, + property: Optional[str] = None): """ - :param Sequence['GetConnectionASideAccessPointProfileAccessPointTypeConfigArgs'] access_point_type_configs: Access point config information - :param str description: User-provided service description - :param str href: Service Profile URI response attribute - :param str name: Customer-assigned service profile name - :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE - :param str uuid: Equinix assigned service profile identifier + :param str direction: The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + :param str property: The property name to use in sorting. Can be one of the following: [/name, /uuid, /state, /location/metroCode, /location/metroName, /package/code, /changeLog/createdDateTime, /changeLog/updatedDateTime], Defaults to /changeLog/updatedDateTime """ - pulumi.set(__self__, "access_point_type_configs", access_point_type_configs) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) + if direction is not None: + pulumi.set(__self__, "direction", direction) + if property is not None: + pulumi.set(__self__, "property", property) @property - @pulumi.getter(name="accessPointTypeConfigs") - def access_point_type_configs(self) -> Sequence['outputs.GetConnectionASideAccessPointProfileAccessPointTypeConfigResult']: + @pulumi.getter + def direction(self) -> Optional[str]: """ - Access point config information + The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC """ - return pulumi.get(self, "access_point_type_configs") + return pulumi.get(self, "direction") @property @pulumi.getter - def description(self) -> str: + def property(self) -> Optional[str]: """ - User-provided service description + The property name to use in sorting. Can be one of the following: [/name, /uuid, /state, /location/metroCode, /location/metroName, /package/code, /changeLog/createdDateTime, /changeLog/updatedDateTime], Defaults to /changeLog/updatedDateTime """ - return pulumi.get(self, "description") + return pulumi.get(self, "property") - @property - @pulumi.getter - def href(self) -> str: + +@pulumi.output_type +class GetConnectionASideResult(dict): + def __init__(__self__, *, + access_point: Optional['outputs.GetConnectionASideAccessPointResult'] = None, + additional_infos: Optional[Sequence['outputs.GetConnectionASideAdditionalInfoResult']] = None, + service_token: Optional['outputs.GetConnectionASideServiceTokenResult'] = None): """ - Service Profile URI response attribute + :param 'GetConnectionASideAccessPointArgs' access_point: Point of access details + :param Sequence['GetConnectionASideAdditionalInfoArgs'] additional_infos: Connection side additional information + :param 'GetConnectionASideServiceTokenArgs' service_token: For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets """ - return pulumi.get(self, "href") + if access_point is not None: + pulumi.set(__self__, "access_point", access_point) + if additional_infos is not None: + pulumi.set(__self__, "additional_infos", additional_infos) + if service_token is not None: + pulumi.set(__self__, "service_token", service_token) @property - @pulumi.getter - def name(self) -> str: + @pulumi.getter(name="accessPoint") + def access_point(self) -> Optional['outputs.GetConnectionASideAccessPointResult']: """ - Customer-assigned service profile name + Point of access details """ - return pulumi.get(self, "name") + return pulumi.get(self, "access_point") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="additionalInfos") + def additional_infos(self) -> Optional[Sequence['outputs.GetConnectionASideAdditionalInfoResult']]: """ - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + Connection side additional information """ - return pulumi.get(self, "type") + return pulumi.get(self, "additional_infos") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="serviceToken") + def service_token(self) -> Optional['outputs.GetConnectionASideServiceTokenResult']: """ - Equinix assigned service profile identifier + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "service_token") @pulumi.output_type -class GetConnectionASideAccessPointProfileAccessPointTypeConfigResult(dict): +class GetConnectionASideAccessPointResult(dict): def __init__(__self__, *, - type: str, - uuid: str): + accounts: Sequence['outputs.GetConnectionASideAccessPointAccountResult'], + location: 'outputs.GetConnectionASideAccessPointLocationResult', + provider_connection_id: str, + authentication_key: Optional[str] = None, + gateway: Optional['outputs.GetConnectionASideAccessPointGatewayResult'] = None, + interface: Optional['outputs.GetConnectionASideAccessPointInterfaceResult'] = None, + link_protocol: Optional['outputs.GetConnectionASideAccessPointLinkProtocolResult'] = None, + network: Optional['outputs.GetConnectionASideAccessPointNetworkResult'] = None, + peering_type: Optional[str] = None, + port: Optional['outputs.GetConnectionASideAccessPointPortResult'] = None, + profile: Optional['outputs.GetConnectionASideAccessPointProfileResult'] = None, + role: Optional[str] = None, + router: Optional['outputs.GetConnectionASideAccessPointRouterResult'] = None, + seller_region: Optional[str] = None, + type: Optional[str] = None, + virtual_device: Optional['outputs.GetConnectionASideAccessPointVirtualDeviceResult'] = None): """ - :param str type: Type of access point type config - VD, COLO - :param str uuid: Equinix-assigned access point type config identifier + :param Sequence['GetConnectionASideAccessPointAccountArgs'] accounts: Account + :param 'GetConnectionASideAccessPointLocationArgs' location: Access point location + :param str provider_connection_id: Provider assigned Connection Id + :param str authentication_key: Authentication key for provider based connections or Metal-Fabric Integration connections + :param 'GetConnectionASideAccessPointGatewayArgs' gateway: **Deprecated** `gateway` Use `router` attribute instead + :param 'GetConnectionASideAccessPointInterfaceArgs' interface: Virtual device interface + :param 'GetConnectionASideAccessPointLinkProtocolArgs' link_protocol: Connection link protocol + :param 'GetConnectionASideAccessPointNetworkArgs' network: network access point information + :param str peering_type: Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + :param 'GetConnectionASideAccessPointPortArgs' port: Port access point information + :param 'GetConnectionASideAccessPointProfileArgs' profile: Service Profile + :param str role: Network role + :param 'GetConnectionASideAccessPointRouterArgs' router: Cloud Router access point information that replaces `gateway` + :param str seller_region: Access point seller region + :param str type: Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK + :param 'GetConnectionASideAccessPointVirtualDeviceArgs' virtual_device: Virtual device """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "accounts", accounts) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "provider_connection_id", provider_connection_id) + if authentication_key is not None: + pulumi.set(__self__, "authentication_key", authentication_key) + if gateway is not None: + pulumi.set(__self__, "gateway", gateway) + if interface is not None: + pulumi.set(__self__, "interface", interface) + if link_protocol is not None: + pulumi.set(__self__, "link_protocol", link_protocol) + if network is not None: + pulumi.set(__self__, "network", network) + if peering_type is not None: + pulumi.set(__self__, "peering_type", peering_type) + if port is not None: + pulumi.set(__self__, "port", port) + if profile is not None: + pulumi.set(__self__, "profile", profile) + if role is not None: + pulumi.set(__self__, "role", role) + if router is not None: + pulumi.set(__self__, "router", router) + if seller_region is not None: + pulumi.set(__self__, "seller_region", seller_region) + if type is not None: + pulumi.set(__self__, "type", type) + if virtual_device is not None: + pulumi.set(__self__, "virtual_device", virtual_device) @property @pulumi.getter - def type(self) -> str: + def accounts(self) -> Sequence['outputs.GetConnectionASideAccessPointAccountResult']: """ - Type of access point type config - VD, COLO + Account """ - return pulumi.get(self, "type") + return pulumi.get(self, "accounts") @property @pulumi.getter - def uuid(self) -> str: + def location(self) -> 'outputs.GetConnectionASideAccessPointLocationResult': """ - Equinix-assigned access point type config identifier + Access point location """ - return pulumi.get(self, "uuid") - + return pulumi.get(self, "location") -@pulumi.output_type -class GetConnectionASideAccessPointRouterResult(dict): - def __init__(__self__, *, - href: str, - uuid: Optional[str] = None): + @property + @pulumi.getter(name="providerConnectionId") + def provider_connection_id(self) -> str: """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned virtual gateway identifier + Provider assigned Connection Id """ - pulumi.set(__self__, "href", href) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "provider_connection_id") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="authenticationKey") + def authentication_key(self) -> Optional[str]: """ - Unique Resource Identifier + Authentication key for provider based connections or Metal-Fabric Integration connections """ - return pulumi.get(self, "href") + return pulumi.get(self, "authentication_key") @property @pulumi.getter - def uuid(self) -> Optional[str]: + @_utilities.deprecated("""use router attribute instead; gateway is no longer a part of the supported backend""") + def gateway(self) -> Optional['outputs.GetConnectionASideAccessPointGatewayResult']: """ - Equinix-assigned virtual gateway identifier + **Deprecated** `gateway` Use `router` attribute instead """ - return pulumi.get(self, "uuid") - - -@pulumi.output_type -class GetConnectionASideAccessPointVirtualDeviceResult(dict): - def __init__(__self__, *, - href: str, - uuid: str, - name: Optional[str] = None, - type: Optional[str] = None): - """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned Virtual Device identifier - :param str name: Customer-assigned Virtual Device Name - :param str type: Virtual Device type - """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "uuid", uuid) - if name is not None: - pulumi.set(__self__, "name", name) - if type is not None: - pulumi.set(__self__, "type", type) + return pulumi.get(self, "gateway") @property @pulumi.getter - def href(self) -> str: + def interface(self) -> Optional['outputs.GetConnectionASideAccessPointInterfaceResult']: """ - Unique Resource Identifier + Virtual device interface """ - return pulumi.get(self, "href") + return pulumi.get(self, "interface") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="linkProtocol") + def link_protocol(self) -> Optional['outputs.GetConnectionASideAccessPointLinkProtocolResult']: """ - Equinix-assigned Virtual Device identifier + Connection link protocol """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "link_protocol") @property @pulumi.getter - def name(self) -> Optional[str]: + def network(self) -> Optional['outputs.GetConnectionASideAccessPointNetworkResult']: """ - Customer-assigned Virtual Device Name + network access point information """ - return pulumi.get(self, "name") + return pulumi.get(self, "network") @property - @pulumi.getter - def type(self) -> Optional[str]: - """ - Virtual Device type - """ - return pulumi.get(self, "type") - - -@pulumi.output_type -class GetConnectionASideAdditionalInfoResult(dict): - def __init__(__self__, *, - key: Optional[str] = None, - value: Optional[str] = None): + @pulumi.getter(name="peeringType") + def peering_type(self) -> Optional[str]: """ - :param str key: Additional information key - :param str value: Additional information value + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL """ - if key is not None: - pulumi.set(__self__, "key", key) - if value is not None: - pulumi.set(__self__, "value", value) + return pulumi.get(self, "peering_type") @property @pulumi.getter - def key(self) -> Optional[str]: + def port(self) -> Optional['outputs.GetConnectionASideAccessPointPortResult']: """ - Additional information key + Port access point information """ - return pulumi.get(self, "key") + return pulumi.get(self, "port") @property @pulumi.getter - def value(self) -> Optional[str]: + def profile(self) -> Optional['outputs.GetConnectionASideAccessPointProfileResult']: """ - Additional information value + Service Profile """ - return pulumi.get(self, "value") - + return pulumi.get(self, "profile") -@pulumi.output_type -class GetConnectionASideServiceTokenResult(dict): - def __init__(__self__, *, - description: str, - href: str, - type: Optional[str] = None, - uuid: Optional[str] = None): + @property + @pulumi.getter + def role(self) -> Optional[str]: """ - :param str description: Service token description - :param str href: An absolute URL that is the subject of the link's context - :param str type: Token type - VC_TOKEN - :param str uuid: Equinix-assigned service token identifier + Network role """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "href", href) - if type is not None: - pulumi.set(__self__, "type", type) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "role") @property @pulumi.getter - def description(self) -> str: + def router(self) -> Optional['outputs.GetConnectionASideAccessPointRouterResult']: """ - Service token description + Cloud Router access point information that replaces `gateway` """ - return pulumi.get(self, "description") + return pulumi.get(self, "router") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="sellerRegion") + def seller_region(self) -> Optional[str]: """ - An absolute URL that is the subject of the link's context + Access point seller region """ - return pulumi.get(self, "href") + return pulumi.get(self, "seller_region") @property @pulumi.getter def type(self) -> Optional[str]: """ - Token type - VC_TOKEN + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK """ return pulumi.get(self, "type") @property - @pulumi.getter - def uuid(self) -> Optional[str]: + @pulumi.getter(name="virtualDevice") + def virtual_device(self) -> Optional['outputs.GetConnectionASideAccessPointVirtualDeviceResult']: """ - Equinix-assigned service token identifier + Virtual device """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "virtual_device") @pulumi.output_type -class GetConnectionAccountResult(dict): +class GetConnectionASideAccessPointAccountResult(dict): def __init__(__self__, *, account_name: str, account_number: int, @@ -15171,2159 +14958,2100 @@ def ucm_id(self) -> str: @pulumi.output_type -class GetConnectionChangeLogResult(dict): +class GetConnectionASideAccessPointGatewayResult(dict): def __init__(__self__, *, - created_by: str, - created_by_email: str, - created_by_full_name: str, - created_date_time: str, - deleted_by: str, - deleted_by_email: str, - deleted_by_full_name: str, - deleted_date_time: str, - updated_by: str, - updated_by_email: str, - updated_by_full_name: str, - updated_date_time: str): + href: str, + uuid: Optional[str] = None): """ - :param str created_by: Created by User Key - :param str created_by_email: Created by User Email Address - :param str created_by_full_name: Created by User Full Name - :param str created_date_time: Created by Date and Time - :param str deleted_by: Deleted by User Key - :param str deleted_by_email: Deleted by User Email Address - :param str deleted_by_full_name: Deleted by User Full Name - :param str deleted_date_time: Deleted by Date and Time - :param str updated_by: Updated by User Key - :param str updated_by_email: Updated by User Email Address - :param str updated_by_full_name: Updated by User Full Name - :param str updated_date_time: Updated by Date and Time + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned virtual gateway identifier """ - pulumi.set(__self__, "created_by", created_by) - pulumi.set(__self__, "created_by_email", created_by_email) - pulumi.set(__self__, "created_by_full_name", created_by_full_name) - pulumi.set(__self__, "created_date_time", created_date_time) - pulumi.set(__self__, "deleted_by", deleted_by) - pulumi.set(__self__, "deleted_by_email", deleted_by_email) - pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) - pulumi.set(__self__, "deleted_date_time", deleted_date_time) - pulumi.set(__self__, "updated_by", updated_by) - pulumi.set(__self__, "updated_by_email", updated_by_email) - pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) - pulumi.set(__self__, "updated_date_time", updated_date_time) + pulumi.set(__self__, "href", href) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="createdBy") - def created_by(self) -> str: + @pulumi.getter + def href(self) -> str: """ - Created by User Key + Unique Resource Identifier """ - return pulumi.get(self, "created_by") + return pulumi.get(self, "href") @property - @pulumi.getter(name="createdByEmail") - def created_by_email(self) -> str: + @pulumi.getter + def uuid(self) -> Optional[str]: """ - Created by User Email Address + Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "created_by_email") + return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="createdByFullName") - def created_by_full_name(self) -> str: + +@pulumi.output_type +class GetConnectionASideAccessPointInterfaceResult(dict): + def __init__(__self__, *, + id: int, + type: Optional[str] = None, + uuid: Optional[str] = None): """ - Created by User Full Name + :param int id: id + :param str type: Interface type + :param str uuid: Equinix-assigned interface identifier """ - return pulumi.get(self, "created_by_full_name") + pulumi.set(__self__, "id", id) + if type is not None: + pulumi.set(__self__, "type", type) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="createdDateTime") - def created_date_time(self) -> str: + @pulumi.getter + def id(self) -> int: """ - Created by Date and Time + id """ - return pulumi.get(self, "created_date_time") + return pulumi.get(self, "id") @property - @pulumi.getter(name="deletedBy") - def deleted_by(self) -> str: + @pulumi.getter + def type(self) -> Optional[str]: """ - Deleted by User Key + Interface type """ - return pulumi.get(self, "deleted_by") + return pulumi.get(self, "type") @property - @pulumi.getter(name="deletedByEmail") - def deleted_by_email(self) -> str: + @pulumi.getter + def uuid(self) -> Optional[str]: """ - Deleted by User Email Address + Equinix-assigned interface identifier """ - return pulumi.get(self, "deleted_by_email") + return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="deletedByFullName") - def deleted_by_full_name(self) -> str: + +@pulumi.output_type +class GetConnectionASideAccessPointLinkProtocolResult(dict): + def __init__(__self__, *, + vlan_c_tag: int, + vlan_s_tag: int, + vlan_tag: int, + type: Optional[str] = None): """ - Deleted by User Full Name + :param int vlan_c_tag: Vlan Customer Tag information, vlanCTag value specified for QINQ connections + :param int vlan_s_tag: Vlan Provider Tag information, vlanSTag value specified for QINQ connections + :param int vlan_tag: Vlan Tag information, vlanTag value specified for DOT1Q connections + :param str type: Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN """ - return pulumi.get(self, "deleted_by_full_name") + pulumi.set(__self__, "vlan_c_tag", vlan_c_tag) + pulumi.set(__self__, "vlan_s_tag", vlan_s_tag) + pulumi.set(__self__, "vlan_tag", vlan_tag) + if type is not None: + pulumi.set(__self__, "type", type) @property - @pulumi.getter(name="deletedDateTime") - def deleted_date_time(self) -> str: + @pulumi.getter(name="vlanCTag") + def vlan_c_tag(self) -> int: """ - Deleted by Date and Time - """ - return pulumi.get(self, "deleted_date_time") - - @property - @pulumi.getter(name="updatedBy") - def updated_by(self) -> str: - """ - Updated by User Key + Vlan Customer Tag information, vlanCTag value specified for QINQ connections """ - return pulumi.get(self, "updated_by") + return pulumi.get(self, "vlan_c_tag") @property - @pulumi.getter(name="updatedByEmail") - def updated_by_email(self) -> str: + @pulumi.getter(name="vlanSTag") + def vlan_s_tag(self) -> int: """ - Updated by User Email Address + Vlan Provider Tag information, vlanSTag value specified for QINQ connections """ - return pulumi.get(self, "updated_by_email") + return pulumi.get(self, "vlan_s_tag") @property - @pulumi.getter(name="updatedByFullName") - def updated_by_full_name(self) -> str: + @pulumi.getter(name="vlanTag") + def vlan_tag(self) -> int: """ - Updated by User Full Name + Vlan Tag information, vlanTag value specified for DOT1Q connections """ - return pulumi.get(self, "updated_by_full_name") + return pulumi.get(self, "vlan_tag") @property - @pulumi.getter(name="updatedDateTime") - def updated_date_time(self) -> str: + @pulumi.getter + def type(self) -> Optional[str]: """ - Updated by Date and Time + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN """ - return pulumi.get(self, "updated_date_time") + return pulumi.get(self, "type") @pulumi.output_type -class GetConnectionNotificationResult(dict): +class GetConnectionASideAccessPointLocationResult(dict): def __init__(__self__, *, - emails: Sequence[str], - type: str, - send_interval: Optional[str] = None): + ibx: str, + metro_code: str, + metro_name: str, + region: str): """ - :param Sequence[str] emails: Array of contact emails - :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS - :param str send_interval: Send interval + :param str ibx: IBX Code + :param str metro_code: Access point metro code + :param str metro_name: Access point metro name + :param str region: Access point region """ - pulumi.set(__self__, "emails", emails) - pulumi.set(__self__, "type", type) - if send_interval is not None: - pulumi.set(__self__, "send_interval", send_interval) + pulumi.set(__self__, "ibx", ibx) + pulumi.set(__self__, "metro_code", metro_code) + pulumi.set(__self__, "metro_name", metro_name) + pulumi.set(__self__, "region", region) @property @pulumi.getter - def emails(self) -> Sequence[str]: + def ibx(self) -> str: """ - Array of contact emails + IBX Code """ - return pulumi.get(self, "emails") + return pulumi.get(self, "ibx") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="metroCode") + def metro_code(self) -> str: """ - Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + Access point metro code """ - return pulumi.get(self, "type") + return pulumi.get(self, "metro_code") @property - @pulumi.getter(name="sendInterval") - def send_interval(self) -> Optional[str]: + @pulumi.getter(name="metroName") + def metro_name(self) -> str: """ - Send interval + Access point metro name """ - return pulumi.get(self, "send_interval") - + return pulumi.get(self, "metro_name") -@pulumi.output_type -class GetConnectionOperationResult(dict): - def __init__(__self__, *, - equinix_status: str, - errors: Sequence['outputs.GetConnectionOperationErrorResult'], - provider_status: str): + @property + @pulumi.getter + def region(self) -> str: """ - :param str equinix_status: Connection status - :param Sequence['GetConnectionOperationErrorArgs'] errors: Errors occurred - :param str provider_status: Connection provider readiness status + Access point region """ - pulumi.set(__self__, "equinix_status", equinix_status) - pulumi.set(__self__, "errors", errors) - pulumi.set(__self__, "provider_status", provider_status) + return pulumi.get(self, "region") - @property - @pulumi.getter(name="equinixStatus") - def equinix_status(self) -> str: + +@pulumi.output_type +class GetConnectionASideAccessPointNetworkResult(dict): + def __init__(__self__, *, + href: str, + uuid: str): """ - Connection status + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned Network identifier """ - return pulumi.get(self, "equinix_status") + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def errors(self) -> Sequence['outputs.GetConnectionOperationErrorResult']: + def href(self) -> str: """ - Errors occurred + Unique Resource Identifier """ - return pulumi.get(self, "errors") + return pulumi.get(self, "href") @property - @pulumi.getter(name="providerStatus") - def provider_status(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - Connection provider readiness status + Equinix-assigned Network identifier """ - return pulumi.get(self, "provider_status") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionOperationErrorResult(dict): +class GetConnectionASideAccessPointPortResult(dict): def __init__(__self__, *, - additional_infos: Sequence['outputs.GetConnectionOperationErrorAdditionalInfoResult'], - correlation_id: str, - details: str, - error_code: str, - error_message: str, - help: str): + href: str, + name: str, + redundancies: Sequence['outputs.GetConnectionASideAccessPointPortRedundancyResult'], + uuid: str): """ - :param Sequence['GetConnectionOperationErrorAdditionalInfoArgs'] additional_infos: Pricing error additional Info - :param str correlation_id: CorrelationId - :param str details: Details - :param str error_code: Error code - :param str error_message: Error Message - :param str help: Help + :param str href: Unique Resource Identifier + :param str name: Port name + :param Sequence['GetConnectionASideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information + :param str uuid: Equinix-assigned Port identifier """ - pulumi.set(__self__, "additional_infos", additional_infos) - pulumi.set(__self__, "correlation_id", correlation_id) - pulumi.set(__self__, "details", details) - pulumi.set(__self__, "error_code", error_code) - pulumi.set(__self__, "error_message", error_message) - pulumi.set(__self__, "help", help) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "redundancies", redundancies) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="additionalInfos") - def additional_infos(self) -> Sequence['outputs.GetConnectionOperationErrorAdditionalInfoResult']: + @pulumi.getter + def href(self) -> str: """ - Pricing error additional Info + Unique Resource Identifier """ - return pulumi.get(self, "additional_infos") + return pulumi.get(self, "href") @property - @pulumi.getter(name="correlationId") - def correlation_id(self) -> str: + @pulumi.getter + def name(self) -> str: """ - CorrelationId + Port name """ - return pulumi.get(self, "correlation_id") + return pulumi.get(self, "name") @property @pulumi.getter - def details(self) -> str: + def redundancies(self) -> Sequence['outputs.GetConnectionASideAccessPointPortRedundancyResult']: """ - Details + Redundancy Information """ - return pulumi.get(self, "details") + return pulumi.get(self, "redundancies") @property - @pulumi.getter(name="errorCode") - def error_code(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - Error code + Equinix-assigned Port identifier """ - return pulumi.get(self, "error_code") + return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="errorMessage") - def error_message(self) -> str: + +@pulumi.output_type +class GetConnectionASideAccessPointPortRedundancyResult(dict): + def __init__(__self__, *, + enabled: bool, + group: str, + priority: str): """ - Error Message + :param bool enabled: Access point redundancy + :param str group: Port redundancy group + :param str priority: Priority type-Primary or Secondary """ - return pulumi.get(self, "error_message") + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "priority", priority) @property @pulumi.getter - def help(self) -> str: - """ - Help - """ - return pulumi.get(self, "help") - - -@pulumi.output_type -class GetConnectionOperationErrorAdditionalInfoResult(dict): - def __init__(__self__, *, - property: str, - reason: str): + def enabled(self) -> bool: """ - :param str property: Property at which the error potentially occurred - :param str reason: Reason for the error + Access point redundancy """ - pulumi.set(__self__, "property", property) - pulumi.set(__self__, "reason", reason) + return pulumi.get(self, "enabled") @property @pulumi.getter - def reason(self) -> str: + def group(self) -> str: """ - Reason for the error + Port redundancy group """ - return pulumi.get(self, "reason") + return pulumi.get(self, "group") @property @pulumi.getter - def property(self) -> str: + def priority(self) -> str: """ - Property at which the error potentially occurred + Priority type-Primary or Secondary """ - return pulumi.get(self, "property") + return pulumi.get(self, "priority") @pulumi.output_type -class GetConnectionOrderResult(dict): +class GetConnectionASideAccessPointProfileResult(dict): def __init__(__self__, *, - billing_tier: str, - order_id: str, - order_number: str, - purchase_order_number: str, - term_length: Optional[int] = None): + access_point_type_configs: Sequence['outputs.GetConnectionASideAccessPointProfileAccessPointTypeConfigResult'], + description: str, + href: str, + name: str, + type: str, + uuid: str): """ - :param str billing_tier: Billing tier for connection bandwidth - :param str order_id: Order Identification - :param str order_number: Order Reference Number - :param str purchase_order_number: Purchase order number - :param int term_length: Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) + :param Sequence['GetConnectionASideAccessPointProfileAccessPointTypeConfigArgs'] access_point_type_configs: Access point config information + :param str description: User-provided service description + :param str href: Service Profile URI response attribute + :param str name: Customer-assigned service profile name + :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + :param str uuid: Equinix assigned service profile identifier """ - pulumi.set(__self__, "billing_tier", billing_tier) - pulumi.set(__self__, "order_id", order_id) - pulumi.set(__self__, "order_number", order_number) - pulumi.set(__self__, "purchase_order_number", purchase_order_number) - if term_length is not None: - pulumi.set(__self__, "term_length", term_length) + pulumi.set(__self__, "access_point_type_configs", access_point_type_configs) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="billingTier") - def billing_tier(self) -> str: + @pulumi.getter(name="accessPointTypeConfigs") + def access_point_type_configs(self) -> Sequence['outputs.GetConnectionASideAccessPointProfileAccessPointTypeConfigResult']: """ - Billing tier for connection bandwidth + Access point config information """ - return pulumi.get(self, "billing_tier") + return pulumi.get(self, "access_point_type_configs") @property - @pulumi.getter(name="orderId") - def order_id(self) -> str: + @pulumi.getter + def description(self) -> str: """ - Order Identification + User-provided service description """ - return pulumi.get(self, "order_id") + return pulumi.get(self, "description") @property - @pulumi.getter(name="orderNumber") - def order_number(self) -> str: + @pulumi.getter + def href(self) -> str: """ - Order Reference Number + Service Profile URI response attribute """ - return pulumi.get(self, "order_number") + return pulumi.get(self, "href") @property - @pulumi.getter(name="purchaseOrderNumber") - def purchase_order_number(self) -> str: + @pulumi.getter + def name(self) -> str: """ - Purchase order number + Customer-assigned service profile name """ - return pulumi.get(self, "purchase_order_number") + return pulumi.get(self, "name") @property - @pulumi.getter(name="termLength") - def term_length(self) -> Optional[int]: + @pulumi.getter + def type(self) -> str: """ - Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE """ - return pulumi.get(self, "term_length") + return pulumi.get(self, "type") + + @property + @pulumi.getter + def uuid(self) -> str: + """ + Equinix assigned service profile identifier + """ + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionProjectResult(dict): +class GetConnectionASideAccessPointProfileAccessPointTypeConfigResult(dict): def __init__(__self__, *, - href: str, - project_id: str): + type: str, + uuid: str): """ - :param str href: Unique Resource URL - :param str project_id: Project Id + :param str type: Type of access point type config - VD, COLO + :param str uuid: Equinix-assigned access point type config identifier """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def href(self) -> str: + def type(self) -> str: """ - Unique Resource URL + Type of access point type config - VD, COLO """ - return pulumi.get(self, "href") + return pulumi.get(self, "type") @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - Project Id + Equinix-assigned access point type config identifier """ - return pulumi.get(self, "project_id") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionRedundancyResult(dict): +class GetConnectionASideAccessPointRouterResult(dict): def __init__(__self__, *, - group: str, - priority: str): + href: str, + uuid: Optional[str] = None): """ - :param str group: Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) - :param str priority: Connection priority in redundancy group - PRIMARY, SECONDARY + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned virtual gateway identifier """ - pulumi.set(__self__, "group", group) - pulumi.set(__self__, "priority", priority) + pulumi.set(__self__, "href", href) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def group(self) -> str: + def href(self) -> str: """ - Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) + Unique Resource Identifier """ - return pulumi.get(self, "group") + return pulumi.get(self, "href") @property @pulumi.getter - def priority(self) -> str: + def uuid(self) -> Optional[str]: """ - Connection priority in redundancy group - PRIMARY, SECONDARY + Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "priority") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionRouteAggregationsDataResult(dict): +class GetConnectionASideAccessPointVirtualDeviceResult(dict): def __init__(__self__, *, - attachment_status: str, - connection_id: str, href: str, - route_aggregation_id: str, - type: str, - uuid: str): + uuid: str, + name: Optional[str] = None, + type: Optional[str] = None): """ - :param str attachment_status: Status of the Route Aggregation Policy attachment lifecycle - :param str connection_id: UUID of the Connection to attach this Route Aggregation to - :param str href: URI to the attached Route Aggregation Policy on the Connection - :param str route_aggregation_id: UUID of the Route Aggregation to attach this Connection to - :param str type: Route Aggregation Type. One of ["BGP*IPv4*PREFIX_AGGREGATION"] - :param str uuid: Equinix Assigned ID for Route Aggregation Policy + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned Virtual Device identifier + :param str name: Customer-assigned Virtual Device Name + :param str type: Virtual Device type """ - pulumi.set(__self__, "attachment_status", attachment_status) - pulumi.set(__self__, "connection_id", connection_id) pulumi.set(__self__, "href", href) - pulumi.set(__self__, "route_aggregation_id", route_aggregation_id) - pulumi.set(__self__, "type", type) pulumi.set(__self__, "uuid", uuid) - - @property - @pulumi.getter(name="attachmentStatus") - def attachment_status(self) -> str: - """ - Status of the Route Aggregation Policy attachment lifecycle - """ - return pulumi.get(self, "attachment_status") - - @property - @pulumi.getter(name="connectionId") - def connection_id(self) -> str: - """ - UUID of the Connection to attach this Route Aggregation to - """ - return pulumi.get(self, "connection_id") + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) @property @pulumi.getter def href(self) -> str: """ - URI to the attached Route Aggregation Policy on the Connection + Unique Resource Identifier """ return pulumi.get(self, "href") @property - @pulumi.getter(name="routeAggregationId") - def route_aggregation_id(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - UUID of the Route Aggregation to attach this Connection to + Equinix-assigned Virtual Device identifier """ - return pulumi.get(self, "route_aggregation_id") + return pulumi.get(self, "uuid") @property @pulumi.getter - def type(self) -> str: + def name(self) -> Optional[str]: """ - Route Aggregation Type. One of ["BGP*IPv4*PREFIX_AGGREGATION"] + Customer-assigned Virtual Device Name """ - return pulumi.get(self, "type") + return pulumi.get(self, "name") @property @pulumi.getter - def uuid(self) -> str: + def type(self) -> Optional[str]: """ - Equinix Assigned ID for Route Aggregation Policy + Virtual Device type """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "type") @pulumi.output_type -class GetConnectionRouteAggregationsPaginationResult(dict): +class GetConnectionASideAdditionalInfoResult(dict): def __init__(__self__, *, - limit: int, - next: str, - offset: int, - previous: str, - total: int): + key: Optional[str] = None, + value: Optional[str] = None): """ - :param int limit: Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 - :param str next: The URL relative to the next item in the response - :param int offset: Index of the first item returned in the response. The default is 0 - :param str previous: The URL relative to the previous item in the response - :param int total: The total number of connection route aggregations available to the user making the request + :param str key: Additional information key + :param str value: Additional information value """ - pulumi.set(__self__, "limit", limit) - pulumi.set(__self__, "next", next) - pulumi.set(__self__, "offset", offset) - pulumi.set(__self__, "previous", previous) - pulumi.set(__self__, "total", total) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property @pulumi.getter - def limit(self) -> int: + def key(self) -> Optional[str]: """ - Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 + Additional information key """ - return pulumi.get(self, "limit") + return pulumi.get(self, "key") @property @pulumi.getter - def next(self) -> str: + def value(self) -> Optional[str]: """ - The URL relative to the next item in the response + Additional information value """ - return pulumi.get(self, "next") + return pulumi.get(self, "value") - @property - @pulumi.getter - def offset(self) -> int: + +@pulumi.output_type +class GetConnectionASideServiceTokenResult(dict): + def __init__(__self__, *, + description: str, + href: str, + type: Optional[str] = None, + uuid: Optional[str] = None): """ - Index of the first item returned in the response. The default is 0 + :param str description: Service token description + :param str href: An absolute URL that is the subject of the link's context + :param str type: Token type - VC_TOKEN + :param str uuid: Equinix-assigned service token identifier """ - return pulumi.get(self, "offset") + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "href", href) + if type is not None: + pulumi.set(__self__, "type", type) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def previous(self) -> str: + def description(self) -> str: """ - The URL relative to the previous item in the response + Service token description """ - return pulumi.get(self, "previous") + return pulumi.get(self, "description") @property @pulumi.getter - def total(self) -> int: + def href(self) -> str: """ - The total number of connection route aggregations available to the user making the request + An absolute URL that is the subject of the link's context """ - return pulumi.get(self, "total") + return pulumi.get(self, "href") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Token type - VC_TOKEN + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def uuid(self) -> Optional[str]: + """ + Equinix-assigned service token identifier + """ + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionRouteFiltersDataResult(dict): +class GetConnectionAccountResult(dict): def __init__(__self__, *, - attachment_status: str, - direction: str, - href: str, - type: str, - uuid: str): + account_name: str, + account_number: int, + global_cust_id: str, + global_org_id: str, + global_organization_name: str, + org_id: int, + organization_name: str, + ucm_id: str): """ - :param str attachment_status: Status of the Route Filter Policy attachment lifecycle - :param str direction: Direction of the filtering of the attached Route Filter Policy - :param str href: URI to the attached Route Filter Policy on the Connection - :param str type: Route Filter Type. One of [ "BGP_IPv4_PREFIX_FILTER", "BGP_IPv6_PREFIX_FILTER" ] - :param str uuid: Equinix Assigned ID for Route Filter Policy + :param str account_name: Legal name of the accountholder. + :param int account_number: Equinix-assigned account number. + :param str global_cust_id: Equinix-assigned ID of the subscriber's parent organization. + :param str global_org_id: Equinix-assigned ID of the subscriber's parent organization. + :param str global_organization_name: Equinix-assigned name of the subscriber's parent organization. + :param int org_id: Equinix-assigned ID of the subscriber's organization. + :param str organization_name: Equinix-assigned name of the subscriber's organization. + :param str ucm_id: Enterprise datastore id """ - pulumi.set(__self__, "attachment_status", attachment_status) - pulumi.set(__self__, "direction", direction) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "account_number", account_number) + pulumi.set(__self__, "global_cust_id", global_cust_id) + pulumi.set(__self__, "global_org_id", global_org_id) + pulumi.set(__self__, "global_organization_name", global_organization_name) + pulumi.set(__self__, "org_id", org_id) + pulumi.set(__self__, "organization_name", organization_name) + pulumi.set(__self__, "ucm_id", ucm_id) @property - @pulumi.getter(name="attachmentStatus") - def attachment_status(self) -> str: + @pulumi.getter(name="accountName") + def account_name(self) -> str: """ - Status of the Route Filter Policy attachment lifecycle + Legal name of the accountholder. """ - return pulumi.get(self, "attachment_status") + return pulumi.get(self, "account_name") @property - @pulumi.getter - def direction(self) -> str: + @pulumi.getter(name="accountNumber") + def account_number(self) -> int: """ - Direction of the filtering of the attached Route Filter Policy + Equinix-assigned account number. """ - return pulumi.get(self, "direction") + return pulumi.get(self, "account_number") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="globalCustId") + def global_cust_id(self) -> str: """ - URI to the attached Route Filter Policy on the Connection + Equinix-assigned ID of the subscriber's parent organization. """ - return pulumi.get(self, "href") + return pulumi.get(self, "global_cust_id") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="globalOrgId") + def global_org_id(self) -> str: """ - Route Filter Type. One of [ "BGP_IPv4_PREFIX_FILTER", "BGP_IPv6_PREFIX_FILTER" ] + Equinix-assigned ID of the subscriber's parent organization. """ - return pulumi.get(self, "type") + return pulumi.get(self, "global_org_id") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="globalOrganizationName") + def global_organization_name(self) -> str: """ - Equinix Assigned ID for Route Filter Policy + Equinix-assigned name of the subscriber's parent organization. """ - return pulumi.get(self, "uuid") - + return pulumi.get(self, "global_organization_name") -@pulumi.output_type -class GetConnectionRouteFiltersPaginationResult(dict): - def __init__(__self__, *, - limit: int, - next: str, - offset: int, - previous: str, - total: int): + @property + @pulumi.getter(name="orgId") + def org_id(self) -> int: """ - :param int limit: Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 - :param str next: URL relative to the last item in the response. - :param int offset: The page offset for the pagination request. Index of the first element. Default is 0. - :param str previous: URL relative to the first item in the response. - :param int total: Total number of elements returned. + Equinix-assigned ID of the subscriber's organization. """ - pulumi.set(__self__, "limit", limit) - pulumi.set(__self__, "next", next) - pulumi.set(__self__, "offset", offset) - pulumi.set(__self__, "previous", previous) - pulumi.set(__self__, "total", total) + return pulumi.get(self, "org_id") @property - @pulumi.getter - def limit(self) -> int: + @pulumi.getter(name="organizationName") + def organization_name(self) -> str: """ - Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 + Equinix-assigned name of the subscriber's organization. """ - return pulumi.get(self, "limit") + return pulumi.get(self, "organization_name") @property - @pulumi.getter - def next(self) -> str: + @pulumi.getter(name="ucmId") + def ucm_id(self) -> str: """ - URL relative to the last item in the response. + Enterprise datastore id """ - return pulumi.get(self, "next") + return pulumi.get(self, "ucm_id") - @property - @pulumi.getter - def offset(self) -> int: + +@pulumi.output_type +class GetConnectionChangeLogResult(dict): + def __init__(__self__, *, + created_by: str, + created_by_email: str, + created_by_full_name: str, + created_date_time: str, + deleted_by: str, + deleted_by_email: str, + deleted_by_full_name: str, + deleted_date_time: str, + updated_by: str, + updated_by_email: str, + updated_by_full_name: str, + updated_date_time: str): """ - The page offset for the pagination request. Index of the first element. Default is 0. + :param str created_by: Created by User Key + :param str created_by_email: Created by User Email Address + :param str created_by_full_name: Created by User Full Name + :param str created_date_time: Created by Date and Time + :param str deleted_by: Deleted by User Key + :param str deleted_by_email: Deleted by User Email Address + :param str deleted_by_full_name: Deleted by User Full Name + :param str deleted_date_time: Deleted by Date and Time + :param str updated_by: Updated by User Key + :param str updated_by_email: Updated by User Email Address + :param str updated_by_full_name: Updated by User Full Name + :param str updated_date_time: Updated by Date and Time """ - return pulumi.get(self, "offset") + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_email", created_by_email) + pulumi.set(__self__, "created_by_full_name", created_by_full_name) + pulumi.set(__self__, "created_date_time", created_date_time) + pulumi.set(__self__, "deleted_by", deleted_by) + pulumi.set(__self__, "deleted_by_email", deleted_by_email) + pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) + pulumi.set(__self__, "deleted_date_time", deleted_date_time) + pulumi.set(__self__, "updated_by", updated_by) + pulumi.set(__self__, "updated_by_email", updated_by_email) + pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) + pulumi.set(__self__, "updated_date_time", updated_date_time) @property - @pulumi.getter - def previous(self) -> str: + @pulumi.getter(name="createdBy") + def created_by(self) -> str: """ - URL relative to the first item in the response. + Created by User Key """ - return pulumi.get(self, "previous") + return pulumi.get(self, "created_by") @property - @pulumi.getter - def total(self) -> int: + @pulumi.getter(name="createdByEmail") + def created_by_email(self) -> str: """ - Total number of elements returned. + Created by User Email Address """ - return pulumi.get(self, "total") - + return pulumi.get(self, "created_by_email") -@pulumi.output_type -class GetConnectionZSideResult(dict): - def __init__(__self__, *, - access_point: Optional['outputs.GetConnectionZSideAccessPointResult'] = None, - additional_infos: Optional[Sequence['outputs.GetConnectionZSideAdditionalInfoResult']] = None, - service_token: Optional['outputs.GetConnectionZSideServiceTokenResult'] = None): + @property + @pulumi.getter(name="createdByFullName") + def created_by_full_name(self) -> str: """ - :param 'GetConnectionZSideAccessPointArgs' access_point: Point of access details - :param Sequence['GetConnectionZSideAdditionalInfoArgs'] additional_infos: Connection side additional information - :param 'GetConnectionZSideServiceTokenArgs' service_token: For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + Created by User Full Name """ - if access_point is not None: - pulumi.set(__self__, "access_point", access_point) - if additional_infos is not None: - pulumi.set(__self__, "additional_infos", additional_infos) - if service_token is not None: - pulumi.set(__self__, "service_token", service_token) + return pulumi.get(self, "created_by_full_name") @property - @pulumi.getter(name="accessPoint") - def access_point(self) -> Optional['outputs.GetConnectionZSideAccessPointResult']: + @pulumi.getter(name="createdDateTime") + def created_date_time(self) -> str: """ - Point of access details + Created by Date and Time """ - return pulumi.get(self, "access_point") + return pulumi.get(self, "created_date_time") @property - @pulumi.getter(name="additionalInfos") - def additional_infos(self) -> Optional[Sequence['outputs.GetConnectionZSideAdditionalInfoResult']]: + @pulumi.getter(name="deletedBy") + def deleted_by(self) -> str: """ - Connection side additional information + Deleted by User Key """ - return pulumi.get(self, "additional_infos") + return pulumi.get(self, "deleted_by") @property - @pulumi.getter(name="serviceToken") - def service_token(self) -> Optional['outputs.GetConnectionZSideServiceTokenResult']: + @pulumi.getter(name="deletedByEmail") + def deleted_by_email(self) -> str: """ - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + Deleted by User Email Address """ - return pulumi.get(self, "service_token") + return pulumi.get(self, "deleted_by_email") + @property + @pulumi.getter(name="deletedByFullName") + def deleted_by_full_name(self) -> str: + """ + Deleted by User Full Name + """ + return pulumi.get(self, "deleted_by_full_name") -@pulumi.output_type -class GetConnectionZSideAccessPointResult(dict): - def __init__(__self__, *, - accounts: Sequence['outputs.GetConnectionZSideAccessPointAccountResult'], - location: 'outputs.GetConnectionZSideAccessPointLocationResult', - provider_connection_id: str, - authentication_key: Optional[str] = None, - gateway: Optional['outputs.GetConnectionZSideAccessPointGatewayResult'] = None, - interface: Optional['outputs.GetConnectionZSideAccessPointInterfaceResult'] = None, - link_protocol: Optional['outputs.GetConnectionZSideAccessPointLinkProtocolResult'] = None, - network: Optional['outputs.GetConnectionZSideAccessPointNetworkResult'] = None, - peering_type: Optional[str] = None, - port: Optional['outputs.GetConnectionZSideAccessPointPortResult'] = None, - profile: Optional['outputs.GetConnectionZSideAccessPointProfileResult'] = None, - role: Optional[str] = None, - router: Optional['outputs.GetConnectionZSideAccessPointRouterResult'] = None, - seller_region: Optional[str] = None, - type: Optional[str] = None, - virtual_device: Optional['outputs.GetConnectionZSideAccessPointVirtualDeviceResult'] = None): + @property + @pulumi.getter(name="deletedDateTime") + def deleted_date_time(self) -> str: """ - :param Sequence['GetConnectionZSideAccessPointAccountArgs'] accounts: Account - :param 'GetConnectionZSideAccessPointLocationArgs' location: Access point location - :param str provider_connection_id: Provider assigned Connection Id - :param str authentication_key: Authentication key for provider based connections or Metal-Fabric Integration connections - :param 'GetConnectionZSideAccessPointGatewayArgs' gateway: **Deprecated** `gateway` Use `router` attribute instead - :param 'GetConnectionZSideAccessPointInterfaceArgs' interface: Virtual device interface - :param 'GetConnectionZSideAccessPointLinkProtocolArgs' link_protocol: Connection link protocol - :param 'GetConnectionZSideAccessPointNetworkArgs' network: network access point information - :param str peering_type: Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL - :param 'GetConnectionZSideAccessPointPortArgs' port: Port access point information - :param 'GetConnectionZSideAccessPointProfileArgs' profile: Service Profile - :param str role: Network role - :param 'GetConnectionZSideAccessPointRouterArgs' router: Cloud Router access point information that replaces `gateway` - :param str seller_region: Access point seller region - :param str type: Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK - :param 'GetConnectionZSideAccessPointVirtualDeviceArgs' virtual_device: Virtual device + Deleted by Date and Time """ - pulumi.set(__self__, "accounts", accounts) - pulumi.set(__self__, "location", location) - pulumi.set(__self__, "provider_connection_id", provider_connection_id) - if authentication_key is not None: - pulumi.set(__self__, "authentication_key", authentication_key) - if gateway is not None: - pulumi.set(__self__, "gateway", gateway) - if interface is not None: - pulumi.set(__self__, "interface", interface) - if link_protocol is not None: - pulumi.set(__self__, "link_protocol", link_protocol) - if network is not None: - pulumi.set(__self__, "network", network) - if peering_type is not None: - pulumi.set(__self__, "peering_type", peering_type) - if port is not None: - pulumi.set(__self__, "port", port) - if profile is not None: - pulumi.set(__self__, "profile", profile) - if role is not None: - pulumi.set(__self__, "role", role) - if router is not None: - pulumi.set(__self__, "router", router) - if seller_region is not None: - pulumi.set(__self__, "seller_region", seller_region) - if type is not None: - pulumi.set(__self__, "type", type) - if virtual_device is not None: - pulumi.set(__self__, "virtual_device", virtual_device) + return pulumi.get(self, "deleted_date_time") @property - @pulumi.getter - def accounts(self) -> Sequence['outputs.GetConnectionZSideAccessPointAccountResult']: + @pulumi.getter(name="updatedBy") + def updated_by(self) -> str: """ - Account + Updated by User Key """ - return pulumi.get(self, "accounts") + return pulumi.get(self, "updated_by") @property - @pulumi.getter - def location(self) -> 'outputs.GetConnectionZSideAccessPointLocationResult': + @pulumi.getter(name="updatedByEmail") + def updated_by_email(self) -> str: """ - Access point location + Updated by User Email Address """ - return pulumi.get(self, "location") + return pulumi.get(self, "updated_by_email") @property - @pulumi.getter(name="providerConnectionId") - def provider_connection_id(self) -> str: + @pulumi.getter(name="updatedByFullName") + def updated_by_full_name(self) -> str: """ - Provider assigned Connection Id + Updated by User Full Name """ - return pulumi.get(self, "provider_connection_id") + return pulumi.get(self, "updated_by_full_name") @property - @pulumi.getter(name="authenticationKey") - def authentication_key(self) -> Optional[str]: + @pulumi.getter(name="updatedDateTime") + def updated_date_time(self) -> str: """ - Authentication key for provider based connections or Metal-Fabric Integration connections + Updated by Date and Time """ - return pulumi.get(self, "authentication_key") + return pulumi.get(self, "updated_date_time") + + +@pulumi.output_type +class GetConnectionNotificationResult(dict): + def __init__(__self__, *, + emails: Sequence[str], + type: str, + send_interval: Optional[str] = None): + """ + :param Sequence[str] emails: Array of contact emails + :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + :param str send_interval: Send interval + """ + pulumi.set(__self__, "emails", emails) + pulumi.set(__self__, "type", type) + if send_interval is not None: + pulumi.set(__self__, "send_interval", send_interval) @property @pulumi.getter - @_utilities.deprecated("""use router attribute instead; gateway is no longer a part of the supported backend""") - def gateway(self) -> Optional['outputs.GetConnectionZSideAccessPointGatewayResult']: + def emails(self) -> Sequence[str]: """ - **Deprecated** `gateway` Use `router` attribute instead + Array of contact emails """ - return pulumi.get(self, "gateway") + return pulumi.get(self, "emails") @property @pulumi.getter - def interface(self) -> Optional['outputs.GetConnectionZSideAccessPointInterfaceResult']: + def type(self) -> str: """ - Virtual device interface + Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS """ - return pulumi.get(self, "interface") + return pulumi.get(self, "type") @property - @pulumi.getter(name="linkProtocol") - def link_protocol(self) -> Optional['outputs.GetConnectionZSideAccessPointLinkProtocolResult']: + @pulumi.getter(name="sendInterval") + def send_interval(self) -> Optional[str]: """ - Connection link protocol + Send interval """ - return pulumi.get(self, "link_protocol") + return pulumi.get(self, "send_interval") - @property - @pulumi.getter - def network(self) -> Optional['outputs.GetConnectionZSideAccessPointNetworkResult']: + +@pulumi.output_type +class GetConnectionOperationResult(dict): + def __init__(__self__, *, + equinix_status: str, + errors: Sequence['outputs.GetConnectionOperationErrorResult'], + provider_status: str): """ - network access point information + :param str equinix_status: Connection status + :param Sequence['GetConnectionOperationErrorArgs'] errors: Errors occurred + :param str provider_status: Connection provider readiness status """ - return pulumi.get(self, "network") + pulumi.set(__self__, "equinix_status", equinix_status) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "provider_status", provider_status) @property - @pulumi.getter(name="peeringType") - def peering_type(self) -> Optional[str]: + @pulumi.getter(name="equinixStatus") + def equinix_status(self) -> str: """ - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + Connection status """ - return pulumi.get(self, "peering_type") + return pulumi.get(self, "equinix_status") @property @pulumi.getter - def port(self) -> Optional['outputs.GetConnectionZSideAccessPointPortResult']: + def errors(self) -> Sequence['outputs.GetConnectionOperationErrorResult']: """ - Port access point information + Errors occurred """ - return pulumi.get(self, "port") + return pulumi.get(self, "errors") @property - @pulumi.getter - def profile(self) -> Optional['outputs.GetConnectionZSideAccessPointProfileResult']: + @pulumi.getter(name="providerStatus") + def provider_status(self) -> str: """ - Service Profile + Connection provider readiness status """ - return pulumi.get(self, "profile") + return pulumi.get(self, "provider_status") + + +@pulumi.output_type +class GetConnectionOperationErrorResult(dict): + def __init__(__self__, *, + additional_infos: Sequence['outputs.GetConnectionOperationErrorAdditionalInfoResult'], + correlation_id: str, + details: str, + error_code: str, + error_message: str, + help: str): + """ + :param Sequence['GetConnectionOperationErrorAdditionalInfoArgs'] additional_infos: Pricing error additional Info + :param str correlation_id: CorrelationId + :param str details: Details + :param str error_code: Error code + :param str error_message: Error Message + :param str help: Help + """ + pulumi.set(__self__, "additional_infos", additional_infos) + pulumi.set(__self__, "correlation_id", correlation_id) + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "error_code", error_code) + pulumi.set(__self__, "error_message", error_message) + pulumi.set(__self__, "help", help) @property - @pulumi.getter - def role(self) -> Optional[str]: + @pulumi.getter(name="additionalInfos") + def additional_infos(self) -> Sequence['outputs.GetConnectionOperationErrorAdditionalInfoResult']: """ - Network role + Pricing error additional Info """ - return pulumi.get(self, "role") + return pulumi.get(self, "additional_infos") + + @property + @pulumi.getter(name="correlationId") + def correlation_id(self) -> str: + """ + CorrelationId + """ + return pulumi.get(self, "correlation_id") @property @pulumi.getter - def router(self) -> Optional['outputs.GetConnectionZSideAccessPointRouterResult']: + def details(self) -> str: """ - Cloud Router access point information that replaces `gateway` + Details """ - return pulumi.get(self, "router") + return pulumi.get(self, "details") @property - @pulumi.getter(name="sellerRegion") - def seller_region(self) -> Optional[str]: + @pulumi.getter(name="errorCode") + def error_code(self) -> str: """ - Access point seller region + Error code """ - return pulumi.get(self, "seller_region") + return pulumi.get(self, "error_code") @property - @pulumi.getter - def type(self) -> Optional[str]: + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: """ - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK + Error Message """ - return pulumi.get(self, "type") + return pulumi.get(self, "error_message") @property - @pulumi.getter(name="virtualDevice") - def virtual_device(self) -> Optional['outputs.GetConnectionZSideAccessPointVirtualDeviceResult']: + @pulumi.getter + def help(self) -> str: """ - Virtual device + Help """ - return pulumi.get(self, "virtual_device") + return pulumi.get(self, "help") @pulumi.output_type -class GetConnectionZSideAccessPointAccountResult(dict): +class GetConnectionOperationErrorAdditionalInfoResult(dict): def __init__(__self__, *, - account_name: str, - account_number: int, - global_cust_id: str, - global_org_id: str, - global_organization_name: str, - org_id: int, - organization_name: str, - ucm_id: str): + property: str, + reason: str): """ - :param str account_name: Legal name of the accountholder. - :param int account_number: Equinix-assigned account number. - :param str global_cust_id: Equinix-assigned ID of the subscriber's parent organization. - :param str global_org_id: Equinix-assigned ID of the subscriber's parent organization. - :param str global_organization_name: Equinix-assigned name of the subscriber's parent organization. - :param int org_id: Equinix-assigned ID of the subscriber's organization. - :param str organization_name: Equinix-assigned name of the subscriber's organization. - :param str ucm_id: Enterprise datastore id + :param str property: Property at which the error potentially occurred + :param str reason: Reason for the error """ - pulumi.set(__self__, "account_name", account_name) - pulumi.set(__self__, "account_number", account_number) - pulumi.set(__self__, "global_cust_id", global_cust_id) - pulumi.set(__self__, "global_org_id", global_org_id) - pulumi.set(__self__, "global_organization_name", global_organization_name) - pulumi.set(__self__, "org_id", org_id) - pulumi.set(__self__, "organization_name", organization_name) - pulumi.set(__self__, "ucm_id", ucm_id) + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "reason", reason) @property - @pulumi.getter(name="accountName") - def account_name(self) -> str: + @pulumi.getter + def reason(self) -> str: """ - Legal name of the accountholder. + Reason for the error """ - return pulumi.get(self, "account_name") + return pulumi.get(self, "reason") @property - @pulumi.getter(name="accountNumber") - def account_number(self) -> int: + @pulumi.getter + def property(self) -> str: """ - Equinix-assigned account number. + Property at which the error potentially occurred """ - return pulumi.get(self, "account_number") + return pulumi.get(self, "property") - @property - @pulumi.getter(name="globalCustId") - def global_cust_id(self) -> str: + +@pulumi.output_type +class GetConnectionOrderResult(dict): + def __init__(__self__, *, + billing_tier: str, + order_id: str, + order_number: str, + purchase_order_number: str, + term_length: Optional[int] = None): """ - Equinix-assigned ID of the subscriber's parent organization. + :param str billing_tier: Billing tier for connection bandwidth + :param str order_id: Order Identification + :param str order_number: Order Reference Number + :param str purchase_order_number: Purchase order number + :param int term_length: Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) """ - return pulumi.get(self, "global_cust_id") + pulumi.set(__self__, "billing_tier", billing_tier) + pulumi.set(__self__, "order_id", order_id) + pulumi.set(__self__, "order_number", order_number) + pulumi.set(__self__, "purchase_order_number", purchase_order_number) + if term_length is not None: + pulumi.set(__self__, "term_length", term_length) @property - @pulumi.getter(name="globalOrgId") - def global_org_id(self) -> str: + @pulumi.getter(name="billingTier") + def billing_tier(self) -> str: """ - Equinix-assigned ID of the subscriber's parent organization. + Billing tier for connection bandwidth """ - return pulumi.get(self, "global_org_id") + return pulumi.get(self, "billing_tier") @property - @pulumi.getter(name="globalOrganizationName") - def global_organization_name(self) -> str: + @pulumi.getter(name="orderId") + def order_id(self) -> str: """ - Equinix-assigned name of the subscriber's parent organization. + Order Identification """ - return pulumi.get(self, "global_organization_name") + return pulumi.get(self, "order_id") @property - @pulumi.getter(name="orgId") - def org_id(self) -> int: + @pulumi.getter(name="orderNumber") + def order_number(self) -> str: """ - Equinix-assigned ID of the subscriber's organization. + Order Reference Number """ - return pulumi.get(self, "org_id") + return pulumi.get(self, "order_number") @property - @pulumi.getter(name="organizationName") - def organization_name(self) -> str: + @pulumi.getter(name="purchaseOrderNumber") + def purchase_order_number(self) -> str: """ - Equinix-assigned name of the subscriber's organization. + Purchase order number """ - return pulumi.get(self, "organization_name") + return pulumi.get(self, "purchase_order_number") @property - @pulumi.getter(name="ucmId") - def ucm_id(self) -> str: + @pulumi.getter(name="termLength") + def term_length(self) -> Optional[int]: """ - Enterprise datastore id + Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) """ - return pulumi.get(self, "ucm_id") + return pulumi.get(self, "term_length") @pulumi.output_type -class GetConnectionZSideAccessPointGatewayResult(dict): +class GetConnectionProjectResult(dict): def __init__(__self__, *, href: str, - uuid: Optional[str] = None): + project_id: str): """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned virtual gateway identifier + :param str href: Unique Resource URL + :param str project_id: Project Id """ pulumi.set(__self__, "href", href) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "project_id", project_id) @property @pulumi.getter def href(self) -> str: """ - Unique Resource Identifier + Unique Resource URL """ return pulumi.get(self, "href") @property - @pulumi.getter - def uuid(self) -> Optional[str]: + @pulumi.getter(name="projectId") + def project_id(self) -> str: """ - Equinix-assigned virtual gateway identifier + Project Id """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "project_id") @pulumi.output_type -class GetConnectionZSideAccessPointInterfaceResult(dict): +class GetConnectionRedundancyResult(dict): def __init__(__self__, *, - id: int, - type: Optional[str] = None, - uuid: Optional[str] = None): - """ - :param int id: id - :param str type: Interface type - :param str uuid: Equinix-assigned interface identifier - """ - pulumi.set(__self__, "id", id) - if type is not None: - pulumi.set(__self__, "type", type) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) - - @property - @pulumi.getter - def id(self) -> int: + group: str, + priority: str): """ - id + :param str group: Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) + :param str priority: Connection priority in redundancy group - PRIMARY, SECONDARY """ - return pulumi.get(self, "id") + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "priority", priority) @property @pulumi.getter - def type(self) -> Optional[str]: + def group(self) -> str: """ - Interface type + Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) """ - return pulumi.get(self, "type") + return pulumi.get(self, "group") @property @pulumi.getter - def uuid(self) -> Optional[str]: + def priority(self) -> str: """ - Equinix-assigned interface identifier + Connection priority in redundancy group - PRIMARY, SECONDARY """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "priority") @pulumi.output_type -class GetConnectionZSideAccessPointLinkProtocolResult(dict): +class GetConnectionRouteAggregationsDataResult(dict): def __init__(__self__, *, - vlan_c_tag: int, - vlan_s_tag: int, - vlan_tag: int, - type: Optional[str] = None): + attachment_status: str, + connection_id: str, + href: str, + route_aggregation_id: str, + type: str, + uuid: str): """ - :param int vlan_c_tag: Vlan Customer Tag information, vlanCTag value specified for QINQ connections - :param int vlan_s_tag: Vlan Provider Tag information, vlanSTag value specified for QINQ connections - :param int vlan_tag: Vlan Tag information, vlanTag value specified for DOT1Q connections - :param str type: Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + :param str attachment_status: Status of the Route Aggregation Policy attachment lifecycle + :param str connection_id: UUID of the Connection to attach this Route Aggregation to + :param str href: URI to the attached Route Aggregation Policy on the Connection + :param str route_aggregation_id: UUID of the Route Aggregation to attach this Connection to + :param str type: Route Aggregation Type. One of ["BGP*IPv4*PREFIX_AGGREGATION"] + :param str uuid: Equinix Assigned ID for Route Aggregation Policy """ - pulumi.set(__self__, "vlan_c_tag", vlan_c_tag) - pulumi.set(__self__, "vlan_s_tag", vlan_s_tag) - pulumi.set(__self__, "vlan_tag", vlan_tag) - if type is not None: - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "attachment_status", attachment_status) + pulumi.set(__self__, "connection_id", connection_id) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "route_aggregation_id", route_aggregation_id) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="vlanCTag") - def vlan_c_tag(self) -> int: + @pulumi.getter(name="attachmentStatus") + def attachment_status(self) -> str: """ - Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Status of the Route Aggregation Policy attachment lifecycle """ - return pulumi.get(self, "vlan_c_tag") + return pulumi.get(self, "attachment_status") @property - @pulumi.getter(name="vlanSTag") - def vlan_s_tag(self) -> int: + @pulumi.getter(name="connectionId") + def connection_id(self) -> str: """ - Vlan Provider Tag information, vlanSTag value specified for QINQ connections + UUID of the Connection to attach this Route Aggregation to """ - return pulumi.get(self, "vlan_s_tag") + return pulumi.get(self, "connection_id") @property - @pulumi.getter(name="vlanTag") - def vlan_tag(self) -> int: + @pulumi.getter + def href(self) -> str: """ - Vlan Tag information, vlanTag value specified for DOT1Q connections + URI to the attached Route Aggregation Policy on the Connection """ - return pulumi.get(self, "vlan_tag") + return pulumi.get(self, "href") @property - @pulumi.getter - def type(self) -> Optional[str]: + @pulumi.getter(name="routeAggregationId") + def route_aggregation_id(self) -> str: """ - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + UUID of the Route Aggregation to attach this Connection to """ - return pulumi.get(self, "type") - + return pulumi.get(self, "route_aggregation_id") -@pulumi.output_type -class GetConnectionZSideAccessPointLocationResult(dict): - def __init__(__self__, *, - ibx: str, - metro_code: str, - metro_name: str, - region: str): + @property + @pulumi.getter + def type(self) -> str: """ - :param str ibx: IBX Code - :param str metro_code: Access point metro code - :param str metro_name: Access point metro name - :param str region: Access point region + Route Aggregation Type. One of ["BGP*IPv4*PREFIX_AGGREGATION"] """ - pulumi.set(__self__, "ibx", ibx) - pulumi.set(__self__, "metro_code", metro_code) - pulumi.set(__self__, "metro_name", metro_name) - pulumi.set(__self__, "region", region) + return pulumi.get(self, "type") @property @pulumi.getter - def ibx(self) -> str: + def uuid(self) -> str: """ - IBX Code + Equinix Assigned ID for Route Aggregation Policy """ - return pulumi.get(self, "ibx") + return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="metroCode") - def metro_code(self) -> str: + +@pulumi.output_type +class GetConnectionRouteAggregationsPaginationResult(dict): + def __init__(__self__, *, + limit: int, + next: str, + offset: int, + previous: str, + total: int): """ - Access point metro code + :param int limit: Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 + :param str next: The URL relative to the next item in the response + :param int offset: Index of the first item returned in the response. The default is 0 + :param str previous: The URL relative to the previous item in the response + :param int total: The total number of connection route aggregations available to the user making the request """ - return pulumi.get(self, "metro_code") + pulumi.set(__self__, "limit", limit) + pulumi.set(__self__, "next", next) + pulumi.set(__self__, "offset", offset) + pulumi.set(__self__, "previous", previous) + pulumi.set(__self__, "total", total) @property - @pulumi.getter(name="metroName") - def metro_name(self) -> str: + @pulumi.getter + def limit(self) -> int: """ - Access point metro name + Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 """ - return pulumi.get(self, "metro_name") + return pulumi.get(self, "limit") @property @pulumi.getter - def region(self) -> str: + def next(self) -> str: """ - Access point region + The URL relative to the next item in the response """ - return pulumi.get(self, "region") - + return pulumi.get(self, "next") -@pulumi.output_type -class GetConnectionZSideAccessPointNetworkResult(dict): - def __init__(__self__, *, - href: str, - uuid: str): + @property + @pulumi.getter + def offset(self) -> int: """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned Network identifier + Index of the first item returned in the response. The default is 0 """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "offset") @property @pulumi.getter - def href(self) -> str: + def previous(self) -> str: """ - Unique Resource Identifier + The URL relative to the previous item in the response """ - return pulumi.get(self, "href") + return pulumi.get(self, "previous") @property @pulumi.getter - def uuid(self) -> str: + def total(self) -> int: """ - Equinix-assigned Network identifier + The total number of connection route aggregations available to the user making the request """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "total") @pulumi.output_type -class GetConnectionZSideAccessPointPortResult(dict): +class GetConnectionRouteFiltersDataResult(dict): def __init__(__self__, *, + attachment_status: str, + direction: str, href: str, - name: str, - redundancies: Sequence['outputs.GetConnectionZSideAccessPointPortRedundancyResult'], + type: str, uuid: str): """ - :param str href: Unique Resource Identifier - :param str name: Port name - :param Sequence['GetConnectionZSideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information - :param str uuid: Equinix-assigned Port identifier + :param str attachment_status: Status of the Route Filter Policy attachment lifecycle + :param str direction: Direction of the filtering of the attached Route Filter Policy + :param str href: URI to the attached Route Filter Policy on the Connection + :param str type: Route Filter Type. One of [ "BGP_IPv4_PREFIX_FILTER", "BGP_IPv6_PREFIX_FILTER" ] + :param str uuid: Equinix Assigned ID for Route Filter Policy """ + pulumi.set(__self__, "attachment_status", attachment_status) + pulumi.set(__self__, "direction", direction) pulumi.set(__self__, "href", href) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "redundancies", redundancies) + pulumi.set(__self__, "type", type) pulumi.set(__self__, "uuid", uuid) + @property + @pulumi.getter(name="attachmentStatus") + def attachment_status(self) -> str: + """ + Status of the Route Filter Policy attachment lifecycle + """ + return pulumi.get(self, "attachment_status") + @property @pulumi.getter - def href(self) -> str: + def direction(self) -> str: """ - Unique Resource Identifier + Direction of the filtering of the attached Route Filter Policy """ - return pulumi.get(self, "href") + return pulumi.get(self, "direction") @property @pulumi.getter - def name(self) -> str: + def href(self) -> str: """ - Port name + URI to the attached Route Filter Policy on the Connection """ - return pulumi.get(self, "name") + return pulumi.get(self, "href") @property @pulumi.getter - def redundancies(self) -> Sequence['outputs.GetConnectionZSideAccessPointPortRedundancyResult']: + def type(self) -> str: """ - Redundancy Information + Route Filter Type. One of [ "BGP_IPv4_PREFIX_FILTER", "BGP_IPv6_PREFIX_FILTER" ] """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "type") @property @pulumi.getter def uuid(self) -> str: """ - Equinix-assigned Port identifier + Equinix Assigned ID for Route Filter Policy """ return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionZSideAccessPointPortRedundancyResult(dict): +class GetConnectionRouteFiltersPaginationResult(dict): def __init__(__self__, *, - enabled: bool, - group: str, - priority: str): + limit: int, + next: str, + offset: int, + previous: str, + total: int): """ - :param bool enabled: Access point redundancy - :param str group: Port redundancy group - :param str priority: Priority type-Primary or Secondary + :param int limit: Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 + :param str next: URL relative to the last item in the response. + :param int offset: The page offset for the pagination request. Index of the first element. Default is 0. + :param str previous: URL relative to the first item in the response. + :param int total: Total number of elements returned. """ - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "group", group) - pulumi.set(__self__, "priority", priority) + pulumi.set(__self__, "limit", limit) + pulumi.set(__self__, "next", next) + pulumi.set(__self__, "offset", offset) + pulumi.set(__self__, "previous", previous) + pulumi.set(__self__, "total", total) @property @pulumi.getter - def enabled(self) -> bool: + def limit(self) -> int: """ - Access point redundancy + Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "limit") @property @pulumi.getter - def group(self) -> str: + def next(self) -> str: """ - Port redundancy group + URL relative to the last item in the response. """ - return pulumi.get(self, "group") + return pulumi.get(self, "next") @property @pulumi.getter - def priority(self) -> str: - """ - Priority type-Primary or Secondary - """ - return pulumi.get(self, "priority") - - -@pulumi.output_type -class GetConnectionZSideAccessPointProfileResult(dict): - def __init__(__self__, *, - access_point_type_configs: Sequence['outputs.GetConnectionZSideAccessPointProfileAccessPointTypeConfigResult'], - description: str, - href: str, - name: str, - type: str, - uuid: str): + def offset(self) -> int: """ - :param Sequence['GetConnectionZSideAccessPointProfileAccessPointTypeConfigArgs'] access_point_type_configs: Access point config information - :param str description: User-provided service description - :param str href: Service Profile URI response attribute - :param str name: Customer-assigned service profile name - :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE - :param str uuid: Equinix assigned service profile identifier + The page offset for the pagination request. Index of the first element. Default is 0. """ - pulumi.set(__self__, "access_point_type_configs", access_point_type_configs) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "offset") @property - @pulumi.getter(name="accessPointTypeConfigs") - def access_point_type_configs(self) -> Sequence['outputs.GetConnectionZSideAccessPointProfileAccessPointTypeConfigResult']: + @pulumi.getter + def previous(self) -> str: """ - Access point config information + URL relative to the first item in the response. """ - return pulumi.get(self, "access_point_type_configs") + return pulumi.get(self, "previous") @property @pulumi.getter - def description(self) -> str: + def total(self) -> int: """ - User-provided service description + Total number of elements returned. """ - return pulumi.get(self, "description") + return pulumi.get(self, "total") - @property - @pulumi.getter - def href(self) -> str: + +@pulumi.output_type +class GetConnectionZSideResult(dict): + def __init__(__self__, *, + access_point: Optional['outputs.GetConnectionZSideAccessPointResult'] = None, + additional_infos: Optional[Sequence['outputs.GetConnectionZSideAdditionalInfoResult']] = None, + service_token: Optional['outputs.GetConnectionZSideServiceTokenResult'] = None): """ - Service Profile URI response attribute + :param 'GetConnectionZSideAccessPointArgs' access_point: Point of access details + :param Sequence['GetConnectionZSideAdditionalInfoArgs'] additional_infos: Connection side additional information + :param 'GetConnectionZSideServiceTokenArgs' service_token: For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets """ - return pulumi.get(self, "href") + if access_point is not None: + pulumi.set(__self__, "access_point", access_point) + if additional_infos is not None: + pulumi.set(__self__, "additional_infos", additional_infos) + if service_token is not None: + pulumi.set(__self__, "service_token", service_token) @property - @pulumi.getter - def name(self) -> str: + @pulumi.getter(name="accessPoint") + def access_point(self) -> Optional['outputs.GetConnectionZSideAccessPointResult']: """ - Customer-assigned service profile name + Point of access details """ - return pulumi.get(self, "name") + return pulumi.get(self, "access_point") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="additionalInfos") + def additional_infos(self) -> Optional[Sequence['outputs.GetConnectionZSideAdditionalInfoResult']]: """ - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + Connection side additional information """ - return pulumi.get(self, "type") + return pulumi.get(self, "additional_infos") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="serviceToken") + def service_token(self) -> Optional['outputs.GetConnectionZSideServiceTokenResult']: """ - Equinix assigned service profile identifier + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "service_token") @pulumi.output_type -class GetConnectionZSideAccessPointProfileAccessPointTypeConfigResult(dict): +class GetConnectionZSideAccessPointResult(dict): def __init__(__self__, *, - type: str, - uuid: str): - """ - :param str type: Type of access point type config - VD, COLO - :param str uuid: Equinix-assigned access point type config identifier - """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) - - @property - @pulumi.getter - def type(self) -> str: + accounts: Sequence['outputs.GetConnectionZSideAccessPointAccountResult'], + location: 'outputs.GetConnectionZSideAccessPointLocationResult', + provider_connection_id: str, + authentication_key: Optional[str] = None, + gateway: Optional['outputs.GetConnectionZSideAccessPointGatewayResult'] = None, + interface: Optional['outputs.GetConnectionZSideAccessPointInterfaceResult'] = None, + link_protocol: Optional['outputs.GetConnectionZSideAccessPointLinkProtocolResult'] = None, + network: Optional['outputs.GetConnectionZSideAccessPointNetworkResult'] = None, + peering_type: Optional[str] = None, + port: Optional['outputs.GetConnectionZSideAccessPointPortResult'] = None, + profile: Optional['outputs.GetConnectionZSideAccessPointProfileResult'] = None, + role: Optional[str] = None, + router: Optional['outputs.GetConnectionZSideAccessPointRouterResult'] = None, + seller_region: Optional[str] = None, + type: Optional[str] = None, + virtual_device: Optional['outputs.GetConnectionZSideAccessPointVirtualDeviceResult'] = None): """ - Type of access point type config - VD, COLO + :param Sequence['GetConnectionZSideAccessPointAccountArgs'] accounts: Account + :param 'GetConnectionZSideAccessPointLocationArgs' location: Access point location + :param str provider_connection_id: Provider assigned Connection Id + :param str authentication_key: Authentication key for provider based connections or Metal-Fabric Integration connections + :param 'GetConnectionZSideAccessPointGatewayArgs' gateway: **Deprecated** `gateway` Use `router` attribute instead + :param 'GetConnectionZSideAccessPointInterfaceArgs' interface: Virtual device interface + :param 'GetConnectionZSideAccessPointLinkProtocolArgs' link_protocol: Connection link protocol + :param 'GetConnectionZSideAccessPointNetworkArgs' network: network access point information + :param str peering_type: Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + :param 'GetConnectionZSideAccessPointPortArgs' port: Port access point information + :param 'GetConnectionZSideAccessPointProfileArgs' profile: Service Profile + :param str role: Network role + :param 'GetConnectionZSideAccessPointRouterArgs' router: Cloud Router access point information that replaces `gateway` + :param str seller_region: Access point seller region + :param str type: Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK + :param 'GetConnectionZSideAccessPointVirtualDeviceArgs' virtual_device: Virtual device """ - return pulumi.get(self, "type") + pulumi.set(__self__, "accounts", accounts) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "provider_connection_id", provider_connection_id) + if authentication_key is not None: + pulumi.set(__self__, "authentication_key", authentication_key) + if gateway is not None: + pulumi.set(__self__, "gateway", gateway) + if interface is not None: + pulumi.set(__self__, "interface", interface) + if link_protocol is not None: + pulumi.set(__self__, "link_protocol", link_protocol) + if network is not None: + pulumi.set(__self__, "network", network) + if peering_type is not None: + pulumi.set(__self__, "peering_type", peering_type) + if port is not None: + pulumi.set(__self__, "port", port) + if profile is not None: + pulumi.set(__self__, "profile", profile) + if role is not None: + pulumi.set(__self__, "role", role) + if router is not None: + pulumi.set(__self__, "router", router) + if seller_region is not None: + pulumi.set(__self__, "seller_region", seller_region) + if type is not None: + pulumi.set(__self__, "type", type) + if virtual_device is not None: + pulumi.set(__self__, "virtual_device", virtual_device) @property @pulumi.getter - def uuid(self) -> str: - """ - Equinix-assigned access point type config identifier - """ - return pulumi.get(self, "uuid") - - -@pulumi.output_type -class GetConnectionZSideAccessPointRouterResult(dict): - def __init__(__self__, *, - href: str, - uuid: Optional[str] = None): + def accounts(self) -> Sequence['outputs.GetConnectionZSideAccessPointAccountResult']: """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned virtual gateway identifier + Account """ - pulumi.set(__self__, "href", href) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "accounts") @property @pulumi.getter - def href(self) -> str: + def location(self) -> 'outputs.GetConnectionZSideAccessPointLocationResult': """ - Unique Resource Identifier + Access point location """ - return pulumi.get(self, "href") + return pulumi.get(self, "location") @property - @pulumi.getter - def uuid(self) -> Optional[str]: + @pulumi.getter(name="providerConnectionId") + def provider_connection_id(self) -> str: """ - Equinix-assigned virtual gateway identifier + Provider assigned Connection Id """ - return pulumi.get(self, "uuid") - + return pulumi.get(self, "provider_connection_id") -@pulumi.output_type -class GetConnectionZSideAccessPointVirtualDeviceResult(dict): - def __init__(__self__, *, - href: str, - uuid: str, - name: Optional[str] = None, - type: Optional[str] = None): + @property + @pulumi.getter(name="authenticationKey") + def authentication_key(self) -> Optional[str]: """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned Virtual Device identifier - :param str name: Customer-assigned Virtual Device Name - :param str type: Virtual Device type + Authentication key for provider based connections or Metal-Fabric Integration connections """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "uuid", uuid) - if name is not None: - pulumi.set(__self__, "name", name) - if type is not None: - pulumi.set(__self__, "type", type) + return pulumi.get(self, "authentication_key") @property @pulumi.getter - def href(self) -> str: + @_utilities.deprecated("""use router attribute instead; gateway is no longer a part of the supported backend""") + def gateway(self) -> Optional['outputs.GetConnectionZSideAccessPointGatewayResult']: """ - Unique Resource Identifier + **Deprecated** `gateway` Use `router` attribute instead """ - return pulumi.get(self, "href") + return pulumi.get(self, "gateway") @property @pulumi.getter - def uuid(self) -> str: + def interface(self) -> Optional['outputs.GetConnectionZSideAccessPointInterfaceResult']: """ - Equinix-assigned Virtual Device identifier + Virtual device interface """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "interface") @property - @pulumi.getter - def name(self) -> Optional[str]: + @pulumi.getter(name="linkProtocol") + def link_protocol(self) -> Optional['outputs.GetConnectionZSideAccessPointLinkProtocolResult']: """ - Customer-assigned Virtual Device Name + Connection link protocol """ - return pulumi.get(self, "name") + return pulumi.get(self, "link_protocol") @property @pulumi.getter - def type(self) -> Optional[str]: + def network(self) -> Optional['outputs.GetConnectionZSideAccessPointNetworkResult']: """ - Virtual Device type + network access point information """ - return pulumi.get(self, "type") - + return pulumi.get(self, "network") -@pulumi.output_type -class GetConnectionZSideAdditionalInfoResult(dict): - def __init__(__self__, *, - key: Optional[str] = None, - value: Optional[str] = None): + @property + @pulumi.getter(name="peeringType") + def peering_type(self) -> Optional[str]: """ - :param str key: Additional information key - :param str value: Additional information value + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL """ - if key is not None: - pulumi.set(__self__, "key", key) - if value is not None: - pulumi.set(__self__, "value", value) + return pulumi.get(self, "peering_type") @property @pulumi.getter - def key(self) -> Optional[str]: + def port(self) -> Optional['outputs.GetConnectionZSideAccessPointPortResult']: """ - Additional information key + Port access point information """ - return pulumi.get(self, "key") + return pulumi.get(self, "port") @property @pulumi.getter - def value(self) -> Optional[str]: + def profile(self) -> Optional['outputs.GetConnectionZSideAccessPointProfileResult']: """ - Additional information value + Service Profile """ - return pulumi.get(self, "value") - + return pulumi.get(self, "profile") -@pulumi.output_type -class GetConnectionZSideServiceTokenResult(dict): - def __init__(__self__, *, - description: str, - href: str, - type: Optional[str] = None, - uuid: Optional[str] = None): + @property + @pulumi.getter + def role(self) -> Optional[str]: """ - :param str description: Service token description - :param str href: An absolute URL that is the subject of the link's context - :param str type: Token type - VC_TOKEN - :param str uuid: Equinix-assigned service token identifier + Network role """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "href", href) - if type is not None: - pulumi.set(__self__, "type", type) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "role") @property @pulumi.getter - def description(self) -> str: + def router(self) -> Optional['outputs.GetConnectionZSideAccessPointRouterResult']: """ - Service token description + Cloud Router access point information that replaces `gateway` """ - return pulumi.get(self, "description") + return pulumi.get(self, "router") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="sellerRegion") + def seller_region(self) -> Optional[str]: """ - An absolute URL that is the subject of the link's context + Access point seller region """ - return pulumi.get(self, "href") + return pulumi.get(self, "seller_region") @property @pulumi.getter def type(self) -> Optional[str]: """ - Token type - VC_TOKEN + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK """ return pulumi.get(self, "type") @property - @pulumi.getter - def uuid(self) -> Optional[str]: + @pulumi.getter(name="virtualDevice") + def virtual_device(self) -> Optional['outputs.GetConnectionZSideAccessPointVirtualDeviceResult']: """ - Equinix-assigned service token identifier + Virtual device """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "virtual_device") @pulumi.output_type -class GetConnectionsDataResult(dict): +class GetConnectionZSideAccessPointAccountResult(dict): def __init__(__self__, *, - a_sides: Sequence['outputs.GetConnectionsDataASideResult'], - accounts: Sequence['outputs.GetConnectionsDataAccountResult'], - additional_infos: Sequence[Mapping[str, str]], - bandwidth: int, - change_logs: Sequence['outputs.GetConnectionsDataChangeLogResult'], - description: str, - direction: str, - href: str, - is_remote: bool, - name: str, - notifications: Sequence['outputs.GetConnectionsDataNotificationResult'], - operations: Sequence['outputs.GetConnectionsDataOperationResult'], - orders: Sequence['outputs.GetConnectionsDataOrderResult'], - projects: Sequence['outputs.GetConnectionsDataProjectResult'], - redundancies: Sequence['outputs.GetConnectionsDataRedundancyResult'], - state: str, - type: str, - uuid: str, - z_sides: Sequence['outputs.GetConnectionsDataZSideResult']): + account_name: str, + account_number: int, + global_cust_id: str, + global_org_id: str, + global_organization_name: str, + org_id: int, + organization_name: str, + ucm_id: str): """ - :param Sequence['GetConnectionsDataASideArgs'] a_sides: Requester or Customer side connection configuration object of the multi-segment connection - :param Sequence['GetConnectionsDataAccountArgs'] accounts: Customer account information that is associated with this connection - :param Sequence[Mapping[str, str]] additional_infos: Connection additional information - :param int bandwidth: Connection bandwidth in Mbps - :param Sequence['GetConnectionsDataChangeLogArgs'] change_logs: Captures connection lifecycle change information - :param str description: Customer-provided connection description - :param str direction: Connection directionality from the requester point of view - :param str href: Connection URI information - :param bool is_remote: Connection property derived from access point locations - :param str name: Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores - :param Sequence['GetConnectionsDataNotificationArgs'] notifications: Preferences for notifications on connection configuration or status changes - :param Sequence['GetConnectionsDataOperationArgs'] operations: Connection type-specific operational data - :param Sequence['GetConnectionsDataOrderArgs'] orders: Order details - :param Sequence['GetConnectionsDataProjectArgs'] projects: Project information - :param Sequence['GetConnectionsDataRedundancyArgs'] redundancies: Connection Redundancy Configuration - :param str state: Connection overall state - :param str type: Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, IA_VC, EC_VC - :param str uuid: Equinix-assigned connection identifier - :param Sequence['GetConnectionsDataZSideArgs'] z_sides: Destination or Provider side connection configuration object of the multi-segment connection - """ - pulumi.set(__self__, "a_sides", a_sides) - pulumi.set(__self__, "accounts", accounts) - pulumi.set(__self__, "additional_infos", additional_infos) - pulumi.set(__self__, "bandwidth", bandwidth) - pulumi.set(__self__, "change_logs", change_logs) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "direction", direction) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "is_remote", is_remote) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "notifications", notifications) - pulumi.set(__self__, "operations", operations) - pulumi.set(__self__, "orders", orders) - pulumi.set(__self__, "projects", projects) - pulumi.set(__self__, "redundancies", redundancies) - pulumi.set(__self__, "state", state) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) - pulumi.set(__self__, "z_sides", z_sides) - - @property - @pulumi.getter(name="aSides") - def a_sides(self) -> Sequence['outputs.GetConnectionsDataASideResult']: - """ - Requester or Customer side connection configuration object of the multi-segment connection + :param str account_name: Legal name of the accountholder. + :param int account_number: Equinix-assigned account number. + :param str global_cust_id: Equinix-assigned ID of the subscriber's parent organization. + :param str global_org_id: Equinix-assigned ID of the subscriber's parent organization. + :param str global_organization_name: Equinix-assigned name of the subscriber's parent organization. + :param int org_id: Equinix-assigned ID of the subscriber's organization. + :param str organization_name: Equinix-assigned name of the subscriber's organization. + :param str ucm_id: Enterprise datastore id """ - return pulumi.get(self, "a_sides") + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "account_number", account_number) + pulumi.set(__self__, "global_cust_id", global_cust_id) + pulumi.set(__self__, "global_org_id", global_org_id) + pulumi.set(__self__, "global_organization_name", global_organization_name) + pulumi.set(__self__, "org_id", org_id) + pulumi.set(__self__, "organization_name", organization_name) + pulumi.set(__self__, "ucm_id", ucm_id) @property - @pulumi.getter - def accounts(self) -> Sequence['outputs.GetConnectionsDataAccountResult']: + @pulumi.getter(name="accountName") + def account_name(self) -> str: """ - Customer account information that is associated with this connection + Legal name of the accountholder. """ - return pulumi.get(self, "accounts") + return pulumi.get(self, "account_name") @property - @pulumi.getter(name="additionalInfos") - def additional_infos(self) -> Sequence[Mapping[str, str]]: + @pulumi.getter(name="accountNumber") + def account_number(self) -> int: """ - Connection additional information + Equinix-assigned account number. """ - return pulumi.get(self, "additional_infos") + return pulumi.get(self, "account_number") @property - @pulumi.getter - def bandwidth(self) -> int: + @pulumi.getter(name="globalCustId") + def global_cust_id(self) -> str: """ - Connection bandwidth in Mbps + Equinix-assigned ID of the subscriber's parent organization. """ - return pulumi.get(self, "bandwidth") + return pulumi.get(self, "global_cust_id") @property - @pulumi.getter(name="changeLogs") - def change_logs(self) -> Sequence['outputs.GetConnectionsDataChangeLogResult']: + @pulumi.getter(name="globalOrgId") + def global_org_id(self) -> str: """ - Captures connection lifecycle change information + Equinix-assigned ID of the subscriber's parent organization. """ - return pulumi.get(self, "change_logs") + return pulumi.get(self, "global_org_id") @property - @pulumi.getter - def description(self) -> str: + @pulumi.getter(name="globalOrganizationName") + def global_organization_name(self) -> str: """ - Customer-provided connection description + Equinix-assigned name of the subscriber's parent organization. """ - return pulumi.get(self, "description") + return pulumi.get(self, "global_organization_name") @property - @pulumi.getter - def direction(self) -> str: + @pulumi.getter(name="orgId") + def org_id(self) -> int: """ - Connection directionality from the requester point of view + Equinix-assigned ID of the subscriber's organization. """ - return pulumi.get(self, "direction") + return pulumi.get(self, "org_id") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="organizationName") + def organization_name(self) -> str: """ - Connection URI information + Equinix-assigned name of the subscriber's organization. """ - return pulumi.get(self, "href") + return pulumi.get(self, "organization_name") @property - @pulumi.getter(name="isRemote") - def is_remote(self) -> bool: + @pulumi.getter(name="ucmId") + def ucm_id(self) -> str: """ - Connection property derived from access point locations + Enterprise datastore id """ - return pulumi.get(self, "is_remote") + return pulumi.get(self, "ucm_id") - @property - @pulumi.getter - def name(self) -> str: - """ - Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores - """ - return pulumi.get(self, "name") - @property - @pulumi.getter - def notifications(self) -> Sequence['outputs.GetConnectionsDataNotificationResult']: +@pulumi.output_type +class GetConnectionZSideAccessPointGatewayResult(dict): + def __init__(__self__, *, + href: str, + uuid: Optional[str] = None): """ - Preferences for notifications on connection configuration or status changes + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "notifications") + pulumi.set(__self__, "href", href) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def operations(self) -> Sequence['outputs.GetConnectionsDataOperationResult']: + def href(self) -> str: """ - Connection type-specific operational data + Unique Resource Identifier """ - return pulumi.get(self, "operations") + return pulumi.get(self, "href") @property @pulumi.getter - def orders(self) -> Sequence['outputs.GetConnectionsDataOrderResult']: + def uuid(self) -> Optional[str]: """ - Order details + Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "orders") + return pulumi.get(self, "uuid") - @property - @pulumi.getter - def projects(self) -> Sequence['outputs.GetConnectionsDataProjectResult']: - """ - Project information - """ - return pulumi.get(self, "projects") - @property - @pulumi.getter - def redundancies(self) -> Sequence['outputs.GetConnectionsDataRedundancyResult']: +@pulumi.output_type +class GetConnectionZSideAccessPointInterfaceResult(dict): + def __init__(__self__, *, + id: int, + type: Optional[str] = None, + uuid: Optional[str] = None): """ - Connection Redundancy Configuration + :param int id: id + :param str type: Interface type + :param str uuid: Equinix-assigned interface identifier """ - return pulumi.get(self, "redundancies") + pulumi.set(__self__, "id", id) + if type is not None: + pulumi.set(__self__, "type", type) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def state(self) -> str: + def id(self) -> int: """ - Connection overall state + id """ - return pulumi.get(self, "state") + return pulumi.get(self, "id") @property @pulumi.getter - def type(self) -> str: + def type(self) -> Optional[str]: """ - Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, IA_VC, EC_VC + Interface type """ return pulumi.get(self, "type") @property @pulumi.getter - def uuid(self) -> str: + def uuid(self) -> Optional[str]: """ - Equinix-assigned connection identifier + Equinix-assigned interface identifier """ return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="zSides") - def z_sides(self) -> Sequence['outputs.GetConnectionsDataZSideResult']: - """ - Destination or Provider side connection configuration object of the multi-segment connection - """ - return pulumi.get(self, "z_sides") - @pulumi.output_type -class GetConnectionsDataASideResult(dict): +class GetConnectionZSideAccessPointLinkProtocolResult(dict): def __init__(__self__, *, - access_point: Optional['outputs.GetConnectionsDataASideAccessPointResult'] = None, - additional_infos: Optional[Sequence['outputs.GetConnectionsDataASideAdditionalInfoResult']] = None, - service_token: Optional['outputs.GetConnectionsDataASideServiceTokenResult'] = None): + vlan_c_tag: int, + vlan_s_tag: int, + vlan_tag: int, + type: Optional[str] = None): """ - :param 'GetConnectionsDataASideAccessPointArgs' access_point: Point of access details - :param Sequence['GetConnectionsDataASideAdditionalInfoArgs'] additional_infos: Connection side additional information - :param 'GetConnectionsDataASideServiceTokenArgs' service_token: For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + :param int vlan_c_tag: Vlan Customer Tag information, vlanCTag value specified for QINQ connections + :param int vlan_s_tag: Vlan Provider Tag information, vlanSTag value specified for QINQ connections + :param int vlan_tag: Vlan Tag information, vlanTag value specified for DOT1Q connections + :param str type: Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN """ - if access_point is not None: - pulumi.set(__self__, "access_point", access_point) - if additional_infos is not None: - pulumi.set(__self__, "additional_infos", additional_infos) - if service_token is not None: - pulumi.set(__self__, "service_token", service_token) + pulumi.set(__self__, "vlan_c_tag", vlan_c_tag) + pulumi.set(__self__, "vlan_s_tag", vlan_s_tag) + pulumi.set(__self__, "vlan_tag", vlan_tag) + if type is not None: + pulumi.set(__self__, "type", type) @property - @pulumi.getter(name="accessPoint") - def access_point(self) -> Optional['outputs.GetConnectionsDataASideAccessPointResult']: + @pulumi.getter(name="vlanCTag") + def vlan_c_tag(self) -> int: """ - Point of access details + Vlan Customer Tag information, vlanCTag value specified for QINQ connections """ - return pulumi.get(self, "access_point") + return pulumi.get(self, "vlan_c_tag") @property - @pulumi.getter(name="additionalInfos") - def additional_infos(self) -> Optional[Sequence['outputs.GetConnectionsDataASideAdditionalInfoResult']]: + @pulumi.getter(name="vlanSTag") + def vlan_s_tag(self) -> int: """ - Connection side additional information + Vlan Provider Tag information, vlanSTag value specified for QINQ connections """ - return pulumi.get(self, "additional_infos") + return pulumi.get(self, "vlan_s_tag") @property - @pulumi.getter(name="serviceToken") - def service_token(self) -> Optional['outputs.GetConnectionsDataASideServiceTokenResult']: + @pulumi.getter(name="vlanTag") + def vlan_tag(self) -> int: """ - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + Vlan Tag information, vlanTag value specified for DOT1Q connections """ - return pulumi.get(self, "service_token") + return pulumi.get(self, "vlan_tag") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + """ + return pulumi.get(self, "type") @pulumi.output_type -class GetConnectionsDataASideAccessPointResult(dict): +class GetConnectionZSideAccessPointLocationResult(dict): def __init__(__self__, *, - accounts: Sequence['outputs.GetConnectionsDataASideAccessPointAccountResult'], - location: 'outputs.GetConnectionsDataASideAccessPointLocationResult', - provider_connection_id: str, - authentication_key: Optional[str] = None, - gateway: Optional['outputs.GetConnectionsDataASideAccessPointGatewayResult'] = None, - interface: Optional['outputs.GetConnectionsDataASideAccessPointInterfaceResult'] = None, - link_protocol: Optional['outputs.GetConnectionsDataASideAccessPointLinkProtocolResult'] = None, - network: Optional['outputs.GetConnectionsDataASideAccessPointNetworkResult'] = None, - peering_type: Optional[str] = None, - port: Optional['outputs.GetConnectionsDataASideAccessPointPortResult'] = None, - profile: Optional['outputs.GetConnectionsDataASideAccessPointProfileResult'] = None, - role: Optional[str] = None, - router: Optional['outputs.GetConnectionsDataASideAccessPointRouterResult'] = None, - seller_region: Optional[str] = None, - type: Optional[str] = None, - virtual_device: Optional['outputs.GetConnectionsDataASideAccessPointVirtualDeviceResult'] = None): + ibx: str, + metro_code: str, + metro_name: str, + region: str): """ - :param Sequence['GetConnectionsDataASideAccessPointAccountArgs'] accounts: Account - :param 'GetConnectionsDataASideAccessPointLocationArgs' location: Access point location - :param str provider_connection_id: Provider assigned Connection Id - :param str authentication_key: Authentication key for provider based connections or Metal-Fabric Integration connections - :param 'GetConnectionsDataASideAccessPointGatewayArgs' gateway: **Deprecated** `gateway` Use `router` attribute instead - :param 'GetConnectionsDataASideAccessPointInterfaceArgs' interface: Virtual device interface - :param 'GetConnectionsDataASideAccessPointLinkProtocolArgs' link_protocol: Connection link protocol - :param 'GetConnectionsDataASideAccessPointNetworkArgs' network: network access point information - :param str peering_type: Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL - :param 'GetConnectionsDataASideAccessPointPortArgs' port: Port access point information - :param 'GetConnectionsDataASideAccessPointProfileArgs' profile: Service Profile - :param str role: Network role - :param 'GetConnectionsDataASideAccessPointRouterArgs' router: Cloud Router access point information that replaces `gateway` - :param str seller_region: Access point seller region - :param str type: Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK - :param 'GetConnectionsDataASideAccessPointVirtualDeviceArgs' virtual_device: Virtual device + :param str ibx: IBX Code + :param str metro_code: Access point metro code + :param str metro_name: Access point metro name + :param str region: Access point region """ - pulumi.set(__self__, "accounts", accounts) - pulumi.set(__self__, "location", location) - pulumi.set(__self__, "provider_connection_id", provider_connection_id) - if authentication_key is not None: - pulumi.set(__self__, "authentication_key", authentication_key) - if gateway is not None: - pulumi.set(__self__, "gateway", gateway) - if interface is not None: - pulumi.set(__self__, "interface", interface) - if link_protocol is not None: - pulumi.set(__self__, "link_protocol", link_protocol) - if network is not None: - pulumi.set(__self__, "network", network) - if peering_type is not None: - pulumi.set(__self__, "peering_type", peering_type) - if port is not None: - pulumi.set(__self__, "port", port) - if profile is not None: - pulumi.set(__self__, "profile", profile) - if role is not None: - pulumi.set(__self__, "role", role) - if router is not None: - pulumi.set(__self__, "router", router) - if seller_region is not None: - pulumi.set(__self__, "seller_region", seller_region) - if type is not None: - pulumi.set(__self__, "type", type) - if virtual_device is not None: - pulumi.set(__self__, "virtual_device", virtual_device) + pulumi.set(__self__, "ibx", ibx) + pulumi.set(__self__, "metro_code", metro_code) + pulumi.set(__self__, "metro_name", metro_name) + pulumi.set(__self__, "region", region) @property @pulumi.getter - def accounts(self) -> Sequence['outputs.GetConnectionsDataASideAccessPointAccountResult']: + def ibx(self) -> str: """ - Account + IBX Code """ - return pulumi.get(self, "accounts") + return pulumi.get(self, "ibx") @property - @pulumi.getter - def location(self) -> 'outputs.GetConnectionsDataASideAccessPointLocationResult': + @pulumi.getter(name="metroCode") + def metro_code(self) -> str: """ - Access point location + Access point metro code """ - return pulumi.get(self, "location") + return pulumi.get(self, "metro_code") @property - @pulumi.getter(name="providerConnectionId") - def provider_connection_id(self) -> str: + @pulumi.getter(name="metroName") + def metro_name(self) -> str: """ - Provider assigned Connection Id + Access point metro name """ - return pulumi.get(self, "provider_connection_id") + return pulumi.get(self, "metro_name") @property - @pulumi.getter(name="authenticationKey") - def authentication_key(self) -> Optional[str]: + @pulumi.getter + def region(self) -> str: """ - Authentication key for provider based connections or Metal-Fabric Integration connections + Access point region """ - return pulumi.get(self, "authentication_key") + return pulumi.get(self, "region") - @property - @pulumi.getter - @_utilities.deprecated("""use router attribute instead; gateway is no longer a part of the supported backend""") - def gateway(self) -> Optional['outputs.GetConnectionsDataASideAccessPointGatewayResult']: + +@pulumi.output_type +class GetConnectionZSideAccessPointNetworkResult(dict): + def __init__(__self__, *, + href: str, + uuid: str): """ - **Deprecated** `gateway` Use `router` attribute instead + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned Network identifier """ - return pulumi.get(self, "gateway") + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def interface(self) -> Optional['outputs.GetConnectionsDataASideAccessPointInterfaceResult']: + def href(self) -> str: """ - Virtual device interface + Unique Resource Identifier """ - return pulumi.get(self, "interface") + return pulumi.get(self, "href") @property - @pulumi.getter(name="linkProtocol") - def link_protocol(self) -> Optional['outputs.GetConnectionsDataASideAccessPointLinkProtocolResult']: + @pulumi.getter + def uuid(self) -> str: """ - Connection link protocol + Equinix-assigned Network identifier """ - return pulumi.get(self, "link_protocol") + return pulumi.get(self, "uuid") - @property - @pulumi.getter - def network(self) -> Optional['outputs.GetConnectionsDataASideAccessPointNetworkResult']: + +@pulumi.output_type +class GetConnectionZSideAccessPointPortResult(dict): + def __init__(__self__, *, + href: str, + name: str, + redundancies: Sequence['outputs.GetConnectionZSideAccessPointPortRedundancyResult'], + uuid: str): """ - network access point information + :param str href: Unique Resource Identifier + :param str name: Port name + :param Sequence['GetConnectionZSideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information + :param str uuid: Equinix-assigned Port identifier """ - return pulumi.get(self, "network") + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "redundancies", redundancies) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="peeringType") - def peering_type(self) -> Optional[str]: + @pulumi.getter + def href(self) -> str: """ - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + Unique Resource Identifier """ - return pulumi.get(self, "peering_type") + return pulumi.get(self, "href") @property @pulumi.getter - def port(self) -> Optional['outputs.GetConnectionsDataASideAccessPointPortResult']: + def name(self) -> str: """ - Port access point information + Port name """ - return pulumi.get(self, "port") + return pulumi.get(self, "name") @property @pulumi.getter - def profile(self) -> Optional['outputs.GetConnectionsDataASideAccessPointProfileResult']: + def redundancies(self) -> Sequence['outputs.GetConnectionZSideAccessPointPortRedundancyResult']: """ - Service Profile + Redundancy Information """ - return pulumi.get(self, "profile") + return pulumi.get(self, "redundancies") @property @pulumi.getter - def role(self) -> Optional[str]: + def uuid(self) -> str: """ - Network role + Equinix-assigned Port identifier """ - return pulumi.get(self, "role") + return pulumi.get(self, "uuid") - @property - @pulumi.getter - def router(self) -> Optional['outputs.GetConnectionsDataASideAccessPointRouterResult']: + +@pulumi.output_type +class GetConnectionZSideAccessPointPortRedundancyResult(dict): + def __init__(__self__, *, + enabled: bool, + group: str, + priority: str): """ - Cloud Router access point information that replaces `gateway` + :param bool enabled: Access point redundancy + :param str group: Port redundancy group + :param str priority: Priority type-Primary or Secondary """ - return pulumi.get(self, "router") + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "priority", priority) @property - @pulumi.getter(name="sellerRegion") - def seller_region(self) -> Optional[str]: + @pulumi.getter + def enabled(self) -> bool: """ - Access point seller region + Access point redundancy """ - return pulumi.get(self, "seller_region") + return pulumi.get(self, "enabled") @property @pulumi.getter - def type(self) -> Optional[str]: + def group(self) -> str: """ - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK + Port redundancy group """ - return pulumi.get(self, "type") + return pulumi.get(self, "group") @property - @pulumi.getter(name="virtualDevice") - def virtual_device(self) -> Optional['outputs.GetConnectionsDataASideAccessPointVirtualDeviceResult']: + @pulumi.getter + def priority(self) -> str: """ - Virtual device + Priority type-Primary or Secondary """ - return pulumi.get(self, "virtual_device") + return pulumi.get(self, "priority") @pulumi.output_type -class GetConnectionsDataASideAccessPointAccountResult(dict): +class GetConnectionZSideAccessPointProfileResult(dict): def __init__(__self__, *, - account_name: str, - account_number: int, - global_cust_id: str, - global_org_id: str, - global_organization_name: str, - org_id: int, - organization_name: str, - ucm_id: str): - """ - :param str account_name: Legal name of the accountholder. - :param int account_number: Equinix-assigned account number. - :param str global_cust_id: Equinix-assigned ID of the subscriber's parent organization. - :param str global_org_id: Equinix-assigned ID of the subscriber's parent organization. - :param str global_organization_name: Equinix-assigned name of the subscriber's parent organization. - :param int org_id: Equinix-assigned ID of the subscriber's organization. - :param str organization_name: Equinix-assigned name of the subscriber's organization. - :param str ucm_id: Enterprise datastore id + access_point_type_configs: Sequence['outputs.GetConnectionZSideAccessPointProfileAccessPointTypeConfigResult'], + description: str, + href: str, + name: str, + type: str, + uuid: str): """ - pulumi.set(__self__, "account_name", account_name) - pulumi.set(__self__, "account_number", account_number) - pulumi.set(__self__, "global_cust_id", global_cust_id) - pulumi.set(__self__, "global_org_id", global_org_id) - pulumi.set(__self__, "global_organization_name", global_organization_name) - pulumi.set(__self__, "org_id", org_id) - pulumi.set(__self__, "organization_name", organization_name) - pulumi.set(__self__, "ucm_id", ucm_id) + :param Sequence['GetConnectionZSideAccessPointProfileAccessPointTypeConfigArgs'] access_point_type_configs: Access point config information + :param str description: User-provided service description + :param str href: Service Profile URI response attribute + :param str name: Customer-assigned service profile name + :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + :param str uuid: Equinix assigned service profile identifier + """ + pulumi.set(__self__, "access_point_type_configs", access_point_type_configs) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="accountName") - def account_name(self) -> str: + @pulumi.getter(name="accessPointTypeConfigs") + def access_point_type_configs(self) -> Sequence['outputs.GetConnectionZSideAccessPointProfileAccessPointTypeConfigResult']: """ - Legal name of the accountholder. + Access point config information """ - return pulumi.get(self, "account_name") + return pulumi.get(self, "access_point_type_configs") @property - @pulumi.getter(name="accountNumber") - def account_number(self) -> int: + @pulumi.getter + def description(self) -> str: """ - Equinix-assigned account number. + User-provided service description """ - return pulumi.get(self, "account_number") + return pulumi.get(self, "description") @property - @pulumi.getter(name="globalCustId") - def global_cust_id(self) -> str: + @pulumi.getter + def href(self) -> str: """ - Equinix-assigned ID of the subscriber's parent organization. + Service Profile URI response attribute """ - return pulumi.get(self, "global_cust_id") + return pulumi.get(self, "href") @property - @pulumi.getter(name="globalOrgId") - def global_org_id(self) -> str: + @pulumi.getter + def name(self) -> str: """ - Equinix-assigned ID of the subscriber's parent organization. + Customer-assigned service profile name """ - return pulumi.get(self, "global_org_id") + return pulumi.get(self, "name") @property - @pulumi.getter(name="globalOrganizationName") - def global_organization_name(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Equinix-assigned name of the subscriber's parent organization. + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE """ - return pulumi.get(self, "global_organization_name") + return pulumi.get(self, "type") @property - @pulumi.getter(name="orgId") - def org_id(self) -> int: + @pulumi.getter + def uuid(self) -> str: """ - Equinix-assigned ID of the subscriber's organization. + Equinix assigned service profile identifier """ - return pulumi.get(self, "org_id") + return pulumi.get(self, "uuid") + + +@pulumi.output_type +class GetConnectionZSideAccessPointProfileAccessPointTypeConfigResult(dict): + def __init__(__self__, *, + type: str, + uuid: str): + """ + :param str type: Type of access point type config - VD, COLO + :param str uuid: Equinix-assigned access point type config identifier + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="organizationName") - def organization_name(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Equinix-assigned name of the subscriber's organization. + Type of access point type config - VD, COLO """ - return pulumi.get(self, "organization_name") + return pulumi.get(self, "type") @property - @pulumi.getter(name="ucmId") - def ucm_id(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - Enterprise datastore id + Equinix-assigned access point type config identifier """ - return pulumi.get(self, "ucm_id") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionsDataASideAccessPointGatewayResult(dict): +class GetConnectionZSideAccessPointRouterResult(dict): def __init__(__self__, *, href: str, uuid: Optional[str] = None): @@ -17353,331 +17081,338 @@ def uuid(self) -> Optional[str]: @pulumi.output_type -class GetConnectionsDataASideAccessPointInterfaceResult(dict): +class GetConnectionZSideAccessPointVirtualDeviceResult(dict): def __init__(__self__, *, - id: int, - type: Optional[str] = None, - uuid: Optional[str] = None): + href: str, + uuid: str, + name: Optional[str] = None, + type: Optional[str] = None): """ - :param int id: id - :param str type: Interface type - :param str uuid: Equinix-assigned interface identifier + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned Virtual Device identifier + :param str name: Customer-assigned Virtual Device Name + :param str type: Virtual Device type """ - pulumi.set(__self__, "id", id) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "uuid", uuid) + if name is not None: + pulumi.set(__self__, "name", name) if type is not None: pulumi.set(__self__, "type", type) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def id(self) -> int: + def href(self) -> str: """ - id + Unique Resource Identifier """ - return pulumi.get(self, "id") + return pulumi.get(self, "href") @property @pulumi.getter - def type(self) -> Optional[str]: + def uuid(self) -> str: """ - Interface type + Equinix-assigned Virtual Device identifier """ - return pulumi.get(self, "type") + return pulumi.get(self, "uuid") @property @pulumi.getter - def uuid(self) -> Optional[str]: - """ - Equinix-assigned interface identifier - """ - return pulumi.get(self, "uuid") - - -@pulumi.output_type -class GetConnectionsDataASideAccessPointLinkProtocolResult(dict): - def __init__(__self__, *, - vlan_c_tag: int, - vlan_s_tag: int, - vlan_tag: int, - type: Optional[str] = None): + def name(self) -> Optional[str]: """ - :param int vlan_c_tag: Vlan Customer Tag information, vlanCTag value specified for QINQ connections - :param int vlan_s_tag: Vlan Provider Tag information, vlanSTag value specified for QINQ connections - :param int vlan_tag: Vlan Tag information, vlanTag value specified for DOT1Q connections - :param str type: Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + Customer-assigned Virtual Device Name """ - pulumi.set(__self__, "vlan_c_tag", vlan_c_tag) - pulumi.set(__self__, "vlan_s_tag", vlan_s_tag) - pulumi.set(__self__, "vlan_tag", vlan_tag) - if type is not None: - pulumi.set(__self__, "type", type) + return pulumi.get(self, "name") @property - @pulumi.getter(name="vlanCTag") - def vlan_c_tag(self) -> int: + @pulumi.getter + def type(self) -> Optional[str]: """ - Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Virtual Device type """ - return pulumi.get(self, "vlan_c_tag") + return pulumi.get(self, "type") - @property - @pulumi.getter(name="vlanSTag") - def vlan_s_tag(self) -> int: + +@pulumi.output_type +class GetConnectionZSideAdditionalInfoResult(dict): + def __init__(__self__, *, + key: Optional[str] = None, + value: Optional[str] = None): """ - Vlan Provider Tag information, vlanSTag value specified for QINQ connections + :param str key: Additional information key + :param str value: Additional information value """ - return pulumi.get(self, "vlan_s_tag") + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="vlanTag") - def vlan_tag(self) -> int: + @pulumi.getter + def key(self) -> Optional[str]: """ - Vlan Tag information, vlanTag value specified for DOT1Q connections + Additional information key """ - return pulumi.get(self, "vlan_tag") + return pulumi.get(self, "key") @property @pulumi.getter - def type(self) -> Optional[str]: + def value(self) -> Optional[str]: """ - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + Additional information value """ - return pulumi.get(self, "type") + return pulumi.get(self, "value") @pulumi.output_type -class GetConnectionsDataASideAccessPointLocationResult(dict): +class GetConnectionZSideServiceTokenResult(dict): def __init__(__self__, *, - ibx: str, - metro_code: str, - metro_name: str, - region: str): + description: str, + href: str, + type: Optional[str] = None, + uuid: Optional[str] = None): """ - :param str ibx: IBX Code - :param str metro_code: Access point metro code - :param str metro_name: Access point metro name - :param str region: Access point region + :param str description: Service token description + :param str href: An absolute URL that is the subject of the link's context + :param str type: Token type - VC_TOKEN + :param str uuid: Equinix-assigned service token identifier """ - pulumi.set(__self__, "ibx", ibx) - pulumi.set(__self__, "metro_code", metro_code) - pulumi.set(__self__, "metro_name", metro_name) - pulumi.set(__self__, "region", region) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "href", href) + if type is not None: + pulumi.set(__self__, "type", type) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def ibx(self) -> str: + def description(self) -> str: """ - IBX Code + Service token description """ - return pulumi.get(self, "ibx") + return pulumi.get(self, "description") @property - @pulumi.getter(name="metroCode") - def metro_code(self) -> str: + @pulumi.getter + def href(self) -> str: """ - Access point metro code + An absolute URL that is the subject of the link's context """ - return pulumi.get(self, "metro_code") + return pulumi.get(self, "href") @property - @pulumi.getter(name="metroName") - def metro_name(self) -> str: + @pulumi.getter + def type(self) -> Optional[str]: """ - Access point metro name + Token type - VC_TOKEN """ - return pulumi.get(self, "metro_name") + return pulumi.get(self, "type") @property @pulumi.getter - def region(self) -> str: + def uuid(self) -> Optional[str]: """ - Access point region + Equinix-assigned service token identifier """ - return pulumi.get(self, "region") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionsDataASideAccessPointNetworkResult(dict): +class GetConnectionsDataResult(dict): def __init__(__self__, *, + a_sides: Sequence['outputs.GetConnectionsDataASideResult'], + accounts: Sequence['outputs.GetConnectionsDataAccountResult'], + additional_infos: Sequence[Mapping[str, str]], + bandwidth: int, + change_logs: Sequence['outputs.GetConnectionsDataChangeLogResult'], + description: str, + direction: str, href: str, - uuid: str): + is_remote: bool, + name: str, + notifications: Sequence['outputs.GetConnectionsDataNotificationResult'], + operations: Sequence['outputs.GetConnectionsDataOperationResult'], + orders: Sequence['outputs.GetConnectionsDataOrderResult'], + projects: Sequence['outputs.GetConnectionsDataProjectResult'], + redundancies: Sequence['outputs.GetConnectionsDataRedundancyResult'], + state: str, + type: str, + uuid: str, + z_sides: Sequence['outputs.GetConnectionsDataZSideResult']): """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned Network identifier + :param Sequence['GetConnectionsDataASideArgs'] a_sides: Requester or Customer side connection configuration object of the multi-segment connection + :param Sequence['GetConnectionsDataAccountArgs'] accounts: Customer account information that is associated with this connection + :param Sequence[Mapping[str, str]] additional_infos: Connection additional information + :param int bandwidth: Connection bandwidth in Mbps + :param Sequence['GetConnectionsDataChangeLogArgs'] change_logs: Captures connection lifecycle change information + :param str description: Customer-provided connection description + :param str direction: Connection directionality from the requester point of view + :param str href: Connection URI information + :param bool is_remote: Connection property derived from access point locations + :param str name: Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores + :param Sequence['GetConnectionsDataNotificationArgs'] notifications: Preferences for notifications on connection configuration or status changes + :param Sequence['GetConnectionsDataOperationArgs'] operations: Connection type-specific operational data + :param Sequence['GetConnectionsDataOrderArgs'] orders: Order details + :param Sequence['GetConnectionsDataProjectArgs'] projects: Project information + :param Sequence['GetConnectionsDataRedundancyArgs'] redundancies: Connection Redundancy Configuration + :param str state: Connection overall state + :param str type: Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, IA_VC, EC_VC + :param str uuid: Equinix-assigned connection identifier + :param Sequence['GetConnectionsDataZSideArgs'] z_sides: Destination or Provider side connection configuration object of the multi-segment connection """ + pulumi.set(__self__, "a_sides", a_sides) + pulumi.set(__self__, "accounts", accounts) + pulumi.set(__self__, "additional_infos", additional_infos) + pulumi.set(__self__, "bandwidth", bandwidth) + pulumi.set(__self__, "change_logs", change_logs) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "direction", direction) pulumi.set(__self__, "href", href) + pulumi.set(__self__, "is_remote", is_remote) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "notifications", notifications) + pulumi.set(__self__, "operations", operations) + pulumi.set(__self__, "orders", orders) + pulumi.set(__self__, "projects", projects) + pulumi.set(__self__, "redundancies", redundancies) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "type", type) pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "z_sides", z_sides) @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="aSides") + def a_sides(self) -> Sequence['outputs.GetConnectionsDataASideResult']: """ - Unique Resource Identifier + Requester or Customer side connection configuration object of the multi-segment connection """ - return pulumi.get(self, "href") + return pulumi.get(self, "a_sides") @property @pulumi.getter - def uuid(self) -> str: + def accounts(self) -> Sequence['outputs.GetConnectionsDataAccountResult']: """ - Equinix-assigned Network identifier + Customer account information that is associated with this connection """ - return pulumi.get(self, "uuid") - + return pulumi.get(self, "accounts") -@pulumi.output_type -class GetConnectionsDataASideAccessPointPortResult(dict): - def __init__(__self__, *, - href: str, - name: str, - redundancies: Sequence['outputs.GetConnectionsDataASideAccessPointPortRedundancyResult'], - uuid: str): + @property + @pulumi.getter(name="additionalInfos") + def additional_infos(self) -> Sequence[Mapping[str, str]]: """ - :param str href: Unique Resource Identifier - :param str name: Port name - :param Sequence['GetConnectionsDataASideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information - :param str uuid: Equinix-assigned Port identifier + Connection additional information """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "redundancies", redundancies) - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "additional_infos") @property @pulumi.getter - def href(self) -> str: + def bandwidth(self) -> int: """ - Unique Resource Identifier + Connection bandwidth in Mbps """ - return pulumi.get(self, "href") + return pulumi.get(self, "bandwidth") @property - @pulumi.getter - def name(self) -> str: + @pulumi.getter(name="changeLogs") + def change_logs(self) -> Sequence['outputs.GetConnectionsDataChangeLogResult']: """ - Port name + Captures connection lifecycle change information """ - return pulumi.get(self, "name") + return pulumi.get(self, "change_logs") @property @pulumi.getter - def redundancies(self) -> Sequence['outputs.GetConnectionsDataASideAccessPointPortRedundancyResult']: + def description(self) -> str: """ - Redundancy Information + Customer-provided connection description """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "description") @property @pulumi.getter - def uuid(self) -> str: + def direction(self) -> str: """ - Equinix-assigned Port identifier + Connection directionality from the requester point of view """ - return pulumi.get(self, "uuid") - + return pulumi.get(self, "direction") -@pulumi.output_type -class GetConnectionsDataASideAccessPointPortRedundancyResult(dict): - def __init__(__self__, *, - enabled: bool, - group: str, - priority: str): + @property + @pulumi.getter + def href(self) -> str: """ - :param bool enabled: Access point redundancy - :param str group: Port redundancy group - :param str priority: Priority type-Primary or Secondary + Connection URI information """ - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "group", group) - pulumi.set(__self__, "priority", priority) + return pulumi.get(self, "href") @property - @pulumi.getter - def enabled(self) -> bool: + @pulumi.getter(name="isRemote") + def is_remote(self) -> bool: """ - Access point redundancy + Connection property derived from access point locations """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "is_remote") @property @pulumi.getter - def group(self) -> str: + def name(self) -> str: """ - Port redundancy group + Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores """ - return pulumi.get(self, "group") + return pulumi.get(self, "name") @property @pulumi.getter - def priority(self) -> str: + def notifications(self) -> Sequence['outputs.GetConnectionsDataNotificationResult']: """ - Priority type-Primary or Secondary + Preferences for notifications on connection configuration or status changes """ - return pulumi.get(self, "priority") - + return pulumi.get(self, "notifications") -@pulumi.output_type -class GetConnectionsDataASideAccessPointProfileResult(dict): - def __init__(__self__, *, - access_point_type_configs: Sequence['outputs.GetConnectionsDataASideAccessPointProfileAccessPointTypeConfigResult'], - description: str, - href: str, - name: str, - type: str, - uuid: str): + @property + @pulumi.getter + def operations(self) -> Sequence['outputs.GetConnectionsDataOperationResult']: """ - :param Sequence['GetConnectionsDataASideAccessPointProfileAccessPointTypeConfigArgs'] access_point_type_configs: Access point config information - :param str description: User-provided service description - :param str href: Service Profile URI response attribute - :param str name: Customer-assigned service profile name - :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE - :param str uuid: Equinix assigned service profile identifier + Connection type-specific operational data """ - pulumi.set(__self__, "access_point_type_configs", access_point_type_configs) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "operations") @property - @pulumi.getter(name="accessPointTypeConfigs") - def access_point_type_configs(self) -> Sequence['outputs.GetConnectionsDataASideAccessPointProfileAccessPointTypeConfigResult']: + @pulumi.getter + def orders(self) -> Sequence['outputs.GetConnectionsDataOrderResult']: """ - Access point config information + Order details """ - return pulumi.get(self, "access_point_type_configs") + return pulumi.get(self, "orders") @property @pulumi.getter - def description(self) -> str: + def projects(self) -> Sequence['outputs.GetConnectionsDataProjectResult']: """ - User-provided service description + Project information """ - return pulumi.get(self, "description") + return pulumi.get(self, "projects") @property @pulumi.getter - def href(self) -> str: + def redundancies(self) -> Sequence['outputs.GetConnectionsDataRedundancyResult']: """ - Service Profile URI response attribute + Connection Redundancy Configuration """ - return pulumi.get(self, "href") + return pulumi.get(self, "redundancies") @property @pulumi.getter - def name(self) -> str: + def state(self) -> str: """ - Customer-assigned service profile name + Connection overall state """ - return pulumi.get(self, "name") + return pulumi.get(self, "state") @property @pulumi.getter def type(self) -> str: """ - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, IA_VC, EC_VC """ return pulumi.get(self, "type") @@ -17685,209 +17420,261 @@ def type(self) -> str: @pulumi.getter def uuid(self) -> str: """ - Equinix assigned service profile identifier + Equinix-assigned connection identifier """ return pulumi.get(self, "uuid") + @property + @pulumi.getter(name="zSides") + def z_sides(self) -> Sequence['outputs.GetConnectionsDataZSideResult']: + """ + Destination or Provider side connection configuration object of the multi-segment connection + """ + return pulumi.get(self, "z_sides") + @pulumi.output_type -class GetConnectionsDataASideAccessPointProfileAccessPointTypeConfigResult(dict): +class GetConnectionsDataASideResult(dict): def __init__(__self__, *, - type: str, - uuid: str): + access_point: Optional['outputs.GetConnectionsDataASideAccessPointResult'] = None, + additional_infos: Optional[Sequence['outputs.GetConnectionsDataASideAdditionalInfoResult']] = None, + service_token: Optional['outputs.GetConnectionsDataASideServiceTokenResult'] = None): """ - :param str type: Type of access point type config - VD, COLO - :param str uuid: Equinix-assigned access point type config identifier + :param 'GetConnectionsDataASideAccessPointArgs' access_point: Point of access details + :param Sequence['GetConnectionsDataASideAdditionalInfoArgs'] additional_infos: Connection side additional information + :param 'GetConnectionsDataASideServiceTokenArgs' service_token: For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) + if access_point is not None: + pulumi.set(__self__, "access_point", access_point) + if additional_infos is not None: + pulumi.set(__self__, "additional_infos", additional_infos) + if service_token is not None: + pulumi.set(__self__, "service_token", service_token) @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="accessPoint") + def access_point(self) -> Optional['outputs.GetConnectionsDataASideAccessPointResult']: """ - Type of access point type config - VD, COLO + Point of access details """ - return pulumi.get(self, "type") + return pulumi.get(self, "access_point") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="additionalInfos") + def additional_infos(self) -> Optional[Sequence['outputs.GetConnectionsDataASideAdditionalInfoResult']]: """ - Equinix-assigned access point type config identifier + Connection side additional information """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "additional_infos") + + @property + @pulumi.getter(name="serviceToken") + def service_token(self) -> Optional['outputs.GetConnectionsDataASideServiceTokenResult']: + """ + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + """ + return pulumi.get(self, "service_token") @pulumi.output_type -class GetConnectionsDataASideAccessPointRouterResult(dict): +class GetConnectionsDataASideAccessPointResult(dict): def __init__(__self__, *, - href: str, - uuid: Optional[str] = None): + accounts: Sequence['outputs.GetConnectionsDataASideAccessPointAccountResult'], + location: 'outputs.GetConnectionsDataASideAccessPointLocationResult', + provider_connection_id: str, + authentication_key: Optional[str] = None, + gateway: Optional['outputs.GetConnectionsDataASideAccessPointGatewayResult'] = None, + interface: Optional['outputs.GetConnectionsDataASideAccessPointInterfaceResult'] = None, + link_protocol: Optional['outputs.GetConnectionsDataASideAccessPointLinkProtocolResult'] = None, + network: Optional['outputs.GetConnectionsDataASideAccessPointNetworkResult'] = None, + peering_type: Optional[str] = None, + port: Optional['outputs.GetConnectionsDataASideAccessPointPortResult'] = None, + profile: Optional['outputs.GetConnectionsDataASideAccessPointProfileResult'] = None, + role: Optional[str] = None, + router: Optional['outputs.GetConnectionsDataASideAccessPointRouterResult'] = None, + seller_region: Optional[str] = None, + type: Optional[str] = None, + virtual_device: Optional['outputs.GetConnectionsDataASideAccessPointVirtualDeviceResult'] = None): """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned virtual gateway identifier + :param Sequence['GetConnectionsDataASideAccessPointAccountArgs'] accounts: Account + :param 'GetConnectionsDataASideAccessPointLocationArgs' location: Access point location + :param str provider_connection_id: Provider assigned Connection Id + :param str authentication_key: Authentication key for provider based connections or Metal-Fabric Integration connections + :param 'GetConnectionsDataASideAccessPointGatewayArgs' gateway: **Deprecated** `gateway` Use `router` attribute instead + :param 'GetConnectionsDataASideAccessPointInterfaceArgs' interface: Virtual device interface + :param 'GetConnectionsDataASideAccessPointLinkProtocolArgs' link_protocol: Connection link protocol + :param 'GetConnectionsDataASideAccessPointNetworkArgs' network: network access point information + :param str peering_type: Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + :param 'GetConnectionsDataASideAccessPointPortArgs' port: Port access point information + :param 'GetConnectionsDataASideAccessPointProfileArgs' profile: Service Profile + :param str role: Network role + :param 'GetConnectionsDataASideAccessPointRouterArgs' router: Cloud Router access point information that replaces `gateway` + :param str seller_region: Access point seller region + :param str type: Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK + :param 'GetConnectionsDataASideAccessPointVirtualDeviceArgs' virtual_device: Virtual device """ - pulumi.set(__self__, "href", href) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "accounts", accounts) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "provider_connection_id", provider_connection_id) + if authentication_key is not None: + pulumi.set(__self__, "authentication_key", authentication_key) + if gateway is not None: + pulumi.set(__self__, "gateway", gateway) + if interface is not None: + pulumi.set(__self__, "interface", interface) + if link_protocol is not None: + pulumi.set(__self__, "link_protocol", link_protocol) + if network is not None: + pulumi.set(__self__, "network", network) + if peering_type is not None: + pulumi.set(__self__, "peering_type", peering_type) + if port is not None: + pulumi.set(__self__, "port", port) + if profile is not None: + pulumi.set(__self__, "profile", profile) + if role is not None: + pulumi.set(__self__, "role", role) + if router is not None: + pulumi.set(__self__, "router", router) + if seller_region is not None: + pulumi.set(__self__, "seller_region", seller_region) + if type is not None: + pulumi.set(__self__, "type", type) + if virtual_device is not None: + pulumi.set(__self__, "virtual_device", virtual_device) @property @pulumi.getter - def href(self) -> str: + def accounts(self) -> Sequence['outputs.GetConnectionsDataASideAccessPointAccountResult']: """ - Unique Resource Identifier + Account """ - return pulumi.get(self, "href") + return pulumi.get(self, "accounts") @property @pulumi.getter - def uuid(self) -> Optional[str]: + def location(self) -> 'outputs.GetConnectionsDataASideAccessPointLocationResult': """ - Equinix-assigned virtual gateway identifier + Access point location """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "location") + @property + @pulumi.getter(name="providerConnectionId") + def provider_connection_id(self) -> str: + """ + Provider assigned Connection Id + """ + return pulumi.get(self, "provider_connection_id") -@pulumi.output_type -class GetConnectionsDataASideAccessPointVirtualDeviceResult(dict): - def __init__(__self__, *, - href: str, - uuid: str, - name: Optional[str] = None, - type: Optional[str] = None): + @property + @pulumi.getter(name="authenticationKey") + def authentication_key(self) -> Optional[str]: """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned Virtual Device identifier - :param str name: Customer-assigned Virtual Device Name - :param str type: Virtual Device type + Authentication key for provider based connections or Metal-Fabric Integration connections """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "uuid", uuid) - if name is not None: - pulumi.set(__self__, "name", name) - if type is not None: - pulumi.set(__self__, "type", type) + return pulumi.get(self, "authentication_key") @property @pulumi.getter - def href(self) -> str: + @_utilities.deprecated("""use router attribute instead; gateway is no longer a part of the supported backend""") + def gateway(self) -> Optional['outputs.GetConnectionsDataASideAccessPointGatewayResult']: """ - Unique Resource Identifier + **Deprecated** `gateway` Use `router` attribute instead """ - return pulumi.get(self, "href") + return pulumi.get(self, "gateway") @property @pulumi.getter - def uuid(self) -> str: + def interface(self) -> Optional['outputs.GetConnectionsDataASideAccessPointInterfaceResult']: """ - Equinix-assigned Virtual Device identifier + Virtual device interface """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "interface") @property - @pulumi.getter - def name(self) -> Optional[str]: + @pulumi.getter(name="linkProtocol") + def link_protocol(self) -> Optional['outputs.GetConnectionsDataASideAccessPointLinkProtocolResult']: """ - Customer-assigned Virtual Device Name + Connection link protocol """ - return pulumi.get(self, "name") + return pulumi.get(self, "link_protocol") @property @pulumi.getter - def type(self) -> Optional[str]: + def network(self) -> Optional['outputs.GetConnectionsDataASideAccessPointNetworkResult']: """ - Virtual Device type + network access point information """ - return pulumi.get(self, "type") - + return pulumi.get(self, "network") -@pulumi.output_type -class GetConnectionsDataASideAdditionalInfoResult(dict): - def __init__(__self__, *, - key: Optional[str] = None, - value: Optional[str] = None): + @property + @pulumi.getter(name="peeringType") + def peering_type(self) -> Optional[str]: """ - :param str key: Additional information key - :param str value: Additional information value + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL """ - if key is not None: - pulumi.set(__self__, "key", key) - if value is not None: - pulumi.set(__self__, "value", value) + return pulumi.get(self, "peering_type") @property @pulumi.getter - def key(self) -> Optional[str]: + def port(self) -> Optional['outputs.GetConnectionsDataASideAccessPointPortResult']: """ - Additional information key + Port access point information """ - return pulumi.get(self, "key") + return pulumi.get(self, "port") @property @pulumi.getter - def value(self) -> Optional[str]: + def profile(self) -> Optional['outputs.GetConnectionsDataASideAccessPointProfileResult']: """ - Additional information value + Service Profile """ - return pulumi.get(self, "value") - + return pulumi.get(self, "profile") -@pulumi.output_type -class GetConnectionsDataASideServiceTokenResult(dict): - def __init__(__self__, *, - description: str, - href: str, - type: Optional[str] = None, - uuid: Optional[str] = None): + @property + @pulumi.getter + def role(self) -> Optional[str]: """ - :param str description: Service token description - :param str href: An absolute URL that is the subject of the link's context - :param str type: Token type - VC_TOKEN - :param str uuid: Equinix-assigned service token identifier + Network role """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "href", href) - if type is not None: - pulumi.set(__self__, "type", type) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "role") @property @pulumi.getter - def description(self) -> str: + def router(self) -> Optional['outputs.GetConnectionsDataASideAccessPointRouterResult']: """ - Service token description + Cloud Router access point information that replaces `gateway` """ - return pulumi.get(self, "description") + return pulumi.get(self, "router") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="sellerRegion") + def seller_region(self) -> Optional[str]: """ - An absolute URL that is the subject of the link's context + Access point seller region """ - return pulumi.get(self, "href") + return pulumi.get(self, "seller_region") @property @pulumi.getter def type(self) -> Optional[str]: """ - Token type - VC_TOKEN + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK """ return pulumi.get(self, "type") @property - @pulumi.getter - def uuid(self) -> Optional[str]: + @pulumi.getter(name="virtualDevice") + def virtual_device(self) -> Optional['outputs.GetConnectionsDataASideAccessPointVirtualDeviceResult']: """ - Equinix-assigned service token identifier + Virtual device """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "virtual_device") @pulumi.output_type -class GetConnectionsDataAccountResult(dict): +class GetConnectionsDataASideAccessPointAccountResult(dict): def __init__(__self__, *, account_name: str, account_number: int, @@ -17982,690 +17769,571 @@ def ucm_id(self) -> str: @pulumi.output_type -class GetConnectionsDataChangeLogResult(dict): +class GetConnectionsDataASideAccessPointGatewayResult(dict): def __init__(__self__, *, - created_by: str, - created_by_email: str, - created_by_full_name: str, - created_date_time: str, - deleted_by: str, - deleted_by_email: str, - deleted_by_full_name: str, - deleted_date_time: str, - updated_by: str, - updated_by_email: str, - updated_by_full_name: str, - updated_date_time: str): - """ - :param str created_by: Created by User Key - :param str created_by_email: Created by User Email Address - :param str created_by_full_name: Created by User Full Name - :param str created_date_time: Created by Date and Time - :param str deleted_by: Deleted by User Key - :param str deleted_by_email: Deleted by User Email Address - :param str deleted_by_full_name: Deleted by User Full Name - :param str deleted_date_time: Deleted by Date and Time - :param str updated_by: Updated by User Key - :param str updated_by_email: Updated by User Email Address - :param str updated_by_full_name: Updated by User Full Name - :param str updated_date_time: Updated by Date and Time + href: str, + uuid: Optional[str] = None): """ - pulumi.set(__self__, "created_by", created_by) - pulumi.set(__self__, "created_by_email", created_by_email) - pulumi.set(__self__, "created_by_full_name", created_by_full_name) - pulumi.set(__self__, "created_date_time", created_date_time) - pulumi.set(__self__, "deleted_by", deleted_by) - pulumi.set(__self__, "deleted_by_email", deleted_by_email) - pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) - pulumi.set(__self__, "deleted_date_time", deleted_date_time) - pulumi.set(__self__, "updated_by", updated_by) - pulumi.set(__self__, "updated_by_email", updated_by_email) - pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) - pulumi.set(__self__, "updated_date_time", updated_date_time) - - @property - @pulumi.getter(name="createdBy") - def created_by(self) -> str: - """ - Created by User Key + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "created_by") + pulumi.set(__self__, "href", href) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="createdByEmail") - def created_by_email(self) -> str: + @pulumi.getter + def href(self) -> str: """ - Created by User Email Address + Unique Resource Identifier """ - return pulumi.get(self, "created_by_email") + return pulumi.get(self, "href") @property - @pulumi.getter(name="createdByFullName") - def created_by_full_name(self) -> str: + @pulumi.getter + def uuid(self) -> Optional[str]: """ - Created by User Full Name + Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "created_by_full_name") + return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="createdDateTime") - def created_date_time(self) -> str: + +@pulumi.output_type +class GetConnectionsDataASideAccessPointInterfaceResult(dict): + def __init__(__self__, *, + id: int, + type: Optional[str] = None, + uuid: Optional[str] = None): """ - Created by Date and Time + :param int id: id + :param str type: Interface type + :param str uuid: Equinix-assigned interface identifier """ - return pulumi.get(self, "created_date_time") + pulumi.set(__self__, "id", id) + if type is not None: + pulumi.set(__self__, "type", type) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="deletedBy") - def deleted_by(self) -> str: + @pulumi.getter + def id(self) -> int: """ - Deleted by User Key + id """ - return pulumi.get(self, "deleted_by") + return pulumi.get(self, "id") @property - @pulumi.getter(name="deletedByEmail") - def deleted_by_email(self) -> str: + @pulumi.getter + def type(self) -> Optional[str]: """ - Deleted by User Email Address + Interface type """ - return pulumi.get(self, "deleted_by_email") + return pulumi.get(self, "type") @property - @pulumi.getter(name="deletedByFullName") - def deleted_by_full_name(self) -> str: + @pulumi.getter + def uuid(self) -> Optional[str]: """ - Deleted by User Full Name + Equinix-assigned interface identifier """ - return pulumi.get(self, "deleted_by_full_name") + return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="deletedDateTime") - def deleted_date_time(self) -> str: + +@pulumi.output_type +class GetConnectionsDataASideAccessPointLinkProtocolResult(dict): + def __init__(__self__, *, + vlan_c_tag: int, + vlan_s_tag: int, + vlan_tag: int, + type: Optional[str] = None): """ - Deleted by Date and Time + :param int vlan_c_tag: Vlan Customer Tag information, vlanCTag value specified for QINQ connections + :param int vlan_s_tag: Vlan Provider Tag information, vlanSTag value specified for QINQ connections + :param int vlan_tag: Vlan Tag information, vlanTag value specified for DOT1Q connections + :param str type: Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN """ - return pulumi.get(self, "deleted_date_time") + pulumi.set(__self__, "vlan_c_tag", vlan_c_tag) + pulumi.set(__self__, "vlan_s_tag", vlan_s_tag) + pulumi.set(__self__, "vlan_tag", vlan_tag) + if type is not None: + pulumi.set(__self__, "type", type) @property - @pulumi.getter(name="updatedBy") - def updated_by(self) -> str: + @pulumi.getter(name="vlanCTag") + def vlan_c_tag(self) -> int: """ - Updated by User Key + Vlan Customer Tag information, vlanCTag value specified for QINQ connections """ - return pulumi.get(self, "updated_by") + return pulumi.get(self, "vlan_c_tag") @property - @pulumi.getter(name="updatedByEmail") - def updated_by_email(self) -> str: + @pulumi.getter(name="vlanSTag") + def vlan_s_tag(self) -> int: """ - Updated by User Email Address + Vlan Provider Tag information, vlanSTag value specified for QINQ connections """ - return pulumi.get(self, "updated_by_email") + return pulumi.get(self, "vlan_s_tag") @property - @pulumi.getter(name="updatedByFullName") - def updated_by_full_name(self) -> str: + @pulumi.getter(name="vlanTag") + def vlan_tag(self) -> int: """ - Updated by User Full Name + Vlan Tag information, vlanTag value specified for DOT1Q connections """ - return pulumi.get(self, "updated_by_full_name") + return pulumi.get(self, "vlan_tag") @property - @pulumi.getter(name="updatedDateTime") - def updated_date_time(self) -> str: + @pulumi.getter + def type(self) -> Optional[str]: """ - Updated by Date and Time + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN """ - return pulumi.get(self, "updated_date_time") + return pulumi.get(self, "type") @pulumi.output_type -class GetConnectionsDataNotificationResult(dict): +class GetConnectionsDataASideAccessPointLocationResult(dict): def __init__(__self__, *, - emails: Sequence[str], - type: str, - send_interval: Optional[str] = None): + ibx: str, + metro_code: str, + metro_name: str, + region: str): """ - :param Sequence[str] emails: Array of contact emails - :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS - :param str send_interval: Send interval + :param str ibx: IBX Code + :param str metro_code: Access point metro code + :param str metro_name: Access point metro name + :param str region: Access point region """ - pulumi.set(__self__, "emails", emails) - pulumi.set(__self__, "type", type) - if send_interval is not None: - pulumi.set(__self__, "send_interval", send_interval) + pulumi.set(__self__, "ibx", ibx) + pulumi.set(__self__, "metro_code", metro_code) + pulumi.set(__self__, "metro_name", metro_name) + pulumi.set(__self__, "region", region) @property @pulumi.getter - def emails(self) -> Sequence[str]: + def ibx(self) -> str: """ - Array of contact emails + IBX Code """ - return pulumi.get(self, "emails") + return pulumi.get(self, "ibx") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="metroCode") + def metro_code(self) -> str: """ - Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + Access point metro code """ - return pulumi.get(self, "type") + return pulumi.get(self, "metro_code") @property - @pulumi.getter(name="sendInterval") - def send_interval(self) -> Optional[str]: + @pulumi.getter(name="metroName") + def metro_name(self) -> str: """ - Send interval + Access point metro name """ - return pulumi.get(self, "send_interval") - + return pulumi.get(self, "metro_name") -@pulumi.output_type -class GetConnectionsDataOperationResult(dict): - def __init__(__self__, *, - equinix_status: str, - errors: Sequence['outputs.GetConnectionsDataOperationErrorResult'], - provider_status: str): + @property + @pulumi.getter + def region(self) -> str: """ - :param str equinix_status: Connection status - :param Sequence['GetConnectionsDataOperationErrorArgs'] errors: Errors occurred - :param str provider_status: Connection provider readiness status + Access point region """ - pulumi.set(__self__, "equinix_status", equinix_status) - pulumi.set(__self__, "errors", errors) - pulumi.set(__self__, "provider_status", provider_status) + return pulumi.get(self, "region") - @property - @pulumi.getter(name="equinixStatus") - def equinix_status(self) -> str: + +@pulumi.output_type +class GetConnectionsDataASideAccessPointNetworkResult(dict): + def __init__(__self__, *, + href: str, + uuid: str): """ - Connection status + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned Network identifier """ - return pulumi.get(self, "equinix_status") + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def errors(self) -> Sequence['outputs.GetConnectionsDataOperationErrorResult']: + def href(self) -> str: """ - Errors occurred + Unique Resource Identifier """ - return pulumi.get(self, "errors") + return pulumi.get(self, "href") @property - @pulumi.getter(name="providerStatus") - def provider_status(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - Connection provider readiness status + Equinix-assigned Network identifier """ - return pulumi.get(self, "provider_status") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionsDataOperationErrorResult(dict): +class GetConnectionsDataASideAccessPointPortResult(dict): def __init__(__self__, *, - additional_infos: Sequence['outputs.GetConnectionsDataOperationErrorAdditionalInfoResult'], - correlation_id: str, - details: str, - error_code: str, - error_message: str, - help: str): + href: str, + name: str, + redundancies: Sequence['outputs.GetConnectionsDataASideAccessPointPortRedundancyResult'], + uuid: str): """ - :param Sequence['GetConnectionsDataOperationErrorAdditionalInfoArgs'] additional_infos: Pricing error additional Info - :param str correlation_id: CorrelationId - :param str details: Details - :param str error_code: Error code - :param str error_message: Error Message - :param str help: Help + :param str href: Unique Resource Identifier + :param str name: Port name + :param Sequence['GetConnectionsDataASideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information + :param str uuid: Equinix-assigned Port identifier """ - pulumi.set(__self__, "additional_infos", additional_infos) - pulumi.set(__self__, "correlation_id", correlation_id) - pulumi.set(__self__, "details", details) - pulumi.set(__self__, "error_code", error_code) - pulumi.set(__self__, "error_message", error_message) - pulumi.set(__self__, "help", help) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "redundancies", redundancies) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="additionalInfos") - def additional_infos(self) -> Sequence['outputs.GetConnectionsDataOperationErrorAdditionalInfoResult']: + @pulumi.getter + def href(self) -> str: """ - Pricing error additional Info + Unique Resource Identifier """ - return pulumi.get(self, "additional_infos") + return pulumi.get(self, "href") @property - @pulumi.getter(name="correlationId") - def correlation_id(self) -> str: + @pulumi.getter + def name(self) -> str: """ - CorrelationId + Port name """ - return pulumi.get(self, "correlation_id") + return pulumi.get(self, "name") @property @pulumi.getter - def details(self) -> str: + def redundancies(self) -> Sequence['outputs.GetConnectionsDataASideAccessPointPortRedundancyResult']: """ - Details + Redundancy Information """ - return pulumi.get(self, "details") + return pulumi.get(self, "redundancies") @property - @pulumi.getter(name="errorCode") - def error_code(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - Error code + Equinix-assigned Port identifier """ - return pulumi.get(self, "error_code") + return pulumi.get(self, "uuid") + + +@pulumi.output_type +class GetConnectionsDataASideAccessPointPortRedundancyResult(dict): + def __init__(__self__, *, + enabled: bool, + group: str, + priority: str): + """ + :param bool enabled: Access point redundancy + :param str group: Port redundancy group + :param str priority: Priority type-Primary or Secondary + """ + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "priority", priority) @property - @pulumi.getter(name="errorMessage") - def error_message(self) -> str: + @pulumi.getter + def enabled(self) -> bool: """ - Error Message + Access point redundancy """ - return pulumi.get(self, "error_message") + return pulumi.get(self, "enabled") @property @pulumi.getter - def help(self) -> str: + def group(self) -> str: """ - Help + Port redundancy group """ - return pulumi.get(self, "help") + return pulumi.get(self, "group") + + @property + @pulumi.getter + def priority(self) -> str: + """ + Priority type-Primary or Secondary + """ + return pulumi.get(self, "priority") @pulumi.output_type -class GetConnectionsDataOperationErrorAdditionalInfoResult(dict): +class GetConnectionsDataASideAccessPointProfileResult(dict): def __init__(__self__, *, - property: str, - reason: str): + access_point_type_configs: Sequence['outputs.GetConnectionsDataASideAccessPointProfileAccessPointTypeConfigResult'], + description: str, + href: str, + name: str, + type: str, + uuid: str): """ - :param str property: Property at which the error potentially occurred - :param str reason: Reason for the error + :param Sequence['GetConnectionsDataASideAccessPointProfileAccessPointTypeConfigArgs'] access_point_type_configs: Access point config information + :param str description: User-provided service description + :param str href: Service Profile URI response attribute + :param str name: Customer-assigned service profile name + :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + :param str uuid: Equinix assigned service profile identifier """ - pulumi.set(__self__, "property", property) - pulumi.set(__self__, "reason", reason) + pulumi.set(__self__, "access_point_type_configs", access_point_type_configs) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter - def reason(self) -> str: + @pulumi.getter(name="accessPointTypeConfigs") + def access_point_type_configs(self) -> Sequence['outputs.GetConnectionsDataASideAccessPointProfileAccessPointTypeConfigResult']: """ - Reason for the error + Access point config information """ - return pulumi.get(self, "reason") + return pulumi.get(self, "access_point_type_configs") @property @pulumi.getter - def property(self) -> str: + def description(self) -> str: """ - Property at which the error potentially occurred + User-provided service description """ - return pulumi.get(self, "property") - + return pulumi.get(self, "description") -@pulumi.output_type -class GetConnectionsDataOrderResult(dict): - def __init__(__self__, *, - billing_tier: str, - order_id: str, - order_number: str, - purchase_order_number: str, - term_length: Optional[int] = None): + @property + @pulumi.getter + def href(self) -> str: """ - :param str billing_tier: Billing tier for connection bandwidth - :param str order_id: Order Identification - :param str order_number: Order Reference Number - :param str purchase_order_number: Purchase order number - :param int term_length: Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) + Service Profile URI response attribute """ - pulumi.set(__self__, "billing_tier", billing_tier) - pulumi.set(__self__, "order_id", order_id) - pulumi.set(__self__, "order_number", order_number) - pulumi.set(__self__, "purchase_order_number", purchase_order_number) - if term_length is not None: - pulumi.set(__self__, "term_length", term_length) + return pulumi.get(self, "href") @property - @pulumi.getter(name="billingTier") - def billing_tier(self) -> str: + @pulumi.getter + def name(self) -> str: """ - Billing tier for connection bandwidth + Customer-assigned service profile name """ - return pulumi.get(self, "billing_tier") + return pulumi.get(self, "name") @property - @pulumi.getter(name="orderId") - def order_id(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Order Identification + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE """ - return pulumi.get(self, "order_id") + return pulumi.get(self, "type") @property - @pulumi.getter(name="orderNumber") - def order_number(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - Order Reference Number + Equinix assigned service profile identifier """ - return pulumi.get(self, "order_number") + return pulumi.get(self, "uuid") + + +@pulumi.output_type +class GetConnectionsDataASideAccessPointProfileAccessPointTypeConfigResult(dict): + def __init__(__self__, *, + type: str, + uuid: str): + """ + :param str type: Type of access point type config - VD, COLO + :param str uuid: Equinix-assigned access point type config identifier + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="purchaseOrderNumber") - def purchase_order_number(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Purchase order number + Type of access point type config - VD, COLO """ - return pulumi.get(self, "purchase_order_number") + return pulumi.get(self, "type") @property - @pulumi.getter(name="termLength") - def term_length(self) -> Optional[int]: + @pulumi.getter + def uuid(self) -> str: """ - Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) + Equinix-assigned access point type config identifier """ - return pulumi.get(self, "term_length") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionsDataProjectResult(dict): +class GetConnectionsDataASideAccessPointRouterResult(dict): def __init__(__self__, *, href: str, - project_id: str): + uuid: Optional[str] = None): """ - :param str href: Unique Resource URL - :param str project_id: Project Id + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned virtual gateway identifier """ pulumi.set(__self__, "href", href) - pulumi.set(__self__, "project_id", project_id) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter def href(self) -> str: """ - Unique Resource URL + Unique Resource Identifier """ return pulumi.get(self, "href") @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: + @pulumi.getter + def uuid(self) -> Optional[str]: """ - Project Id + Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "project_id") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionsDataRedundancyResult(dict): +class GetConnectionsDataASideAccessPointVirtualDeviceResult(dict): def __init__(__self__, *, - group: str, - priority: str): + href: str, + uuid: str, + name: Optional[str] = None, + type: Optional[str] = None): """ - :param str group: Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) - :param str priority: Connection priority in redundancy group - PRIMARY, SECONDARY + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned Virtual Device identifier + :param str name: Customer-assigned Virtual Device Name + :param str type: Virtual Device type """ - pulumi.set(__self__, "group", group) - pulumi.set(__self__, "priority", priority) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "uuid", uuid) + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) @property @pulumi.getter - def group(self) -> str: + def href(self) -> str: """ - Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) + Unique Resource Identifier """ - return pulumi.get(self, "group") + return pulumi.get(self, "href") @property @pulumi.getter - def priority(self) -> str: + def uuid(self) -> str: """ - Connection priority in redundancy group - PRIMARY, SECONDARY + Equinix-assigned Virtual Device identifier """ - return pulumi.get(self, "priority") + return pulumi.get(self, "uuid") - -@pulumi.output_type -class GetConnectionsDataZSideResult(dict): - def __init__(__self__, *, - access_point: Optional['outputs.GetConnectionsDataZSideAccessPointResult'] = None, - additional_infos: Optional[Sequence['outputs.GetConnectionsDataZSideAdditionalInfoResult']] = None, - service_token: Optional['outputs.GetConnectionsDataZSideServiceTokenResult'] = None): - """ - :param 'GetConnectionsDataZSideAccessPointArgs' access_point: Point of access details - :param Sequence['GetConnectionsDataZSideAdditionalInfoArgs'] additional_infos: Connection side additional information - :param 'GetConnectionsDataZSideServiceTokenArgs' service_token: For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets - """ - if access_point is not None: - pulumi.set(__self__, "access_point", access_point) - if additional_infos is not None: - pulumi.set(__self__, "additional_infos", additional_infos) - if service_token is not None: - pulumi.set(__self__, "service_token", service_token) - - @property - @pulumi.getter(name="accessPoint") - def access_point(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointResult']: - """ - Point of access details - """ - return pulumi.get(self, "access_point") - - @property - @pulumi.getter(name="additionalInfos") - def additional_infos(self) -> Optional[Sequence['outputs.GetConnectionsDataZSideAdditionalInfoResult']]: - """ - Connection side additional information - """ - return pulumi.get(self, "additional_infos") + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + Customer-assigned Virtual Device Name + """ + return pulumi.get(self, "name") @property - @pulumi.getter(name="serviceToken") - def service_token(self) -> Optional['outputs.GetConnectionsDataZSideServiceTokenResult']: + @pulumi.getter + def type(self) -> Optional[str]: """ - For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets + Virtual Device type """ - return pulumi.get(self, "service_token") + return pulumi.get(self, "type") @pulumi.output_type -class GetConnectionsDataZSideAccessPointResult(dict): +class GetConnectionsDataASideAdditionalInfoResult(dict): def __init__(__self__, *, - accounts: Sequence['outputs.GetConnectionsDataZSideAccessPointAccountResult'], - location: 'outputs.GetConnectionsDataZSideAccessPointLocationResult', - provider_connection_id: str, - authentication_key: Optional[str] = None, - gateway: Optional['outputs.GetConnectionsDataZSideAccessPointGatewayResult'] = None, - interface: Optional['outputs.GetConnectionsDataZSideAccessPointInterfaceResult'] = None, - link_protocol: Optional['outputs.GetConnectionsDataZSideAccessPointLinkProtocolResult'] = None, - network: Optional['outputs.GetConnectionsDataZSideAccessPointNetworkResult'] = None, - peering_type: Optional[str] = None, - port: Optional['outputs.GetConnectionsDataZSideAccessPointPortResult'] = None, - profile: Optional['outputs.GetConnectionsDataZSideAccessPointProfileResult'] = None, - role: Optional[str] = None, - router: Optional['outputs.GetConnectionsDataZSideAccessPointRouterResult'] = None, - seller_region: Optional[str] = None, - type: Optional[str] = None, - virtual_device: Optional['outputs.GetConnectionsDataZSideAccessPointVirtualDeviceResult'] = None): - """ - :param Sequence['GetConnectionsDataZSideAccessPointAccountArgs'] accounts: Account - :param 'GetConnectionsDataZSideAccessPointLocationArgs' location: Access point location - :param str provider_connection_id: Provider assigned Connection Id - :param str authentication_key: Authentication key for provider based connections or Metal-Fabric Integration connections - :param 'GetConnectionsDataZSideAccessPointGatewayArgs' gateway: **Deprecated** `gateway` Use `router` attribute instead - :param 'GetConnectionsDataZSideAccessPointInterfaceArgs' interface: Virtual device interface - :param 'GetConnectionsDataZSideAccessPointLinkProtocolArgs' link_protocol: Connection link protocol - :param 'GetConnectionsDataZSideAccessPointNetworkArgs' network: network access point information - :param str peering_type: Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL - :param 'GetConnectionsDataZSideAccessPointPortArgs' port: Port access point information - :param 'GetConnectionsDataZSideAccessPointProfileArgs' profile: Service Profile - :param str role: Network role - :param 'GetConnectionsDataZSideAccessPointRouterArgs' router: Cloud Router access point information that replaces `gateway` - :param str seller_region: Access point seller region - :param str type: Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK - :param 'GetConnectionsDataZSideAccessPointVirtualDeviceArgs' virtual_device: Virtual device - """ - pulumi.set(__self__, "accounts", accounts) - pulumi.set(__self__, "location", location) - pulumi.set(__self__, "provider_connection_id", provider_connection_id) - if authentication_key is not None: - pulumi.set(__self__, "authentication_key", authentication_key) - if gateway is not None: - pulumi.set(__self__, "gateway", gateway) - if interface is not None: - pulumi.set(__self__, "interface", interface) - if link_protocol is not None: - pulumi.set(__self__, "link_protocol", link_protocol) - if network is not None: - pulumi.set(__self__, "network", network) - if peering_type is not None: - pulumi.set(__self__, "peering_type", peering_type) - if port is not None: - pulumi.set(__self__, "port", port) - if profile is not None: - pulumi.set(__self__, "profile", profile) - if role is not None: - pulumi.set(__self__, "role", role) - if router is not None: - pulumi.set(__self__, "router", router) - if seller_region is not None: - pulumi.set(__self__, "seller_region", seller_region) - if type is not None: - pulumi.set(__self__, "type", type) - if virtual_device is not None: - pulumi.set(__self__, "virtual_device", virtual_device) - - @property - @pulumi.getter - def accounts(self) -> Sequence['outputs.GetConnectionsDataZSideAccessPointAccountResult']: - """ - Account - """ - return pulumi.get(self, "accounts") - - @property - @pulumi.getter - def location(self) -> 'outputs.GetConnectionsDataZSideAccessPointLocationResult': - """ - Access point location - """ - return pulumi.get(self, "location") - - @property - @pulumi.getter(name="providerConnectionId") - def provider_connection_id(self) -> str: - """ - Provider assigned Connection Id - """ - return pulumi.get(self, "provider_connection_id") - - @property - @pulumi.getter(name="authenticationKey") - def authentication_key(self) -> Optional[str]: - """ - Authentication key for provider based connections or Metal-Fabric Integration connections - """ - return pulumi.get(self, "authentication_key") - - @property - @pulumi.getter - @_utilities.deprecated("""use router attribute instead; gateway is no longer a part of the supported backend""") - def gateway(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointGatewayResult']: + key: Optional[str] = None, + value: Optional[str] = None): """ - **Deprecated** `gateway` Use `router` attribute instead + :param str key: Additional information key + :param str value: Additional information value """ - return pulumi.get(self, "gateway") + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property @pulumi.getter - def interface(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointInterfaceResult']: - """ - Virtual device interface - """ - return pulumi.get(self, "interface") - - @property - @pulumi.getter(name="linkProtocol") - def link_protocol(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointLinkProtocolResult']: + def key(self) -> Optional[str]: """ - Connection link protocol + Additional information key """ - return pulumi.get(self, "link_protocol") + return pulumi.get(self, "key") @property @pulumi.getter - def network(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointNetworkResult']: - """ - network access point information - """ - return pulumi.get(self, "network") - - @property - @pulumi.getter(name="peeringType") - def peering_type(self) -> Optional[str]: + def value(self) -> Optional[str]: """ - Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + Additional information value """ - return pulumi.get(self, "peering_type") + return pulumi.get(self, "value") - @property - @pulumi.getter - def port(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointPortResult']: - """ - Port access point information - """ - return pulumi.get(self, "port") - @property - @pulumi.getter - def profile(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointProfileResult']: +@pulumi.output_type +class GetConnectionsDataASideServiceTokenResult(dict): + def __init__(__self__, *, + description: str, + href: str, + type: Optional[str] = None, + uuid: Optional[str] = None): """ - Service Profile + :param str description: Service token description + :param str href: An absolute URL that is the subject of the link's context + :param str type: Token type - VC_TOKEN + :param str uuid: Equinix-assigned service token identifier """ - return pulumi.get(self, "profile") + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "href", href) + if type is not None: + pulumi.set(__self__, "type", type) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def role(self) -> Optional[str]: + def description(self) -> str: """ - Network role + Service token description """ - return pulumi.get(self, "role") + return pulumi.get(self, "description") @property @pulumi.getter - def router(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointRouterResult']: - """ - Cloud Router access point information that replaces `gateway` - """ - return pulumi.get(self, "router") - - @property - @pulumi.getter(name="sellerRegion") - def seller_region(self) -> Optional[str]: + def href(self) -> str: """ - Access point seller region + An absolute URL that is the subject of the link's context """ - return pulumi.get(self, "seller_region") + return pulumi.get(self, "href") @property @pulumi.getter def type(self) -> Optional[str]: """ - Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK + Token type - VC_TOKEN """ return pulumi.get(self, "type") @property - @pulumi.getter(name="virtualDevice") - def virtual_device(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointVirtualDeviceResult']: + @pulumi.getter + def uuid(self) -> Optional[str]: """ - Virtual device + Equinix-assigned service token identifier """ - return pulumi.get(self, "virtual_device") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetConnectionsDataZSideAccessPointAccountResult(dict): +class GetConnectionsDataAccountResult(dict): def __init__(__self__, *, account_name: str, account_number: int, @@ -18760,2667 +18428,2788 @@ def ucm_id(self) -> str: @pulumi.output_type -class GetConnectionsDataZSideAccessPointGatewayResult(dict): +class GetConnectionsDataChangeLogResult(dict): def __init__(__self__, *, - href: str, - uuid: Optional[str] = None): - """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned virtual gateway identifier - """ - pulumi.set(__self__, "href", href) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) - - @property - @pulumi.getter - def href(self) -> str: + created_by: str, + created_by_email: str, + created_by_full_name: str, + created_date_time: str, + deleted_by: str, + deleted_by_email: str, + deleted_by_full_name: str, + deleted_date_time: str, + updated_by: str, + updated_by_email: str, + updated_by_full_name: str, + updated_date_time: str): """ - Unique Resource Identifier + :param str created_by: Created by User Key + :param str created_by_email: Created by User Email Address + :param str created_by_full_name: Created by User Full Name + :param str created_date_time: Created by Date and Time + :param str deleted_by: Deleted by User Key + :param str deleted_by_email: Deleted by User Email Address + :param str deleted_by_full_name: Deleted by User Full Name + :param str deleted_date_time: Deleted by Date and Time + :param str updated_by: Updated by User Key + :param str updated_by_email: Updated by User Email Address + :param str updated_by_full_name: Updated by User Full Name + :param str updated_date_time: Updated by Date and Time """ - return pulumi.get(self, "href") + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_email", created_by_email) + pulumi.set(__self__, "created_by_full_name", created_by_full_name) + pulumi.set(__self__, "created_date_time", created_date_time) + pulumi.set(__self__, "deleted_by", deleted_by) + pulumi.set(__self__, "deleted_by_email", deleted_by_email) + pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) + pulumi.set(__self__, "deleted_date_time", deleted_date_time) + pulumi.set(__self__, "updated_by", updated_by) + pulumi.set(__self__, "updated_by_email", updated_by_email) + pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) + pulumi.set(__self__, "updated_date_time", updated_date_time) @property - @pulumi.getter - def uuid(self) -> Optional[str]: + @pulumi.getter(name="createdBy") + def created_by(self) -> str: """ - Equinix-assigned virtual gateway identifier + Created by User Key """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "created_by") + @property + @pulumi.getter(name="createdByEmail") + def created_by_email(self) -> str: + """ + Created by User Email Address + """ + return pulumi.get(self, "created_by_email") -@pulumi.output_type -class GetConnectionsDataZSideAccessPointInterfaceResult(dict): - def __init__(__self__, *, - id: int, - type: Optional[str] = None, - uuid: Optional[str] = None): + @property + @pulumi.getter(name="createdByFullName") + def created_by_full_name(self) -> str: """ - :param int id: id - :param str type: Interface type - :param str uuid: Equinix-assigned interface identifier + Created by User Full Name """ - pulumi.set(__self__, "id", id) - if type is not None: - pulumi.set(__self__, "type", type) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "created_by_full_name") @property - @pulumi.getter - def id(self) -> int: + @pulumi.getter(name="createdDateTime") + def created_date_time(self) -> str: """ - id + Created by Date and Time """ - return pulumi.get(self, "id") + return pulumi.get(self, "created_date_time") @property - @pulumi.getter - def type(self) -> Optional[str]: + @pulumi.getter(name="deletedBy") + def deleted_by(self) -> str: """ - Interface type + Deleted by User Key """ - return pulumi.get(self, "type") + return pulumi.get(self, "deleted_by") @property - @pulumi.getter - def uuid(self) -> Optional[str]: + @pulumi.getter(name="deletedByEmail") + def deleted_by_email(self) -> str: """ - Equinix-assigned interface identifier + Deleted by User Email Address """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "deleted_by_email") + @property + @pulumi.getter(name="deletedByFullName") + def deleted_by_full_name(self) -> str: + """ + Deleted by User Full Name + """ + return pulumi.get(self, "deleted_by_full_name") -@pulumi.output_type -class GetConnectionsDataZSideAccessPointLinkProtocolResult(dict): - def __init__(__self__, *, - vlan_c_tag: int, - vlan_s_tag: int, - vlan_tag: int, - type: Optional[str] = None): + @property + @pulumi.getter(name="deletedDateTime") + def deleted_date_time(self) -> str: """ - :param int vlan_c_tag: Vlan Customer Tag information, vlanCTag value specified for QINQ connections - :param int vlan_s_tag: Vlan Provider Tag information, vlanSTag value specified for QINQ connections - :param int vlan_tag: Vlan Tag information, vlanTag value specified for DOT1Q connections - :param str type: Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + Deleted by Date and Time """ - pulumi.set(__self__, "vlan_c_tag", vlan_c_tag) - pulumi.set(__self__, "vlan_s_tag", vlan_s_tag) - pulumi.set(__self__, "vlan_tag", vlan_tag) - if type is not None: - pulumi.set(__self__, "type", type) + return pulumi.get(self, "deleted_date_time") @property - @pulumi.getter(name="vlanCTag") - def vlan_c_tag(self) -> int: + @pulumi.getter(name="updatedBy") + def updated_by(self) -> str: """ - Vlan Customer Tag information, vlanCTag value specified for QINQ connections + Updated by User Key """ - return pulumi.get(self, "vlan_c_tag") + return pulumi.get(self, "updated_by") @property - @pulumi.getter(name="vlanSTag") - def vlan_s_tag(self) -> int: + @pulumi.getter(name="updatedByEmail") + def updated_by_email(self) -> str: """ - Vlan Provider Tag information, vlanSTag value specified for QINQ connections + Updated by User Email Address """ - return pulumi.get(self, "vlan_s_tag") + return pulumi.get(self, "updated_by_email") @property - @pulumi.getter(name="vlanTag") - def vlan_tag(self) -> int: + @pulumi.getter(name="updatedByFullName") + def updated_by_full_name(self) -> str: """ - Vlan Tag information, vlanTag value specified for DOT1Q connections + Updated by User Full Name """ - return pulumi.get(self, "vlan_tag") + return pulumi.get(self, "updated_by_full_name") @property - @pulumi.getter - def type(self) -> Optional[str]: + @pulumi.getter(name="updatedDateTime") + def updated_date_time(self) -> str: """ - Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + Updated by Date and Time """ - return pulumi.get(self, "type") + return pulumi.get(self, "updated_date_time") @pulumi.output_type -class GetConnectionsDataZSideAccessPointLocationResult(dict): +class GetConnectionsDataNotificationResult(dict): def __init__(__self__, *, - ibx: str, - metro_code: str, - metro_name: str, - region: str): + emails: Sequence[str], + type: str, + send_interval: Optional[str] = None): """ - :param str ibx: IBX Code - :param str metro_code: Access point metro code - :param str metro_name: Access point metro name - :param str region: Access point region + :param Sequence[str] emails: Array of contact emails + :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + :param str send_interval: Send interval """ - pulumi.set(__self__, "ibx", ibx) - pulumi.set(__self__, "metro_code", metro_code) - pulumi.set(__self__, "metro_name", metro_name) - pulumi.set(__self__, "region", region) + pulumi.set(__self__, "emails", emails) + pulumi.set(__self__, "type", type) + if send_interval is not None: + pulumi.set(__self__, "send_interval", send_interval) @property @pulumi.getter - def ibx(self) -> str: - """ - IBX Code - """ - return pulumi.get(self, "ibx") - - @property - @pulumi.getter(name="metroCode") - def metro_code(self) -> str: + def emails(self) -> Sequence[str]: """ - Access point metro code + Array of contact emails """ - return pulumi.get(self, "metro_code") + return pulumi.get(self, "emails") @property - @pulumi.getter(name="metroName") - def metro_name(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Access point metro name + Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS """ - return pulumi.get(self, "metro_name") + return pulumi.get(self, "type") @property - @pulumi.getter - def region(self) -> str: + @pulumi.getter(name="sendInterval") + def send_interval(self) -> Optional[str]: """ - Access point region + Send interval """ - return pulumi.get(self, "region") + return pulumi.get(self, "send_interval") @pulumi.output_type -class GetConnectionsDataZSideAccessPointNetworkResult(dict): +class GetConnectionsDataOperationResult(dict): def __init__(__self__, *, - href: str, - uuid: str): + equinix_status: str, + errors: Sequence['outputs.GetConnectionsDataOperationErrorResult'], + provider_status: str): """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned Network identifier + :param str equinix_status: Connection status + :param Sequence['GetConnectionsDataOperationErrorArgs'] errors: Errors occurred + :param str provider_status: Connection provider readiness status """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "equinix_status", equinix_status) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "provider_status", provider_status) @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="equinixStatus") + def equinix_status(self) -> str: """ - Unique Resource Identifier + Connection status """ - return pulumi.get(self, "href") + return pulumi.get(self, "equinix_status") @property @pulumi.getter - def uuid(self) -> str: + def errors(self) -> Sequence['outputs.GetConnectionsDataOperationErrorResult']: """ - Equinix-assigned Network identifier + Errors occurred """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "errors") + + @property + @pulumi.getter(name="providerStatus") + def provider_status(self) -> str: + """ + Connection provider readiness status + """ + return pulumi.get(self, "provider_status") @pulumi.output_type -class GetConnectionsDataZSideAccessPointPortResult(dict): +class GetConnectionsDataOperationErrorResult(dict): def __init__(__self__, *, - href: str, - name: str, - redundancies: Sequence['outputs.GetConnectionsDataZSideAccessPointPortRedundancyResult'], - uuid: str): + additional_infos: Sequence['outputs.GetConnectionsDataOperationErrorAdditionalInfoResult'], + correlation_id: str, + details: str, + error_code: str, + error_message: str, + help: str): """ - :param str href: Unique Resource Identifier - :param str name: Port name - :param Sequence['GetConnectionsDataZSideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information - :param str uuid: Equinix-assigned Port identifier + :param Sequence['GetConnectionsDataOperationErrorAdditionalInfoArgs'] additional_infos: Pricing error additional Info + :param str correlation_id: CorrelationId + :param str details: Details + :param str error_code: Error code + :param str error_message: Error Message + :param str help: Help """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "redundancies", redundancies) - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "additional_infos", additional_infos) + pulumi.set(__self__, "correlation_id", correlation_id) + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "error_code", error_code) + pulumi.set(__self__, "error_message", error_message) + pulumi.set(__self__, "help", help) @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="additionalInfos") + def additional_infos(self) -> Sequence['outputs.GetConnectionsDataOperationErrorAdditionalInfoResult']: """ - Unique Resource Identifier + Pricing error additional Info """ - return pulumi.get(self, "href") + return pulumi.get(self, "additional_infos") @property - @pulumi.getter - def name(self) -> str: + @pulumi.getter(name="correlationId") + def correlation_id(self) -> str: """ - Port name + CorrelationId """ - return pulumi.get(self, "name") + return pulumi.get(self, "correlation_id") @property @pulumi.getter - def redundancies(self) -> Sequence['outputs.GetConnectionsDataZSideAccessPointPortRedundancyResult']: + def details(self) -> str: """ - Redundancy Information + Details """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "details") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="errorCode") + def error_code(self) -> str: """ - Equinix-assigned Port identifier + Error code """ - return pulumi.get(self, "uuid") - + return pulumi.get(self, "error_code") -@pulumi.output_type -class GetConnectionsDataZSideAccessPointPortRedundancyResult(dict): - def __init__(__self__, *, - enabled: bool, - group: str, - priority: str): + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: """ - :param bool enabled: Access point redundancy - :param str group: Port redundancy group - :param str priority: Priority type-Primary or Secondary + Error Message """ - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "group", group) - pulumi.set(__self__, "priority", priority) + return pulumi.get(self, "error_message") @property @pulumi.getter - def enabled(self) -> bool: + def help(self) -> str: """ - Access point redundancy + Help """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "help") + + +@pulumi.output_type +class GetConnectionsDataOperationErrorAdditionalInfoResult(dict): + def __init__(__self__, *, + property: str, + reason: str): + """ + :param str property: Property at which the error potentially occurred + :param str reason: Reason for the error + """ + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "reason", reason) @property @pulumi.getter - def group(self) -> str: + def reason(self) -> str: """ - Port redundancy group + Reason for the error """ - return pulumi.get(self, "group") + return pulumi.get(self, "reason") @property @pulumi.getter - def priority(self) -> str: + def property(self) -> str: """ - Priority type-Primary or Secondary + Property at which the error potentially occurred """ - return pulumi.get(self, "priority") + return pulumi.get(self, "property") @pulumi.output_type -class GetConnectionsDataZSideAccessPointProfileResult(dict): +class GetConnectionsDataOrderResult(dict): def __init__(__self__, *, - access_point_type_configs: Sequence['outputs.GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfigResult'], - description: str, - href: str, - name: str, - type: str, - uuid: str): - """ - :param Sequence['GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfigArgs'] access_point_type_configs: Access point config information - :param str description: User-provided service description - :param str href: Service Profile URI response attribute - :param str name: Customer-assigned service profile name - :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE - :param str uuid: Equinix assigned service profile identifier - """ - pulumi.set(__self__, "access_point_type_configs", access_point_type_configs) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) - - @property - @pulumi.getter(name="accessPointTypeConfigs") - def access_point_type_configs(self) -> Sequence['outputs.GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfigResult']: + billing_tier: str, + order_id: str, + order_number: str, + purchase_order_number: str, + term_length: Optional[int] = None): """ - Access point config information + :param str billing_tier: Billing tier for connection bandwidth + :param str order_id: Order Identification + :param str order_number: Order Reference Number + :param str purchase_order_number: Purchase order number + :param int term_length: Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) """ - return pulumi.get(self, "access_point_type_configs") + pulumi.set(__self__, "billing_tier", billing_tier) + pulumi.set(__self__, "order_id", order_id) + pulumi.set(__self__, "order_number", order_number) + pulumi.set(__self__, "purchase_order_number", purchase_order_number) + if term_length is not None: + pulumi.set(__self__, "term_length", term_length) @property - @pulumi.getter - def description(self) -> str: + @pulumi.getter(name="billingTier") + def billing_tier(self) -> str: """ - User-provided service description + Billing tier for connection bandwidth """ - return pulumi.get(self, "description") + return pulumi.get(self, "billing_tier") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="orderId") + def order_id(self) -> str: """ - Service Profile URI response attribute + Order Identification """ - return pulumi.get(self, "href") + return pulumi.get(self, "order_id") @property - @pulumi.getter - def name(self) -> str: + @pulumi.getter(name="orderNumber") + def order_number(self) -> str: """ - Customer-assigned service profile name + Order Reference Number """ - return pulumi.get(self, "name") + return pulumi.get(self, "order_number") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="purchaseOrderNumber") + def purchase_order_number(self) -> str: """ - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + Purchase order number """ - return pulumi.get(self, "type") + return pulumi.get(self, "purchase_order_number") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="termLength") + def term_length(self) -> Optional[int]: """ - Equinix assigned service profile identifier + Term length in months; valid values are 1, 12, 24, 36 where 1 is the default value (for on-demand case) """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "term_length") @pulumi.output_type -class GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfigResult(dict): +class GetConnectionsDataProjectResult(dict): def __init__(__self__, *, - type: str, - uuid: str): + href: str, + project_id: str): """ - :param str type: Type of access point type config - VD, COLO - :param str uuid: Equinix-assigned access point type config identifier + :param str href: Unique Resource URL + :param str project_id: Project Id """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "project_id", project_id) @property @pulumi.getter - def type(self) -> str: + def href(self) -> str: """ - Type of access point type config - VD, COLO + Unique Resource URL """ - return pulumi.get(self, "type") + return pulumi.get(self, "href") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="projectId") + def project_id(self) -> str: """ - Equinix-assigned access point type config identifier + Project Id """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "project_id") @pulumi.output_type -class GetConnectionsDataZSideAccessPointRouterResult(dict): +class GetConnectionsDataRedundancyResult(dict): def __init__(__self__, *, - href: str, - uuid: Optional[str] = None): + group: str, + priority: str): """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned virtual gateway identifier + :param str group: Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) + :param str priority: Connection priority in redundancy group - PRIMARY, SECONDARY """ - pulumi.set(__self__, "href", href) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "priority", priority) @property @pulumi.getter - def href(self) -> str: + def group(self) -> str: """ - Unique Resource Identifier + Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group) """ - return pulumi.get(self, "href") + return pulumi.get(self, "group") @property @pulumi.getter - def uuid(self) -> Optional[str]: + def priority(self) -> str: """ - Equinix-assigned virtual gateway identifier + Connection priority in redundancy group - PRIMARY, SECONDARY """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "priority") @pulumi.output_type -class GetConnectionsDataZSideAccessPointVirtualDeviceResult(dict): +class GetConnectionsDataZSideResult(dict): def __init__(__self__, *, - href: str, - uuid: str, - name: Optional[str] = None, - type: Optional[str] = None): + access_point: Optional['outputs.GetConnectionsDataZSideAccessPointResult'] = None, + additional_infos: Optional[Sequence['outputs.GetConnectionsDataZSideAdditionalInfoResult']] = None, + service_token: Optional['outputs.GetConnectionsDataZSideServiceTokenResult'] = None): """ - :param str href: Unique Resource Identifier - :param str uuid: Equinix-assigned Virtual Device identifier - :param str name: Customer-assigned Virtual Device Name - :param str type: Virtual Device type - """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "uuid", uuid) - if name is not None: - pulumi.set(__self__, "name", name) - if type is not None: - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def href(self) -> str: - """ - Unique Resource Identifier + :param 'GetConnectionsDataZSideAccessPointArgs' access_point: Point of access details + :param Sequence['GetConnectionsDataZSideAdditionalInfoArgs'] additional_infos: Connection side additional information + :param 'GetConnectionsDataZSideServiceTokenArgs' service_token: For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets """ - return pulumi.get(self, "href") + if access_point is not None: + pulumi.set(__self__, "access_point", access_point) + if additional_infos is not None: + pulumi.set(__self__, "additional_infos", additional_infos) + if service_token is not None: + pulumi.set(__self__, "service_token", service_token) @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="accessPoint") + def access_point(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointResult']: """ - Equinix-assigned Virtual Device identifier + Point of access details """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "access_point") @property - @pulumi.getter - def name(self) -> Optional[str]: + @pulumi.getter(name="additionalInfos") + def additional_infos(self) -> Optional[Sequence['outputs.GetConnectionsDataZSideAdditionalInfoResult']]: """ - Customer-assigned Virtual Device Name + Connection side additional information """ - return pulumi.get(self, "name") + return pulumi.get(self, "additional_infos") @property - @pulumi.getter - def type(self) -> Optional[str]: + @pulumi.getter(name="serviceToken") + def service_token(self) -> Optional['outputs.GetConnectionsDataZSideServiceTokenResult']: """ - Virtual Device type + For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets """ - return pulumi.get(self, "type") + return pulumi.get(self, "service_token") @pulumi.output_type -class GetConnectionsDataZSideAdditionalInfoResult(dict): +class GetConnectionsDataZSideAccessPointResult(dict): def __init__(__self__, *, - key: Optional[str] = None, - value: Optional[str] = None): + accounts: Sequence['outputs.GetConnectionsDataZSideAccessPointAccountResult'], + location: 'outputs.GetConnectionsDataZSideAccessPointLocationResult', + provider_connection_id: str, + authentication_key: Optional[str] = None, + gateway: Optional['outputs.GetConnectionsDataZSideAccessPointGatewayResult'] = None, + interface: Optional['outputs.GetConnectionsDataZSideAccessPointInterfaceResult'] = None, + link_protocol: Optional['outputs.GetConnectionsDataZSideAccessPointLinkProtocolResult'] = None, + network: Optional['outputs.GetConnectionsDataZSideAccessPointNetworkResult'] = None, + peering_type: Optional[str] = None, + port: Optional['outputs.GetConnectionsDataZSideAccessPointPortResult'] = None, + profile: Optional['outputs.GetConnectionsDataZSideAccessPointProfileResult'] = None, + role: Optional[str] = None, + router: Optional['outputs.GetConnectionsDataZSideAccessPointRouterResult'] = None, + seller_region: Optional[str] = None, + type: Optional[str] = None, + virtual_device: Optional['outputs.GetConnectionsDataZSideAccessPointVirtualDeviceResult'] = None): """ - :param str key: Additional information key - :param str value: Additional information value + :param Sequence['GetConnectionsDataZSideAccessPointAccountArgs'] accounts: Account + :param 'GetConnectionsDataZSideAccessPointLocationArgs' location: Access point location + :param str provider_connection_id: Provider assigned Connection Id + :param str authentication_key: Authentication key for provider based connections or Metal-Fabric Integration connections + :param 'GetConnectionsDataZSideAccessPointGatewayArgs' gateway: **Deprecated** `gateway` Use `router` attribute instead + :param 'GetConnectionsDataZSideAccessPointInterfaceArgs' interface: Virtual device interface + :param 'GetConnectionsDataZSideAccessPointLinkProtocolArgs' link_protocol: Connection link protocol + :param 'GetConnectionsDataZSideAccessPointNetworkArgs' network: network access point information + :param str peering_type: Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL + :param 'GetConnectionsDataZSideAccessPointPortArgs' port: Port access point information + :param 'GetConnectionsDataZSideAccessPointProfileArgs' profile: Service Profile + :param str role: Network role + :param 'GetConnectionsDataZSideAccessPointRouterArgs' router: Cloud Router access point information that replaces `gateway` + :param str seller_region: Access point seller region + :param str type: Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK + :param 'GetConnectionsDataZSideAccessPointVirtualDeviceArgs' virtual_device: Virtual device """ - if key is not None: - pulumi.set(__self__, "key", key) - if value is not None: - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "accounts", accounts) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "provider_connection_id", provider_connection_id) + if authentication_key is not None: + pulumi.set(__self__, "authentication_key", authentication_key) + if gateway is not None: + pulumi.set(__self__, "gateway", gateway) + if interface is not None: + pulumi.set(__self__, "interface", interface) + if link_protocol is not None: + pulumi.set(__self__, "link_protocol", link_protocol) + if network is not None: + pulumi.set(__self__, "network", network) + if peering_type is not None: + pulumi.set(__self__, "peering_type", peering_type) + if port is not None: + pulumi.set(__self__, "port", port) + if profile is not None: + pulumi.set(__self__, "profile", profile) + if role is not None: + pulumi.set(__self__, "role", role) + if router is not None: + pulumi.set(__self__, "router", router) + if seller_region is not None: + pulumi.set(__self__, "seller_region", seller_region) + if type is not None: + pulumi.set(__self__, "type", type) + if virtual_device is not None: + pulumi.set(__self__, "virtual_device", virtual_device) @property @pulumi.getter - def key(self) -> Optional[str]: + def accounts(self) -> Sequence['outputs.GetConnectionsDataZSideAccessPointAccountResult']: """ - Additional information key + Account """ - return pulumi.get(self, "key") + return pulumi.get(self, "accounts") @property @pulumi.getter - def value(self) -> Optional[str]: + def location(self) -> 'outputs.GetConnectionsDataZSideAccessPointLocationResult': """ - Additional information value + Access point location """ - return pulumi.get(self, "value") + return pulumi.get(self, "location") + @property + @pulumi.getter(name="providerConnectionId") + def provider_connection_id(self) -> str: + """ + Provider assigned Connection Id + """ + return pulumi.get(self, "provider_connection_id") -@pulumi.output_type -class GetConnectionsDataZSideServiceTokenResult(dict): - def __init__(__self__, *, - description: str, - href: str, - type: Optional[str] = None, - uuid: Optional[str] = None): + @property + @pulumi.getter(name="authenticationKey") + def authentication_key(self) -> Optional[str]: """ - :param str description: Service token description - :param str href: An absolute URL that is the subject of the link's context - :param str type: Token type - VC_TOKEN - :param str uuid: Equinix-assigned service token identifier + Authentication key for provider based connections or Metal-Fabric Integration connections """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "href", href) - if type is not None: - pulumi.set(__self__, "type", type) - if uuid is not None: - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "authentication_key") @property @pulumi.getter - def description(self) -> str: + @_utilities.deprecated("""use router attribute instead; gateway is no longer a part of the supported backend""") + def gateway(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointGatewayResult']: """ - Service token description + **Deprecated** `gateway` Use `router` attribute instead """ - return pulumi.get(self, "description") + return pulumi.get(self, "gateway") @property @pulumi.getter - def href(self) -> str: + def interface(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointInterfaceResult']: """ - An absolute URL that is the subject of the link's context + Virtual device interface """ - return pulumi.get(self, "href") + return pulumi.get(self, "interface") @property - @pulumi.getter - def type(self) -> Optional[str]: + @pulumi.getter(name="linkProtocol") + def link_protocol(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointLinkProtocolResult']: """ - Token type - VC_TOKEN + Connection link protocol """ - return pulumi.get(self, "type") + return pulumi.get(self, "link_protocol") @property @pulumi.getter - def uuid(self) -> Optional[str]: + def network(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointNetworkResult']: """ - Equinix-assigned service token identifier + network access point information """ - return pulumi.get(self, "uuid") - + return pulumi.get(self, "network") -@pulumi.output_type -class GetConnectionsFilterResult(dict): - def __init__(__self__, *, - operator: str, - property: str, - values: Sequence[str], - group: Optional[str] = None): + @property + @pulumi.getter(name="peeringType") + def peering_type(self) -> Optional[str]: """ - :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] - :param str property: Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] - :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search - :param str group: Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. + Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL """ - pulumi.set(__self__, "operator", operator) - pulumi.set(__self__, "property", property) - pulumi.set(__self__, "values", values) - if group is not None: - pulumi.set(__self__, "group", group) + return pulumi.get(self, "peering_type") @property @pulumi.getter - def operator(self) -> str: + def port(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointPortResult']: """ - Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + Port access point information """ - return pulumi.get(self, "operator") + return pulumi.get(self, "port") @property @pulumi.getter - def values(self) -> Sequence[str]: + def profile(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointProfileResult']: """ - The values that you want to apply the property+operator combination to in order to filter your data search + Service Profile """ - return pulumi.get(self, "values") + return pulumi.get(self, "profile") @property @pulumi.getter - def group(self) -> Optional[str]: + def role(self) -> Optional[str]: """ - Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. + Network role """ - return pulumi.get(self, "group") + return pulumi.get(self, "role") @property @pulumi.getter - def property(self) -> str: + def router(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointRouterResult']: """ - Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid *] + Cloud Router access point information that replaces `gateway` """ - return pulumi.get(self, "property") - + return pulumi.get(self, "router") -@pulumi.output_type -class GetConnectionsPaginationResult(dict): - def __init__(__self__, *, - limit: Optional[int] = None, - offset: Optional[int] = None): + @property + @pulumi.getter(name="sellerRegion") + def seller_region(self) -> Optional[str]: """ - :param int limit: Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 - :param int offset: The page offset for the pagination request. Index of the first element. Default is 0. + Access point seller region """ - if limit is not None: - pulumi.set(__self__, "limit", limit) - if offset is not None: - pulumi.set(__self__, "offset", offset) + return pulumi.get(self, "seller_region") @property @pulumi.getter - def limit(self) -> Optional[int]: + def type(self) -> Optional[str]: """ - Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 + Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK, METAL_NETWORK """ - return pulumi.get(self, "limit") + return pulumi.get(self, "type") @property - @pulumi.getter - def offset(self) -> Optional[int]: + @pulumi.getter(name="virtualDevice") + def virtual_device(self) -> Optional['outputs.GetConnectionsDataZSideAccessPointVirtualDeviceResult']: """ - The page offset for the pagination request. Index of the first element. Default is 0. + Virtual device """ - return pulumi.get(self, "offset") + return pulumi.get(self, "virtual_device") @pulumi.output_type -class GetConnectionsSortResult(dict): +class GetConnectionsDataZSideAccessPointAccountResult(dict): def __init__(__self__, *, - direction: Optional[str] = None, - property: Optional[str] = None): + account_name: str, + account_number: int, + global_cust_id: str, + global_org_id: str, + global_organization_name: str, + org_id: int, + organization_name: str, + ucm_id: str): """ - :param str direction: The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC - :param str property: The property name to use in sorting. One of [/name /direction /aSide/accessPoint/name /aSide/accessPoint/type /aSide/accessPoint/account/accountName /aSide/accessPoint/location/metroName /aSide/accessPoint/location/metroCode /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/name /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/account/accountName /zSide/accessPoint/location/metroName /zSide/accessPoint/location/metroCode /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/authenticationKey /bandwidth /geoScope /uuid /changeLog/createdDateTime /changeLog/updatedDateTime /operation/equinixStatus /operation/providerStatus /redundancy/priority]. Defaults to /changeLog/updatedDateTime + :param str account_name: Legal name of the accountholder. + :param int account_number: Equinix-assigned account number. + :param str global_cust_id: Equinix-assigned ID of the subscriber's parent organization. + :param str global_org_id: Equinix-assigned ID of the subscriber's parent organization. + :param str global_organization_name: Equinix-assigned name of the subscriber's parent organization. + :param int org_id: Equinix-assigned ID of the subscriber's organization. + :param str organization_name: Equinix-assigned name of the subscriber's organization. + :param str ucm_id: Enterprise datastore id """ - if direction is not None: - pulumi.set(__self__, "direction", direction) - if property is not None: - pulumi.set(__self__, "property", property) + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "account_number", account_number) + pulumi.set(__self__, "global_cust_id", global_cust_id) + pulumi.set(__self__, "global_org_id", global_org_id) + pulumi.set(__self__, "global_organization_name", global_organization_name) + pulumi.set(__self__, "org_id", org_id) + pulumi.set(__self__, "organization_name", organization_name) + pulumi.set(__self__, "ucm_id", ucm_id) @property - @pulumi.getter - def direction(self) -> Optional[str]: + @pulumi.getter(name="accountName") + def account_name(self) -> str: """ - The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + Legal name of the accountholder. """ - return pulumi.get(self, "direction") + return pulumi.get(self, "account_name") @property - @pulumi.getter - def property(self) -> Optional[str]: + @pulumi.getter(name="accountNumber") + def account_number(self) -> int: """ - The property name to use in sorting. One of [/name /direction /aSide/accessPoint/name /aSide/accessPoint/type /aSide/accessPoint/account/accountName /aSide/accessPoint/location/metroName /aSide/accessPoint/location/metroCode /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/name /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/account/accountName /zSide/accessPoint/location/metroName /zSide/accessPoint/location/metroCode /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/authenticationKey /bandwidth /geoScope /uuid /changeLog/createdDateTime /changeLog/updatedDateTime /operation/equinixStatus /operation/providerStatus /redundancy/priority]. Defaults to /changeLog/updatedDateTime + Equinix-assigned account number. """ - return pulumi.get(self, "property") - + return pulumi.get(self, "account_number") -@pulumi.output_type -class GetMarketplaceSubscriptionEntitlementResult(dict): - def __init__(__self__, *, - assets: Sequence['outputs.GetMarketplaceSubscriptionEntitlementAssetResult'], - quantity_available: int, - quantity_consumed: int, - quantity_entitled: int, - uuid: str): + @property + @pulumi.getter(name="globalCustId") + def global_cust_id(self) -> str: """ - :param Sequence['GetMarketplaceSubscriptionEntitlementAssetArgs'] assets: Asset information - :param int quantity_available: Available Quantity - :param int quantity_consumed: Consumed Quantity - :param int quantity_entitled: Entitled Quantity - :param str uuid: Subscription Entitlement Id + Equinix-assigned ID of the subscriber's parent organization. """ - pulumi.set(__self__, "assets", assets) - pulumi.set(__self__, "quantity_available", quantity_available) - pulumi.set(__self__, "quantity_consumed", quantity_consumed) - pulumi.set(__self__, "quantity_entitled", quantity_entitled) - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "global_cust_id") @property - @pulumi.getter - def assets(self) -> Sequence['outputs.GetMarketplaceSubscriptionEntitlementAssetResult']: + @pulumi.getter(name="globalOrgId") + def global_org_id(self) -> str: """ - Asset information + Equinix-assigned ID of the subscriber's parent organization. """ - return pulumi.get(self, "assets") + return pulumi.get(self, "global_org_id") @property - @pulumi.getter(name="quantityAvailable") - def quantity_available(self) -> int: + @pulumi.getter(name="globalOrganizationName") + def global_organization_name(self) -> str: """ - Available Quantity + Equinix-assigned name of the subscriber's parent organization. """ - return pulumi.get(self, "quantity_available") + return pulumi.get(self, "global_organization_name") @property - @pulumi.getter(name="quantityConsumed") - def quantity_consumed(self) -> int: + @pulumi.getter(name="orgId") + def org_id(self) -> int: """ - Consumed Quantity + Equinix-assigned ID of the subscriber's organization. """ - return pulumi.get(self, "quantity_consumed") + return pulumi.get(self, "org_id") @property - @pulumi.getter(name="quantityEntitled") - def quantity_entitled(self) -> int: + @pulumi.getter(name="organizationName") + def organization_name(self) -> str: """ - Entitled Quantity + Equinix-assigned name of the subscriber's organization. """ - return pulumi.get(self, "quantity_entitled") + return pulumi.get(self, "organization_name") @property - @pulumi.getter - def uuid(self) -> str: + @pulumi.getter(name="ucmId") + def ucm_id(self) -> str: """ - Subscription Entitlement Id + Enterprise datastore id """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "ucm_id") @pulumi.output_type -class GetMarketplaceSubscriptionEntitlementAssetResult(dict): +class GetConnectionsDataZSideAccessPointGatewayResult(dict): def __init__(__self__, *, - packages: Sequence['outputs.GetMarketplaceSubscriptionEntitlementAssetPackageResult'], - type: str): + href: str, + uuid: Optional[str] = None): """ - :param Sequence['GetMarketplaceSubscriptionEntitlementAssetPackageArgs'] packages: Fabric Cloud Router Package Type - :param str type: Defines the FCR type like; XF_ROUTER + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned virtual gateway identifier """ - pulumi.set(__self__, "packages", packages) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "href", href) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def packages(self) -> Sequence['outputs.GetMarketplaceSubscriptionEntitlementAssetPackageResult']: + def href(self) -> str: """ - Fabric Cloud Router Package Type + Unique Resource Identifier """ - return pulumi.get(self, "packages") + return pulumi.get(self, "href") @property @pulumi.getter - def type(self) -> str: + def uuid(self) -> Optional[str]: """ - Defines the FCR type like; XF_ROUTER + Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "type") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetMarketplaceSubscriptionEntitlementAssetPackageResult(dict): +class GetConnectionsDataZSideAccessPointInterfaceResult(dict): def __init__(__self__, *, - code: str): + id: int, + type: Optional[str] = None, + uuid: Optional[str] = None): """ - :param str code: Cloud Router package code + :param int id: id + :param str type: Interface type + :param str uuid: Equinix-assigned interface identifier """ - pulumi.set(__self__, "code", code) + pulumi.set(__self__, "id", id) + if type is not None: + pulumi.set(__self__, "type", type) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def code(self) -> str: + def id(self) -> int: """ - Cloud Router package code + id """ - return pulumi.get(self, "code") - + return pulumi.get(self, "id") -@pulumi.output_type -class GetMarketplaceSubscriptionTrialResult(dict): - def __init__(__self__, *, - enabled: bool): + @property + @pulumi.getter + def type(self) -> Optional[str]: """ - :param bool enabled: Marketplace Subscription Trial Enabled + Interface type """ - pulumi.set(__self__, "enabled", enabled) + return pulumi.get(self, "type") @property @pulumi.getter - def enabled(self) -> bool: + def uuid(self) -> Optional[str]: """ - Marketplace Subscription Trial Enabled + Equinix-assigned interface identifier """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetMetroConnectedMetroResult(dict): +class GetConnectionsDataZSideAccessPointLinkProtocolResult(dict): def __init__(__self__, *, - avg_latency: float, - code: str, - href: str, - remote_vc_bandwidth_max: int): - pulumi.set(__self__, "avg_latency", avg_latency) - pulumi.set(__self__, "code", code) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "remote_vc_bandwidth_max", remote_vc_bandwidth_max) + vlan_c_tag: int, + vlan_s_tag: int, + vlan_tag: int, + type: Optional[str] = None): + """ + :param int vlan_c_tag: Vlan Customer Tag information, vlanCTag value specified for QINQ connections + :param int vlan_s_tag: Vlan Provider Tag information, vlanSTag value specified for QINQ connections + :param int vlan_tag: Vlan Tag information, vlanTag value specified for DOT1Q connections + :param str type: Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + """ + pulumi.set(__self__, "vlan_c_tag", vlan_c_tag) + pulumi.set(__self__, "vlan_s_tag", vlan_s_tag) + pulumi.set(__self__, "vlan_tag", vlan_tag) + if type is not None: + pulumi.set(__self__, "type", type) @property - @pulumi.getter(name="avgLatency") - def avg_latency(self) -> float: - return pulumi.get(self, "avg_latency") + @pulumi.getter(name="vlanCTag") + def vlan_c_tag(self) -> int: + """ + Vlan Customer Tag information, vlanCTag value specified for QINQ connections + """ + return pulumi.get(self, "vlan_c_tag") @property - @pulumi.getter - def code(self) -> str: - return pulumi.get(self, "code") + @pulumi.getter(name="vlanSTag") + def vlan_s_tag(self) -> int: + """ + Vlan Provider Tag information, vlanSTag value specified for QINQ connections + """ + return pulumi.get(self, "vlan_s_tag") @property - @pulumi.getter - def href(self) -> str: - return pulumi.get(self, "href") + @pulumi.getter(name="vlanTag") + def vlan_tag(self) -> int: + """ + Vlan Tag information, vlanTag value specified for DOT1Q connections + """ + return pulumi.get(self, "vlan_tag") @property - @pulumi.getter(name="remoteVcBandwidthMax") - def remote_vc_bandwidth_max(self) -> int: - return pulumi.get(self, "remote_vc_bandwidth_max") + @pulumi.getter + def type(self) -> Optional[str]: + """ + Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN + """ + return pulumi.get(self, "type") @pulumi.output_type -class GetMetroGeoCoordinatesResult(dict): +class GetConnectionsDataZSideAccessPointLocationResult(dict): def __init__(__self__, *, - latitude: float, - longitude: float): + ibx: str, + metro_code: str, + metro_name: str, + region: str): """ - :param float latitude: Latitude of the Metro - :param float longitude: Longitude of the Metro + :param str ibx: IBX Code + :param str metro_code: Access point metro code + :param str metro_name: Access point metro name + :param str region: Access point region """ - pulumi.set(__self__, "latitude", latitude) - pulumi.set(__self__, "longitude", longitude) + pulumi.set(__self__, "ibx", ibx) + pulumi.set(__self__, "metro_code", metro_code) + pulumi.set(__self__, "metro_name", metro_name) + pulumi.set(__self__, "region", region) @property @pulumi.getter - def latitude(self) -> float: + def ibx(self) -> str: """ - Latitude of the Metro + IBX Code """ - return pulumi.get(self, "latitude") + return pulumi.get(self, "ibx") + + @property + @pulumi.getter(name="metroCode") + def metro_code(self) -> str: + """ + Access point metro code + """ + return pulumi.get(self, "metro_code") + + @property + @pulumi.getter(name="metroName") + def metro_name(self) -> str: + """ + Access point metro name + """ + return pulumi.get(self, "metro_name") @property @pulumi.getter - def longitude(self) -> float: + def region(self) -> str: """ - Longitude of the Metro + Access point region """ - return pulumi.get(self, "longitude") + return pulumi.get(self, "region") @pulumi.output_type -class GetMetrosDataResult(dict): +class GetConnectionsDataZSideAccessPointNetworkResult(dict): def __init__(__self__, *, - code: str, - connected_metros: Sequence['outputs.GetMetrosDataConnectedMetroResult'], - equinix_asn: int, - geo_coordinates: 'outputs.GetMetrosDataGeoCoordinatesResult', - geo_scopes: Sequence[str], href: str, - local_vc_bandwidth_max: int, - name: str, - region: str, - type: str): + uuid: str): """ - :param str code: Code assigned to an Equinix IBX data center in a specified metropolitan area - :param Sequence['GetMetrosDataConnectedMetroArgs'] connected_metros: Arrays of objects containing latency data for the specified metro - :param int equinix_asn: Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. - :param 'GetMetrosDataGeoCoordinatesArgs' geo_coordinates: Geographic location data of Fabric Metro - :param Sequence[str] geo_scopes: List of supported geographic boundaries of a Fabric Metro. Example values: CANADA, CONUS. - :param str href: The canonical URL at which the resource resides - :param int local_vc_bandwidth_max: This field holds Max Connection speed within the metro. - :param str name: Name of the region in which the data center is located - :param str region: Board geographical area in which the data center is located - :param str type: Indicator of a fabric metro + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned Network identifier """ - pulumi.set(__self__, "code", code) - pulumi.set(__self__, "connected_metros", connected_metros) - pulumi.set(__self__, "equinix_asn", equinix_asn) - pulumi.set(__self__, "geo_coordinates", geo_coordinates) - pulumi.set(__self__, "geo_scopes", geo_scopes) pulumi.set(__self__, "href", href) - pulumi.set(__self__, "local_vc_bandwidth_max", local_vc_bandwidth_max) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "region", region) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def code(self) -> str: + def href(self) -> str: """ - Code assigned to an Equinix IBX data center in a specified metropolitan area + Unique Resource Identifier """ - return pulumi.get(self, "code") + return pulumi.get(self, "href") @property - @pulumi.getter(name="connectedMetros") - def connected_metros(self) -> Sequence['outputs.GetMetrosDataConnectedMetroResult']: + @pulumi.getter + def uuid(self) -> str: """ - Arrays of objects containing latency data for the specified metro + Equinix-assigned Network identifier """ - return pulumi.get(self, "connected_metros") + return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="equinixAsn") - def equinix_asn(self) -> int: + +@pulumi.output_type +class GetConnectionsDataZSideAccessPointPortResult(dict): + def __init__(__self__, *, + href: str, + name: str, + redundancies: Sequence['outputs.GetConnectionsDataZSideAccessPointPortRedundancyResult'], + uuid: str): """ - Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. + :param str href: Unique Resource Identifier + :param str name: Port name + :param Sequence['GetConnectionsDataZSideAccessPointPortRedundancyArgs'] redundancies: Redundancy Information + :param str uuid: Equinix-assigned Port identifier """ - return pulumi.get(self, "equinix_asn") + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "redundancies", redundancies) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="geoCoordinates") - def geo_coordinates(self) -> 'outputs.GetMetrosDataGeoCoordinatesResult': + @pulumi.getter + def href(self) -> str: """ - Geographic location data of Fabric Metro + Unique Resource Identifier """ - return pulumi.get(self, "geo_coordinates") + return pulumi.get(self, "href") @property - @pulumi.getter(name="geoScopes") - def geo_scopes(self) -> Sequence[str]: + @pulumi.getter + def name(self) -> str: """ - List of supported geographic boundaries of a Fabric Metro. Example values: CANADA, CONUS. + Port name """ - return pulumi.get(self, "geo_scopes") + return pulumi.get(self, "name") @property @pulumi.getter - def href(self) -> str: + def redundancies(self) -> Sequence['outputs.GetConnectionsDataZSideAccessPointPortRedundancyResult']: """ - The canonical URL at which the resource resides + Redundancy Information """ - return pulumi.get(self, "href") + return pulumi.get(self, "redundancies") @property - @pulumi.getter(name="localVcBandwidthMax") - def local_vc_bandwidth_max(self) -> int: + @pulumi.getter + def uuid(self) -> str: """ - This field holds Max Connection speed within the metro. + Equinix-assigned Port identifier """ - return pulumi.get(self, "local_vc_bandwidth_max") + return pulumi.get(self, "uuid") + + +@pulumi.output_type +class GetConnectionsDataZSideAccessPointPortRedundancyResult(dict): + def __init__(__self__, *, + enabled: bool, + group: str, + priority: str): + """ + :param bool enabled: Access point redundancy + :param str group: Port redundancy group + :param str priority: Priority type-Primary or Secondary + """ + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "priority", priority) @property @pulumi.getter - def name(self) -> str: + def enabled(self) -> bool: """ - Name of the region in which the data center is located + Access point redundancy """ - return pulumi.get(self, "name") + return pulumi.get(self, "enabled") @property @pulumi.getter - def region(self) -> str: + def group(self) -> str: """ - Board geographical area in which the data center is located + Port redundancy group """ - return pulumi.get(self, "region") + return pulumi.get(self, "group") @property @pulumi.getter - def type(self) -> str: + def priority(self) -> str: """ - Indicator of a fabric metro + Priority type-Primary or Secondary """ - return pulumi.get(self, "type") + return pulumi.get(self, "priority") @pulumi.output_type -class GetMetrosDataConnectedMetroResult(dict): +class GetConnectionsDataZSideAccessPointProfileResult(dict): def __init__(__self__, *, - avg_latency: float, - code: str, + access_point_type_configs: Sequence['outputs.GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfigResult'], + description: str, href: str, - remote_vc_bandwidth_max: int): - pulumi.set(__self__, "avg_latency", avg_latency) - pulumi.set(__self__, "code", code) + name: str, + type: str, + uuid: str): + """ + :param Sequence['GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfigArgs'] access_point_type_configs: Access point config information + :param str description: User-provided service description + :param str href: Service Profile URI response attribute + :param str name: Customer-assigned service profile name + :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + :param str uuid: Equinix assigned service profile identifier + """ + pulumi.set(__self__, "access_point_type_configs", access_point_type_configs) + pulumi.set(__self__, "description", description) pulumi.set(__self__, "href", href) - pulumi.set(__self__, "remote_vc_bandwidth_max", remote_vc_bandwidth_max) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="avgLatency") - def avg_latency(self) -> float: - return pulumi.get(self, "avg_latency") + @pulumi.getter(name="accessPointTypeConfigs") + def access_point_type_configs(self) -> Sequence['outputs.GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfigResult']: + """ + Access point config information + """ + return pulumi.get(self, "access_point_type_configs") @property @pulumi.getter - def code(self) -> str: - return pulumi.get(self, "code") + def description(self) -> str: + """ + User-provided service description + """ + return pulumi.get(self, "description") @property @pulumi.getter def href(self) -> str: + """ + Service Profile URI response attribute + """ return pulumi.get(self, "href") @property - @pulumi.getter(name="remoteVcBandwidthMax") - def remote_vc_bandwidth_max(self) -> int: - return pulumi.get(self, "remote_vc_bandwidth_max") - - -@pulumi.output_type -class GetMetrosDataGeoCoordinatesResult(dict): - def __init__(__self__, *, - latitude: float, - longitude: float): + @pulumi.getter + def name(self) -> str: """ - :param float latitude: Latitude of the Metro - :param float longitude: Longitude of the Metro + Customer-assigned service profile name """ - pulumi.set(__self__, "latitude", latitude) - pulumi.set(__self__, "longitude", longitude) + return pulumi.get(self, "name") @property @pulumi.getter - def latitude(self) -> float: + def type(self) -> str: """ - Latitude of the Metro + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE """ - return pulumi.get(self, "latitude") + return pulumi.get(self, "type") @property @pulumi.getter - def longitude(self) -> float: + def uuid(self) -> str: """ - Longitude of the Metro + Equinix assigned service profile identifier """ - return pulumi.get(self, "longitude") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetMetrosPaginationResult(dict): +class GetConnectionsDataZSideAccessPointProfileAccessPointTypeConfigResult(dict): def __init__(__self__, *, - next: str, - previous: str, - total: int, - limit: Optional[int] = None, - offset: Optional[int] = None): - """ - :param str next: URL relative to the next item in the response. - :param str previous: URL relative to the previous item in the response. - :param int total: The total number of metro returned - :param int limit: Maximum number of search results returned per page. - :param int offset: Index of the first item returned in the response. + type: str, + uuid: str): """ - pulumi.set(__self__, "next", next) - pulumi.set(__self__, "previous", previous) - pulumi.set(__self__, "total", total) - if limit is not None: - pulumi.set(__self__, "limit", limit) - if offset is not None: - pulumi.set(__self__, "offset", offset) + :param str type: Type of access point type config - VD, COLO + :param str uuid: Equinix-assigned access point type config identifier + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def next(self) -> str: + def type(self) -> str: """ - URL relative to the next item in the response. + Type of access point type config - VD, COLO """ - return pulumi.get(self, "next") + return pulumi.get(self, "type") @property @pulumi.getter - def previous(self) -> str: + def uuid(self) -> str: """ - URL relative to the previous item in the response. + Equinix-assigned access point type config identifier """ - return pulumi.get(self, "previous") + return pulumi.get(self, "uuid") - @property - @pulumi.getter - def total(self) -> int: + +@pulumi.output_type +class GetConnectionsDataZSideAccessPointRouterResult(dict): + def __init__(__self__, *, + href: str, + uuid: Optional[str] = None): """ - The total number of metro returned + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "total") + pulumi.set(__self__, "href", href) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def limit(self) -> Optional[int]: + def href(self) -> str: """ - Maximum number of search results returned per page. + Unique Resource Identifier """ - return pulumi.get(self, "limit") + return pulumi.get(self, "href") @property @pulumi.getter - def offset(self) -> Optional[int]: + def uuid(self) -> Optional[str]: """ - Index of the first item returned in the response. + Equinix-assigned virtual gateway identifier """ - return pulumi.get(self, "offset") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetNetworkChangeResult(dict): +class GetConnectionsDataZSideAccessPointVirtualDeviceResult(dict): def __init__(__self__, *, href: str, - type: str, - uuid: str): + uuid: str, + name: Optional[str] = None, + type: Optional[str] = None): """ - :param str href: Absolute URL that returns the details of the given change. - Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 - :param str type: Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION - :param str uuid: Asset change request identifier. + :param str href: Unique Resource Identifier + :param str uuid: Equinix-assigned Virtual Device identifier + :param str name: Customer-assigned Virtual Device Name + :param str type: Virtual Device type """ pulumi.set(__self__, "href", href) - pulumi.set(__self__, "type", type) pulumi.set(__self__, "uuid", uuid) + if name is not None: + pulumi.set(__self__, "name", name) + if type is not None: + pulumi.set(__self__, "type", type) @property @pulumi.getter def href(self) -> str: """ - Absolute URL that returns the details of the given change. - Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + Unique Resource Identifier """ return pulumi.get(self, "href") @property @pulumi.getter - def type(self) -> str: + def uuid(self) -> str: """ - Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION + Equinix-assigned Virtual Device identifier """ - return pulumi.get(self, "type") + return pulumi.get(self, "uuid") @property @pulumi.getter - def uuid(self) -> str: + def name(self) -> Optional[str]: """ - Asset change request identifier. + Customer-assigned Virtual Device Name """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "name") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Virtual Device type + """ + return pulumi.get(self, "type") @pulumi.output_type -class GetNetworkChangeLogResult(dict): +class GetConnectionsDataZSideAdditionalInfoResult(dict): def __init__(__self__, *, - created_by: str, - created_by_email: str, - created_by_full_name: str, - created_date_time: str, - deleted_by: str, - deleted_by_email: str, - deleted_by_full_name: str, - deleted_date_time: str, - updated_by: str, - updated_by_email: str, - updated_by_full_name: str, - updated_date_time: str): + key: Optional[str] = None, + value: Optional[str] = None): """ - :param str created_by: Created by User Key - :param str created_by_email: Created by User Email Address - :param str created_by_full_name: Created by User Full Name - :param str created_date_time: Created by Date and Time - :param str deleted_by: Deleted by User Key - :param str deleted_by_email: Deleted by User Email Address - :param str deleted_by_full_name: Deleted by User Full Name - :param str deleted_date_time: Deleted by Date and Time - :param str updated_by: Updated by User Key - :param str updated_by_email: Updated by User Email Address - :param str updated_by_full_name: Updated by User Full Name - :param str updated_date_time: Updated by Date and Time + :param str key: Additional information key + :param str value: Additional information value """ - pulumi.set(__self__, "created_by", created_by) - pulumi.set(__self__, "created_by_email", created_by_email) - pulumi.set(__self__, "created_by_full_name", created_by_full_name) - pulumi.set(__self__, "created_date_time", created_date_time) - pulumi.set(__self__, "deleted_by", deleted_by) - pulumi.set(__self__, "deleted_by_email", deleted_by_email) - pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) - pulumi.set(__self__, "deleted_date_time", deleted_date_time) - pulumi.set(__self__, "updated_by", updated_by) - pulumi.set(__self__, "updated_by_email", updated_by_email) - pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) - pulumi.set(__self__, "updated_date_time", updated_date_time) + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="createdBy") - def created_by(self) -> str: + @pulumi.getter + def key(self) -> Optional[str]: """ - Created by User Key + Additional information key """ - return pulumi.get(self, "created_by") + return pulumi.get(self, "key") @property - @pulumi.getter(name="createdByEmail") - def created_by_email(self) -> str: + @pulumi.getter + def value(self) -> Optional[str]: """ - Created by User Email Address + Additional information value """ - return pulumi.get(self, "created_by_email") + return pulumi.get(self, "value") - @property - @pulumi.getter(name="createdByFullName") - def created_by_full_name(self) -> str: + +@pulumi.output_type +class GetConnectionsDataZSideServiceTokenResult(dict): + def __init__(__self__, *, + description: str, + href: str, + type: Optional[str] = None, + uuid: Optional[str] = None): """ - Created by User Full Name + :param str description: Service token description + :param str href: An absolute URL that is the subject of the link's context + :param str type: Token type - VC_TOKEN + :param str uuid: Equinix-assigned service token identifier """ - return pulumi.get(self, "created_by_full_name") + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "href", href) + if type is not None: + pulumi.set(__self__, "type", type) + if uuid is not None: + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="createdDateTime") - def created_date_time(self) -> str: + @pulumi.getter + def description(self) -> str: """ - Created by Date and Time + Service token description """ - return pulumi.get(self, "created_date_time") + return pulumi.get(self, "description") @property - @pulumi.getter(name="deletedBy") - def deleted_by(self) -> str: + @pulumi.getter + def href(self) -> str: """ - Deleted by User Key + An absolute URL that is the subject of the link's context """ - return pulumi.get(self, "deleted_by") + return pulumi.get(self, "href") @property - @pulumi.getter(name="deletedByEmail") - def deleted_by_email(self) -> str: + @pulumi.getter + def type(self) -> Optional[str]: """ - Deleted by User Email Address + Token type - VC_TOKEN """ - return pulumi.get(self, "deleted_by_email") + return pulumi.get(self, "type") @property - @pulumi.getter(name="deletedByFullName") - def deleted_by_full_name(self) -> str: + @pulumi.getter + def uuid(self) -> Optional[str]: """ - Deleted by User Full Name + Equinix-assigned service token identifier """ - return pulumi.get(self, "deleted_by_full_name") + return pulumi.get(self, "uuid") - @property - @pulumi.getter(name="deletedDateTime") - def deleted_date_time(self) -> str: + +@pulumi.output_type +class GetConnectionsFilterResult(dict): + def __init__(__self__, *, + operator: str, + property: str, + values: Sequence[str], + group: Optional[str] = None): """ - Deleted by Date and Time + :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + :param str property: Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] + :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search + :param str group: Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. """ - return pulumi.get(self, "deleted_date_time") + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "values", values) + if group is not None: + pulumi.set(__self__, "group", group) @property - @pulumi.getter(name="updatedBy") - def updated_by(self) -> str: + @pulumi.getter + def operator(self) -> str: """ - Updated by User Key + Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] """ - return pulumi.get(self, "updated_by") + return pulumi.get(self, "operator") @property - @pulumi.getter(name="updatedByEmail") - def updated_by_email(self) -> str: + @pulumi.getter + def values(self) -> Sequence[str]: """ - Updated by User Email Address + The values that you want to apply the property+operator combination to in order to filter your data search """ - return pulumi.get(self, "updated_by_email") + return pulumi.get(self, "values") @property - @pulumi.getter(name="updatedByFullName") - def updated_by_full_name(self) -> str: + @pulumi.getter + def group(self) -> Optional[str]: """ - Updated by User Full Name + Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. """ - return pulumi.get(self, "updated_by_full_name") + return pulumi.get(self, "group") @property - @pulumi.getter(name="updatedDateTime") - def updated_date_time(self) -> str: + @pulumi.getter + def property(self) -> str: """ - Updated by Date and Time + Possible field names to use on filters. One of [/isRemote /name /uuid /type /geoScope /account/orgId /aSide/accessPoint/account/accountName /aSide/accessPoint/account/accountNumber /aSide/accessPoint/router/uuid /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /aSide/accessPoint/linkProtocol/vlanTagMin /aSide/accessPoint/linkProtocol/vlanTagMax /aSide/accessPoint/location/metroCode /aSide/accessPoint/location/metroName /aSide/accessPoint/name /aSide/accessPoint/port/uuid /aSide/accessPoint/port/name /aSide/accessPoint/type /aSide/accessPoint/virtualDevice/name /aSide/accessPoint/virtualDevice/uuid /aSide/serviceToken/uuid /change/status /operation/equinixStatus /operation/providerStatus /project/projectId /redundancy/group /redundancy/priority /zSide/accessPoint/account/accountName /zSide/accessPoint/authenticationKey /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/linkProtocol/vlanTagMin /zSide/accessPoint/linkProtocol/vlanTagMax /zSide/accessPoint/location/metroCode /zSide/accessPoint/location/metroName /zSide/accessPoint/name /zSide/accessPoint/port/uuid /zSide/accessPoint/network/uuid /zSide/accessPoint/port/name /zSide/accessPoint/profile/uuid /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/virtualDevice/name /zSide/accessPoint/virtualDevice/uuid /zSide/serviceToken/uuid /zSide/internetAccess/uuid] """ - return pulumi.get(self, "updated_date_time") + return pulumi.get(self, "property") @pulumi.output_type -class GetNetworkLocationResult(dict): +class GetConnectionsPaginationResult(dict): def __init__(__self__, *, - ibx: str, - metro_code: str, - metro_name: str, - region: str): + limit: Optional[int] = None, + offset: Optional[int] = None): """ - :param str ibx: IBX Code - :param str metro_code: Access point metro code - :param str metro_name: Access point metro name - :param str region: Access point region + :param int limit: Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 + :param int offset: The page offset for the pagination request. Index of the first element. Default is 0. """ - pulumi.set(__self__, "ibx", ibx) - pulumi.set(__self__, "metro_code", metro_code) - pulumi.set(__self__, "metro_name", metro_name) - pulumi.set(__self__, "region", region) + if limit is not None: + pulumi.set(__self__, "limit", limit) + if offset is not None: + pulumi.set(__self__, "offset", offset) @property @pulumi.getter - def ibx(self) -> str: + def limit(self) -> Optional[int]: """ - IBX Code + Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 """ - return pulumi.get(self, "ibx") + return pulumi.get(self, "limit") @property - @pulumi.getter(name="metroCode") - def metro_code(self) -> str: + @pulumi.getter + def offset(self) -> Optional[int]: """ - Access point metro code + The page offset for the pagination request. Index of the first element. Default is 0. """ - return pulumi.get(self, "metro_code") + return pulumi.get(self, "offset") + + +@pulumi.output_type +class GetConnectionsSortResult(dict): + def __init__(__self__, *, + direction: Optional[str] = None, + property: Optional[str] = None): + """ + :param str direction: The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + :param str property: The property name to use in sorting. One of [/name /direction /aSide/accessPoint/name /aSide/accessPoint/type /aSide/accessPoint/account/accountName /aSide/accessPoint/location/metroName /aSide/accessPoint/location/metroCode /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/name /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/account/accountName /zSide/accessPoint/location/metroName /zSide/accessPoint/location/metroCode /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/authenticationKey /bandwidth /geoScope /uuid /changeLog/createdDateTime /changeLog/updatedDateTime /operation/equinixStatus /operation/providerStatus /redundancy/priority]. Defaults to /changeLog/updatedDateTime + """ + if direction is not None: + pulumi.set(__self__, "direction", direction) + if property is not None: + pulumi.set(__self__, "property", property) @property - @pulumi.getter(name="metroName") - def metro_name(self) -> str: + @pulumi.getter + def direction(self) -> Optional[str]: """ - Access point metro name + The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC """ - return pulumi.get(self, "metro_name") + return pulumi.get(self, "direction") @property @pulumi.getter - def region(self) -> str: + def property(self) -> Optional[str]: """ - Access point region + The property name to use in sorting. One of [/name /direction /aSide/accessPoint/name /aSide/accessPoint/type /aSide/accessPoint/account/accountName /aSide/accessPoint/location/metroName /aSide/accessPoint/location/metroCode /aSide/accessPoint/linkProtocol/vlanCTag /aSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/name /zSide/accessPoint/type /zSide/accessPoint/role /zSide/accessPoint/account/accountName /zSide/accessPoint/location/metroName /zSide/accessPoint/location/metroCode /zSide/accessPoint/linkProtocol/vlanCTag /zSide/accessPoint/linkProtocol/vlanSTag /zSide/accessPoint/authenticationKey /bandwidth /geoScope /uuid /changeLog/createdDateTime /changeLog/updatedDateTime /operation/equinixStatus /operation/providerStatus /redundancy/priority]. Defaults to /changeLog/updatedDateTime """ - return pulumi.get(self, "region") + return pulumi.get(self, "property") @pulumi.output_type -class GetNetworkNotificationResult(dict): +class GetMarketplaceSubscriptionEntitlementResult(dict): def __init__(__self__, *, - emails: Sequence[str], - type: str, - send_interval: Optional[str] = None): + assets: Sequence['outputs.GetMarketplaceSubscriptionEntitlementAssetResult'], + quantity_available: int, + quantity_consumed: int, + quantity_entitled: int, + uuid: str): """ - :param Sequence[str] emails: Array of contact emails - :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS - :param str send_interval: Send interval + :param Sequence['GetMarketplaceSubscriptionEntitlementAssetArgs'] assets: Asset information + :param int quantity_available: Available Quantity + :param int quantity_consumed: Consumed Quantity + :param int quantity_entitled: Entitled Quantity + :param str uuid: Subscription Entitlement Id """ - pulumi.set(__self__, "emails", emails) - pulumi.set(__self__, "type", type) - if send_interval is not None: - pulumi.set(__self__, "send_interval", send_interval) + pulumi.set(__self__, "assets", assets) + pulumi.set(__self__, "quantity_available", quantity_available) + pulumi.set(__self__, "quantity_consumed", quantity_consumed) + pulumi.set(__self__, "quantity_entitled", quantity_entitled) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def emails(self) -> Sequence[str]: + def assets(self) -> Sequence['outputs.GetMarketplaceSubscriptionEntitlementAssetResult']: """ - Array of contact emails + Asset information """ - return pulumi.get(self, "emails") + return pulumi.get(self, "assets") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="quantityAvailable") + def quantity_available(self) -> int: """ - Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + Available Quantity """ - return pulumi.get(self, "type") + return pulumi.get(self, "quantity_available") @property - @pulumi.getter(name="sendInterval") - def send_interval(self) -> Optional[str]: - """ - Send interval - """ - return pulumi.get(self, "send_interval") - - -@pulumi.output_type -class GetNetworkOperationResult(dict): - def __init__(__self__, *, - equinix_status: str): + @pulumi.getter(name="quantityConsumed") + def quantity_consumed(self) -> int: """ - :param str equinix_status: Progress towards provisioning a given asset. + Consumed Quantity """ - pulumi.set(__self__, "equinix_status", equinix_status) + return pulumi.get(self, "quantity_consumed") @property - @pulumi.getter(name="equinixStatus") - def equinix_status(self) -> str: - """ - Progress towards provisioning a given asset. - """ - return pulumi.get(self, "equinix_status") - - -@pulumi.output_type -class GetNetworkProjectResult(dict): - def __init__(__self__, *, - project_id: str): + @pulumi.getter(name="quantityEntitled") + def quantity_entitled(self) -> int: """ - :param str project_id: Customer project identifier + Entitled Quantity """ - pulumi.set(__self__, "project_id", project_id) + return pulumi.get(self, "quantity_entitled") @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: + @pulumi.getter + def uuid(self) -> str: """ - Customer project identifier + Subscription Entitlement Id """ - return pulumi.get(self, "project_id") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetNetworksDataResult(dict): +class GetMarketplaceSubscriptionEntitlementAssetResult(dict): def __init__(__self__, *, - change_logs: Sequence['outputs.GetNetworksDataChangeLogResult'], - changes: Sequence['outputs.GetNetworksDataChangeResult'], - connections_count: int, - href: str, - locations: Sequence['outputs.GetNetworksDataLocationResult'], - name: str, - notifications: Sequence['outputs.GetNetworksDataNotificationResult'], - operations: Sequence['outputs.GetNetworksDataOperationResult'], - projects: Sequence['outputs.GetNetworksDataProjectResult'], - scope: str, - state: str, - type: str, - uuid: str): + packages: Sequence['outputs.GetMarketplaceSubscriptionEntitlementAssetPackageResult'], + type: str): """ - :param Sequence['GetNetworksDataChangeLogArgs'] change_logs: A permanent record of asset creation, modification, or deletion - :param Sequence['GetNetworksDataChangeArgs'] changes: Information on asset change operation - :param int connections_count: Number of connections associated with this network - :param str href: Fabric Network URI information - :param Sequence['GetNetworksDataLocationArgs'] locations: Fabric Network location - :param str name: Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores - :param Sequence['GetNetworksDataNotificationArgs'] notifications: Preferences for notifications on Fabric Network configuration or status changes - :param Sequence['GetNetworksDataOperationArgs'] operations: Network operation information that is associated with this Fabric Network - :param Sequence['GetNetworksDataProjectArgs'] projects: Fabric Network project - :param str scope: Fabric Network scope. Valid values: [REGIONAL GLOBAL LOCAL]. Note: When scope is REGIONAL, the location.region field is required. - :param str state: Fabric Network overall state - :param str type: Supported Network types - EVPLAN, EPLAN, IPWAN, EVPTREE, EPTREE - :param str uuid: Equinix-assigned network identifier + :param Sequence['GetMarketplaceSubscriptionEntitlementAssetPackageArgs'] packages: Fabric Cloud Router Package Type + :param str type: Defines the FCR type like; XF_ROUTER """ - pulumi.set(__self__, "change_logs", change_logs) - pulumi.set(__self__, "changes", changes) - pulumi.set(__self__, "connections_count", connections_count) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "locations", locations) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "notifications", notifications) - pulumi.set(__self__, "operations", operations) - pulumi.set(__self__, "projects", projects) - pulumi.set(__self__, "scope", scope) - pulumi.set(__self__, "state", state) + pulumi.set(__self__, "packages", packages) pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="changeLogs") - def change_logs(self) -> Sequence['outputs.GetNetworksDataChangeLogResult']: + @pulumi.getter + def packages(self) -> Sequence['outputs.GetMarketplaceSubscriptionEntitlementAssetPackageResult']: """ - A permanent record of asset creation, modification, or deletion + Fabric Cloud Router Package Type """ - return pulumi.get(self, "change_logs") + return pulumi.get(self, "packages") @property @pulumi.getter - def changes(self) -> Sequence['outputs.GetNetworksDataChangeResult']: + def type(self) -> str: """ - Information on asset change operation + Defines the FCR type like; XF_ROUTER """ - return pulumi.get(self, "changes") + return pulumi.get(self, "type") - @property - @pulumi.getter(name="connectionsCount") - def connections_count(self) -> int: + +@pulumi.output_type +class GetMarketplaceSubscriptionEntitlementAssetPackageResult(dict): + def __init__(__self__, *, + code: str): """ - Number of connections associated with this network + :param str code: Cloud Router package code """ - return pulumi.get(self, "connections_count") + pulumi.set(__self__, "code", code) @property @pulumi.getter - def href(self) -> str: + def code(self) -> str: """ - Fabric Network URI information + Cloud Router package code """ - return pulumi.get(self, "href") + return pulumi.get(self, "code") - @property - @pulumi.getter - def locations(self) -> Sequence['outputs.GetNetworksDataLocationResult']: + +@pulumi.output_type +class GetMarketplaceSubscriptionTrialResult(dict): + def __init__(__self__, *, + enabled: bool): """ - Fabric Network location + :param bool enabled: Marketplace Subscription Trial Enabled """ - return pulumi.get(self, "locations") + pulumi.set(__self__, "enabled", enabled) @property @pulumi.getter - def name(self) -> str: + def enabled(self) -> bool: """ - Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores + Marketplace Subscription Trial Enabled """ - return pulumi.get(self, "name") + return pulumi.get(self, "enabled") - @property - @pulumi.getter - def notifications(self) -> Sequence['outputs.GetNetworksDataNotificationResult']: - """ - Preferences for notifications on Fabric Network configuration or status changes - """ - return pulumi.get(self, "notifications") + +@pulumi.output_type +class GetMetroConnectedMetroResult(dict): + def __init__(__self__, *, + avg_latency: float, + code: str, + href: str, + remote_vc_bandwidth_max: int): + pulumi.set(__self__, "avg_latency", avg_latency) + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "remote_vc_bandwidth_max", remote_vc_bandwidth_max) @property - @pulumi.getter - def operations(self) -> Sequence['outputs.GetNetworksDataOperationResult']: - """ - Network operation information that is associated with this Fabric Network - """ - return pulumi.get(self, "operations") + @pulumi.getter(name="avgLatency") + def avg_latency(self) -> float: + return pulumi.get(self, "avg_latency") @property @pulumi.getter - def projects(self) -> Sequence['outputs.GetNetworksDataProjectResult']: - """ - Fabric Network project - """ - return pulumi.get(self, "projects") + def code(self) -> str: + return pulumi.get(self, "code") @property @pulumi.getter - def scope(self) -> str: - """ - Fabric Network scope. Valid values: [REGIONAL GLOBAL LOCAL]. Note: When scope is REGIONAL, the location.region field is required. - """ - return pulumi.get(self, "scope") + def href(self) -> str: + return pulumi.get(self, "href") @property - @pulumi.getter - def state(self) -> str: + @pulumi.getter(name="remoteVcBandwidthMax") + def remote_vc_bandwidth_max(self) -> int: + return pulumi.get(self, "remote_vc_bandwidth_max") + + +@pulumi.output_type +class GetMetroGeoCoordinatesResult(dict): + def __init__(__self__, *, + latitude: float, + longitude: float): """ - Fabric Network overall state + :param float latitude: Latitude of the Metro + :param float longitude: Longitude of the Metro """ - return pulumi.get(self, "state") + pulumi.set(__self__, "latitude", latitude) + pulumi.set(__self__, "longitude", longitude) @property @pulumi.getter - def type(self) -> str: + def latitude(self) -> float: """ - Supported Network types - EVPLAN, EPLAN, IPWAN, EVPTREE, EPTREE + Latitude of the Metro """ - return pulumi.get(self, "type") + return pulumi.get(self, "latitude") @property @pulumi.getter - def uuid(self) -> str: + def longitude(self) -> float: """ - Equinix-assigned network identifier + Longitude of the Metro """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "longitude") @pulumi.output_type -class GetNetworksDataChangeResult(dict): +class GetMetrosDataResult(dict): def __init__(__self__, *, + code: str, + connected_metros: Sequence['outputs.GetMetrosDataConnectedMetroResult'], + country: str, + equinix_asn: int, + geo_coordinates: 'outputs.GetMetrosDataGeoCoordinatesResult', + geo_scopes: Sequence[str], href: str, - type: str, - uuid: str): + local_vc_bandwidth_max: int, + name: str, + region: str, + type: str): """ - :param str href: Absolute URL that returns the details of the given change. - Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 - :param str type: Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION - :param str uuid: Asset change request identifier. + :param str code: Code assigned to an Equinix IBX data center in a specified metropolitan area + :param Sequence['GetMetrosDataConnectedMetroArgs'] connected_metros: Arrays of objects containing latency data for the specified metro + :param str country: Country in which the data center is located + :param int equinix_asn: Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. + :param 'GetMetrosDataGeoCoordinatesArgs' geo_coordinates: Geographic location data of Fabric Metro + :param Sequence[str] geo_scopes: List of supported geographic boundaries of a Fabric Metro. Example values: CANADA, CONUS. + :param str href: The canonical URL at which the resource resides + :param int local_vc_bandwidth_max: This field holds Max Connection speed within the metro. + :param str name: Name of the region in which the data center is located + :param str region: Board geographical area in which the data center is located + :param str type: Indicator of a fabric metro """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "connected_metros", connected_metros) + pulumi.set(__self__, "country", country) + pulumi.set(__self__, "equinix_asn", equinix_asn) + pulumi.set(__self__, "geo_coordinates", geo_coordinates) + pulumi.set(__self__, "geo_scopes", geo_scopes) pulumi.set(__self__, "href", href) + pulumi.set(__self__, "local_vc_bandwidth_max", local_vc_bandwidth_max) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "region", region) pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def href(self) -> str: + def code(self) -> str: """ - Absolute URL that returns the details of the given change. - Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + Code assigned to an Equinix IBX data center in a specified metropolitan area """ - return pulumi.get(self, "href") + return pulumi.get(self, "code") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="connectedMetros") + def connected_metros(self) -> Sequence['outputs.GetMetrosDataConnectedMetroResult']: """ - Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION + Arrays of objects containing latency data for the specified metro """ - return pulumi.get(self, "type") + return pulumi.get(self, "connected_metros") @property @pulumi.getter - def uuid(self) -> str: + def country(self) -> str: """ - Asset change request identifier. - """ - return pulumi.get(self, "uuid") - - -@pulumi.output_type -class GetNetworksDataChangeLogResult(dict): - def __init__(__self__, *, - created_by: str, - created_by_email: str, - created_by_full_name: str, - created_date_time: str, - deleted_by: str, - deleted_by_email: str, - deleted_by_full_name: str, - deleted_date_time: str, - updated_by: str, - updated_by_email: str, - updated_by_full_name: str, - updated_date_time: str): - """ - :param str created_by: Created by User Key - :param str created_by_email: Created by User Email Address - :param str created_by_full_name: Created by User Full Name - :param str created_date_time: Created by Date and Time - :param str deleted_by: Deleted by User Key - :param str deleted_by_email: Deleted by User Email Address - :param str deleted_by_full_name: Deleted by User Full Name - :param str deleted_date_time: Deleted by Date and Time - :param str updated_by: Updated by User Key - :param str updated_by_email: Updated by User Email Address - :param str updated_by_full_name: Updated by User Full Name - :param str updated_date_time: Updated by Date and Time + Country in which the data center is located """ - pulumi.set(__self__, "created_by", created_by) - pulumi.set(__self__, "created_by_email", created_by_email) - pulumi.set(__self__, "created_by_full_name", created_by_full_name) - pulumi.set(__self__, "created_date_time", created_date_time) - pulumi.set(__self__, "deleted_by", deleted_by) - pulumi.set(__self__, "deleted_by_email", deleted_by_email) - pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) - pulumi.set(__self__, "deleted_date_time", deleted_date_time) - pulumi.set(__self__, "updated_by", updated_by) - pulumi.set(__self__, "updated_by_email", updated_by_email) - pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) - pulumi.set(__self__, "updated_date_time", updated_date_time) + return pulumi.get(self, "country") @property - @pulumi.getter(name="createdBy") - def created_by(self) -> str: + @pulumi.getter(name="equinixAsn") + def equinix_asn(self) -> int: """ - Created by User Key + Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. """ - return pulumi.get(self, "created_by") + return pulumi.get(self, "equinix_asn") @property - @pulumi.getter(name="createdByEmail") - def created_by_email(self) -> str: + @pulumi.getter(name="geoCoordinates") + def geo_coordinates(self) -> 'outputs.GetMetrosDataGeoCoordinatesResult': """ - Created by User Email Address + Geographic location data of Fabric Metro """ - return pulumi.get(self, "created_by_email") + return pulumi.get(self, "geo_coordinates") @property - @pulumi.getter(name="createdByFullName") - def created_by_full_name(self) -> str: + @pulumi.getter(name="geoScopes") + def geo_scopes(self) -> Sequence[str]: """ - Created by User Full Name + List of supported geographic boundaries of a Fabric Metro. Example values: CANADA, CONUS. """ - return pulumi.get(self, "created_by_full_name") + return pulumi.get(self, "geo_scopes") @property - @pulumi.getter(name="createdDateTime") - def created_date_time(self) -> str: + @pulumi.getter + def href(self) -> str: """ - Created by Date and Time + The canonical URL at which the resource resides """ - return pulumi.get(self, "created_date_time") + return pulumi.get(self, "href") @property - @pulumi.getter(name="deletedBy") - def deleted_by(self) -> str: + @pulumi.getter(name="localVcBandwidthMax") + def local_vc_bandwidth_max(self) -> int: """ - Deleted by User Key + This field holds Max Connection speed within the metro. """ - return pulumi.get(self, "deleted_by") + return pulumi.get(self, "local_vc_bandwidth_max") @property - @pulumi.getter(name="deletedByEmail") - def deleted_by_email(self) -> str: + @pulumi.getter + def name(self) -> str: """ - Deleted by User Email Address + Name of the region in which the data center is located """ - return pulumi.get(self, "deleted_by_email") + return pulumi.get(self, "name") @property - @pulumi.getter(name="deletedByFullName") - def deleted_by_full_name(self) -> str: + @pulumi.getter + def region(self) -> str: """ - Deleted by User Full Name + Board geographical area in which the data center is located """ - return pulumi.get(self, "deleted_by_full_name") + return pulumi.get(self, "region") @property - @pulumi.getter(name="deletedDateTime") - def deleted_date_time(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Deleted by Date and Time + Indicator of a fabric metro """ - return pulumi.get(self, "deleted_date_time") + return pulumi.get(self, "type") - @property - @pulumi.getter(name="updatedBy") - def updated_by(self) -> str: - """ - Updated by User Key - """ - return pulumi.get(self, "updated_by") + +@pulumi.output_type +class GetMetrosDataConnectedMetroResult(dict): + def __init__(__self__, *, + avg_latency: float, + code: str, + href: str, + remote_vc_bandwidth_max: int): + pulumi.set(__self__, "avg_latency", avg_latency) + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "remote_vc_bandwidth_max", remote_vc_bandwidth_max) @property - @pulumi.getter(name="updatedByEmail") - def updated_by_email(self) -> str: + @pulumi.getter(name="avgLatency") + def avg_latency(self) -> float: + return pulumi.get(self, "avg_latency") + + @property + @pulumi.getter + def code(self) -> str: + return pulumi.get(self, "code") + + @property + @pulumi.getter + def href(self) -> str: + return pulumi.get(self, "href") + + @property + @pulumi.getter(name="remoteVcBandwidthMax") + def remote_vc_bandwidth_max(self) -> int: + return pulumi.get(self, "remote_vc_bandwidth_max") + + +@pulumi.output_type +class GetMetrosDataGeoCoordinatesResult(dict): + def __init__(__self__, *, + latitude: float, + longitude: float): """ - Updated by User Email Address + :param float latitude: Latitude of the Metro + :param float longitude: Longitude of the Metro """ - return pulumi.get(self, "updated_by_email") + pulumi.set(__self__, "latitude", latitude) + pulumi.set(__self__, "longitude", longitude) @property - @pulumi.getter(name="updatedByFullName") - def updated_by_full_name(self) -> str: + @pulumi.getter + def latitude(self) -> float: """ - Updated by User Full Name + Latitude of the Metro """ - return pulumi.get(self, "updated_by_full_name") + return pulumi.get(self, "latitude") @property - @pulumi.getter(name="updatedDateTime") - def updated_date_time(self) -> str: + @pulumi.getter + def longitude(self) -> float: """ - Updated by Date and Time + Longitude of the Metro """ - return pulumi.get(self, "updated_date_time") + return pulumi.get(self, "longitude") @pulumi.output_type -class GetNetworksDataLocationResult(dict): +class GetMetrosPaginationResult(dict): def __init__(__self__, *, - ibx: str, - metro_code: str, - metro_name: str, - region: str): + next: str, + previous: str, + total: int, + limit: Optional[int] = None, + offset: Optional[int] = None): """ - :param str ibx: IBX Code - :param str metro_code: Access point metro code - :param str metro_name: Access point metro name - :param str region: Access point region + :param str next: URL relative to the next item in the response. + :param str previous: URL relative to the previous item in the response. + :param int total: The total number of metro returned + :param int limit: Maximum number of search results returned per page. + :param int offset: Index of the first item returned in the response. """ - pulumi.set(__self__, "ibx", ibx) - pulumi.set(__self__, "metro_code", metro_code) - pulumi.set(__self__, "metro_name", metro_name) - pulumi.set(__self__, "region", region) + pulumi.set(__self__, "next", next) + pulumi.set(__self__, "previous", previous) + pulumi.set(__self__, "total", total) + if limit is not None: + pulumi.set(__self__, "limit", limit) + if offset is not None: + pulumi.set(__self__, "offset", offset) @property @pulumi.getter - def ibx(self) -> str: + def next(self) -> str: """ - IBX Code + URL relative to the next item in the response. """ - return pulumi.get(self, "ibx") + return pulumi.get(self, "next") @property - @pulumi.getter(name="metroCode") - def metro_code(self) -> str: + @pulumi.getter + def previous(self) -> str: """ - Access point metro code + URL relative to the previous item in the response. """ - return pulumi.get(self, "metro_code") + return pulumi.get(self, "previous") @property - @pulumi.getter(name="metroName") - def metro_name(self) -> str: + @pulumi.getter + def total(self) -> int: """ - Access point metro name + The total number of metro returned """ - return pulumi.get(self, "metro_name") + return pulumi.get(self, "total") @property @pulumi.getter - def region(self) -> str: + def limit(self) -> Optional[int]: """ - Access point region + Maximum number of search results returned per page. """ - return pulumi.get(self, "region") + return pulumi.get(self, "limit") + + @property + @pulumi.getter + def offset(self) -> Optional[int]: + """ + Index of the first item returned in the response. + """ + return pulumi.get(self, "offset") @pulumi.output_type -class GetNetworksDataNotificationResult(dict): +class GetNetworkChangeResult(dict): def __init__(__self__, *, - emails: Sequence[str], + href: str, type: str, - send_interval: Optional[str] = None): + uuid: str): """ - :param Sequence[str] emails: Array of contact emails - :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS - :param str send_interval: Send interval + :param str href: Absolute URL that returns the details of the given change. + Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + :param str type: Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION + :param str uuid: Asset change request identifier. """ - pulumi.set(__self__, "emails", emails) + pulumi.set(__self__, "href", href) pulumi.set(__self__, "type", type) - if send_interval is not None: - pulumi.set(__self__, "send_interval", send_interval) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def emails(self) -> Sequence[str]: + def href(self) -> str: """ - Array of contact emails + Absolute URL that returns the details of the given change. + Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 """ - return pulumi.get(self, "emails") + return pulumi.get(self, "href") @property @pulumi.getter def type(self) -> str: """ - Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION """ return pulumi.get(self, "type") @property - @pulumi.getter(name="sendInterval") - def send_interval(self) -> Optional[str]: + @pulumi.getter + def uuid(self) -> str: """ - Send interval + Asset change request identifier. """ - return pulumi.get(self, "send_interval") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetNetworksDataOperationResult(dict): +class GetNetworkChangeLogResult(dict): def __init__(__self__, *, - equinix_status: str): + created_by: str, + created_by_email: str, + created_by_full_name: str, + created_date_time: str, + deleted_by: str, + deleted_by_email: str, + deleted_by_full_name: str, + deleted_date_time: str, + updated_by: str, + updated_by_email: str, + updated_by_full_name: str, + updated_date_time: str): """ - :param str equinix_status: Progress towards provisioning a given asset. + :param str created_by: Created by User Key + :param str created_by_email: Created by User Email Address + :param str created_by_full_name: Created by User Full Name + :param str created_date_time: Created by Date and Time + :param str deleted_by: Deleted by User Key + :param str deleted_by_email: Deleted by User Email Address + :param str deleted_by_full_name: Deleted by User Full Name + :param str deleted_date_time: Deleted by Date and Time + :param str updated_by: Updated by User Key + :param str updated_by_email: Updated by User Email Address + :param str updated_by_full_name: Updated by User Full Name + :param str updated_date_time: Updated by Date and Time """ - pulumi.set(__self__, "equinix_status", equinix_status) + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_email", created_by_email) + pulumi.set(__self__, "created_by_full_name", created_by_full_name) + pulumi.set(__self__, "created_date_time", created_date_time) + pulumi.set(__self__, "deleted_by", deleted_by) + pulumi.set(__self__, "deleted_by_email", deleted_by_email) + pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) + pulumi.set(__self__, "deleted_date_time", deleted_date_time) + pulumi.set(__self__, "updated_by", updated_by) + pulumi.set(__self__, "updated_by_email", updated_by_email) + pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) + pulumi.set(__self__, "updated_date_time", updated_date_time) @property - @pulumi.getter(name="equinixStatus") - def equinix_status(self) -> str: + @pulumi.getter(name="createdBy") + def created_by(self) -> str: """ - Progress towards provisioning a given asset. + Created by User Key """ - return pulumi.get(self, "equinix_status") - + return pulumi.get(self, "created_by") -@pulumi.output_type -class GetNetworksDataProjectResult(dict): - def __init__(__self__, *, - project_id: str): + @property + @pulumi.getter(name="createdByEmail") + def created_by_email(self) -> str: """ - :param str project_id: Customer project identifier + Created by User Email Address """ - pulumi.set(__self__, "project_id", project_id) + return pulumi.get(self, "created_by_email") @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: + @pulumi.getter(name="createdByFullName") + def created_by_full_name(self) -> str: """ - Customer project identifier + Created by User Full Name """ - return pulumi.get(self, "project_id") - + return pulumi.get(self, "created_by_full_name") -@pulumi.output_type -class GetNetworksFilterResult(dict): - def __init__(__self__, *, - operator: str, - property: str, - values: Sequence[str], - group: Optional[str] = None): + @property + @pulumi.getter(name="createdDateTime") + def created_date_time(self) -> str: """ - :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, ILIKE, NOT ILIKE, IN, NOT IN] - :param str property: Possible field names to use on filters. One of [/name /uuid /scope /type /operation/equinixStatus /location/region /project/projectId /account/globalCustId /account/orgId /deletedDate /_*] - :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search - :param str group: Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. + Created by Date and Time """ - pulumi.set(__self__, "operator", operator) - pulumi.set(__self__, "property", property) - pulumi.set(__self__, "values", values) - if group is not None: - pulumi.set(__self__, "group", group) + return pulumi.get(self, "created_date_time") @property - @pulumi.getter - def operator(self) -> str: + @pulumi.getter(name="deletedBy") + def deleted_by(self) -> str: """ - Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, ILIKE, NOT ILIKE, IN, NOT IN] + Deleted by User Key """ - return pulumi.get(self, "operator") + return pulumi.get(self, "deleted_by") @property - @pulumi.getter - def values(self) -> Sequence[str]: + @pulumi.getter(name="deletedByEmail") + def deleted_by_email(self) -> str: """ - The values that you want to apply the property+operator combination to in order to filter your data search + Deleted by User Email Address """ - return pulumi.get(self, "values") + return pulumi.get(self, "deleted_by_email") @property - @pulumi.getter - def group(self) -> Optional[str]: + @pulumi.getter(name="deletedByFullName") + def deleted_by_full_name(self) -> str: """ - Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. + Deleted by User Full Name """ - return pulumi.get(self, "group") + return pulumi.get(self, "deleted_by_full_name") @property - @pulumi.getter - def property(self) -> str: - """ - Possible field names to use on filters. One of [/name /uuid /scope /type /operation/equinixStatus /location/region /project/projectId /account/globalCustId /account/orgId /deletedDate /_*] - """ - return pulumi.get(self, "property") - - -@pulumi.output_type -class GetNetworksPaginationResult(dict): - def __init__(__self__, *, - limit: Optional[int] = None, - offset: Optional[int] = None): + @pulumi.getter(name="deletedDateTime") + def deleted_date_time(self) -> str: """ - :param int limit: Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 - :param int offset: The page offset for the pagination request. Index of the first element. Default is 0. + Deleted by Date and Time """ - if limit is not None: - pulumi.set(__self__, "limit", limit) - if offset is not None: - pulumi.set(__self__, "offset", offset) + return pulumi.get(self, "deleted_date_time") @property - @pulumi.getter - def limit(self) -> Optional[int]: + @pulumi.getter(name="updatedBy") + def updated_by(self) -> str: """ - Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 + Updated by User Key """ - return pulumi.get(self, "limit") + return pulumi.get(self, "updated_by") @property - @pulumi.getter - def offset(self) -> Optional[int]: - """ - The page offset for the pagination request. Index of the first element. Default is 0. - """ - return pulumi.get(self, "offset") - - -@pulumi.output_type -class GetNetworksSortResult(dict): - def __init__(__self__, *, - direction: Optional[str] = None, - property: Optional[str] = None): + @pulumi.getter(name="updatedByEmail") + def updated_by_email(self) -> str: """ - :param str direction: The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC - :param str property: The property name to use in sorting. One of [/name /uuid /scope /operation/equinixStatus /location/region /changeLog/createdDateTime /changeLog/updatedDateTime]. Defaults to /changeLog/updatedDateTime + Updated by User Email Address """ - if direction is not None: - pulumi.set(__self__, "direction", direction) - if property is not None: - pulumi.set(__self__, "property", property) + return pulumi.get(self, "updated_by_email") @property - @pulumi.getter - def direction(self) -> Optional[str]: + @pulumi.getter(name="updatedByFullName") + def updated_by_full_name(self) -> str: """ - The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + Updated by User Full Name """ - return pulumi.get(self, "direction") + return pulumi.get(self, "updated_by_full_name") @property - @pulumi.getter - def property(self) -> Optional[str]: + @pulumi.getter(name="updatedDateTime") + def updated_date_time(self) -> str: """ - The property name to use in sorting. One of [/name /uuid /scope /operation/equinixStatus /location/region /changeLog/createdDateTime /changeLog/updatedDateTime]. Defaults to /changeLog/updatedDateTime + Updated by Date and Time """ - return pulumi.get(self, "property") + return pulumi.get(self, "updated_date_time") @pulumi.output_type -class GetPortAccountResult(dict): +class GetNetworkLocationResult(dict): def __init__(__self__, *, - account_name: str, - account_number: int, - global_cust_id: str, - global_org_id: str, - global_organization_name: str, - org_id: int, - organization_name: str, - ucm_id: str): + ibx: str, + metro_code: str, + metro_name: str, + region: str): """ - :param str account_name: Legal name of the accountholder. - :param int account_number: Equinix-assigned account number. - :param str global_cust_id: Equinix-assigned ID of the subscriber's parent organization. - :param str global_org_id: Equinix-assigned ID of the subscriber's parent organization. - :param str global_organization_name: Equinix-assigned name of the subscriber's parent organization. - :param int org_id: Equinix-assigned ID of the subscriber's organization. - :param str organization_name: Equinix-assigned name of the subscriber's organization. - :param str ucm_id: Enterprise datastore id + :param str ibx: IBX Code + :param str metro_code: Access point metro code + :param str metro_name: Access point metro name + :param str region: Access point region """ - pulumi.set(__self__, "account_name", account_name) - pulumi.set(__self__, "account_number", account_number) - pulumi.set(__self__, "global_cust_id", global_cust_id) - pulumi.set(__self__, "global_org_id", global_org_id) - pulumi.set(__self__, "global_organization_name", global_organization_name) - pulumi.set(__self__, "org_id", org_id) - pulumi.set(__self__, "organization_name", organization_name) - pulumi.set(__self__, "ucm_id", ucm_id) + pulumi.set(__self__, "ibx", ibx) + pulumi.set(__self__, "metro_code", metro_code) + pulumi.set(__self__, "metro_name", metro_name) + pulumi.set(__self__, "region", region) @property - @pulumi.getter(name="accountName") - def account_name(self) -> str: + @pulumi.getter + def ibx(self) -> str: """ - Legal name of the accountholder. + IBX Code """ - return pulumi.get(self, "account_name") + return pulumi.get(self, "ibx") @property - @pulumi.getter(name="accountNumber") - def account_number(self) -> int: + @pulumi.getter(name="metroCode") + def metro_code(self) -> str: """ - Equinix-assigned account number. + Access point metro code """ - return pulumi.get(self, "account_number") + return pulumi.get(self, "metro_code") @property - @pulumi.getter(name="globalCustId") - def global_cust_id(self) -> str: + @pulumi.getter(name="metroName") + def metro_name(self) -> str: """ - Equinix-assigned ID of the subscriber's parent organization. + Access point metro name """ - return pulumi.get(self, "global_cust_id") + return pulumi.get(self, "metro_name") @property - @pulumi.getter(name="globalOrgId") - def global_org_id(self) -> str: + @pulumi.getter + def region(self) -> str: """ - Equinix-assigned ID of the subscriber's parent organization. + Access point region """ - return pulumi.get(self, "global_org_id") + return pulumi.get(self, "region") - @property - @pulumi.getter(name="globalOrganizationName") - def global_organization_name(self) -> str: + +@pulumi.output_type +class GetNetworkNotificationResult(dict): + def __init__(__self__, *, + emails: Sequence[str], + type: str, + send_interval: Optional[str] = None): """ - Equinix-assigned name of the subscriber's parent organization. + :param Sequence[str] emails: Array of contact emails + :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + :param str send_interval: Send interval """ - return pulumi.get(self, "global_organization_name") + pulumi.set(__self__, "emails", emails) + pulumi.set(__self__, "type", type) + if send_interval is not None: + pulumi.set(__self__, "send_interval", send_interval) @property - @pulumi.getter(name="orgId") - def org_id(self) -> int: + @pulumi.getter + def emails(self) -> Sequence[str]: """ - Equinix-assigned ID of the subscriber's organization. + Array of contact emails """ - return pulumi.get(self, "org_id") + return pulumi.get(self, "emails") @property - @pulumi.getter(name="organizationName") - def organization_name(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Equinix-assigned name of the subscriber's organization. + Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS """ - return pulumi.get(self, "organization_name") + return pulumi.get(self, "type") @property - @pulumi.getter(name="ucmId") - def ucm_id(self) -> str: + @pulumi.getter(name="sendInterval") + def send_interval(self) -> Optional[str]: """ - Enterprise datastore id + Send interval """ - return pulumi.get(self, "ucm_id") + return pulumi.get(self, "send_interval") @pulumi.output_type -class GetPortChangeLogResult(dict): +class GetNetworkOperationResult(dict): def __init__(__self__, *, - created_by: str, - created_by_email: str, - created_by_full_name: str, - created_date_time: str, - deleted_by: str, - deleted_by_email: str, - deleted_by_full_name: str, - deleted_date_time: str, - updated_by: str, - updated_by_email: str, - updated_by_full_name: str, - updated_date_time: str): + equinix_status: str): """ - :param str created_by: Created by User Key - :param str created_by_email: Created by User Email Address - :param str created_by_full_name: Created by User Full Name - :param str created_date_time: Created by Date and Time - :param str deleted_by: Deleted by User Key - :param str deleted_by_email: Deleted by User Email Address - :param str deleted_by_full_name: Deleted by User Full Name - :param str deleted_date_time: Deleted by Date and Time - :param str updated_by: Updated by User Key - :param str updated_by_email: Updated by User Email Address - :param str updated_by_full_name: Updated by User Full Name - :param str updated_date_time: Updated by Date and Time + :param str equinix_status: Progress towards provisioning a given asset. """ - pulumi.set(__self__, "created_by", created_by) - pulumi.set(__self__, "created_by_email", created_by_email) - pulumi.set(__self__, "created_by_full_name", created_by_full_name) - pulumi.set(__self__, "created_date_time", created_date_time) - pulumi.set(__self__, "deleted_by", deleted_by) - pulumi.set(__self__, "deleted_by_email", deleted_by_email) - pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) - pulumi.set(__self__, "deleted_date_time", deleted_date_time) - pulumi.set(__self__, "updated_by", updated_by) - pulumi.set(__self__, "updated_by_email", updated_by_email) - pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) - pulumi.set(__self__, "updated_date_time", updated_date_time) + pulumi.set(__self__, "equinix_status", equinix_status) @property - @pulumi.getter(name="createdBy") - def created_by(self) -> str: + @pulumi.getter(name="equinixStatus") + def equinix_status(self) -> str: """ - Created by User Key + Progress towards provisioning a given asset. """ - return pulumi.get(self, "created_by") + return pulumi.get(self, "equinix_status") - @property - @pulumi.getter(name="createdByEmail") - def created_by_email(self) -> str: + +@pulumi.output_type +class GetNetworkProjectResult(dict): + def __init__(__self__, *, + project_id: str): """ - Created by User Email Address + :param str project_id: Customer project identifier """ - return pulumi.get(self, "created_by_email") + pulumi.set(__self__, "project_id", project_id) @property - @pulumi.getter(name="createdByFullName") - def created_by_full_name(self) -> str: - """ - Created by User Full Name - """ - return pulumi.get(self, "created_by_full_name") - - @property - @pulumi.getter(name="createdDateTime") - def created_date_time(self) -> str: - """ - Created by Date and Time - """ - return pulumi.get(self, "created_date_time") - - @property - @pulumi.getter(name="deletedBy") - def deleted_by(self) -> str: + @pulumi.getter(name="projectId") + def project_id(self) -> str: """ - Deleted by User Key + Customer project identifier """ - return pulumi.get(self, "deleted_by") + return pulumi.get(self, "project_id") - @property - @pulumi.getter(name="deletedByEmail") - def deleted_by_email(self) -> str: - """ - Deleted by User Email Address - """ - return pulumi.get(self, "deleted_by_email") - @property - @pulumi.getter(name="deletedByFullName") - def deleted_by_full_name(self) -> str: +@pulumi.output_type +class GetNetworksDataResult(dict): + def __init__(__self__, *, + change_logs: Sequence['outputs.GetNetworksDataChangeLogResult'], + changes: Sequence['outputs.GetNetworksDataChangeResult'], + connections_count: int, + href: str, + locations: Sequence['outputs.GetNetworksDataLocationResult'], + name: str, + notifications: Sequence['outputs.GetNetworksDataNotificationResult'], + operations: Sequence['outputs.GetNetworksDataOperationResult'], + projects: Sequence['outputs.GetNetworksDataProjectResult'], + scope: str, + state: str, + type: str, + uuid: str): """ - Deleted by User Full Name + :param Sequence['GetNetworksDataChangeLogArgs'] change_logs: A permanent record of asset creation, modification, or deletion + :param Sequence['GetNetworksDataChangeArgs'] changes: Information on asset change operation + :param int connections_count: Number of connections associated with this network + :param str href: Fabric Network URI information + :param Sequence['GetNetworksDataLocationArgs'] locations: Fabric Network location + :param str name: Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores + :param Sequence['GetNetworksDataNotificationArgs'] notifications: Preferences for notifications on Fabric Network configuration or status changes + :param Sequence['GetNetworksDataOperationArgs'] operations: Network operation information that is associated with this Fabric Network + :param Sequence['GetNetworksDataProjectArgs'] projects: Fabric Network project + :param str scope: Fabric Network scope. Valid values: [REGIONAL GLOBAL LOCAL]. Note: When scope is REGIONAL, the location.region field is required. + :param str state: Fabric Network overall state + :param str type: Supported Network types - EVPLAN, EPLAN, IPWAN, EVPTREE, EPTREE + :param str uuid: Equinix-assigned network identifier """ - return pulumi.get(self, "deleted_by_full_name") + pulumi.set(__self__, "change_logs", change_logs) + pulumi.set(__self__, "changes", changes) + pulumi.set(__self__, "connections_count", connections_count) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "locations", locations) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "notifications", notifications) + pulumi.set(__self__, "operations", operations) + pulumi.set(__self__, "projects", projects) + pulumi.set(__self__, "scope", scope) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property - @pulumi.getter(name="deletedDateTime") - def deleted_date_time(self) -> str: + @pulumi.getter(name="changeLogs") + def change_logs(self) -> Sequence['outputs.GetNetworksDataChangeLogResult']: """ - Deleted by Date and Time + A permanent record of asset creation, modification, or deletion """ - return pulumi.get(self, "deleted_date_time") + return pulumi.get(self, "change_logs") @property - @pulumi.getter(name="updatedBy") - def updated_by(self) -> str: + @pulumi.getter + def changes(self) -> Sequence['outputs.GetNetworksDataChangeResult']: """ - Updated by User Key + Information on asset change operation """ - return pulumi.get(self, "updated_by") + return pulumi.get(self, "changes") @property - @pulumi.getter(name="updatedByEmail") - def updated_by_email(self) -> str: + @pulumi.getter(name="connectionsCount") + def connections_count(self) -> int: """ - Updated by User Email Address + Number of connections associated with this network """ - return pulumi.get(self, "updated_by_email") + return pulumi.get(self, "connections_count") @property - @pulumi.getter(name="updatedByFullName") - def updated_by_full_name(self) -> str: + @pulumi.getter + def href(self) -> str: """ - Updated by User Full Name + Fabric Network URI information """ - return pulumi.get(self, "updated_by_full_name") + return pulumi.get(self, "href") @property - @pulumi.getter(name="updatedDateTime") - def updated_date_time(self) -> str: - """ - Updated by Date and Time - """ - return pulumi.get(self, "updated_date_time") - - -@pulumi.output_type -class GetPortDeviceResult(dict): - def __init__(__self__, *, - name: str, - redundancies: Sequence['outputs.GetPortDeviceRedundancyResult']): + @pulumi.getter + def locations(self) -> Sequence['outputs.GetNetworksDataLocationResult']: """ - :param str name: Port name - :param Sequence['GetPortDeviceRedundancyArgs'] redundancies: Port device redundancy + Fabric Network location """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "redundancies", redundancies) + return pulumi.get(self, "locations") @property @pulumi.getter def name(self) -> str: """ - Port name + Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores """ return pulumi.get(self, "name") @property @pulumi.getter - def redundancies(self) -> Sequence['outputs.GetPortDeviceRedundancyResult']: - """ - Port device redundancy - """ - return pulumi.get(self, "redundancies") - - -@pulumi.output_type -class GetPortDeviceRedundancyResult(dict): - def __init__(__self__, *, - enabled: bool, - group: str, - priority: str): + def notifications(self) -> Sequence['outputs.GetNetworksDataNotificationResult']: """ - :param bool enabled: Access point redundancy - :param str group: Port redundancy group - :param str priority: Priority type-Primary or Secondary + Preferences for notifications on Fabric Network configuration or status changes """ - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "group", group) - pulumi.set(__self__, "priority", priority) + return pulumi.get(self, "notifications") @property @pulumi.getter - def enabled(self) -> bool: + def operations(self) -> Sequence['outputs.GetNetworksDataOperationResult']: """ - Access point redundancy + Network operation information that is associated with this Fabric Network """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "operations") @property @pulumi.getter - def group(self) -> str: + def projects(self) -> Sequence['outputs.GetNetworksDataProjectResult']: """ - Port redundancy group + Fabric Network project """ - return pulumi.get(self, "group") + return pulumi.get(self, "projects") @property @pulumi.getter - def priority(self) -> str: + def scope(self) -> str: """ - Priority type-Primary or Secondary + Fabric Network scope. Valid values: [REGIONAL GLOBAL LOCAL]. Note: When scope is REGIONAL, the location.region field is required. """ - return pulumi.get(self, "priority") - + return pulumi.get(self, "scope") -@pulumi.output_type -class GetPortEncapsulationResult(dict): - def __init__(__self__, *, - tag_protocol_id: str, - type: str): + @property + @pulumi.getter + def state(self) -> str: """ - :param str tag_protocol_id: Port encapsulation Tag Protocol Identifier - :param str type: Port encapsulation protocol type + Fabric Network overall state """ - pulumi.set(__self__, "tag_protocol_id", tag_protocol_id) - pulumi.set(__self__, "type", type) + return pulumi.get(self, "state") @property - @pulumi.getter(name="tagProtocolId") - def tag_protocol_id(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Port encapsulation Tag Protocol Identifier + Supported Network types - EVPLAN, EPLAN, IPWAN, EVPTREE, EPTREE """ - return pulumi.get(self, "tag_protocol_id") + return pulumi.get(self, "type") @property @pulumi.getter - def type(self) -> str: + def uuid(self) -> str: """ - Port encapsulation protocol type + Equinix-assigned network identifier """ - return pulumi.get(self, "type") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetPortLocationResult(dict): +class GetNetworksDataChangeResult(dict): def __init__(__self__, *, - ibx: str, - metro_code: str, - metro_name: str, - region: str): + href: str, + type: str, + uuid: str): """ - :param str ibx: IBX Code - :param str metro_code: Access point metro code - :param str metro_name: Access point metro name - :param str region: Access point region + :param str href: Absolute URL that returns the details of the given change. + Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + :param str type: Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION + :param str uuid: Asset change request identifier. """ - pulumi.set(__self__, "ibx", ibx) - pulumi.set(__self__, "metro_code", metro_code) - pulumi.set(__self__, "metro_name", metro_name) - pulumi.set(__self__, "region", region) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def ibx(self) -> str: - """ - IBX Code - """ - return pulumi.get(self, "ibx") - - @property - @pulumi.getter(name="metroCode") - def metro_code(self) -> str: + def href(self) -> str: """ - Access point metro code + Absolute URL that returns the details of the given change. + Example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 """ - return pulumi.get(self, "metro_code") + return pulumi.get(self, "href") @property - @pulumi.getter(name="metroName") - def metro_name(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Access point metro name + Asset instance change request type.: NETWORK_CREATION, NETWORK_UPDATE, NETWORK_DELETION """ - return pulumi.get(self, "metro_name") + return pulumi.get(self, "type") @property @pulumi.getter - def region(self) -> str: + def uuid(self) -> str: """ - Access point region + Asset change request identifier. """ - return pulumi.get(self, "region") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetPortOperationResult(dict): +class GetNetworksDataChangeLogResult(dict): def __init__(__self__, *, - connection_count: int, - op_status_changed_at: str, - operational_status: str): + created_by: str, + created_by_email: str, + created_by_full_name: str, + created_date_time: str, + deleted_by: str, + deleted_by_email: str, + deleted_by_full_name: str, + deleted_date_time: str, + updated_by: str, + updated_by_email: str, + updated_by_full_name: str, + updated_date_time: str): """ - :param int connection_count: Total number of current connections - :param str op_status_changed_at: Date and time at which port availability changed - :param str operational_status: Port operation status + :param str created_by: Created by User Key + :param str created_by_email: Created by User Email Address + :param str created_by_full_name: Created by User Full Name + :param str created_date_time: Created by Date and Time + :param str deleted_by: Deleted by User Key + :param str deleted_by_email: Deleted by User Email Address + :param str deleted_by_full_name: Deleted by User Full Name + :param str deleted_date_time: Deleted by Date and Time + :param str updated_by: Updated by User Key + :param str updated_by_email: Updated by User Email Address + :param str updated_by_full_name: Updated by User Full Name + :param str updated_date_time: Updated by Date and Time """ - pulumi.set(__self__, "connection_count", connection_count) - pulumi.set(__self__, "op_status_changed_at", op_status_changed_at) - pulumi.set(__self__, "operational_status", operational_status) + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_email", created_by_email) + pulumi.set(__self__, "created_by_full_name", created_by_full_name) + pulumi.set(__self__, "created_date_time", created_date_time) + pulumi.set(__self__, "deleted_by", deleted_by) + pulumi.set(__self__, "deleted_by_email", deleted_by_email) + pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) + pulumi.set(__self__, "deleted_date_time", deleted_date_time) + pulumi.set(__self__, "updated_by", updated_by) + pulumi.set(__self__, "updated_by_email", updated_by_email) + pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) + pulumi.set(__self__, "updated_date_time", updated_date_time) @property - @pulumi.getter(name="connectionCount") - def connection_count(self) -> int: + @pulumi.getter(name="createdBy") + def created_by(self) -> str: """ - Total number of current connections + Created by User Key """ - return pulumi.get(self, "connection_count") + return pulumi.get(self, "created_by") @property - @pulumi.getter(name="opStatusChangedAt") - def op_status_changed_at(self) -> str: + @pulumi.getter(name="createdByEmail") + def created_by_email(self) -> str: """ - Date and time at which port availability changed + Created by User Email Address """ - return pulumi.get(self, "op_status_changed_at") + return pulumi.get(self, "created_by_email") @property - @pulumi.getter(name="operationalStatus") - def operational_status(self) -> str: - """ - Port operation status - """ - return pulumi.get(self, "operational_status") - - -@pulumi.output_type -class GetPortRedundancyResult(dict): - def __init__(__self__, *, - enabled: bool, - group: str, - priority: str): + @pulumi.getter(name="createdByFullName") + def created_by_full_name(self) -> str: """ - :param bool enabled: Access point redundancy - :param str group: Port redundancy group - :param str priority: Priority type-Primary or Secondary + Created by User Full Name """ - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "group", group) - pulumi.set(__self__, "priority", priority) + return pulumi.get(self, "created_by_full_name") @property - @pulumi.getter - def enabled(self) -> bool: + @pulumi.getter(name="createdDateTime") + def created_date_time(self) -> str: """ - Access point redundancy + Created by Date and Time """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "created_date_time") @property - @pulumi.getter - def group(self) -> str: + @pulumi.getter(name="deletedBy") + def deleted_by(self) -> str: """ - Port redundancy group + Deleted by User Key """ - return pulumi.get(self, "group") + return pulumi.get(self, "deleted_by") @property - @pulumi.getter - def priority(self) -> str: + @pulumi.getter(name="deletedByEmail") + def deleted_by_email(self) -> str: """ - Priority type-Primary or Secondary + Deleted by User Email Address """ - return pulumi.get(self, "priority") - + return pulumi.get(self, "deleted_by_email") -@pulumi.output_type -class GetPortsDatumResult(dict): - def __init__(__self__, *, - accounts: Sequence['outputs.GetPortsDatumAccountResult'], - available_bandwidth: int, - bandwidth: int, - change_logs: Sequence['outputs.GetPortsDatumChangeLogResult'], - description: str, - devices: Sequence['outputs.GetPortsDatumDeviceResult'], - encapsulations: Sequence['outputs.GetPortsDatumEncapsulationResult'], - href: str, - lag_enabled: bool, - locations: Sequence['outputs.GetPortsDatumLocationResult'], - name: str, - operations: Sequence['outputs.GetPortsDatumOperationResult'], - redundancies: Sequence['outputs.GetPortsDatumRedundancyResult'], - service_type: str, - state: str, - type: str, - used_bandwidth: int, - uuid: str): + @property + @pulumi.getter(name="deletedByFullName") + def deleted_by_full_name(self) -> str: """ - :param Sequence['GetPortsDatumAccountArgs'] accounts: Customer account information that is associated with this port - :param int available_bandwidth: Port available bandwidth in Mbps - :param int bandwidth: Port bandwidth in Mbps - :param Sequence['GetPortsDatumChangeLogArgs'] change_logs: Captures port lifecycle change information - :param str description: Port description - :param Sequence['GetPortsDatumDeviceArgs'] devices: Port device - :param Sequence['GetPortsDatumEncapsulationArgs'] encapsulations: Port encapsulation protocol - :param str href: Port URI information - :param bool lag_enabled: Port Lag - :param Sequence['GetPortsDatumLocationArgs'] locations: Port location information - :param str name: Port name - :param Sequence['GetPortsDatumOperationArgs'] operations: Port specific operational data - :param Sequence['GetPortsDatumRedundancyArgs'] redundancies: Port redundancy information - :param str service_type: Port service type - :param str state: Port state - :param str type: Port type - :param int used_bandwidth: Port used bandwidth in Mbps - :param str uuid: Equinix-assigned port identifier + Deleted by User Full Name """ - pulumi.set(__self__, "accounts", accounts) - pulumi.set(__self__, "available_bandwidth", available_bandwidth) - pulumi.set(__self__, "bandwidth", bandwidth) - pulumi.set(__self__, "change_logs", change_logs) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "devices", devices) - pulumi.set(__self__, "encapsulations", encapsulations) - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "lag_enabled", lag_enabled) - pulumi.set(__self__, "locations", locations) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "operations", operations) - pulumi.set(__self__, "redundancies", redundancies) - pulumi.set(__self__, "service_type", service_type) - pulumi.set(__self__, "state", state) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "used_bandwidth", used_bandwidth) - pulumi.set(__self__, "uuid", uuid) + return pulumi.get(self, "deleted_by_full_name") @property - @pulumi.getter - def accounts(self) -> Sequence['outputs.GetPortsDatumAccountResult']: + @pulumi.getter(name="deletedDateTime") + def deleted_date_time(self) -> str: """ - Customer account information that is associated with this port + Deleted by Date and Time """ - return pulumi.get(self, "accounts") + return pulumi.get(self, "deleted_date_time") @property - @pulumi.getter(name="availableBandwidth") - def available_bandwidth(self) -> int: + @pulumi.getter(name="updatedBy") + def updated_by(self) -> str: """ - Port available bandwidth in Mbps + Updated by User Key """ - return pulumi.get(self, "available_bandwidth") + return pulumi.get(self, "updated_by") @property - @pulumi.getter - def bandwidth(self) -> int: + @pulumi.getter(name="updatedByEmail") + def updated_by_email(self) -> str: """ - Port bandwidth in Mbps + Updated by User Email Address """ - return pulumi.get(self, "bandwidth") + return pulumi.get(self, "updated_by_email") @property - @pulumi.getter(name="changeLogs") - def change_logs(self) -> Sequence['outputs.GetPortsDatumChangeLogResult']: + @pulumi.getter(name="updatedByFullName") + def updated_by_full_name(self) -> str: """ - Captures port lifecycle change information + Updated by User Full Name """ - return pulumi.get(self, "change_logs") + return pulumi.get(self, "updated_by_full_name") @property - @pulumi.getter - def description(self) -> str: + @pulumi.getter(name="updatedDateTime") + def updated_date_time(self) -> str: """ - Port description + Updated by Date and Time """ - return pulumi.get(self, "description") + return pulumi.get(self, "updated_date_time") - @property - @pulumi.getter - def devices(self) -> Sequence['outputs.GetPortsDatumDeviceResult']: + +@pulumi.output_type +class GetNetworksDataLocationResult(dict): + def __init__(__self__, *, + ibx: str, + metro_code: str, + metro_name: str, + region: str): """ - Port device + :param str ibx: IBX Code + :param str metro_code: Access point metro code + :param str metro_name: Access point metro name + :param str region: Access point region """ - return pulumi.get(self, "devices") + pulumi.set(__self__, "ibx", ibx) + pulumi.set(__self__, "metro_code", metro_code) + pulumi.set(__self__, "metro_name", metro_name) + pulumi.set(__self__, "region", region) @property @pulumi.getter - def encapsulations(self) -> Sequence['outputs.GetPortsDatumEncapsulationResult']: + def ibx(self) -> str: """ - Port encapsulation protocol + IBX Code """ - return pulumi.get(self, "encapsulations") + return pulumi.get(self, "ibx") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="metroCode") + def metro_code(self) -> str: """ - Port URI information + Access point metro code """ - return pulumi.get(self, "href") + return pulumi.get(self, "metro_code") @property - @pulumi.getter(name="lagEnabled") - def lag_enabled(self) -> bool: + @pulumi.getter(name="metroName") + def metro_name(self) -> str: """ - Port Lag + Access point metro name """ - return pulumi.get(self, "lag_enabled") + return pulumi.get(self, "metro_name") @property @pulumi.getter - def locations(self) -> Sequence['outputs.GetPortsDatumLocationResult']: + def region(self) -> str: """ - Port location information + Access point region """ - return pulumi.get(self, "locations") + return pulumi.get(self, "region") + + +@pulumi.output_type +class GetNetworksDataNotificationResult(dict): + def __init__(__self__, *, + emails: Sequence[str], + type: str, + send_interval: Optional[str] = None): + """ + :param Sequence[str] emails: Array of contact emails + :param str type: Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS + :param str send_interval: Send interval + """ + pulumi.set(__self__, "emails", emails) + pulumi.set(__self__, "type", type) + if send_interval is not None: + pulumi.set(__self__, "send_interval", send_interval) @property @pulumi.getter - def name(self) -> str: + def emails(self) -> Sequence[str]: """ - Port name + Array of contact emails """ - return pulumi.get(self, "name") + return pulumi.get(self, "emails") @property @pulumi.getter - def operations(self) -> Sequence['outputs.GetPortsDatumOperationResult']: + def type(self) -> str: """ - Port specific operational data + Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS """ - return pulumi.get(self, "operations") + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="sendInterval") + def send_interval(self) -> Optional[str]: + """ + Send interval + """ + return pulumi.get(self, "send_interval") + + +@pulumi.output_type +class GetNetworksDataOperationResult(dict): + def __init__(__self__, *, + equinix_status: str): + """ + :param str equinix_status: Progress towards provisioning a given asset. + """ + pulumi.set(__self__, "equinix_status", equinix_status) + + @property + @pulumi.getter(name="equinixStatus") + def equinix_status(self) -> str: + """ + Progress towards provisioning a given asset. + """ + return pulumi.get(self, "equinix_status") + + +@pulumi.output_type +class GetNetworksDataProjectResult(dict): + def __init__(__self__, *, + project_id: str): + """ + :param str project_id: Customer project identifier + """ + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + Customer project identifier + """ + return pulumi.get(self, "project_id") + + +@pulumi.output_type +class GetNetworksFilterResult(dict): + def __init__(__self__, *, + operator: str, + property: str, + values: Sequence[str], + group: Optional[str] = None): + """ + :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, ILIKE, NOT ILIKE, IN, NOT IN] + :param str property: Possible field names to use on filters. One of [/name /uuid /scope /type /operation/equinixStatus /location/region /project/projectId /account/globalCustId /account/orgId /deletedDate /_*] + :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search + :param str group: Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "values", values) + if group is not None: + pulumi.set(__self__, "group", group) @property @pulumi.getter - def redundancies(self) -> Sequence['outputs.GetPortsDatumRedundancyResult']: + def operator(self) -> str: """ - Port redundancy information + Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, ILIKE, NOT ILIKE, IN, NOT IN] """ - return pulumi.get(self, "redundancies") + return pulumi.get(self, "operator") @property - @pulumi.getter(name="serviceType") - def service_type(self) -> str: + @pulumi.getter + def values(self) -> Sequence[str]: """ - Port service type + The values that you want to apply the property+operator combination to in order to filter your data search """ - return pulumi.get(self, "service_type") + return pulumi.get(self, "values") @property @pulumi.getter - def state(self) -> str: + def group(self) -> Optional[str]: """ - Port state + Optional custom id parameter to assign this filter to an inner AND or OR group. Group id must be prefixed with AND_ or OR_. Ensure intended grouped elements have the same given id. Ungrouped filters will be placed in the filter list group by themselves. """ - return pulumi.get(self, "state") + return pulumi.get(self, "group") @property @pulumi.getter - def type(self) -> str: + def property(self) -> str: """ - Port type + Possible field names to use on filters. One of [/name /uuid /scope /type /operation/equinixStatus /location/region /project/projectId /account/globalCustId /account/orgId /deletedDate /_*] """ - return pulumi.get(self, "type") + return pulumi.get(self, "property") + + +@pulumi.output_type +class GetNetworksPaginationResult(dict): + def __init__(__self__, *, + limit: Optional[int] = None, + offset: Optional[int] = None): + """ + :param int limit: Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 + :param int offset: The page offset for the pagination request. Index of the first element. Default is 0. + """ + if limit is not None: + pulumi.set(__self__, "limit", limit) + if offset is not None: + pulumi.set(__self__, "offset", offset) @property - @pulumi.getter(name="usedBandwidth") - def used_bandwidth(self) -> int: + @pulumi.getter + def limit(self) -> Optional[int]: """ - Port used bandwidth in Mbps + Number of elements to be requested per page. Number must be between 1 and 100. Default is 20 """ - return pulumi.get(self, "used_bandwidth") + return pulumi.get(self, "limit") @property @pulumi.getter - def uuid(self) -> str: + def offset(self) -> Optional[int]: """ - Equinix-assigned port identifier + The page offset for the pagination request. Index of the first element. Default is 0. """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "offset") @pulumi.output_type -class GetPortsDatumAccountResult(dict): +class GetNetworksSortResult(dict): + def __init__(__self__, *, + direction: Optional[str] = None, + property: Optional[str] = None): + """ + :param str direction: The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + :param str property: The property name to use in sorting. One of [/name /uuid /scope /operation/equinixStatus /location/region /changeLog/createdDateTime /changeLog/updatedDateTime]. Defaults to /changeLog/updatedDateTime + """ + if direction is not None: + pulumi.set(__self__, "direction", direction) + if property is not None: + pulumi.set(__self__, "property", property) + + @property + @pulumi.getter + def direction(self) -> Optional[str]: + """ + The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + """ + return pulumi.get(self, "direction") + + @property + @pulumi.getter + def property(self) -> Optional[str]: + """ + The property name to use in sorting. One of [/name /uuid /scope /operation/equinixStatus /location/region /changeLog/createdDateTime /changeLog/updatedDateTime]. Defaults to /changeLog/updatedDateTime + """ + return pulumi.get(self, "property") + + +@pulumi.output_type +class GetPortAccountResult(dict): def __init__(__self__, *, account_name: str, account_number: int, @@ -21515,7 +21304,7 @@ def ucm_id(self) -> str: @pulumi.output_type -class GetPortsDatumChangeLogResult(dict): +class GetPortChangeLogResult(dict): def __init__(__self__, *, created_by: str, created_by_email: str, @@ -21654,13 +21443,13 @@ def updated_date_time(self) -> str: @pulumi.output_type -class GetPortsDatumDeviceResult(dict): +class GetPortDeviceResult(dict): def __init__(__self__, *, name: str, - redundancies: Sequence['outputs.GetPortsDatumDeviceRedundancyResult']): + redundancies: Sequence['outputs.GetPortDeviceRedundancyResult']): """ :param str name: Port name - :param Sequence['GetPortsDatumDeviceRedundancyArgs'] redundancies: Port device redundancy + :param Sequence['GetPortDeviceRedundancyArgs'] redundancies: Port device redundancy """ pulumi.set(__self__, "name", name) pulumi.set(__self__, "redundancies", redundancies) @@ -21675,7 +21464,7 @@ def name(self) -> str: @property @pulumi.getter - def redundancies(self) -> Sequence['outputs.GetPortsDatumDeviceRedundancyResult']: + def redundancies(self) -> Sequence['outputs.GetPortDeviceRedundancyResult']: """ Port device redundancy """ @@ -21683,7 +21472,7 @@ def redundancies(self) -> Sequence['outputs.GetPortsDatumDeviceRedundancyResult' @pulumi.output_type -class GetPortsDatumDeviceRedundancyResult(dict): +class GetPortDeviceRedundancyResult(dict): def __init__(__self__, *, enabled: bool, group: str, @@ -21723,7 +21512,7 @@ def priority(self) -> str: @pulumi.output_type -class GetPortsDatumEncapsulationResult(dict): +class GetPortEncapsulationResult(dict): def __init__(__self__, *, tag_protocol_id: str, type: str): @@ -21752,7 +21541,7 @@ def type(self) -> str: @pulumi.output_type -class GetPortsDatumLocationResult(dict): +class GetPortLocationResult(dict): def __init__(__self__, *, ibx: str, metro_code: str, @@ -21803,7 +21592,7 @@ def region(self) -> str: @pulumi.output_type -class GetPortsDatumOperationResult(dict): +class GetPortOperationResult(dict): def __init__(__self__, *, connection_count: int, op_status_changed_at: str, @@ -21843,7 +21632,7 @@ def operational_status(self) -> str: @pulumi.output_type -class GetPortsDatumRedundancyResult(dict): +class GetPortRedundancyResult(dict): def __init__(__self__, *, enabled: bool, group: str, @@ -21883,25 +21672,212 @@ def priority(self) -> str: @pulumi.output_type -class GetPortsFilterResult(dict): +class GetPortsDatumResult(dict): def __init__(__self__, *, - name: str): + accounts: Sequence['outputs.GetPortsDatumAccountResult'], + available_bandwidth: int, + bandwidth: int, + change_logs: Sequence['outputs.GetPortsDatumChangeLogResult'], + description: str, + devices: Sequence['outputs.GetPortsDatumDeviceResult'], + encapsulations: Sequence['outputs.GetPortsDatumEncapsulationResult'], + href: str, + lag_enabled: bool, + locations: Sequence['outputs.GetPortsDatumLocationResult'], + name: str, + operations: Sequence['outputs.GetPortsDatumOperationResult'], + redundancies: Sequence['outputs.GetPortsDatumRedundancyResult'], + service_type: str, + state: str, + type: str, + used_bandwidth: int, + uuid: str): """ - :param str name: Query Parameter to Get Ports By Name + :param Sequence['GetPortsDatumAccountArgs'] accounts: Customer account information that is associated with this port + :param int available_bandwidth: Port available bandwidth in Mbps + :param int bandwidth: Port bandwidth in Mbps + :param Sequence['GetPortsDatumChangeLogArgs'] change_logs: Captures port lifecycle change information + :param str description: Port description + :param Sequence['GetPortsDatumDeviceArgs'] devices: Port device + :param Sequence['GetPortsDatumEncapsulationArgs'] encapsulations: Port encapsulation protocol + :param str href: Port URI information + :param bool lag_enabled: Port Lag + :param Sequence['GetPortsDatumLocationArgs'] locations: Port location information + :param str name: Port name + :param Sequence['GetPortsDatumOperationArgs'] operations: Port specific operational data + :param Sequence['GetPortsDatumRedundancyArgs'] redundancies: Port redundancy information + :param str service_type: Port service type + :param str state: Port state + :param str type: Port type + :param int used_bandwidth: Port used bandwidth in Mbps + :param str uuid: Equinix-assigned port identifier """ + pulumi.set(__self__, "accounts", accounts) + pulumi.set(__self__, "available_bandwidth", available_bandwidth) + pulumi.set(__self__, "bandwidth", bandwidth) + pulumi.set(__self__, "change_logs", change_logs) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "devices", devices) + pulumi.set(__self__, "encapsulations", encapsulations) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "lag_enabled", lag_enabled) + pulumi.set(__self__, "locations", locations) pulumi.set(__self__, "name", name) - + pulumi.set(__self__, "operations", operations) + pulumi.set(__self__, "redundancies", redundancies) + pulumi.set(__self__, "service_type", service_type) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "used_bandwidth", used_bandwidth) + pulumi.set(__self__, "uuid", uuid) + + @property + @pulumi.getter + def accounts(self) -> Sequence['outputs.GetPortsDatumAccountResult']: + """ + Customer account information that is associated with this port + """ + return pulumi.get(self, "accounts") + + @property + @pulumi.getter(name="availableBandwidth") + def available_bandwidth(self) -> int: + """ + Port available bandwidth in Mbps + """ + return pulumi.get(self, "available_bandwidth") + + @property + @pulumi.getter + def bandwidth(self) -> int: + """ + Port bandwidth in Mbps + """ + return pulumi.get(self, "bandwidth") + + @property + @pulumi.getter(name="changeLogs") + def change_logs(self) -> Sequence['outputs.GetPortsDatumChangeLogResult']: + """ + Captures port lifecycle change information + """ + return pulumi.get(self, "change_logs") + + @property + @pulumi.getter + def description(self) -> str: + """ + Port description + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def devices(self) -> Sequence['outputs.GetPortsDatumDeviceResult']: + """ + Port device + """ + return pulumi.get(self, "devices") + + @property + @pulumi.getter + def encapsulations(self) -> Sequence['outputs.GetPortsDatumEncapsulationResult']: + """ + Port encapsulation protocol + """ + return pulumi.get(self, "encapsulations") + + @property + @pulumi.getter + def href(self) -> str: + """ + Port URI information + """ + return pulumi.get(self, "href") + + @property + @pulumi.getter(name="lagEnabled") + def lag_enabled(self) -> bool: + """ + Port Lag + """ + return pulumi.get(self, "lag_enabled") + + @property + @pulumi.getter + def locations(self) -> Sequence['outputs.GetPortsDatumLocationResult']: + """ + Port location information + """ + return pulumi.get(self, "locations") + @property @pulumi.getter def name(self) -> str: """ - Query Parameter to Get Ports By Name + Port name """ return pulumi.get(self, "name") + @property + @pulumi.getter + def operations(self) -> Sequence['outputs.GetPortsDatumOperationResult']: + """ + Port specific operational data + """ + return pulumi.get(self, "operations") + + @property + @pulumi.getter + def redundancies(self) -> Sequence['outputs.GetPortsDatumRedundancyResult']: + """ + Port redundancy information + """ + return pulumi.get(self, "redundancies") + + @property + @pulumi.getter(name="serviceType") + def service_type(self) -> str: + """ + Port service type + """ + return pulumi.get(self, "service_type") + + @property + @pulumi.getter + def state(self) -> str: + """ + Port state + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def type(self) -> str: + """ + Port type + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="usedBandwidth") + def used_bandwidth(self) -> int: + """ + Port used bandwidth in Mbps + """ + return pulumi.get(self, "used_bandwidth") + + @property + @pulumi.getter + def uuid(self) -> str: + """ + Equinix-assigned port identifier + """ + return pulumi.get(self, "uuid") + @pulumi.output_type -class GetPrecisionTimeServiceAccountResult(dict): +class GetPortsDatumAccountResult(dict): def __init__(__self__, *, account_name: str, account_number: int, @@ -21910,24 +21886,16 @@ def __init__(__self__, *, global_organization_name: str, org_id: int, organization_name: str, - reseller_account_name: str, - reseller_account_number: int, - reseller_org_id: int, - reseller_ucm_id: str, ucm_id: str): """ - :param str account_name: Account Name - :param int account_number: Equinix Account Number - :param str global_cust_id: Global Customer Id - :param str global_org_id: Customer organization naidentifierme - :param str global_organization_name: Global organization name - :param int org_id: Customer organization identifier - :param str organization_name: Customer organization name - :param str reseller_account_name: Reseller account name - :param int reseller_account_number: Reseller account number - :param int reseller_org_id: Reseller customer organization identifier - :param str reseller_ucm_id: Reseller account ucmId - :param str ucm_id: Global organization name + :param str account_name: Legal name of the accountholder. + :param int account_number: Equinix-assigned account number. + :param str global_cust_id: Equinix-assigned ID of the subscriber's parent organization. + :param str global_org_id: Equinix-assigned ID of the subscriber's parent organization. + :param str global_organization_name: Equinix-assigned name of the subscriber's parent organization. + :param int org_id: Equinix-assigned ID of the subscriber's organization. + :param str organization_name: Equinix-assigned name of the subscriber's organization. + :param str ucm_id: Enterprise datastore id """ pulumi.set(__self__, "account_name", account_name) pulumi.set(__self__, "account_number", account_number) @@ -21936,17 +21904,13 @@ def __init__(__self__, *, pulumi.set(__self__, "global_organization_name", global_organization_name) pulumi.set(__self__, "org_id", org_id) pulumi.set(__self__, "organization_name", organization_name) - pulumi.set(__self__, "reseller_account_name", reseller_account_name) - pulumi.set(__self__, "reseller_account_number", reseller_account_number) - pulumi.set(__self__, "reseller_org_id", reseller_org_id) - pulumi.set(__self__, "reseller_ucm_id", reseller_ucm_id) pulumi.set(__self__, "ucm_id", ucm_id) @property @pulumi.getter(name="accountName") def account_name(self) -> str: """ - Account Name + Legal name of the accountholder. """ return pulumi.get(self, "account_name") @@ -21954,7 +21918,7 @@ def account_name(self) -> str: @pulumi.getter(name="accountNumber") def account_number(self) -> int: """ - Equinix Account Number + Equinix-assigned account number. """ return pulumi.get(self, "account_number") @@ -21962,7 +21926,7 @@ def account_number(self) -> int: @pulumi.getter(name="globalCustId") def global_cust_id(self) -> str: """ - Global Customer Id + Equinix-assigned ID of the subscriber's parent organization. """ return pulumi.get(self, "global_cust_id") @@ -21970,7 +21934,7 @@ def global_cust_id(self) -> str: @pulumi.getter(name="globalOrgId") def global_org_id(self) -> str: """ - Customer organization naidentifierme + Equinix-assigned ID of the subscriber's parent organization. """ return pulumi.get(self, "global_org_id") @@ -21978,7 +21942,7 @@ def global_org_id(self) -> str: @pulumi.getter(name="globalOrganizationName") def global_organization_name(self) -> str: """ - Global organization name + Equinix-assigned name of the subscriber's parent organization. """ return pulumi.get(self, "global_organization_name") @@ -21986,7 +21950,7 @@ def global_organization_name(self) -> str: @pulumi.getter(name="orgId") def org_id(self) -> int: """ - Customer organization identifier + Equinix-assigned ID of the subscriber's organization. """ return pulumi.get(self, "org_id") @@ -21994,53 +21958,21 @@ def org_id(self) -> int: @pulumi.getter(name="organizationName") def organization_name(self) -> str: """ - Customer organization name + Equinix-assigned name of the subscriber's organization. """ return pulumi.get(self, "organization_name") - @property - @pulumi.getter(name="resellerAccountName") - def reseller_account_name(self) -> str: - """ - Reseller account name - """ - return pulumi.get(self, "reseller_account_name") - - @property - @pulumi.getter(name="resellerAccountNumber") - def reseller_account_number(self) -> int: - """ - Reseller account number - """ - return pulumi.get(self, "reseller_account_number") - - @property - @pulumi.getter(name="resellerOrgId") - def reseller_org_id(self) -> int: - """ - Reseller customer organization identifier - """ - return pulumi.get(self, "reseller_org_id") - - @property - @pulumi.getter(name="resellerUcmId") - def reseller_ucm_id(self) -> str: - """ - Reseller account ucmId - """ - return pulumi.get(self, "reseller_ucm_id") - @property @pulumi.getter(name="ucmId") def ucm_id(self) -> str: """ - Global organization name + Enterprise datastore id """ return pulumi.get(self, "ucm_id") @pulumi.output_type -class GetPrecisionTimeServiceChangeLogResult(dict): +class GetPortsDatumChangeLogResult(dict): def __init__(__self__, *, created_by: str, created_by_email: str, @@ -22055,18 +21987,18 @@ def __init__(__self__, *, updated_by_full_name: str, updated_date_time: str): """ - :param str created_by: User name of creator of the route aggregation resource - :param str created_by_email: Email of creator of the route aggregation resource - :param str created_by_full_name: Legal name of creator of the route aggregation resource - :param str created_date_time: Creation time of the route aggregation resource - :param str deleted_by: User name of deleter of the route aggregation resource - :param str deleted_by_email: Email of deleter of the route aggregation resource - :param str deleted_by_full_name: Legal name of deleter of the route aggregation resource - :param str deleted_date_time: Deletion time of the route aggregation resource - :param str updated_by: User name of last updater of the route aggregation resource - :param str updated_by_email: Email of last updater of the route aggregation resource - :param str updated_by_full_name: Legal name of last updater of the route aggregation resource - :param str updated_date_time: Last update time of the route aggregation resource + :param str created_by: Created by User Key + :param str created_by_email: Created by User Email Address + :param str created_by_full_name: Created by User Full Name + :param str created_date_time: Created by Date and Time + :param str deleted_by: Deleted by User Key + :param str deleted_by_email: Deleted by User Email Address + :param str deleted_by_full_name: Deleted by User Full Name + :param str deleted_date_time: Deleted by Date and Time + :param str updated_by: Updated by User Key + :param str updated_by_email: Updated by User Email Address + :param str updated_by_full_name: Updated by User Full Name + :param str updated_date_time: Updated by Date and Time """ pulumi.set(__self__, "created_by", created_by) pulumi.set(__self__, "created_by_email", created_by_email) @@ -22085,7 +22017,7 @@ def __init__(__self__, *, @pulumi.getter(name="createdBy") def created_by(self) -> str: """ - User name of creator of the route aggregation resource + Created by User Key """ return pulumi.get(self, "created_by") @@ -22093,7 +22025,7 @@ def created_by(self) -> str: @pulumi.getter(name="createdByEmail") def created_by_email(self) -> str: """ - Email of creator of the route aggregation resource + Created by User Email Address """ return pulumi.get(self, "created_by_email") @@ -22101,7 +22033,7 @@ def created_by_email(self) -> str: @pulumi.getter(name="createdByFullName") def created_by_full_name(self) -> str: """ - Legal name of creator of the route aggregation resource + Created by User Full Name """ return pulumi.get(self, "created_by_full_name") @@ -22109,7 +22041,7 @@ def created_by_full_name(self) -> str: @pulumi.getter(name="createdDateTime") def created_date_time(self) -> str: """ - Creation time of the route aggregation resource + Created by Date and Time """ return pulumi.get(self, "created_date_time") @@ -22117,7 +22049,7 @@ def created_date_time(self) -> str: @pulumi.getter(name="deletedBy") def deleted_by(self) -> str: """ - User name of deleter of the route aggregation resource + Deleted by User Key """ return pulumi.get(self, "deleted_by") @@ -22125,7 +22057,7 @@ def deleted_by(self) -> str: @pulumi.getter(name="deletedByEmail") def deleted_by_email(self) -> str: """ - Email of deleter of the route aggregation resource + Deleted by User Email Address """ return pulumi.get(self, "deleted_by_email") @@ -22133,7 +22065,7 @@ def deleted_by_email(self) -> str: @pulumi.getter(name="deletedByFullName") def deleted_by_full_name(self) -> str: """ - Legal name of deleter of the route aggregation resource + Deleted by User Full Name """ return pulumi.get(self, "deleted_by_full_name") @@ -22141,7 +22073,7 @@ def deleted_by_full_name(self) -> str: @pulumi.getter(name="deletedDateTime") def deleted_date_time(self) -> str: """ - Deletion time of the route aggregation resource + Deleted by Date and Time """ return pulumi.get(self, "deleted_date_time") @@ -22149,7 +22081,7 @@ def deleted_date_time(self) -> str: @pulumi.getter(name="updatedBy") def updated_by(self) -> str: """ - User name of last updater of the route aggregation resource + Updated by User Key """ return pulumi.get(self, "updated_by") @@ -22157,7 +22089,7 @@ def updated_by(self) -> str: @pulumi.getter(name="updatedByEmail") def updated_by_email(self) -> str: """ - Email of last updater of the route aggregation resource + Updated by User Email Address """ return pulumi.get(self, "updated_by_email") @@ -22165,7 +22097,7 @@ def updated_by_email(self) -> str: @pulumi.getter(name="updatedByFullName") def updated_by_full_name(self) -> str: """ - Legal name of last updater of the route aggregation resource + Updated by User Full Name """ return pulumi.get(self, "updated_by_full_name") @@ -22173,1319 +22105,2248 @@ def updated_by_full_name(self) -> str: @pulumi.getter(name="updatedDateTime") def updated_date_time(self) -> str: """ - Last update time of the route aggregation resource + Updated by Date and Time """ return pulumi.get(self, "updated_date_time") @pulumi.output_type -class GetPrecisionTimeServiceConnectionResult(dict): +class GetPortsDatumDeviceResult(dict): def __init__(__self__, *, - href: str, - type: str, - uuid: str): - """ - :param str href: Link to the Equinix Fabric Connection associated with the Precision Time Service - :param str type: Type of the Equinix Fabric Connection associated with the Precision Time Service - :param str uuid: Equinix Fabric Connection UUID; Precision Time Service will be connected with it - """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) - - @property - @pulumi.getter - def href(self) -> str: + name: str, + redundancies: Sequence['outputs.GetPortsDatumDeviceRedundancyResult']): """ - Link to the Equinix Fabric Connection associated with the Precision Time Service + :param str name: Port name + :param Sequence['GetPortsDatumDeviceRedundancyArgs'] redundancies: Port device redundancy """ - return pulumi.get(self, "href") + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "redundancies", redundancies) @property @pulumi.getter - def type(self) -> str: + def name(self) -> str: """ - Type of the Equinix Fabric Connection associated with the Precision Time Service + Port name """ - return pulumi.get(self, "type") + return pulumi.get(self, "name") @property @pulumi.getter - def uuid(self) -> str: + def redundancies(self) -> Sequence['outputs.GetPortsDatumDeviceRedundancyResult']: """ - Equinix Fabric Connection UUID; Precision Time Service will be connected with it + Port device redundancy """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "redundancies") @pulumi.output_type -class GetPrecisionTimeServiceIpv4Result(dict): +class GetPortsDatumDeviceRedundancyResult(dict): def __init__(__self__, *, - default_gateway: str, - network_mask: str, - primary: str, - secondary: str): - """ - :param str default_gateway: IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network. - :param str network_mask: IPv4 address that defines the range of consecutive subnets in the network. - :param str primary: IPv4 address for the Primary Timing Master Server. - :param str secondary: IPv4 address for the Secondary Timing Master Server. - """ - pulumi.set(__self__, "default_gateway", default_gateway) - pulumi.set(__self__, "network_mask", network_mask) - pulumi.set(__self__, "primary", primary) - pulumi.set(__self__, "secondary", secondary) - - @property - @pulumi.getter(name="defaultGateway") - def default_gateway(self) -> str: + enabled: bool, + group: str, + priority: str): """ - IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network. + :param bool enabled: Access point redundancy + :param str group: Port redundancy group + :param str priority: Priority type-Primary or Secondary """ - return pulumi.get(self, "default_gateway") + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "priority", priority) @property - @pulumi.getter(name="networkMask") - def network_mask(self) -> str: + @pulumi.getter + def enabled(self) -> bool: """ - IPv4 address that defines the range of consecutive subnets in the network. + Access point redundancy """ - return pulumi.get(self, "network_mask") + return pulumi.get(self, "enabled") @property @pulumi.getter - def primary(self) -> str: + def group(self) -> str: """ - IPv4 address for the Primary Timing Master Server. + Port redundancy group """ - return pulumi.get(self, "primary") + return pulumi.get(self, "group") @property @pulumi.getter - def secondary(self) -> str: + def priority(self) -> str: """ - IPv4 address for the Secondary Timing Master Server. + Priority type-Primary or Secondary """ - return pulumi.get(self, "secondary") + return pulumi.get(self, "priority") @pulumi.output_type -class GetPrecisionTimeServiceNtpAdvancedConfigurationResult(dict): +class GetPortsDatumEncapsulationResult(dict): def __init__(__self__, *, - key: Optional[str] = None, - key_number: Optional[int] = None, - type: Optional[str] = None): - """ - :param str key: The plaintext authentication key. For ASCII type, the key\\ - \\ must contain printable ASCII characters, range 10-20 characters. For\\ - \\ HEX type, range should be 10-40 characters - :param int key_number: The authentication Key ID - :param str type: md5 Authentication type - """ - if key is not None: - pulumi.set(__self__, "key", key) - if key_number is not None: - pulumi.set(__self__, "key_number", key_number) - if type is not None: - pulumi.set(__self__, "type", type) - - @property - @pulumi.getter - def key(self) -> Optional[str]: + tag_protocol_id: str, + type: str): """ - The plaintext authentication key. For ASCII type, the key\\ - \\ must contain printable ASCII characters, range 10-20 characters. For\\ - \\ HEX type, range should be 10-40 characters + :param str tag_protocol_id: Port encapsulation Tag Protocol Identifier + :param str type: Port encapsulation protocol type """ - return pulumi.get(self, "key") + pulumi.set(__self__, "tag_protocol_id", tag_protocol_id) + pulumi.set(__self__, "type", type) @property - @pulumi.getter(name="keyNumber") - def key_number(self) -> Optional[int]: + @pulumi.getter(name="tagProtocolId") + def tag_protocol_id(self) -> str: """ - The authentication Key ID + Port encapsulation Tag Protocol Identifier """ - return pulumi.get(self, "key_number") + return pulumi.get(self, "tag_protocol_id") @property @pulumi.getter - def type(self) -> Optional[str]: + def type(self) -> str: """ - md5 Authentication type + Port encapsulation protocol type """ return pulumi.get(self, "type") @pulumi.output_type -class GetPrecisionTimeServiceOperationResult(dict): +class GetPortsDatumLocationResult(dict): def __init__(__self__, *, - operational_status: str): - pulumi.set(__self__, "operational_status", operational_status) + ibx: str, + metro_code: str, + metro_name: str, + region: str): + """ + :param str ibx: IBX Code + :param str metro_code: Access point metro code + :param str metro_name: Access point metro name + :param str region: Access point region + """ + pulumi.set(__self__, "ibx", ibx) + pulumi.set(__self__, "metro_code", metro_code) + pulumi.set(__self__, "metro_name", metro_name) + pulumi.set(__self__, "region", region) @property - @pulumi.getter(name="operationalStatus") - def operational_status(self) -> str: - return pulumi.get(self, "operational_status") - - -@pulumi.output_type -class GetPrecisionTimeServiceOrderResult(dict): - def __init__(__self__, *, - customer_reference_number: str, - order_number: str, - purchase_order_number: str): + @pulumi.getter + def ibx(self) -> str: """ - :param str customer_reference_number: Customer reference number - :param str order_number: Order reference number - :param str purchase_order_number: Purchase order number + IBX Code """ - pulumi.set(__self__, "customer_reference_number", customer_reference_number) - pulumi.set(__self__, "order_number", order_number) - pulumi.set(__self__, "purchase_order_number", purchase_order_number) + return pulumi.get(self, "ibx") @property - @pulumi.getter(name="customerReferenceNumber") - def customer_reference_number(self) -> str: + @pulumi.getter(name="metroCode") + def metro_code(self) -> str: """ - Customer reference number + Access point metro code """ - return pulumi.get(self, "customer_reference_number") + return pulumi.get(self, "metro_code") @property - @pulumi.getter(name="orderNumber") - def order_number(self) -> str: + @pulumi.getter(name="metroName") + def metro_name(self) -> str: """ - Order reference number + Access point metro name """ - return pulumi.get(self, "order_number") + return pulumi.get(self, "metro_name") @property - @pulumi.getter(name="purchaseOrderNumber") - def purchase_order_number(self) -> str: + @pulumi.getter + def region(self) -> str: """ - Purchase order number + Access point region """ - return pulumi.get(self, "purchase_order_number") + return pulumi.get(self, "region") @pulumi.output_type -class GetPrecisionTimeServicePackageResult(dict): +class GetPortsDatumOperationResult(dict): def __init__(__self__, *, - code: str, - href: str): + connection_count: int, + op_status_changed_at: str, + operational_status: str): """ - :param str code: Time Precision Package Code for the desired billing package - :param str href: Time Precision Package HREF link to corresponding resource in Equinix Portal + :param int connection_count: Total number of current connections + :param str op_status_changed_at: Date and time at which port availability changed + :param str operational_status: Port operation status """ - pulumi.set(__self__, "code", code) - pulumi.set(__self__, "href", href) + pulumi.set(__self__, "connection_count", connection_count) + pulumi.set(__self__, "op_status_changed_at", op_status_changed_at) + pulumi.set(__self__, "operational_status", operational_status) @property - @pulumi.getter - def code(self) -> str: + @pulumi.getter(name="connectionCount") + def connection_count(self) -> int: """ - Time Precision Package Code for the desired billing package + Total number of current connections """ - return pulumi.get(self, "code") + return pulumi.get(self, "connection_count") @property - @pulumi.getter - def href(self) -> str: + @pulumi.getter(name="opStatusChangedAt") + def op_status_changed_at(self) -> str: """ - Time Precision Package HREF link to corresponding resource in Equinix Portal + Date and time at which port availability changed """ - return pulumi.get(self, "href") + return pulumi.get(self, "op_status_changed_at") + + @property + @pulumi.getter(name="operationalStatus") + def operational_status(self) -> str: + """ + Port operation status + """ + return pulumi.get(self, "operational_status") @pulumi.output_type -class GetPrecisionTimeServicePrecisionTimePriceResult(dict): +class GetPortsDatumRedundancyResult(dict): def __init__(__self__, *, - charges: Sequence['outputs.GetPrecisionTimeServicePrecisionTimePriceChargeResult'], - currency: str): + enabled: bool, + group: str, + priority: str): """ - :param Sequence['GetPrecisionTimeServicePrecisionTimePriceChargeArgs'] charges: offering price charge - :param str currency: Offering price currency + :param bool enabled: Access point redundancy + :param str group: Port redundancy group + :param str priority: Priority type-Primary or Secondary """ - pulumi.set(__self__, "charges", charges) - pulumi.set(__self__, "currency", currency) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "priority", priority) @property @pulumi.getter - def charges(self) -> Sequence['outputs.GetPrecisionTimeServicePrecisionTimePriceChargeResult']: + def enabled(self) -> bool: """ - offering price charge + Access point redundancy """ - return pulumi.get(self, "charges") + return pulumi.get(self, "enabled") @property @pulumi.getter - def currency(self) -> str: + def group(self) -> str: """ - Offering price currency + Port redundancy group """ - return pulumi.get(self, "currency") - + return pulumi.get(self, "group") -@pulumi.output_type -class GetPrecisionTimeServicePrecisionTimePriceChargeResult(dict): - def __init__(__self__, *, - price: float, - type: str): + @property + @pulumi.getter + def priority(self) -> str: """ - :param float price: Offering price - :param str type: Price charge type; MONTHLY*RECURRING, NON*RECURRING + Priority type-Primary or Secondary """ - pulumi.set(__self__, "price", price) - pulumi.set(__self__, "type", type) + return pulumi.get(self, "priority") - @property - @pulumi.getter - def price(self) -> float: + +@pulumi.output_type +class GetPortsFilterResult(dict): + def __init__(__self__, *, + name: str): """ - Offering price + :param str name: Query Parameter to Get Ports By Name """ - return pulumi.get(self, "price") + pulumi.set(__self__, "name", name) @property @pulumi.getter - def type(self) -> str: + def name(self) -> str: """ - Price charge type; MONTHLY*RECURRING, NON*RECURRING + Query Parameter to Get Ports By Name """ - return pulumi.get(self, "type") + return pulumi.get(self, "name") @pulumi.output_type -class GetPrecisionTimeServiceProjectResult(dict): +class GetPrecisionTimeServiceAccountResult(dict): def __init__(__self__, *, - project_id: str): + account_name: str, + account_number: int, + global_cust_id: str, + global_org_id: str, + global_organization_name: str, + org_id: int, + organization_name: str, + reseller_account_name: str, + reseller_account_number: int, + reseller_org_id: int, + reseller_ucm_id: str, + ucm_id: str): """ - :param str project_id: Equinix Subscriber-assigned project ID + :param str account_name: Account Name + :param int account_number: Equinix Account Number + :param str global_cust_id: Global Customer Id + :param str global_org_id: Customer organization naidentifierme + :param str global_organization_name: Global organization name + :param int org_id: Customer organization identifier + :param str organization_name: Customer organization name + :param str reseller_account_name: Reseller account name + :param int reseller_account_number: Reseller account number + :param int reseller_org_id: Reseller customer organization identifier + :param str reseller_ucm_id: Reseller account ucmId + :param str ucm_id: Global organization name """ - pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "account_number", account_number) + pulumi.set(__self__, "global_cust_id", global_cust_id) + pulumi.set(__self__, "global_org_id", global_org_id) + pulumi.set(__self__, "global_organization_name", global_organization_name) + pulumi.set(__self__, "org_id", org_id) + pulumi.set(__self__, "organization_name", organization_name) + pulumi.set(__self__, "reseller_account_name", reseller_account_name) + pulumi.set(__self__, "reseller_account_number", reseller_account_number) + pulumi.set(__self__, "reseller_org_id", reseller_org_id) + pulumi.set(__self__, "reseller_ucm_id", reseller_ucm_id) + pulumi.set(__self__, "ucm_id", ucm_id) @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: + @pulumi.getter(name="accountName") + def account_name(self) -> str: """ - Equinix Subscriber-assigned project ID + Account Name """ - return pulumi.get(self, "project_id") + return pulumi.get(self, "account_name") + @property + @pulumi.getter(name="accountNumber") + def account_number(self) -> int: + """ + Equinix Account Number + """ + return pulumi.get(self, "account_number") -@pulumi.output_type -class GetPrecisionTimeServicePtpAdvancedConfigurationResult(dict): - def __init__(__self__, *, - domain: Optional[int] = None, - grant_time: Optional[int] = None, - log_announce_interval: Optional[int] = None, - log_delay_req_interval: Optional[int] = None, - log_sync_interval: Optional[int] = None, - priority1: Optional[int] = None, - priority2: Optional[int] = None, - time_scale: Optional[str] = None, - transport_mode: Optional[str] = None): + @property + @pulumi.getter(name="globalCustId") + def global_cust_id(self) -> str: """ - :param int domain: The PTP domain value - :param int grant_time: Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200 - :param int log_announce_interval: Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second - :param int log_delay_req_interval: Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second.. - :param int log_sync_interval: Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second.. - :param int priority1: The priority1 value determines the best primary clock, Lower value indicates higher priority - :param int priority2: The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network - :param str time_scale: Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol - :param str transport_mode: ptp transport mode + Global Customer Id """ - if domain is not None: - pulumi.set(__self__, "domain", domain) - if grant_time is not None: - pulumi.set(__self__, "grant_time", grant_time) - if log_announce_interval is not None: - pulumi.set(__self__, "log_announce_interval", log_announce_interval) - if log_delay_req_interval is not None: - pulumi.set(__self__, "log_delay_req_interval", log_delay_req_interval) - if log_sync_interval is not None: - pulumi.set(__self__, "log_sync_interval", log_sync_interval) - if priority1 is not None: - pulumi.set(__self__, "priority1", priority1) - if priority2 is not None: - pulumi.set(__self__, "priority2", priority2) - if time_scale is not None: - pulumi.set(__self__, "time_scale", time_scale) - if transport_mode is not None: - pulumi.set(__self__, "transport_mode", transport_mode) + return pulumi.get(self, "global_cust_id") @property - @pulumi.getter - def domain(self) -> Optional[int]: + @pulumi.getter(name="globalOrgId") + def global_org_id(self) -> str: """ - The PTP domain value + Customer organization naidentifierme """ - return pulumi.get(self, "domain") + return pulumi.get(self, "global_org_id") @property - @pulumi.getter(name="grantTime") - def grant_time(self) -> Optional[int]: + @pulumi.getter(name="globalOrganizationName") + def global_organization_name(self) -> str: """ - Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200 + Global organization name """ - return pulumi.get(self, "grant_time") + return pulumi.get(self, "global_organization_name") @property - @pulumi.getter(name="logAnnounceInterval") - def log_announce_interval(self) -> Optional[int]: + @pulumi.getter(name="orgId") + def org_id(self) -> int: """ - Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second + Customer organization identifier """ - return pulumi.get(self, "log_announce_interval") + return pulumi.get(self, "org_id") @property - @pulumi.getter(name="logDelayReqInterval") - def log_delay_req_interval(self) -> Optional[int]: + @pulumi.getter(name="organizationName") + def organization_name(self) -> str: """ - Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second.. + Customer organization name """ - return pulumi.get(self, "log_delay_req_interval") + return pulumi.get(self, "organization_name") @property - @pulumi.getter(name="logSyncInterval") - def log_sync_interval(self) -> Optional[int]: + @pulumi.getter(name="resellerAccountName") + def reseller_account_name(self) -> str: """ - Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second.. + Reseller account name """ - return pulumi.get(self, "log_sync_interval") + return pulumi.get(self, "reseller_account_name") @property - @pulumi.getter - def priority1(self) -> Optional[int]: + @pulumi.getter(name="resellerAccountNumber") + def reseller_account_number(self) -> int: """ - The priority1 value determines the best primary clock, Lower value indicates higher priority + Reseller account number """ - return pulumi.get(self, "priority1") + return pulumi.get(self, "reseller_account_number") @property - @pulumi.getter - def priority2(self) -> Optional[int]: + @pulumi.getter(name="resellerOrgId") + def reseller_org_id(self) -> int: """ - The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network + Reseller customer organization identifier """ - return pulumi.get(self, "priority2") + return pulumi.get(self, "reseller_org_id") @property - @pulumi.getter(name="timeScale") - def time_scale(self) -> Optional[str]: + @pulumi.getter(name="resellerUcmId") + def reseller_ucm_id(self) -> str: """ - Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol + Reseller account ucmId """ - return pulumi.get(self, "time_scale") + return pulumi.get(self, "reseller_ucm_id") @property - @pulumi.getter(name="transportMode") - def transport_mode(self) -> Optional[str]: + @pulumi.getter(name="ucmId") + def ucm_id(self) -> str: """ - ptp transport mode + Global organization name """ - return pulumi.get(self, "transport_mode") + return pulumi.get(self, "ucm_id") @pulumi.output_type -class GetPrecisionTimeServicesDataResult(dict): +class GetPrecisionTimeServiceChangeLogResult(dict): def __init__(__self__, *, - account: 'outputs.GetPrecisionTimeServicesDataAccountResult', - change_log: 'outputs.GetPrecisionTimeServicesDataChangeLogResult', - connections: Sequence['outputs.GetPrecisionTimeServicesDataConnectionResult'], - href: str, - ipv4: 'outputs.GetPrecisionTimeServicesDataIpv4Result', - name: str, - operation: 'outputs.GetPrecisionTimeServicesDataOperationResult', - order: 'outputs.GetPrecisionTimeServicesDataOrderResult', - package: 'outputs.GetPrecisionTimeServicesDataPackageResult', - precision_time_price: 'outputs.GetPrecisionTimeServicesDataPrecisionTimePriceResult', - state: str, - type: str, - uuid: str, - ntp_advanced_configurations: Optional[Sequence['outputs.GetPrecisionTimeServicesDataNtpAdvancedConfigurationResult']] = None, - project: Optional['outputs.GetPrecisionTimeServicesDataProjectResult'] = None, - ptp_advanced_configuration: Optional['outputs.GetPrecisionTimeServicesDataPtpAdvancedConfigurationResult'] = None): - """ - :param 'GetPrecisionTimeServicesDataAccountArgs' account: Equinix User Account associated with Precision Time Service - :param 'GetPrecisionTimeServicesDataChangeLogArgs' change_log: Details of the last change on the route aggregation resource - :param Sequence['GetPrecisionTimeServicesDataConnectionArgs'] connections: An array of objects with unique identifiers of connections. - :param str href: Equinix generated Portal link for the created Precision Time Service - :param 'GetPrecisionTimeServicesDataIpv4Args' ipv4: An object that has Network IP Configurations for Timing Master Servers. - :param str name: Name of Precision Time Service. Applicable values: Maximum: 24 characters; Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_') - :param 'GetPrecisionTimeServicesDataOperationArgs' operation: Precision Time Service Operation - :param 'GetPrecisionTimeServicesDataOrderArgs' order: Precision Time Order - :param 'GetPrecisionTimeServicesDataPackageArgs' package: Precision Time Service Package Details - :param 'GetPrecisionTimeServicesDataPrecisionTimePriceArgs' precision_time_price: Precision Time Service Price - :param str state: Indicator of the state of this Precision Time Service - :param str type: Choose type of Precision Time Service - :param str uuid: Equinix generated id for the Precision Time Service - :param Sequence['GetPrecisionTimeServicesDataNtpAdvancedConfigurationArgs'] ntp_advanced_configurations: NTP Advanced configuration - :param 'GetPrecisionTimeServicesDataProjectArgs' project: Equinix Project attribute object - :param 'GetPrecisionTimeServicesDataPtpAdvancedConfigurationArgs' ptp_advanced_configuration: PTP Advanced Configuration + created_by: str, + created_by_email: str, + created_by_full_name: str, + created_date_time: str, + deleted_by: str, + deleted_by_email: str, + deleted_by_full_name: str, + deleted_date_time: str, + updated_by: str, + updated_by_email: str, + updated_by_full_name: str, + updated_date_time: str): + """ + :param str created_by: User name of creator of the route aggregation resource + :param str created_by_email: Email of creator of the route aggregation resource + :param str created_by_full_name: Legal name of creator of the route aggregation resource + :param str created_date_time: Creation time of the route aggregation resource + :param str deleted_by: User name of deleter of the route aggregation resource + :param str deleted_by_email: Email of deleter of the route aggregation resource + :param str deleted_by_full_name: Legal name of deleter of the route aggregation resource + :param str deleted_date_time: Deletion time of the route aggregation resource + :param str updated_by: User name of last updater of the route aggregation resource + :param str updated_by_email: Email of last updater of the route aggregation resource + :param str updated_by_full_name: Legal name of last updater of the route aggregation resource + :param str updated_date_time: Last update time of the route aggregation resource + """ + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_email", created_by_email) + pulumi.set(__self__, "created_by_full_name", created_by_full_name) + pulumi.set(__self__, "created_date_time", created_date_time) + pulumi.set(__self__, "deleted_by", deleted_by) + pulumi.set(__self__, "deleted_by_email", deleted_by_email) + pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) + pulumi.set(__self__, "deleted_date_time", deleted_date_time) + pulumi.set(__self__, "updated_by", updated_by) + pulumi.set(__self__, "updated_by_email", updated_by_email) + pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) + pulumi.set(__self__, "updated_date_time", updated_date_time) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> str: + """ + User name of creator of the route aggregation resource + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByEmail") + def created_by_email(self) -> str: + """ + Email of creator of the route aggregation resource + """ + return pulumi.get(self, "created_by_email") + + @property + @pulumi.getter(name="createdByFullName") + def created_by_full_name(self) -> str: + """ + Legal name of creator of the route aggregation resource + """ + return pulumi.get(self, "created_by_full_name") + + @property + @pulumi.getter(name="createdDateTime") + def created_date_time(self) -> str: + """ + Creation time of the route aggregation resource + """ + return pulumi.get(self, "created_date_time") + + @property + @pulumi.getter(name="deletedBy") + def deleted_by(self) -> str: + """ + User name of deleter of the route aggregation resource + """ + return pulumi.get(self, "deleted_by") + + @property + @pulumi.getter(name="deletedByEmail") + def deleted_by_email(self) -> str: + """ + Email of deleter of the route aggregation resource + """ + return pulumi.get(self, "deleted_by_email") + + @property + @pulumi.getter(name="deletedByFullName") + def deleted_by_full_name(self) -> str: + """ + Legal name of deleter of the route aggregation resource + """ + return pulumi.get(self, "deleted_by_full_name") + + @property + @pulumi.getter(name="deletedDateTime") + def deleted_date_time(self) -> str: + """ + Deletion time of the route aggregation resource + """ + return pulumi.get(self, "deleted_date_time") + + @property + @pulumi.getter(name="updatedBy") + def updated_by(self) -> str: + """ + User name of last updater of the route aggregation resource + """ + return pulumi.get(self, "updated_by") + + @property + @pulumi.getter(name="updatedByEmail") + def updated_by_email(self) -> str: + """ + Email of last updater of the route aggregation resource + """ + return pulumi.get(self, "updated_by_email") + + @property + @pulumi.getter(name="updatedByFullName") + def updated_by_full_name(self) -> str: + """ + Legal name of last updater of the route aggregation resource + """ + return pulumi.get(self, "updated_by_full_name") + + @property + @pulumi.getter(name="updatedDateTime") + def updated_date_time(self) -> str: + """ + Last update time of the route aggregation resource + """ + return pulumi.get(self, "updated_date_time") + + +@pulumi.output_type +class GetPrecisionTimeServiceConnectionResult(dict): + def __init__(__self__, *, + href: str, + type: str, + uuid: str): + """ + :param str href: Link to the Equinix Fabric Connection associated with the Precision Time Service + :param str type: Type of the Equinix Fabric Connection associated with the Precision Time Service + :param str uuid: Equinix Fabric Connection UUID; Precision Time Service will be connected with it """ - pulumi.set(__self__, "account", account) - pulumi.set(__self__, "change_log", change_log) - pulumi.set(__self__, "connections", connections) pulumi.set(__self__, "href", href) - pulumi.set(__self__, "ipv4", ipv4) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "operation", operation) - pulumi.set(__self__, "order", order) - pulumi.set(__self__, "package", package) - pulumi.set(__self__, "precision_time_price", precision_time_price) - pulumi.set(__self__, "state", state) pulumi.set(__self__, "type", type) pulumi.set(__self__, "uuid", uuid) - if ntp_advanced_configurations is not None: - pulumi.set(__self__, "ntp_advanced_configurations", ntp_advanced_configurations) - if project is not None: - pulumi.set(__self__, "project", project) - if ptp_advanced_configuration is not None: - pulumi.set(__self__, "ptp_advanced_configuration", ptp_advanced_configuration) @property @pulumi.getter - def account(self) -> 'outputs.GetPrecisionTimeServicesDataAccountResult': + def href(self) -> str: + """ + Link to the Equinix Fabric Connection associated with the Precision Time Service + """ + return pulumi.get(self, "href") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of the Equinix Fabric Connection associated with the Precision Time Service + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def uuid(self) -> str: + """ + Equinix Fabric Connection UUID; Precision Time Service will be connected with it + """ + return pulumi.get(self, "uuid") + + +@pulumi.output_type +class GetPrecisionTimeServiceIpv4Result(dict): + def __init__(__self__, *, + default_gateway: str, + network_mask: str, + primary: str, + secondary: str): + """ + :param str default_gateway: IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network. + :param str network_mask: IPv4 address that defines the range of consecutive subnets in the network. + :param str primary: IPv4 address for the Primary Timing Master Server. + :param str secondary: IPv4 address for the Secondary Timing Master Server. + """ + pulumi.set(__self__, "default_gateway", default_gateway) + pulumi.set(__self__, "network_mask", network_mask) + pulumi.set(__self__, "primary", primary) + pulumi.set(__self__, "secondary", secondary) + + @property + @pulumi.getter(name="defaultGateway") + def default_gateway(self) -> str: + """ + IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network. + """ + return pulumi.get(self, "default_gateway") + + @property + @pulumi.getter(name="networkMask") + def network_mask(self) -> str: + """ + IPv4 address that defines the range of consecutive subnets in the network. + """ + return pulumi.get(self, "network_mask") + + @property + @pulumi.getter + def primary(self) -> str: + """ + IPv4 address for the Primary Timing Master Server. + """ + return pulumi.get(self, "primary") + + @property + @pulumi.getter + def secondary(self) -> str: + """ + IPv4 address for the Secondary Timing Master Server. + """ + return pulumi.get(self, "secondary") + + +@pulumi.output_type +class GetPrecisionTimeServiceNtpAdvancedConfigurationResult(dict): + def __init__(__self__, *, + key: Optional[str] = None, + key_number: Optional[int] = None, + type: Optional[str] = None): + """ + :param str key: The plaintext authentication key. For ASCII type, the key\\ + \\ must contain printable ASCII characters, range 10-20 characters. For\\ + \\ HEX type, range should be 10-40 characters + :param int key_number: The authentication Key ID + :param str type: md5 Authentication type + """ + if key is not None: + pulumi.set(__self__, "key", key) + if key_number is not None: + pulumi.set(__self__, "key_number", key_number) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + The plaintext authentication key. For ASCII type, the key\\ + \\ must contain printable ASCII characters, range 10-20 characters. For\\ + \\ HEX type, range should be 10-40 characters + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="keyNumber") + def key_number(self) -> Optional[int]: + """ + The authentication Key ID + """ + return pulumi.get(self, "key_number") + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + md5 Authentication type + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class GetPrecisionTimeServiceOperationResult(dict): + def __init__(__self__, *, + operational_status: str): + pulumi.set(__self__, "operational_status", operational_status) + + @property + @pulumi.getter(name="operationalStatus") + def operational_status(self) -> str: + return pulumi.get(self, "operational_status") + + +@pulumi.output_type +class GetPrecisionTimeServiceOrderResult(dict): + def __init__(__self__, *, + customer_reference_number: str, + order_number: str, + purchase_order_number: str): + """ + :param str customer_reference_number: Customer reference number + :param str order_number: Order reference number + :param str purchase_order_number: Purchase order number + """ + pulumi.set(__self__, "customer_reference_number", customer_reference_number) + pulumi.set(__self__, "order_number", order_number) + pulumi.set(__self__, "purchase_order_number", purchase_order_number) + + @property + @pulumi.getter(name="customerReferenceNumber") + def customer_reference_number(self) -> str: + """ + Customer reference number + """ + return pulumi.get(self, "customer_reference_number") + + @property + @pulumi.getter(name="orderNumber") + def order_number(self) -> str: + """ + Order reference number + """ + return pulumi.get(self, "order_number") + + @property + @pulumi.getter(name="purchaseOrderNumber") + def purchase_order_number(self) -> str: + """ + Purchase order number + """ + return pulumi.get(self, "purchase_order_number") + + +@pulumi.output_type +class GetPrecisionTimeServicePackageResult(dict): + def __init__(__self__, *, + code: str, + href: str): + """ + :param str code: Time Precision Package Code for the desired billing package + :param str href: Time Precision Package HREF link to corresponding resource in Equinix Portal + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "href", href) + + @property + @pulumi.getter + def code(self) -> str: + """ + Time Precision Package Code for the desired billing package + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def href(self) -> str: + """ + Time Precision Package HREF link to corresponding resource in Equinix Portal + """ + return pulumi.get(self, "href") + + +@pulumi.output_type +class GetPrecisionTimeServicePrecisionTimePriceResult(dict): + def __init__(__self__, *, + charges: Sequence['outputs.GetPrecisionTimeServicePrecisionTimePriceChargeResult'], + currency: str): + """ + :param Sequence['GetPrecisionTimeServicePrecisionTimePriceChargeArgs'] charges: offering price charge + :param str currency: Offering price currency + """ + pulumi.set(__self__, "charges", charges) + pulumi.set(__self__, "currency", currency) + + @property + @pulumi.getter + def charges(self) -> Sequence['outputs.GetPrecisionTimeServicePrecisionTimePriceChargeResult']: + """ + offering price charge + """ + return pulumi.get(self, "charges") + + @property + @pulumi.getter + def currency(self) -> str: + """ + Offering price currency + """ + return pulumi.get(self, "currency") + + +@pulumi.output_type +class GetPrecisionTimeServicePrecisionTimePriceChargeResult(dict): + def __init__(__self__, *, + price: float, + type: str): + """ + :param float price: Offering price + :param str type: Price charge type; MONTHLY*RECURRING, NON*RECURRING + """ + pulumi.set(__self__, "price", price) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def price(self) -> float: + """ + Offering price + """ + return pulumi.get(self, "price") + + @property + @pulumi.getter + def type(self) -> str: + """ + Price charge type; MONTHLY*RECURRING, NON*RECURRING + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class GetPrecisionTimeServiceProjectResult(dict): + def __init__(__self__, *, + project_id: str): + """ + :param str project_id: Equinix Subscriber-assigned project ID + """ + pulumi.set(__self__, "project_id", project_id) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + """ + Equinix Subscriber-assigned project ID + """ + return pulumi.get(self, "project_id") + + +@pulumi.output_type +class GetPrecisionTimeServicePtpAdvancedConfigurationResult(dict): + def __init__(__self__, *, + domain: Optional[int] = None, + grant_time: Optional[int] = None, + log_announce_interval: Optional[int] = None, + log_delay_req_interval: Optional[int] = None, + log_sync_interval: Optional[int] = None, + priority1: Optional[int] = None, + priority2: Optional[int] = None, + time_scale: Optional[str] = None, + transport_mode: Optional[str] = None): + """ + :param int domain: The PTP domain value + :param int grant_time: Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200 + :param int log_announce_interval: Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second + :param int log_delay_req_interval: Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second.. + :param int log_sync_interval: Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second.. + :param int priority1: The priority1 value determines the best primary clock, Lower value indicates higher priority + :param int priority2: The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network + :param str time_scale: Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol + :param str transport_mode: ptp transport mode + """ + if domain is not None: + pulumi.set(__self__, "domain", domain) + if grant_time is not None: + pulumi.set(__self__, "grant_time", grant_time) + if log_announce_interval is not None: + pulumi.set(__self__, "log_announce_interval", log_announce_interval) + if log_delay_req_interval is not None: + pulumi.set(__self__, "log_delay_req_interval", log_delay_req_interval) + if log_sync_interval is not None: + pulumi.set(__self__, "log_sync_interval", log_sync_interval) + if priority1 is not None: + pulumi.set(__self__, "priority1", priority1) + if priority2 is not None: + pulumi.set(__self__, "priority2", priority2) + if time_scale is not None: + pulumi.set(__self__, "time_scale", time_scale) + if transport_mode is not None: + pulumi.set(__self__, "transport_mode", transport_mode) + + @property + @pulumi.getter + def domain(self) -> Optional[int]: + """ + The PTP domain value + """ + return pulumi.get(self, "domain") + + @property + @pulumi.getter(name="grantTime") + def grant_time(self) -> Optional[int]: + """ + Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200 + """ + return pulumi.get(self, "grant_time") + + @property + @pulumi.getter(name="logAnnounceInterval") + def log_announce_interval(self) -> Optional[int]: + """ + Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second + """ + return pulumi.get(self, "log_announce_interval") + + @property + @pulumi.getter(name="logDelayReqInterval") + def log_delay_req_interval(self) -> Optional[int]: + """ + Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second.. + """ + return pulumi.get(self, "log_delay_req_interval") + + @property + @pulumi.getter(name="logSyncInterval") + def log_sync_interval(self) -> Optional[int]: + """ + Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second.. + """ + return pulumi.get(self, "log_sync_interval") + + @property + @pulumi.getter + def priority1(self) -> Optional[int]: + """ + The priority1 value determines the best primary clock, Lower value indicates higher priority + """ + return pulumi.get(self, "priority1") + + @property + @pulumi.getter + def priority2(self) -> Optional[int]: + """ + The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network + """ + return pulumi.get(self, "priority2") + + @property + @pulumi.getter(name="timeScale") + def time_scale(self) -> Optional[str]: + """ + Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol + """ + return pulumi.get(self, "time_scale") + + @property + @pulumi.getter(name="transportMode") + def transport_mode(self) -> Optional[str]: + """ + ptp transport mode + """ + return pulumi.get(self, "transport_mode") + + +@pulumi.output_type +class GetPrecisionTimeServicesDataResult(dict): + def __init__(__self__, *, + account: 'outputs.GetPrecisionTimeServicesDataAccountResult', + change_log: 'outputs.GetPrecisionTimeServicesDataChangeLogResult', + connections: Sequence['outputs.GetPrecisionTimeServicesDataConnectionResult'], + href: str, + ipv4: 'outputs.GetPrecisionTimeServicesDataIpv4Result', + name: str, + operation: 'outputs.GetPrecisionTimeServicesDataOperationResult', + order: 'outputs.GetPrecisionTimeServicesDataOrderResult', + package: 'outputs.GetPrecisionTimeServicesDataPackageResult', + precision_time_price: 'outputs.GetPrecisionTimeServicesDataPrecisionTimePriceResult', + state: str, + type: str, + uuid: str, + ntp_advanced_configurations: Optional[Sequence['outputs.GetPrecisionTimeServicesDataNtpAdvancedConfigurationResult']] = None, + project: Optional['outputs.GetPrecisionTimeServicesDataProjectResult'] = None, + ptp_advanced_configuration: Optional['outputs.GetPrecisionTimeServicesDataPtpAdvancedConfigurationResult'] = None): + """ + :param 'GetPrecisionTimeServicesDataAccountArgs' account: Equinix User Account associated with Precision Time Service + :param 'GetPrecisionTimeServicesDataChangeLogArgs' change_log: Details of the last change on the route aggregation resource + :param Sequence['GetPrecisionTimeServicesDataConnectionArgs'] connections: An array of objects with unique identifiers of connections. + :param str href: Equinix generated Portal link for the created Precision Time Service + :param 'GetPrecisionTimeServicesDataIpv4Args' ipv4: An object that has Network IP Configurations for Timing Master Servers. + :param str name: Name of Precision Time Service. Applicable values: Maximum: 24 characters; Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_') + :param 'GetPrecisionTimeServicesDataOperationArgs' operation: Precision Time Service Operation + :param 'GetPrecisionTimeServicesDataOrderArgs' order: Precision Time Order + :param 'GetPrecisionTimeServicesDataPackageArgs' package: Precision Time Service Package Details + :param 'GetPrecisionTimeServicesDataPrecisionTimePriceArgs' precision_time_price: Precision Time Service Price + :param str state: Indicator of the state of this Precision Time Service + :param str type: Choose type of Precision Time Service + :param str uuid: Equinix generated id for the Precision Time Service + :param Sequence['GetPrecisionTimeServicesDataNtpAdvancedConfigurationArgs'] ntp_advanced_configurations: NTP Advanced configuration + :param 'GetPrecisionTimeServicesDataProjectArgs' project: Equinix Project attribute object + :param 'GetPrecisionTimeServicesDataPtpAdvancedConfigurationArgs' ptp_advanced_configuration: PTP Advanced Configuration + """ + pulumi.set(__self__, "account", account) + pulumi.set(__self__, "change_log", change_log) + pulumi.set(__self__, "connections", connections) + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "ipv4", ipv4) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "operation", operation) + pulumi.set(__self__, "order", order) + pulumi.set(__self__, "package", package) + pulumi.set(__self__, "precision_time_price", precision_time_price) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) + if ntp_advanced_configurations is not None: + pulumi.set(__self__, "ntp_advanced_configurations", ntp_advanced_configurations) + if project is not None: + pulumi.set(__self__, "project", project) + if ptp_advanced_configuration is not None: + pulumi.set(__self__, "ptp_advanced_configuration", ptp_advanced_configuration) + + @property + @pulumi.getter + def account(self) -> 'outputs.GetPrecisionTimeServicesDataAccountResult': + """ + Equinix User Account associated with Precision Time Service + """ + return pulumi.get(self, "account") + + @property + @pulumi.getter(name="changeLog") + def change_log(self) -> 'outputs.GetPrecisionTimeServicesDataChangeLogResult': + """ + Details of the last change on the route aggregation resource + """ + return pulumi.get(self, "change_log") + + @property + @pulumi.getter + def connections(self) -> Sequence['outputs.GetPrecisionTimeServicesDataConnectionResult']: + """ + An array of objects with unique identifiers of connections. + """ + return pulumi.get(self, "connections") + + @property + @pulumi.getter + def href(self) -> str: + """ + Equinix generated Portal link for the created Precision Time Service + """ + return pulumi.get(self, "href") + + @property + @pulumi.getter + def ipv4(self) -> 'outputs.GetPrecisionTimeServicesDataIpv4Result': + """ + An object that has Network IP Configurations for Timing Master Servers. + """ + return pulumi.get(self, "ipv4") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of Precision Time Service. Applicable values: Maximum: 24 characters; Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_') + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def operation(self) -> 'outputs.GetPrecisionTimeServicesDataOperationResult': + """ + Precision Time Service Operation + """ + return pulumi.get(self, "operation") + + @property + @pulumi.getter + def order(self) -> 'outputs.GetPrecisionTimeServicesDataOrderResult': + """ + Precision Time Order + """ + return pulumi.get(self, "order") + + @property + @pulumi.getter + def package(self) -> 'outputs.GetPrecisionTimeServicesDataPackageResult': + """ + Precision Time Service Package Details + """ + return pulumi.get(self, "package") + + @property + @pulumi.getter(name="precisionTimePrice") + def precision_time_price(self) -> 'outputs.GetPrecisionTimeServicesDataPrecisionTimePriceResult': + """ + Precision Time Service Price + """ + return pulumi.get(self, "precision_time_price") + + @property + @pulumi.getter + def state(self) -> str: + """ + Indicator of the state of this Precision Time Service + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def type(self) -> str: + """ + Choose type of Precision Time Service + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def uuid(self) -> str: + """ + Equinix generated id for the Precision Time Service + """ + return pulumi.get(self, "uuid") + + @property + @pulumi.getter(name="ntpAdvancedConfigurations") + def ntp_advanced_configurations(self) -> Optional[Sequence['outputs.GetPrecisionTimeServicesDataNtpAdvancedConfigurationResult']]: + """ + NTP Advanced configuration + """ + return pulumi.get(self, "ntp_advanced_configurations") + + @property + @pulumi.getter + def project(self) -> Optional['outputs.GetPrecisionTimeServicesDataProjectResult']: + """ + Equinix Project attribute object + """ + return pulumi.get(self, "project") + + @property + @pulumi.getter(name="ptpAdvancedConfiguration") + def ptp_advanced_configuration(self) -> Optional['outputs.GetPrecisionTimeServicesDataPtpAdvancedConfigurationResult']: + """ + PTP Advanced Configuration + """ + return pulumi.get(self, "ptp_advanced_configuration") + + +@pulumi.output_type +class GetPrecisionTimeServicesDataAccountResult(dict): + def __init__(__self__, *, + account_name: str, + account_number: int, + global_cust_id: str, + global_org_id: str, + global_organization_name: str, + org_id: int, + organization_name: str, + reseller_account_name: str, + reseller_account_number: int, + reseller_org_id: int, + reseller_ucm_id: str, + ucm_id: str): + """ + :param str account_name: Account Name + :param int account_number: Equinix Account Number + :param str global_cust_id: Global Customer Id + :param str global_org_id: Customer organization naidentifierme + :param str global_organization_name: Global organization name + :param int org_id: Customer organization identifier + :param str organization_name: Customer organization name + :param str reseller_account_name: Reseller account name + :param int reseller_account_number: Reseller account number + :param int reseller_org_id: Reseller customer organization identifier + :param str reseller_ucm_id: Reseller account ucmId + :param str ucm_id: Global organization name + """ + pulumi.set(__self__, "account_name", account_name) + pulumi.set(__self__, "account_number", account_number) + pulumi.set(__self__, "global_cust_id", global_cust_id) + pulumi.set(__self__, "global_org_id", global_org_id) + pulumi.set(__self__, "global_organization_name", global_organization_name) + pulumi.set(__self__, "org_id", org_id) + pulumi.set(__self__, "organization_name", organization_name) + pulumi.set(__self__, "reseller_account_name", reseller_account_name) + pulumi.set(__self__, "reseller_account_number", reseller_account_number) + pulumi.set(__self__, "reseller_org_id", reseller_org_id) + pulumi.set(__self__, "reseller_ucm_id", reseller_ucm_id) + pulumi.set(__self__, "ucm_id", ucm_id) + + @property + @pulumi.getter(name="accountName") + def account_name(self) -> str: + """ + Account Name + """ + return pulumi.get(self, "account_name") + + @property + @pulumi.getter(name="accountNumber") + def account_number(self) -> int: + """ + Equinix Account Number + """ + return pulumi.get(self, "account_number") + + @property + @pulumi.getter(name="globalCustId") + def global_cust_id(self) -> str: + """ + Global Customer Id + """ + return pulumi.get(self, "global_cust_id") + + @property + @pulumi.getter(name="globalOrgId") + def global_org_id(self) -> str: + """ + Customer organization naidentifierme + """ + return pulumi.get(self, "global_org_id") + + @property + @pulumi.getter(name="globalOrganizationName") + def global_organization_name(self) -> str: + """ + Global organization name + """ + return pulumi.get(self, "global_organization_name") + + @property + @pulumi.getter(name="orgId") + def org_id(self) -> int: + """ + Customer organization identifier + """ + return pulumi.get(self, "org_id") + + @property + @pulumi.getter(name="organizationName") + def organization_name(self) -> str: + """ + Customer organization name + """ + return pulumi.get(self, "organization_name") + + @property + @pulumi.getter(name="resellerAccountName") + def reseller_account_name(self) -> str: + """ + Reseller account name + """ + return pulumi.get(self, "reseller_account_name") + + @property + @pulumi.getter(name="resellerAccountNumber") + def reseller_account_number(self) -> int: + """ + Reseller account number + """ + return pulumi.get(self, "reseller_account_number") + + @property + @pulumi.getter(name="resellerOrgId") + def reseller_org_id(self) -> int: + """ + Reseller customer organization identifier + """ + return pulumi.get(self, "reseller_org_id") + + @property + @pulumi.getter(name="resellerUcmId") + def reseller_ucm_id(self) -> str: + """ + Reseller account ucmId + """ + return pulumi.get(self, "reseller_ucm_id") + + @property + @pulumi.getter(name="ucmId") + def ucm_id(self) -> str: + """ + Global organization name + """ + return pulumi.get(self, "ucm_id") + + +@pulumi.output_type +class GetPrecisionTimeServicesDataChangeLogResult(dict): + def __init__(__self__, *, + created_by: str, + created_by_email: str, + created_by_full_name: str, + created_date_time: str, + deleted_by: str, + deleted_by_email: str, + deleted_by_full_name: str, + deleted_date_time: str, + updated_by: str, + updated_by_email: str, + updated_by_full_name: str, + updated_date_time: str): + """ + :param str created_by: User name of creator of the route aggregation resource + :param str created_by_email: Email of creator of the route aggregation resource + :param str created_by_full_name: Legal name of creator of the route aggregation resource + :param str created_date_time: Creation time of the route aggregation resource + :param str deleted_by: User name of deleter of the route aggregation resource + :param str deleted_by_email: Email of deleter of the route aggregation resource + :param str deleted_by_full_name: Legal name of deleter of the route aggregation resource + :param str deleted_date_time: Deletion time of the route aggregation resource + :param str updated_by: User name of last updater of the route aggregation resource + :param str updated_by_email: Email of last updater of the route aggregation resource + :param str updated_by_full_name: Legal name of last updater of the route aggregation resource + :param str updated_date_time: Last update time of the route aggregation resource + """ + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_email", created_by_email) + pulumi.set(__self__, "created_by_full_name", created_by_full_name) + pulumi.set(__self__, "created_date_time", created_date_time) + pulumi.set(__self__, "deleted_by", deleted_by) + pulumi.set(__self__, "deleted_by_email", deleted_by_email) + pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) + pulumi.set(__self__, "deleted_date_time", deleted_date_time) + pulumi.set(__self__, "updated_by", updated_by) + pulumi.set(__self__, "updated_by_email", updated_by_email) + pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) + pulumi.set(__self__, "updated_date_time", updated_date_time) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> str: + """ + User name of creator of the route aggregation resource + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="createdByEmail") + def created_by_email(self) -> str: + """ + Email of creator of the route aggregation resource + """ + return pulumi.get(self, "created_by_email") + + @property + @pulumi.getter(name="createdByFullName") + def created_by_full_name(self) -> str: + """ + Legal name of creator of the route aggregation resource + """ + return pulumi.get(self, "created_by_full_name") + + @property + @pulumi.getter(name="createdDateTime") + def created_date_time(self) -> str: + """ + Creation time of the route aggregation resource + """ + return pulumi.get(self, "created_date_time") + + @property + @pulumi.getter(name="deletedBy") + def deleted_by(self) -> str: + """ + User name of deleter of the route aggregation resource + """ + return pulumi.get(self, "deleted_by") + + @property + @pulumi.getter(name="deletedByEmail") + def deleted_by_email(self) -> str: + """ + Email of deleter of the route aggregation resource + """ + return pulumi.get(self, "deleted_by_email") + + @property + @pulumi.getter(name="deletedByFullName") + def deleted_by_full_name(self) -> str: + """ + Legal name of deleter of the route aggregation resource + """ + return pulumi.get(self, "deleted_by_full_name") + + @property + @pulumi.getter(name="deletedDateTime") + def deleted_date_time(self) -> str: + """ + Deletion time of the route aggregation resource + """ + return pulumi.get(self, "deleted_date_time") + + @property + @pulumi.getter(name="updatedBy") + def updated_by(self) -> str: + """ + User name of last updater of the route aggregation resource + """ + return pulumi.get(self, "updated_by") + + @property + @pulumi.getter(name="updatedByEmail") + def updated_by_email(self) -> str: + """ + Email of last updater of the route aggregation resource + """ + return pulumi.get(self, "updated_by_email") + + @property + @pulumi.getter(name="updatedByFullName") + def updated_by_full_name(self) -> str: """ - Equinix User Account associated with Precision Time Service + Legal name of last updater of the route aggregation resource """ - return pulumi.get(self, "account") + return pulumi.get(self, "updated_by_full_name") @property - @pulumi.getter(name="changeLog") - def change_log(self) -> 'outputs.GetPrecisionTimeServicesDataChangeLogResult': + @pulumi.getter(name="updatedDateTime") + def updated_date_time(self) -> str: """ - Details of the last change on the route aggregation resource + Last update time of the route aggregation resource """ - return pulumi.get(self, "change_log") + return pulumi.get(self, "updated_date_time") - @property - @pulumi.getter - def connections(self) -> Sequence['outputs.GetPrecisionTimeServicesDataConnectionResult']: + +@pulumi.output_type +class GetPrecisionTimeServicesDataConnectionResult(dict): + def __init__(__self__, *, + href: str, + type: str, + uuid: str): """ - An array of objects with unique identifiers of connections. + :param str href: Link to the Equinix Fabric Connection associated with the Precision Time Service + :param str type: Type of the Equinix Fabric Connection associated with the Precision Time Service + :param str uuid: Equinix Fabric Connection UUID; Precision Time Service will be connected with it """ - return pulumi.get(self, "connections") + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter def href(self) -> str: """ - Equinix generated Portal link for the created Precision Time Service + Link to the Equinix Fabric Connection associated with the Precision Time Service """ return pulumi.get(self, "href") @property @pulumi.getter - def ipv4(self) -> 'outputs.GetPrecisionTimeServicesDataIpv4Result': + def type(self) -> str: """ - An object that has Network IP Configurations for Timing Master Servers. + Type of the Equinix Fabric Connection associated with the Precision Time Service """ - return pulumi.get(self, "ipv4") + return pulumi.get(self, "type") @property @pulumi.getter - def name(self) -> str: + def uuid(self) -> str: """ - Name of Precision Time Service. Applicable values: Maximum: 24 characters; Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_') + Equinix Fabric Connection UUID; Precision Time Service will be connected with it """ - return pulumi.get(self, "name") + return pulumi.get(self, "uuid") - @property - @pulumi.getter - def operation(self) -> 'outputs.GetPrecisionTimeServicesDataOperationResult': + +@pulumi.output_type +class GetPrecisionTimeServicesDataIpv4Result(dict): + def __init__(__self__, *, + default_gateway: str, + network_mask: str, + primary: str, + secondary: str): """ - Precision Time Service Operation + :param str default_gateway: IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network. + :param str network_mask: IPv4 address that defines the range of consecutive subnets in the network. + :param str primary: IPv4 address for the Primary Timing Master Server. + :param str secondary: IPv4 address for the Secondary Timing Master Server. """ - return pulumi.get(self, "operation") + pulumi.set(__self__, "default_gateway", default_gateway) + pulumi.set(__self__, "network_mask", network_mask) + pulumi.set(__self__, "primary", primary) + pulumi.set(__self__, "secondary", secondary) @property - @pulumi.getter - def order(self) -> 'outputs.GetPrecisionTimeServicesDataOrderResult': + @pulumi.getter(name="defaultGateway") + def default_gateway(self) -> str: """ - Precision Time Order + IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network. """ - return pulumi.get(self, "order") + return pulumi.get(self, "default_gateway") @property - @pulumi.getter - def package(self) -> 'outputs.GetPrecisionTimeServicesDataPackageResult': + @pulumi.getter(name="networkMask") + def network_mask(self) -> str: """ - Precision Time Service Package Details + IPv4 address that defines the range of consecutive subnets in the network. """ - return pulumi.get(self, "package") + return pulumi.get(self, "network_mask") @property - @pulumi.getter(name="precisionTimePrice") - def precision_time_price(self) -> 'outputs.GetPrecisionTimeServicesDataPrecisionTimePriceResult': + @pulumi.getter + def primary(self) -> str: """ - Precision Time Service Price + IPv4 address for the Primary Timing Master Server. """ - return pulumi.get(self, "precision_time_price") + return pulumi.get(self, "primary") @property @pulumi.getter - def state(self) -> str: + def secondary(self) -> str: """ - Indicator of the state of this Precision Time Service + IPv4 address for the Secondary Timing Master Server. """ - return pulumi.get(self, "state") + return pulumi.get(self, "secondary") - @property - @pulumi.getter - def type(self) -> str: + +@pulumi.output_type +class GetPrecisionTimeServicesDataNtpAdvancedConfigurationResult(dict): + def __init__(__self__, *, + key: Optional[str] = None, + key_number: Optional[int] = None, + type: Optional[str] = None): """ - Choose type of Precision Time Service + :param str key: The plaintext authentication key. For ASCII type, the key\\ + \\ must contain printable ASCII characters, range 10-20 characters. For\\ + \\ HEX type, range should be 10-40 characters + :param int key_number: The authentication Key ID + :param str type: md5 Authentication type """ - return pulumi.get(self, "type") + if key is not None: + pulumi.set(__self__, "key", key) + if key_number is not None: + pulumi.set(__self__, "key_number", key_number) + if type is not None: + pulumi.set(__self__, "type", type) @property @pulumi.getter - def uuid(self) -> str: + def key(self) -> Optional[str]: """ - Equinix generated id for the Precision Time Service + The plaintext authentication key. For ASCII type, the key\\ + \\ must contain printable ASCII characters, range 10-20 characters. For\\ + \\ HEX type, range should be 10-40 characters """ - return pulumi.get(self, "uuid") + return pulumi.get(self, "key") @property - @pulumi.getter(name="ntpAdvancedConfigurations") - def ntp_advanced_configurations(self) -> Optional[Sequence['outputs.GetPrecisionTimeServicesDataNtpAdvancedConfigurationResult']]: + @pulumi.getter(name="keyNumber") + def key_number(self) -> Optional[int]: """ - NTP Advanced configuration + The authentication Key ID """ - return pulumi.get(self, "ntp_advanced_configurations") + return pulumi.get(self, "key_number") @property @pulumi.getter - def project(self) -> Optional['outputs.GetPrecisionTimeServicesDataProjectResult']: + def type(self) -> Optional[str]: """ - Equinix Project attribute object + md5 Authentication type """ - return pulumi.get(self, "project") + return pulumi.get(self, "type") + + +@pulumi.output_type +class GetPrecisionTimeServicesDataOperationResult(dict): + def __init__(__self__, *, + operational_status: str): + pulumi.set(__self__, "operational_status", operational_status) @property - @pulumi.getter(name="ptpAdvancedConfiguration") - def ptp_advanced_configuration(self) -> Optional['outputs.GetPrecisionTimeServicesDataPtpAdvancedConfigurationResult']: - """ - PTP Advanced Configuration - """ - return pulumi.get(self, "ptp_advanced_configuration") + @pulumi.getter(name="operationalStatus") + def operational_status(self) -> str: + return pulumi.get(self, "operational_status") @pulumi.output_type -class GetPrecisionTimeServicesDataAccountResult(dict): +class GetPrecisionTimeServicesDataOrderResult(dict): def __init__(__self__, *, - account_name: str, - account_number: int, - global_cust_id: str, - global_org_id: str, - global_organization_name: str, - org_id: int, - organization_name: str, - reseller_account_name: str, - reseller_account_number: int, - reseller_org_id: int, - reseller_ucm_id: str, - ucm_id: str): + customer_reference_number: str, + order_number: str, + purchase_order_number: str): """ - :param str account_name: Account Name - :param int account_number: Equinix Account Number - :param str global_cust_id: Global Customer Id - :param str global_org_id: Customer organization naidentifierme - :param str global_organization_name: Global organization name - :param int org_id: Customer organization identifier - :param str organization_name: Customer organization name - :param str reseller_account_name: Reseller account name - :param int reseller_account_number: Reseller account number - :param int reseller_org_id: Reseller customer organization identifier - :param str reseller_ucm_id: Reseller account ucmId - :param str ucm_id: Global organization name + :param str customer_reference_number: Customer reference number + :param str order_number: Order reference number + :param str purchase_order_number: Purchase order number """ - pulumi.set(__self__, "account_name", account_name) - pulumi.set(__self__, "account_number", account_number) - pulumi.set(__self__, "global_cust_id", global_cust_id) - pulumi.set(__self__, "global_org_id", global_org_id) - pulumi.set(__self__, "global_organization_name", global_organization_name) - pulumi.set(__self__, "org_id", org_id) - pulumi.set(__self__, "organization_name", organization_name) - pulumi.set(__self__, "reseller_account_name", reseller_account_name) - pulumi.set(__self__, "reseller_account_number", reseller_account_number) - pulumi.set(__self__, "reseller_org_id", reseller_org_id) - pulumi.set(__self__, "reseller_ucm_id", reseller_ucm_id) - pulumi.set(__self__, "ucm_id", ucm_id) + pulumi.set(__self__, "customer_reference_number", customer_reference_number) + pulumi.set(__self__, "order_number", order_number) + pulumi.set(__self__, "purchase_order_number", purchase_order_number) @property - @pulumi.getter(name="accountName") - def account_name(self) -> str: + @pulumi.getter(name="customerReferenceNumber") + def customer_reference_number(self) -> str: """ - Account Name + Customer reference number """ - return pulumi.get(self, "account_name") + return pulumi.get(self, "customer_reference_number") @property - @pulumi.getter(name="accountNumber") - def account_number(self) -> int: + @pulumi.getter(name="orderNumber") + def order_number(self) -> str: """ - Equinix Account Number + Order reference number """ - return pulumi.get(self, "account_number") + return pulumi.get(self, "order_number") @property - @pulumi.getter(name="globalCustId") - def global_cust_id(self) -> str: + @pulumi.getter(name="purchaseOrderNumber") + def purchase_order_number(self) -> str: """ - Global Customer Id + Purchase order number """ - return pulumi.get(self, "global_cust_id") + return pulumi.get(self, "purchase_order_number") - @property - @pulumi.getter(name="globalOrgId") - def global_org_id(self) -> str: + +@pulumi.output_type +class GetPrecisionTimeServicesDataPackageResult(dict): + def __init__(__self__, *, + code: str, + href: str): """ - Customer organization naidentifierme + :param str code: Time Precision Package Code for the desired billing package + :param str href: Time Precision Package HREF link to corresponding resource in Equinix Portal """ - return pulumi.get(self, "global_org_id") + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "href", href) @property - @pulumi.getter(name="globalOrganizationName") - def global_organization_name(self) -> str: + @pulumi.getter + def code(self) -> str: """ - Global organization name + Time Precision Package Code for the desired billing package """ - return pulumi.get(self, "global_organization_name") + return pulumi.get(self, "code") @property - @pulumi.getter(name="orgId") - def org_id(self) -> int: + @pulumi.getter + def href(self) -> str: """ - Customer organization identifier + Time Precision Package HREF link to corresponding resource in Equinix Portal """ - return pulumi.get(self, "org_id") + return pulumi.get(self, "href") - @property - @pulumi.getter(name="organizationName") - def organization_name(self) -> str: + +@pulumi.output_type +class GetPrecisionTimeServicesDataPrecisionTimePriceResult(dict): + def __init__(__self__, *, + charges: Sequence['outputs.GetPrecisionTimeServicesDataPrecisionTimePriceChargeResult'], + currency: str): """ - Customer organization name + :param Sequence['GetPrecisionTimeServicesDataPrecisionTimePriceChargeArgs'] charges: offering price charge + :param str currency: Offering price currency """ - return pulumi.get(self, "organization_name") + pulumi.set(__self__, "charges", charges) + pulumi.set(__self__, "currency", currency) @property - @pulumi.getter(name="resellerAccountName") - def reseller_account_name(self) -> str: + @pulumi.getter + def charges(self) -> Sequence['outputs.GetPrecisionTimeServicesDataPrecisionTimePriceChargeResult']: """ - Reseller account name + offering price charge """ - return pulumi.get(self, "reseller_account_name") + return pulumi.get(self, "charges") @property - @pulumi.getter(name="resellerAccountNumber") - def reseller_account_number(self) -> int: + @pulumi.getter + def currency(self) -> str: """ - Reseller account number + Offering price currency """ - return pulumi.get(self, "reseller_account_number") + return pulumi.get(self, "currency") - @property - @pulumi.getter(name="resellerOrgId") - def reseller_org_id(self) -> int: + +@pulumi.output_type +class GetPrecisionTimeServicesDataPrecisionTimePriceChargeResult(dict): + def __init__(__self__, *, + price: float, + type: str): """ - Reseller customer organization identifier + :param float price: Offering price + :param str type: Price charge type; MONTHLY*RECURRING, NON*RECURRING """ - return pulumi.get(self, "reseller_org_id") + pulumi.set(__self__, "price", price) + pulumi.set(__self__, "type", type) @property - @pulumi.getter(name="resellerUcmId") - def reseller_ucm_id(self) -> str: + @pulumi.getter + def price(self) -> float: """ - Reseller account ucmId + Offering price """ - return pulumi.get(self, "reseller_ucm_id") + return pulumi.get(self, "price") @property - @pulumi.getter(name="ucmId") - def ucm_id(self) -> str: + @pulumi.getter + def type(self) -> str: """ - Global organization name + Price charge type; MONTHLY*RECURRING, NON*RECURRING """ - return pulumi.get(self, "ucm_id") + return pulumi.get(self, "type") @pulumi.output_type -class GetPrecisionTimeServicesDataChangeLogResult(dict): +class GetPrecisionTimeServicesDataProjectResult(dict): def __init__(__self__, *, - created_by: str, - created_by_email: str, - created_by_full_name: str, - created_date_time: str, - deleted_by: str, - deleted_by_email: str, - deleted_by_full_name: str, - deleted_date_time: str, - updated_by: str, - updated_by_email: str, - updated_by_full_name: str, - updated_date_time: str): + project_id: str): """ - :param str created_by: User name of creator of the route aggregation resource - :param str created_by_email: Email of creator of the route aggregation resource - :param str created_by_full_name: Legal name of creator of the route aggregation resource - :param str created_date_time: Creation time of the route aggregation resource - :param str deleted_by: User name of deleter of the route aggregation resource - :param str deleted_by_email: Email of deleter of the route aggregation resource - :param str deleted_by_full_name: Legal name of deleter of the route aggregation resource - :param str deleted_date_time: Deletion time of the route aggregation resource - :param str updated_by: User name of last updater of the route aggregation resource - :param str updated_by_email: Email of last updater of the route aggregation resource - :param str updated_by_full_name: Legal name of last updater of the route aggregation resource - :param str updated_date_time: Last update time of the route aggregation resource + :param str project_id: Equinix Subscriber-assigned project ID """ - pulumi.set(__self__, "created_by", created_by) - pulumi.set(__self__, "created_by_email", created_by_email) - pulumi.set(__self__, "created_by_full_name", created_by_full_name) - pulumi.set(__self__, "created_date_time", created_date_time) - pulumi.set(__self__, "deleted_by", deleted_by) - pulumi.set(__self__, "deleted_by_email", deleted_by_email) - pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) - pulumi.set(__self__, "deleted_date_time", deleted_date_time) - pulumi.set(__self__, "updated_by", updated_by) - pulumi.set(__self__, "updated_by_email", updated_by_email) - pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) - pulumi.set(__self__, "updated_date_time", updated_date_time) + pulumi.set(__self__, "project_id", project_id) @property - @pulumi.getter(name="createdBy") - def created_by(self) -> str: + @pulumi.getter(name="projectId") + def project_id(self) -> str: """ - User name of creator of the route aggregation resource + Equinix Subscriber-assigned project ID """ - return pulumi.get(self, "created_by") + return pulumi.get(self, "project_id") - @property - @pulumi.getter(name="createdByEmail") - def created_by_email(self) -> str: - """ - Email of creator of the route aggregation resource - """ - return pulumi.get(self, "created_by_email") - @property - @pulumi.getter(name="createdByFullName") - def created_by_full_name(self) -> str: +@pulumi.output_type +class GetPrecisionTimeServicesDataPtpAdvancedConfigurationResult(dict): + def __init__(__self__, *, + domain: Optional[int] = None, + grant_time: Optional[int] = None, + log_announce_interval: Optional[int] = None, + log_delay_req_interval: Optional[int] = None, + log_sync_interval: Optional[int] = None, + priority1: Optional[int] = None, + priority2: Optional[int] = None, + time_scale: Optional[str] = None, + transport_mode: Optional[str] = None): """ - Legal name of creator of the route aggregation resource + :param int domain: The PTP domain value + :param int grant_time: Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200 + :param int log_announce_interval: Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second + :param int log_delay_req_interval: Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second.. + :param int log_sync_interval: Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second.. + :param int priority1: The priority1 value determines the best primary clock, Lower value indicates higher priority + :param int priority2: The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network + :param str time_scale: Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol + :param str transport_mode: ptp transport mode """ - return pulumi.get(self, "created_by_full_name") + if domain is not None: + pulumi.set(__self__, "domain", domain) + if grant_time is not None: + pulumi.set(__self__, "grant_time", grant_time) + if log_announce_interval is not None: + pulumi.set(__self__, "log_announce_interval", log_announce_interval) + if log_delay_req_interval is not None: + pulumi.set(__self__, "log_delay_req_interval", log_delay_req_interval) + if log_sync_interval is not None: + pulumi.set(__self__, "log_sync_interval", log_sync_interval) + if priority1 is not None: + pulumi.set(__self__, "priority1", priority1) + if priority2 is not None: + pulumi.set(__self__, "priority2", priority2) + if time_scale is not None: + pulumi.set(__self__, "time_scale", time_scale) + if transport_mode is not None: + pulumi.set(__self__, "transport_mode", transport_mode) @property - @pulumi.getter(name="createdDateTime") - def created_date_time(self) -> str: + @pulumi.getter + def domain(self) -> Optional[int]: """ - Creation time of the route aggregation resource + The PTP domain value """ - return pulumi.get(self, "created_date_time") + return pulumi.get(self, "domain") @property - @pulumi.getter(name="deletedBy") - def deleted_by(self) -> str: + @pulumi.getter(name="grantTime") + def grant_time(self) -> Optional[int]: """ - User name of deleter of the route aggregation resource + Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200 """ - return pulumi.get(self, "deleted_by") + return pulumi.get(self, "grant_time") @property - @pulumi.getter(name="deletedByEmail") - def deleted_by_email(self) -> str: + @pulumi.getter(name="logAnnounceInterval") + def log_announce_interval(self) -> Optional[int]: """ - Email of deleter of the route aggregation resource + Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second """ - return pulumi.get(self, "deleted_by_email") + return pulumi.get(self, "log_announce_interval") @property - @pulumi.getter(name="deletedByFullName") - def deleted_by_full_name(self) -> str: + @pulumi.getter(name="logDelayReqInterval") + def log_delay_req_interval(self) -> Optional[int]: """ - Legal name of deleter of the route aggregation resource + Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second.. """ - return pulumi.get(self, "deleted_by_full_name") + return pulumi.get(self, "log_delay_req_interval") @property - @pulumi.getter(name="deletedDateTime") - def deleted_date_time(self) -> str: + @pulumi.getter(name="logSyncInterval") + def log_sync_interval(self) -> Optional[int]: """ - Deletion time of the route aggregation resource + Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second.. """ - return pulumi.get(self, "deleted_date_time") + return pulumi.get(self, "log_sync_interval") @property - @pulumi.getter(name="updatedBy") - def updated_by(self) -> str: + @pulumi.getter + def priority1(self) -> Optional[int]: """ - User name of last updater of the route aggregation resource + The priority1 value determines the best primary clock, Lower value indicates higher priority """ - return pulumi.get(self, "updated_by") + return pulumi.get(self, "priority1") @property - @pulumi.getter(name="updatedByEmail") - def updated_by_email(self) -> str: + @pulumi.getter + def priority2(self) -> Optional[int]: """ - Email of last updater of the route aggregation resource + The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network """ - return pulumi.get(self, "updated_by_email") + return pulumi.get(self, "priority2") @property - @pulumi.getter(name="updatedByFullName") - def updated_by_full_name(self) -> str: + @pulumi.getter(name="timeScale") + def time_scale(self) -> Optional[str]: """ - Legal name of last updater of the route aggregation resource + Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol """ - return pulumi.get(self, "updated_by_full_name") + return pulumi.get(self, "time_scale") @property - @pulumi.getter(name="updatedDateTime") - def updated_date_time(self) -> str: + @pulumi.getter(name="transportMode") + def transport_mode(self) -> Optional[str]: """ - Last update time of the route aggregation resource + ptp transport mode """ - return pulumi.get(self, "updated_date_time") + return pulumi.get(self, "transport_mode") @pulumi.output_type -class GetPrecisionTimeServicesDataConnectionResult(dict): +class GetPrecisionTimeServicesFilterResult(dict): def __init__(__self__, *, - href: str, - type: str, - uuid: str): - """ - :param str href: Link to the Equinix Fabric Connection associated with the Precision Time Service - :param str type: Type of the Equinix Fabric Connection associated with the Precision Time Service - :param str uuid: Equinix Fabric Connection UUID; Precision Time Service will be connected with it - """ - pulumi.set(__self__, "href", href) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "uuid", uuid) - - @property - @pulumi.getter - def href(self) -> str: + operator: str, + property: str, + values: Sequence[str], + or_: Optional[bool] = None): """ - Link to the Equinix Fabric Connection associated with the Precision Time Service + :param str operator: Operation applied to the values of the filter + :param str property: Property to apply the filter to + :param Sequence[str] values: List of values to apply the operation to for the specified property + :param bool or_: Boolean value to specify if this filter is a part of the OR group. Has a maximum of 3 and only counts for 1 of the 8 possible filters """ - return pulumi.get(self, "href") + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "property", property) + pulumi.set(__self__, "values", values) + if or_ is not None: + pulumi.set(__self__, "or_", or_) @property @pulumi.getter - def type(self) -> str: + def operator(self) -> str: """ - Type of the Equinix Fabric Connection associated with the Precision Time Service + Operation applied to the values of the filter """ - return pulumi.get(self, "type") + return pulumi.get(self, "operator") @property @pulumi.getter - def uuid(self) -> str: + def values(self) -> Sequence[str]: """ - Equinix Fabric Connection UUID; Precision Time Service will be connected with it + List of values to apply the operation to for the specified property """ - return pulumi.get(self, "uuid") - + return pulumi.get(self, "values") -@pulumi.output_type -class GetPrecisionTimeServicesDataIpv4Result(dict): - def __init__(__self__, *, - default_gateway: str, - network_mask: str, - primary: str, - secondary: str): + @property + @pulumi.getter(name="or") + def or_(self) -> Optional[bool]: """ - :param str default_gateway: IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network. - :param str network_mask: IPv4 address that defines the range of consecutive subnets in the network. - :param str primary: IPv4 address for the Primary Timing Master Server. - :param str secondary: IPv4 address for the Secondary Timing Master Server. + Boolean value to specify if this filter is a part of the OR group. Has a maximum of 3 and only counts for 1 of the 8 possible filters """ - pulumi.set(__self__, "default_gateway", default_gateway) - pulumi.set(__self__, "network_mask", network_mask) - pulumi.set(__self__, "primary", primary) - pulumi.set(__self__, "secondary", secondary) + return pulumi.get(self, "or_") @property - @pulumi.getter(name="defaultGateway") - def default_gateway(self) -> str: + @pulumi.getter + def property(self) -> str: """ - IPv4 address that establishes the Routing Interface where traffic is directed. It serves as the next hop in the Network. + Property to apply the filter to """ - return pulumi.get(self, "default_gateway") + return pulumi.get(self, "property") - @property - @pulumi.getter(name="networkMask") - def network_mask(self) -> str: + +@pulumi.output_type +class GetPrecisionTimeServicesPaginationResult(dict): + def __init__(__self__, *, + limit: int, + offset: int): """ - IPv4 address that defines the range of consecutive subnets in the network. + :param int limit: Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 + :param int offset: Index of the first item returned in the response. The default is 0 """ - return pulumi.get(self, "network_mask") + pulumi.set(__self__, "limit", limit) + pulumi.set(__self__, "offset", offset) @property @pulumi.getter - def primary(self) -> str: + def limit(self) -> int: """ - IPv4 address for the Primary Timing Master Server. + Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 """ - return pulumi.get(self, "primary") + return pulumi.get(self, "limit") @property @pulumi.getter - def secondary(self) -> str: + def offset(self) -> int: """ - IPv4 address for the Secondary Timing Master Server. + Index of the first item returned in the response. The default is 0 """ - return pulumi.get(self, "secondary") + return pulumi.get(self, "offset") @pulumi.output_type -class GetPrecisionTimeServicesDataNtpAdvancedConfigurationResult(dict): +class GetPrecisionTimeServicesSortResult(dict): def __init__(__self__, *, - key: Optional[str] = None, - key_number: Optional[int] = None, - type: Optional[str] = None): + direction: Optional[str] = None, + property: Optional[str] = None): """ - :param str key: The plaintext authentication key. For ASCII type, the key\\ - \\ must contain printable ASCII characters, range 10-20 characters. For\\ - \\ HEX type, range should be 10-40 characters - :param int key_number: The authentication Key ID - :param str type: md5 Authentication type + :param str direction: The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + :param str property: The property name to use in sorting. One of [/name /uuid /state /type /package/code /changeLog/createdDateTime /changeLog/updatedDateTime] Defaults to /name """ - if key is not None: - pulumi.set(__self__, "key", key) - if key_number is not None: - pulumi.set(__self__, "key_number", key_number) - if type is not None: - pulumi.set(__self__, "type", type) + if direction is not None: + pulumi.set(__self__, "direction", direction) + if property is not None: + pulumi.set(__self__, "property", property) @property @pulumi.getter - def key(self) -> Optional[str]: - """ - The plaintext authentication key. For ASCII type, the key\\ - \\ must contain printable ASCII characters, range 10-20 characters. For\\ - \\ HEX type, range should be 10-40 characters - """ - return pulumi.get(self, "key") - - @property - @pulumi.getter(name="keyNumber") - def key_number(self) -> Optional[int]: + def direction(self) -> Optional[str]: """ - The authentication Key ID + The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC """ - return pulumi.get(self, "key_number") + return pulumi.get(self, "direction") @property @pulumi.getter - def type(self) -> Optional[str]: + def property(self) -> Optional[str]: """ - md5 Authentication type + The property name to use in sorting. One of [/name /uuid /state /type /package/code /changeLog/createdDateTime /changeLog/updatedDateTime] Defaults to /name """ - return pulumi.get(self, "type") + return pulumi.get(self, "property") @pulumi.output_type -class GetPrecisionTimeServicesDataOperationResult(dict): +class GetReceivedRoutesDataResult(dict): def __init__(__self__, *, - operational_status: str): - pulumi.set(__self__, "operational_status", operational_status) + as_paths: Sequence[str], + change_log: 'outputs.GetReceivedRoutesDataChangeLogResult', + connection: 'outputs.GetReceivedRoutesDataConnectionResult', + local_preference: int, + med: int, + next_hop: str, + prefix: str, + protocol_type: str, + state: str, + type: str): + """ + :param Sequence[str] as_paths: List of supported AS Paths for the Received Routes. + :param 'GetReceivedRoutesDataChangeLogArgs' change_log: Change Log of the route table entry + :param 'GetReceivedRoutesDataConnectionArgs' connection: connection of the route table entry + :param int local_preference: This field holds local preference of the received route. + :param int med: Multi-Exit Discriminator for the Received Route + :param str next_hop: Next Hop of the Received Route + :param str prefix: Prefix of the Received Route + :param str protocol_type: Received Route protocol type + :param str state: State of the received Route + :param str type: Indicator of a received route + """ + pulumi.set(__self__, "as_paths", as_paths) + pulumi.set(__self__, "change_log", change_log) + pulumi.set(__self__, "connection", connection) + pulumi.set(__self__, "local_preference", local_preference) + pulumi.set(__self__, "med", med) + pulumi.set(__self__, "next_hop", next_hop) + pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "protocol_type", protocol_type) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "type", type) @property - @pulumi.getter(name="operationalStatus") - def operational_status(self) -> str: - return pulumi.get(self, "operational_status") - - -@pulumi.output_type -class GetPrecisionTimeServicesDataOrderResult(dict): - def __init__(__self__, *, - customer_reference_number: str, - order_number: str, - purchase_order_number: str): + @pulumi.getter(name="asPaths") + def as_paths(self) -> Sequence[str]: """ - :param str customer_reference_number: Customer reference number - :param str order_number: Order reference number - :param str purchase_order_number: Purchase order number + List of supported AS Paths for the Received Routes. """ - pulumi.set(__self__, "customer_reference_number", customer_reference_number) - pulumi.set(__self__, "order_number", order_number) - pulumi.set(__self__, "purchase_order_number", purchase_order_number) + return pulumi.get(self, "as_paths") @property - @pulumi.getter(name="customerReferenceNumber") - def customer_reference_number(self) -> str: + @pulumi.getter(name="changeLog") + def change_log(self) -> 'outputs.GetReceivedRoutesDataChangeLogResult': """ - Customer reference number + Change Log of the route table entry """ - return pulumi.get(self, "customer_reference_number") + return pulumi.get(self, "change_log") @property - @pulumi.getter(name="orderNumber") - def order_number(self) -> str: + @pulumi.getter + def connection(self) -> 'outputs.GetReceivedRoutesDataConnectionResult': """ - Order reference number + connection of the route table entry """ - return pulumi.get(self, "order_number") + return pulumi.get(self, "connection") @property - @pulumi.getter(name="purchaseOrderNumber") - def purchase_order_number(self) -> str: + @pulumi.getter(name="localPreference") + def local_preference(self) -> int: """ - Purchase order number + This field holds local preference of the received route. """ - return pulumi.get(self, "purchase_order_number") - + return pulumi.get(self, "local_preference") -@pulumi.output_type -class GetPrecisionTimeServicesDataPackageResult(dict): - def __init__(__self__, *, - code: str, - href: str): + @property + @pulumi.getter + def med(self) -> int: """ - :param str code: Time Precision Package Code for the desired billing package - :param str href: Time Precision Package HREF link to corresponding resource in Equinix Portal + Multi-Exit Discriminator for the Received Route """ - pulumi.set(__self__, "code", code) - pulumi.set(__self__, "href", href) + return pulumi.get(self, "med") @property - @pulumi.getter - def code(self) -> str: + @pulumi.getter(name="nextHop") + def next_hop(self) -> str: """ - Time Precision Package Code for the desired billing package + Next Hop of the Received Route """ - return pulumi.get(self, "code") + return pulumi.get(self, "next_hop") @property @pulumi.getter - def href(self) -> str: + def prefix(self) -> str: """ - Time Precision Package HREF link to corresponding resource in Equinix Portal + Prefix of the Received Route """ - return pulumi.get(self, "href") - + return pulumi.get(self, "prefix") -@pulumi.output_type -class GetPrecisionTimeServicesDataPrecisionTimePriceResult(dict): - def __init__(__self__, *, - charges: Sequence['outputs.GetPrecisionTimeServicesDataPrecisionTimePriceChargeResult'], - currency: str): + @property + @pulumi.getter(name="protocolType") + def protocol_type(self) -> str: """ - :param Sequence['GetPrecisionTimeServicesDataPrecisionTimePriceChargeArgs'] charges: offering price charge - :param str currency: Offering price currency + Received Route protocol type """ - pulumi.set(__self__, "charges", charges) - pulumi.set(__self__, "currency", currency) + return pulumi.get(self, "protocol_type") @property @pulumi.getter - def charges(self) -> Sequence['outputs.GetPrecisionTimeServicesDataPrecisionTimePriceChargeResult']: + def state(self) -> str: """ - offering price charge + State of the received Route """ - return pulumi.get(self, "charges") + return pulumi.get(self, "state") @property @pulumi.getter - def currency(self) -> str: + def type(self) -> str: """ - Offering price currency + Indicator of a received route """ - return pulumi.get(self, "currency") + return pulumi.get(self, "type") @pulumi.output_type -class GetPrecisionTimeServicesDataPrecisionTimePriceChargeResult(dict): +class GetReceivedRoutesDataChangeLogResult(dict): def __init__(__self__, *, - price: float, - type: str): + created_by: str, + created_by_email: str, + created_by_full_name: str, + created_date_time: str, + deleted_by: str, + deleted_by_email: str, + deleted_by_full_name: str, + deleted_date_time: str, + updated_by: str, + updated_by_email: str, + updated_by_full_name: str, + updated_date_time: str): """ - :param float price: Offering price - :param str type: Price charge type; MONTHLY*RECURRING, NON*RECURRING + :param str created_by: Created by User Key + :param str created_by_email: Created by User Email Address + :param str created_by_full_name: Created by User Full Name + :param str created_date_time: Created by User Date and Time + :param str deleted_by: Deleted by User Key + :param str deleted_by_email: Deleted by User Email Address + :param str deleted_by_full_name: Deleted by User Full Name + :param str deleted_date_time: Deleted by User Date and Time + :param str updated_by: Updated by User Key + :param str updated_by_email: Updated by User Email Address + :param str updated_by_full_name: Updated by User Full Name + :param str updated_date_time: Updated by User Date and Time + """ + pulumi.set(__self__, "created_by", created_by) + pulumi.set(__self__, "created_by_email", created_by_email) + pulumi.set(__self__, "created_by_full_name", created_by_full_name) + pulumi.set(__self__, "created_date_time", created_date_time) + pulumi.set(__self__, "deleted_by", deleted_by) + pulumi.set(__self__, "deleted_by_email", deleted_by_email) + pulumi.set(__self__, "deleted_by_full_name", deleted_by_full_name) + pulumi.set(__self__, "deleted_date_time", deleted_date_time) + pulumi.set(__self__, "updated_by", updated_by) + pulumi.set(__self__, "updated_by_email", updated_by_email) + pulumi.set(__self__, "updated_by_full_name", updated_by_full_name) + pulumi.set(__self__, "updated_date_time", updated_date_time) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> str: + """ + Created by User Key """ - pulumi.set(__self__, "price", price) - pulumi.set(__self__, "type", type) + return pulumi.get(self, "created_by") @property - @pulumi.getter - def price(self) -> float: + @pulumi.getter(name="createdByEmail") + def created_by_email(self) -> str: """ - Offering price + Created by User Email Address """ - return pulumi.get(self, "price") + return pulumi.get(self, "created_by_email") @property - @pulumi.getter - def type(self) -> str: + @pulumi.getter(name="createdByFullName") + def created_by_full_name(self) -> str: """ - Price charge type; MONTHLY*RECURRING, NON*RECURRING + Created by User Full Name """ - return pulumi.get(self, "type") - + return pulumi.get(self, "created_by_full_name") -@pulumi.output_type -class GetPrecisionTimeServicesDataProjectResult(dict): - def __init__(__self__, *, - project_id: str): + @property + @pulumi.getter(name="createdDateTime") + def created_date_time(self) -> str: """ - :param str project_id: Equinix Subscriber-assigned project ID + Created by User Date and Time """ - pulumi.set(__self__, "project_id", project_id) + return pulumi.get(self, "created_date_time") @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: + @pulumi.getter(name="deletedBy") + def deleted_by(self) -> str: """ - Equinix Subscriber-assigned project ID + Deleted by User Key """ - return pulumi.get(self, "project_id") - + return pulumi.get(self, "deleted_by") -@pulumi.output_type -class GetPrecisionTimeServicesDataPtpAdvancedConfigurationResult(dict): - def __init__(__self__, *, - domain: Optional[int] = None, - grant_time: Optional[int] = None, - log_announce_interval: Optional[int] = None, - log_delay_req_interval: Optional[int] = None, - log_sync_interval: Optional[int] = None, - priority1: Optional[int] = None, - priority2: Optional[int] = None, - time_scale: Optional[str] = None, - transport_mode: Optional[str] = None): + @property + @pulumi.getter(name="deletedByEmail") + def deleted_by_email(self) -> str: """ - :param int domain: The PTP domain value - :param int grant_time: Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200 - :param int log_announce_interval: Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second - :param int log_delay_req_interval: Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second.. - :param int log_sync_interval: Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second.. - :param int priority1: The priority1 value determines the best primary clock, Lower value indicates higher priority - :param int priority2: The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network - :param str time_scale: Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol - :param str transport_mode: ptp transport mode + Deleted by User Email Address """ - if domain is not None: - pulumi.set(__self__, "domain", domain) - if grant_time is not None: - pulumi.set(__self__, "grant_time", grant_time) - if log_announce_interval is not None: - pulumi.set(__self__, "log_announce_interval", log_announce_interval) - if log_delay_req_interval is not None: - pulumi.set(__self__, "log_delay_req_interval", log_delay_req_interval) - if log_sync_interval is not None: - pulumi.set(__self__, "log_sync_interval", log_sync_interval) - if priority1 is not None: - pulumi.set(__self__, "priority1", priority1) - if priority2 is not None: - pulumi.set(__self__, "priority2", priority2) - if time_scale is not None: - pulumi.set(__self__, "time_scale", time_scale) - if transport_mode is not None: - pulumi.set(__self__, "transport_mode", transport_mode) + return pulumi.get(self, "deleted_by_email") @property - @pulumi.getter - def domain(self) -> Optional[int]: + @pulumi.getter(name="deletedByFullName") + def deleted_by_full_name(self) -> str: """ - The PTP domain value + Deleted by User Full Name """ - return pulumi.get(self, "domain") + return pulumi.get(self, "deleted_by_full_name") @property - @pulumi.getter(name="grantTime") - def grant_time(self) -> Optional[int]: + @pulumi.getter(name="deletedDateTime") + def deleted_date_time(self) -> str: """ - Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200 + Deleted by User Date and Time """ - return pulumi.get(self, "grant_time") + return pulumi.get(self, "deleted_date_time") @property - @pulumi.getter(name="logAnnounceInterval") - def log_announce_interval(self) -> Optional[int]: + @pulumi.getter(name="updatedBy") + def updated_by(self) -> str: """ - Logarithmic value that controls the rate of PTP Announce packets from the PTP time server. Default is 1 (1 packet every 2 seconds), Unit packets/second + Updated by User Key """ - return pulumi.get(self, "log_announce_interval") + return pulumi.get(self, "updated_by") @property - @pulumi.getter(name="logDelayReqInterval") - def log_delay_req_interval(self) -> Optional[int]: + @pulumi.getter(name="updatedByEmail") + def updated_by_email(self) -> str: """ - Logarithmic value that controls the rate of PTP DelayReq packets. Default is -4 (16 packets per second), Unit packets/second.. + Updated by User Email Address """ - return pulumi.get(self, "log_delay_req_interval") + return pulumi.get(self, "updated_by_email") @property - @pulumi.getter(name="logSyncInterval") - def log_sync_interval(self) -> Optional[int]: + @pulumi.getter(name="updatedByFullName") + def updated_by_full_name(self) -> str: """ - Logarithmic value that controls the rate of PTP Sync packets. Default is -4 (16 packets per second), Unit packets/second.. + Updated by User Full Name """ - return pulumi.get(self, "log_sync_interval") + return pulumi.get(self, "updated_by_full_name") @property - @pulumi.getter - def priority1(self) -> Optional[int]: + @pulumi.getter(name="updatedDateTime") + def updated_date_time(self) -> str: """ - The priority1 value determines the best primary clock, Lower value indicates higher priority + Updated by User Date and Time """ - return pulumi.get(self, "priority1") + return pulumi.get(self, "updated_date_time") + + +@pulumi.output_type +class GetReceivedRoutesDataConnectionResult(dict): + def __init__(__self__, *, + href: str, + name: str, + uuid: str): + """ + :param str href: HREF of the Connection + :param str name: Name of the Connection + :param str uuid: UUID of the Connection + """ + pulumi.set(__self__, "href", href) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "uuid", uuid) @property @pulumi.getter - def priority2(self) -> Optional[int]: + def href(self) -> str: """ - The priority2 value differentiates and prioritizes the primary clock to avoid confusion when priority1-value is the same for different primary clocks in a network + HREF of the Connection """ - return pulumi.get(self, "priority2") + return pulumi.get(self, "href") @property - @pulumi.getter(name="timeScale") - def time_scale(self) -> Optional[str]: + @pulumi.getter + def name(self) -> str: """ - Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol + Name of the Connection """ - return pulumi.get(self, "time_scale") + return pulumi.get(self, "name") @property - @pulumi.getter(name="transportMode") - def transport_mode(self) -> Optional[str]: + @pulumi.getter + def uuid(self) -> str: """ - ptp transport mode + UUID of the Connection """ - return pulumi.get(self, "transport_mode") + return pulumi.get(self, "uuid") @pulumi.output_type -class GetPrecisionTimeServicesFilterResult(dict): +class GetReceivedRoutesFilterResult(dict): def __init__(__self__, *, operator: str, property: str, - values: Sequence[str], - or_: Optional[bool] = None): + values: Sequence[str]): """ - :param str operator: Operation applied to the values of the filter - :param str property: Property to apply the filter to - :param Sequence[str] values: List of values to apply the operation to for the specified property - :param bool or_: Boolean value to specify if this filter is a part of the OR group. Has a maximum of 3 and only counts for 1 of the 8 possible filters + :param str operator: Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] + :param str property: possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] + :param Sequence[str] values: The values that you want to apply the property+operator combination to in order to filter your data search """ pulumi.set(__self__, "operator", operator) pulumi.set(__self__, "property", property) pulumi.set(__self__, "values", values) - if or_ is not None: - pulumi.set(__self__, "or_", or_) @property @pulumi.getter def operator(self) -> str: """ - Operation applied to the values of the filter + Operators to use on your filtered field with the values given. One of [ =, !=, >, >=, <, <=, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IN, NOT IN, IS NOT NULL, IS NULL] """ return pulumi.get(self, "operator") @@ -23493,64 +24354,91 @@ def operator(self) -> str: @pulumi.getter def values(self) -> Sequence[str]: """ - List of values to apply the operation to for the specified property + The values that you want to apply the property+operator combination to in order to filter your data search """ return pulumi.get(self, "values") - @property - @pulumi.getter(name="or") - def or_(self) -> Optional[bool]: - """ - Boolean value to specify if this filter is a part of the OR group. Has a maximum of 3 and only counts for 1 of the 8 possible filters - """ - return pulumi.get(self, "or_") - @property @pulumi.getter def property(self) -> str: """ - Property to apply the filter to + possible field names to use on filters. One of [/type /name /project/projectId /uuid /state] """ return pulumi.get(self, "property") @pulumi.output_type -class GetPrecisionTimeServicesPaginationResult(dict): +class GetReceivedRoutesPaginationResult(dict): def __init__(__self__, *, - limit: int, - offset: int): + next: str, + previous: str, + total: int, + limit: Optional[int] = None, + offset: Optional[int] = None): """ - :param int limit: Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 - :param int offset: Index of the first item returned in the response. The default is 0 + :param str next: URL relative to the next item in the response. + :param str previous: URL relative to the previous item in the response. + :param int total: The total number of elements returned + :param int limit: Maximum number of search results returned per page. + :param int offset: Index of the first item returned in the response. """ - pulumi.set(__self__, "limit", limit) - pulumi.set(__self__, "offset", offset) + pulumi.set(__self__, "next", next) + pulumi.set(__self__, "previous", previous) + pulumi.set(__self__, "total", total) + if limit is not None: + pulumi.set(__self__, "limit", limit) + if offset is not None: + pulumi.set(__self__, "offset", offset) @property @pulumi.getter - def limit(self) -> int: + def next(self) -> str: """ - Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20 + URL relative to the next item in the response. + """ + return pulumi.get(self, "next") + + @property + @pulumi.getter + def previous(self) -> str: + """ + URL relative to the previous item in the response. + """ + return pulumi.get(self, "previous") + + @property + @pulumi.getter + def total(self) -> int: + """ + The total number of elements returned + """ + return pulumi.get(self, "total") + + @property + @pulumi.getter + def limit(self) -> Optional[int]: + """ + Maximum number of search results returned per page. """ return pulumi.get(self, "limit") @property @pulumi.getter - def offset(self) -> int: + def offset(self) -> Optional[int]: """ - Index of the first item returned in the response. The default is 0 + Index of the first item returned in the response. """ return pulumi.get(self, "offset") @pulumi.output_type -class GetPrecisionTimeServicesSortResult(dict): +class GetReceivedRoutesSortResult(dict): def __init__(__self__, *, direction: Optional[str] = None, property: Optional[str] = None): """ - :param str direction: The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC - :param str property: The property name to use in sorting. One of [/name /uuid /state /type /package/code /changeLog/createdDateTime /changeLog/updatedDateTime] Defaults to /name + :param str direction: Sort direction, one of [ASC, DESC] + :param str property: Property name to sort by """ if direction is not None: pulumi.set(__self__, "direction", direction) @@ -23561,7 +24449,7 @@ def __init__(__self__, *, @pulumi.getter def direction(self) -> Optional[str]: """ - The sorting direction. Can be one of: [DESC, ASC], Defaults to DESC + Sort direction, one of [ASC, DESC] """ return pulumi.get(self, "direction") @@ -23569,7 +24457,7 @@ def direction(self) -> Optional[str]: @pulumi.getter def property(self) -> Optional[str]: """ - The property name to use in sorting. One of [/name /uuid /state /type /package/code /changeLog/createdDateTime /changeLog/updatedDateTime] Defaults to /name + Property name to sort by """ return pulumi.get(self, "property") @@ -26525,6 +27413,7 @@ def __init__(__self__, *, connection_redundancy_required: Optional[bool] = None, enable_auto_generate_service_key: Optional[bool] = None, link_protocol_config: Optional['outputs.GetServiceProfileAccessPointTypeConfigLinkProtocolConfigResult'] = None, + selective_redundancy: Optional[bool] = None, supported_bandwidths: Optional[Sequence[int]] = None): """ :param str type: Type of access point type config - VD, COLO @@ -26540,6 +27429,7 @@ def __init__(__self__, *, :param bool connection_redundancy_required: Mandate redundant connections :param bool enable_auto_generate_service_key: Enable auto generate service key :param 'GetServiceProfileAccessPointTypeConfigLinkProtocolConfigArgs' link_protocol_config: Link protocol configuration details + :param bool selective_redundancy: Optional redundant connections :param Sequence[int] supported_bandwidths: Supported bandwidths """ pulumi.set(__self__, "type", type) @@ -26566,6 +27456,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_auto_generate_service_key", enable_auto_generate_service_key) if link_protocol_config is not None: pulumi.set(__self__, "link_protocol_config", link_protocol_config) + if selective_redundancy is not None: + pulumi.set(__self__, "selective_redundancy", selective_redundancy) if supported_bandwidths is not None: pulumi.set(__self__, "supported_bandwidths", supported_bandwidths) @@ -26673,6 +27565,14 @@ def link_protocol_config(self) -> Optional['outputs.GetServiceProfileAccessPoint """ return pulumi.get(self, "link_protocol_config") + @property + @pulumi.getter(name="selectiveRedundancy") + def selective_redundancy(self) -> Optional[bool]: + """ + Optional redundant connections + """ + return pulumi.get(self, "selective_redundancy") + @property @pulumi.getter(name="supportedBandwidths") def supported_bandwidths(self) -> Optional[Sequence[int]]: @@ -27677,7 +28577,7 @@ def __init__(__self__, *, :param bool self_profile: Self Profile indicating if the profile is created for customer's self use :param str state: Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED :param Sequence[str] tags: Tags attached to the connection - :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + :param str type: Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE :param str uuid: Equinix assigned service profile identifier :param str view_point: Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide :param Sequence['GetServiceProfilesDatumVirtualDeviceArgs'] virtual_devices: Virtual Devices @@ -27837,7 +28737,7 @@ def tags(self) -> Sequence[str]: @pulumi.getter def type(self) -> str: """ - Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE + Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE, IA_PROFILE, IX_PROFILE """ return pulumi.get(self, "type") @@ -27890,6 +28790,7 @@ def __init__(__self__, *, connection_redundancy_required: Optional[bool] = None, enable_auto_generate_service_key: Optional[bool] = None, link_protocol_config: Optional['outputs.GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfigResult'] = None, + selective_redundancy: Optional[bool] = None, supported_bandwidths: Optional[Sequence[int]] = None): """ :param str type: Type of access point type config - VD, COLO @@ -27905,6 +28806,7 @@ def __init__(__self__, *, :param bool connection_redundancy_required: Mandate redundant connections :param bool enable_auto_generate_service_key: Enable auto generate service key :param 'GetServiceProfilesDatumAccessPointTypeConfigLinkProtocolConfigArgs' link_protocol_config: Link protocol configuration details + :param bool selective_redundancy: Optional redundant connections :param Sequence[int] supported_bandwidths: Supported bandwidths """ pulumi.set(__self__, "type", type) @@ -27931,6 +28833,8 @@ def __init__(__self__, *, pulumi.set(__self__, "enable_auto_generate_service_key", enable_auto_generate_service_key) if link_protocol_config is not None: pulumi.set(__self__, "link_protocol_config", link_protocol_config) + if selective_redundancy is not None: + pulumi.set(__self__, "selective_redundancy", selective_redundancy) if supported_bandwidths is not None: pulumi.set(__self__, "supported_bandwidths", supported_bandwidths) @@ -28038,6 +28942,14 @@ def link_protocol_config(self) -> Optional['outputs.GetServiceProfilesDatumAcces """ return pulumi.get(self, "link_protocol_config") + @property + @pulumi.getter(name="selectiveRedundancy") + def selective_redundancy(self) -> Optional[bool]: + """ + Optional redundant connections + """ + return pulumi.get(self, "selective_redundancy") + @property @pulumi.getter(name="supportedBandwidths") def supported_bandwidths(self) -> Optional[Sequence[int]]: diff --git a/sdk/python/pulumi_equinix/fabric/service_profile.py b/sdk/python/pulumi_equinix/fabric/service_profile.py index 345629abb..feaa7a753 100644 --- a/sdk/python/pulumi_equinix/fabric/service_profile.py +++ b/sdk/python/pulumi_equinix/fabric/service_profile.py @@ -42,7 +42,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a ServiceProfile resource. :param pulumi.Input[str] description: User-provided service description - :param pulumi.Input[Union[str, 'ProfileType']] type: Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + :param pulumi.Input[Union[str, 'ProfileType']] type: Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE :param pulumi.Input[Sequence[pulumi.Input['ServiceProfileAccessPointTypeConfigArgs']]] access_point_type_configs: Access point config information :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_emails: Array of contact emails :param pulumi.Input[Sequence[pulumi.Input['ServiceProfileCustomFieldArgs']]] custom_fields: Custom Fields @@ -108,7 +108,7 @@ def description(self, value: pulumi.Input[str]): @pulumi.getter def type(self) -> pulumi.Input[Union[str, 'ProfileType']]: """ - Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE """ return pulumi.get(self, "type") @@ -339,7 +339,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] self_profile: Self Profile indicating if the profile is created for customer's self use :param pulumi.Input[Union[str, 'ProfileState']] state: Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags attached to the connection - :param pulumi.Input[Union[str, 'ProfileType']] type: Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + :param pulumi.Input[Union[str, 'ProfileType']] type: Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE :param pulumi.Input[str] uuid: Equinix assigned service profile identifier :param pulumi.Input[str] view_point: Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide :param pulumi.Input[Sequence[pulumi.Input['ServiceProfileVirtualDeviceArgs']]] virtual_devices: Virtual Devices @@ -584,7 +584,7 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def type(self) -> Optional[pulumi.Input[Union[str, 'ProfileType']]]: """ - Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE """ return pulumi.get(self, "type") @@ -723,7 +723,7 @@ def __init__(__self__, :param pulumi.Input[bool] self_profile: Self Profile indicating if the profile is created for customer's self use :param pulumi.Input[Union[str, 'ProfileState']] state: Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags attached to the connection - :param pulumi.Input[Union[str, 'ProfileType']] type: Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + :param pulumi.Input[Union[str, 'ProfileType']] type: Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE :param pulumi.Input[str] view_point: Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide :param pulumi.Input[Sequence[pulumi.Input[Union['ServiceProfileVirtualDeviceArgs', 'ServiceProfileVirtualDeviceArgsDict']]]] virtual_devices: Virtual Devices :param pulumi.Input[Union[str, 'ProfileVisibility']] visibility: Service profile visibility - PUBLIC, PRIVATE @@ -898,7 +898,7 @@ def get(resource_name: str, :param pulumi.Input[bool] self_profile: Self Profile indicating if the profile is created for customer's self use :param pulumi.Input[Union[str, 'ProfileState']] state: Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags attached to the connection - :param pulumi.Input[Union[str, 'ProfileType']] type: Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + :param pulumi.Input[Union[str, 'ProfileType']] type: Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE :param pulumi.Input[str] uuid: Equinix assigned service profile identifier :param pulumi.Input[str] view_point: Flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide :param pulumi.Input[Sequence[pulumi.Input[Union['ServiceProfileVirtualDeviceArgs', 'ServiceProfileVirtualDeviceArgsDict']]]] virtual_devices: Virtual Devices @@ -1063,7 +1063,7 @@ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter def type(self) -> pulumi.Output[str]: """ - Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA_PROFILE + Service profile type - L2*PROFILE, L3*PROFILE, ECIA*PROFILE, ECMC*PROFILE, IA*PROFILE, IX*PROFILE """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_equinix/metal/device.py b/sdk/python/pulumi_equinix/metal/device.py index 5767d5229..0c39df4f3 100644 --- a/sdk/python/pulumi_equinix/metal/device.py +++ b/sdk/python/pulumi_equinix/metal/device.py @@ -1119,8 +1119,60 @@ def __init__(__self__, billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id, hardware_reservation_id="next-available", - storage="{ \\\\"disks\\\\": [ { \\\\"device\\\\": \\\\"/dev/sda\\\\", \\\\"wipeTable\\\\": true, \\\\"partitions\\\\": [ { \\\\"label\\\\": \\\\"BIOS\\\\", \\\\"number\\\\": 1, \\\\"size\\\\": \\\\"4096\\\\" }, { \\\\"label\\\\": \\\\"SWAP\\\\", \\\\"number\\\\": 2, \\\\"size\\\\": \\\\"3993600\\\\" }, { \\\\"label\\\\": \\\\"ROOT\\\\", \\\\"number\\\\": 3, \\\\"size\\\\": \\\\"0\\\\" } ] } ], \\\\"filesystems\\\\": [ { \\\\"mount\\\\": { \\\\"device\\\\": \\\\"/dev/sda3\\\\", \\\\"format\\\\": \\\\"ext4\\\\", \\\\"point\\\\": \\\\"/\\\\", \\\\"create\\\\": { \\\\"options\\\\": [ \\\\"-L\\\\", \\\\"ROOT\\\\" ] } } }, { \\\\"mount\\\\": { \\\\"device\\\\": \\\\"/dev/sda2\\\\", \\\\"format\\\\": \\\\"swap\\\\", \\\\"point\\\\": \\\\"none\\\\", \\\\"create\\\\": { \\\\"options\\\\": [ \\\\"-L\\\\", \\\\"SWAP\\\\" ] } } } ]} - ") + storage=\"\"\"{ + "disks": [ + { + "device": "/dev/sda", + "wipeTable": true, + "partitions": [ + { + "label": "BIOS", + "number": 1, + "size": "4096" + }, + { + "label": "SWAP", + "number": 2, + "size": "3993600" + }, + { + "label": "ROOT", + "number": 3, + "size": "0" + } + ] + } + ], + "filesystems": [ + { + "mount": { + "device": "/dev/sda3", + "format": "ext4", + "point": "/", + "create": { + "options": [ + "-L", + "ROOT" + ] + } + } + }, + { + "mount": { + "device": "/dev/sda2", + "format": "swap", + "point": "none", + "create": { + "options": [ + "-L", + "SWAP" + ] + } + } + } + ] + } + \"\"\") ``` ### example 5 ```python @@ -1242,8 +1294,60 @@ def __init__(__self__, billing_cycle=equinix.metal.BillingCycle.HOURLY, project_id=project_id, hardware_reservation_id="next-available", - storage="{ \\\\"disks\\\\": [ { \\\\"device\\\\": \\\\"/dev/sda\\\\", \\\\"wipeTable\\\\": true, \\\\"partitions\\\\": [ { \\\\"label\\\\": \\\\"BIOS\\\\", \\\\"number\\\\": 1, \\\\"size\\\\": \\\\"4096\\\\" }, { \\\\"label\\\\": \\\\"SWAP\\\\", \\\\"number\\\\": 2, \\\\"size\\\\": \\\\"3993600\\\\" }, { \\\\"label\\\\": \\\\"ROOT\\\\", \\\\"number\\\\": 3, \\\\"size\\\\": \\\\"0\\\\" } ] } ], \\\\"filesystems\\\\": [ { \\\\"mount\\\\": { \\\\"device\\\\": \\\\"/dev/sda3\\\\", \\\\"format\\\\": \\\\"ext4\\\\", \\\\"point\\\\": \\\\"/\\\\", \\\\"create\\\\": { \\\\"options\\\\": [ \\\\"-L\\\\", \\\\"ROOT\\\\" ] } } }, { \\\\"mount\\\\": { \\\\"device\\\\": \\\\"/dev/sda2\\\\", \\\\"format\\\\": \\\\"swap\\\\", \\\\"point\\\\": \\\\"none\\\\", \\\\"create\\\\": { \\\\"options\\\\": [ \\\\"-L\\\\", \\\\"SWAP\\\\" ] } } } ]} - ") + storage=\"\"\"{ + "disks": [ + { + "device": "/dev/sda", + "wipeTable": true, + "partitions": [ + { + "label": "BIOS", + "number": 1, + "size": "4096" + }, + { + "label": "SWAP", + "number": 2, + "size": "3993600" + }, + { + "label": "ROOT", + "number": 3, + "size": "0" + } + ] + } + ], + "filesystems": [ + { + "mount": { + "device": "/dev/sda3", + "format": "ext4", + "point": "/", + "create": { + "options": [ + "-L", + "ROOT" + ] + } + } + }, + { + "mount": { + "device": "/dev/sda2", + "format": "swap", + "point": "none", + "create": { + "options": [ + "-L", + "SWAP" + ] + } + } + } + ] + } + \"\"\") ``` ### example 5 ```python diff --git a/sdk/python/pulumi_equinix/networkedge/_inputs.py b/sdk/python/pulumi_equinix/networkedge/_inputs.py index 27eb6d18a..4c2c30f3c 100644 --- a/sdk/python/pulumi_equinix/networkedge/_inputs.py +++ b/sdk/python/pulumi_equinix/networkedge/_inputs.py @@ -550,6 +550,10 @@ class DeviceClusterDetailsNode0VendorConfigurationArgsDict(TypedDict): """ IP Address. This field is relevant only for the Infoblox devices. """ + ip_address_type: NotRequired[pulumi.Input[str]] + """ + Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ license_id: NotRequired[pulumi.Input[str]] """ License id. This field is relevant only for the BlueCat DNS and DHCP Server @@ -558,6 +562,10 @@ class DeviceClusterDetailsNode0VendorConfigurationArgsDict(TypedDict): """ License key. This field is relevant only for the BlueCat DNS and DHCP Server """ + management_interface_id: NotRequired[pulumi.Input[str]] + """ + Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ management_type: NotRequired[pulumi.Input[str]] """ Management Type. This field is relevant only for Cisco FTD Firewall devices @@ -603,8 +611,10 @@ def __init__(__self__, *, gateway_ip: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, ip_address: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, license_id: Optional[pulumi.Input[str]] = None, license_key: Optional[pulumi.Input[str]] = None, + management_interface_id: Optional[pulumi.Input[str]] = None, management_type: Optional[pulumi.Input[str]] = None, panorama_auth_key: Optional[pulumi.Input[str]] = None, panorama_ip_address: Optional[pulumi.Input[str]] = None, @@ -621,8 +631,10 @@ def __init__(__self__, *, :param pulumi.Input[str] gateway_ip: Gateway IP. This field is relevant only for the Infoblox devices. :param pulumi.Input[str] hostname: Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. :param pulumi.Input[str] ip_address: IP Address. This field is relevant only for the Infoblox devices. + :param pulumi.Input[str] ip_address_type: Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option :param pulumi.Input[str] license_id: License id. This field is relevant only for the BlueCat DNS and DHCP Server :param pulumi.Input[str] license_key: License key. This field is relevant only for the BlueCat DNS and DHCP Server + :param pulumi.Input[str] management_interface_id: Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option :param pulumi.Input[str] management_type: Management Type. This field is relevant only for Cisco FTD Firewall devices :param pulumi.Input[str] panorama_auth_key: Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. :param pulumi.Input[str] panorama_ip_address: Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. @@ -646,10 +658,14 @@ def __init__(__self__, *, pulumi.set(__self__, "hostname", hostname) if ip_address is not None: pulumi.set(__self__, "ip_address", ip_address) + if ip_address_type is not None: + pulumi.set(__self__, "ip_address_type", ip_address_type) if license_id is not None: pulumi.set(__self__, "license_id", license_id) if license_key is not None: pulumi.set(__self__, "license_key", license_key) + if management_interface_id is not None: + pulumi.set(__self__, "management_interface_id", management_interface_id) if management_type is not None: pulumi.set(__self__, "management_type", management_type) if panorama_auth_key is not None: @@ -751,6 +767,18 @@ def ip_address(self) -> Optional[pulumi.Input[str]]: def ip_address(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ip_address", value) + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> Optional[pulumi.Input[str]]: + """ + Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ + return pulumi.get(self, "ip_address_type") + + @ip_address_type.setter + def ip_address_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_address_type", value) + @property @pulumi.getter(name="licenseId") def license_id(self) -> Optional[pulumi.Input[str]]: @@ -775,6 +803,18 @@ def license_key(self) -> Optional[pulumi.Input[str]]: def license_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "license_key", value) + @property + @pulumi.getter(name="managementInterfaceId") + def management_interface_id(self) -> Optional[pulumi.Input[str]]: + """ + Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ + return pulumi.get(self, "management_interface_id") + + @management_interface_id.setter + def management_interface_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "management_interface_id", value) + @property @pulumi.getter(name="managementType") def management_type(self) -> Optional[pulumi.Input[str]]: @@ -1014,6 +1054,10 @@ class DeviceClusterDetailsNode1VendorConfigurationArgsDict(TypedDict): """ IP Address. This field is relevant only for the Infoblox devices. """ + ip_address_type: NotRequired[pulumi.Input[str]] + """ + Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ license_id: NotRequired[pulumi.Input[str]] """ License id. This field is relevant only for the BlueCat DNS and DHCP Server @@ -1022,6 +1066,10 @@ class DeviceClusterDetailsNode1VendorConfigurationArgsDict(TypedDict): """ License key. This field is relevant only for the BlueCat DNS and DHCP Server """ + management_interface_id: NotRequired[pulumi.Input[str]] + """ + Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ management_type: NotRequired[pulumi.Input[str]] """ Management Type. This field is relevant only for Cisco FTD Firewall devices @@ -1067,8 +1115,10 @@ def __init__(__self__, *, gateway_ip: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, ip_address: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, license_id: Optional[pulumi.Input[str]] = None, license_key: Optional[pulumi.Input[str]] = None, + management_interface_id: Optional[pulumi.Input[str]] = None, management_type: Optional[pulumi.Input[str]] = None, panorama_auth_key: Optional[pulumi.Input[str]] = None, panorama_ip_address: Optional[pulumi.Input[str]] = None, @@ -1085,8 +1135,10 @@ def __init__(__self__, *, :param pulumi.Input[str] gateway_ip: Gateway IP. This field is relevant only for the Infoblox devices. :param pulumi.Input[str] hostname: Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. :param pulumi.Input[str] ip_address: IP Address. This field is relevant only for the Infoblox devices. + :param pulumi.Input[str] ip_address_type: Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option :param pulumi.Input[str] license_id: License id. This field is relevant only for the BlueCat DNS and DHCP Server :param pulumi.Input[str] license_key: License key. This field is relevant only for the BlueCat DNS and DHCP Server + :param pulumi.Input[str] management_interface_id: Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option :param pulumi.Input[str] management_type: Management Type. This field is relevant only for Cisco FTD Firewall devices :param pulumi.Input[str] panorama_auth_key: Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. :param pulumi.Input[str] panorama_ip_address: Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. @@ -1110,10 +1162,14 @@ def __init__(__self__, *, pulumi.set(__self__, "hostname", hostname) if ip_address is not None: pulumi.set(__self__, "ip_address", ip_address) + if ip_address_type is not None: + pulumi.set(__self__, "ip_address_type", ip_address_type) if license_id is not None: pulumi.set(__self__, "license_id", license_id) if license_key is not None: pulumi.set(__self__, "license_key", license_key) + if management_interface_id is not None: + pulumi.set(__self__, "management_interface_id", management_interface_id) if management_type is not None: pulumi.set(__self__, "management_type", management_type) if panorama_auth_key is not None: @@ -1215,6 +1271,18 @@ def ip_address(self) -> Optional[pulumi.Input[str]]: def ip_address(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ip_address", value) + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> Optional[pulumi.Input[str]]: + """ + Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ + return pulumi.get(self, "ip_address_type") + + @ip_address_type.setter + def ip_address_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_address_type", value) + @property @pulumi.getter(name="licenseId") def license_id(self) -> Optional[pulumi.Input[str]]: @@ -1239,6 +1307,18 @@ def license_key(self) -> Optional[pulumi.Input[str]]: def license_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "license_key", value) + @property + @pulumi.getter(name="managementInterfaceId") + def management_interface_id(self) -> Optional[pulumi.Input[str]]: + """ + Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ + return pulumi.get(self, "management_interface_id") + + @management_interface_id.setter + def management_interface_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "management_interface_id", value) + @property @pulumi.getter(name="managementType") def management_type(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_equinix/networkedge/outputs.py b/sdk/python/pulumi_equinix/networkedge/outputs.py index 281834fff..c5913a69d 100644 --- a/sdk/python/pulumi_equinix/networkedge/outputs.py +++ b/sdk/python/pulumi_equinix/networkedge/outputs.py @@ -417,10 +417,14 @@ def __key_warning(key: str): suggest = "gateway_ip" elif key == "ipAddress": suggest = "ip_address" + elif key == "ipAddressType": + suggest = "ip_address_type" elif key == "licenseId": suggest = "license_id" elif key == "licenseKey": suggest = "license_key" + elif key == "managementInterfaceId": + suggest = "management_interface_id" elif key == "managementType": suggest = "management_type" elif key == "panoramaAuthKey": @@ -457,8 +461,10 @@ def __init__(__self__, *, gateway_ip: Optional[str] = None, hostname: Optional[str] = None, ip_address: Optional[str] = None, + ip_address_type: Optional[str] = None, license_id: Optional[str] = None, license_key: Optional[str] = None, + management_interface_id: Optional[str] = None, management_type: Optional[str] = None, panorama_auth_key: Optional[str] = None, panorama_ip_address: Optional[str] = None, @@ -475,8 +481,10 @@ def __init__(__self__, *, :param str gateway_ip: Gateway IP. This field is relevant only for the Infoblox devices. :param str hostname: Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. :param str ip_address: IP Address. This field is relevant only for the Infoblox devices. + :param str ip_address_type: Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option :param str license_id: License id. This field is relevant only for the BlueCat DNS and DHCP Server :param str license_key: License key. This field is relevant only for the BlueCat DNS and DHCP Server + :param str management_interface_id: Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option :param str management_type: Management Type. This field is relevant only for Cisco FTD Firewall devices :param str panorama_auth_key: Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. :param str panorama_ip_address: Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. @@ -500,10 +508,14 @@ def __init__(__self__, *, pulumi.set(__self__, "hostname", hostname) if ip_address is not None: pulumi.set(__self__, "ip_address", ip_address) + if ip_address_type is not None: + pulumi.set(__self__, "ip_address_type", ip_address_type) if license_id is not None: pulumi.set(__self__, "license_id", license_id) if license_key is not None: pulumi.set(__self__, "license_key", license_key) + if management_interface_id is not None: + pulumi.set(__self__, "management_interface_id", management_interface_id) if management_type is not None: pulumi.set(__self__, "management_type", management_type) if panorama_auth_key is not None: @@ -577,6 +589,14 @@ def ip_address(self) -> Optional[str]: """ return pulumi.get(self, "ip_address") + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> Optional[str]: + """ + Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ + return pulumi.get(self, "ip_address_type") + @property @pulumi.getter(name="licenseId") def license_id(self) -> Optional[str]: @@ -593,6 +613,14 @@ def license_key(self) -> Optional[str]: """ return pulumi.get(self, "license_key") + @property + @pulumi.getter(name="managementInterfaceId") + def management_interface_id(self) -> Optional[str]: + """ + Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ + return pulumi.get(self, "management_interface_id") + @property @pulumi.getter(name="managementType") def management_type(self) -> Optional[str]: @@ -761,10 +789,14 @@ def __key_warning(key: str): suggest = "gateway_ip" elif key == "ipAddress": suggest = "ip_address" + elif key == "ipAddressType": + suggest = "ip_address_type" elif key == "licenseId": suggest = "license_id" elif key == "licenseKey": suggest = "license_key" + elif key == "managementInterfaceId": + suggest = "management_interface_id" elif key == "managementType": suggest = "management_type" elif key == "panoramaAuthKey": @@ -801,8 +833,10 @@ def __init__(__self__, *, gateway_ip: Optional[str] = None, hostname: Optional[str] = None, ip_address: Optional[str] = None, + ip_address_type: Optional[str] = None, license_id: Optional[str] = None, license_key: Optional[str] = None, + management_interface_id: Optional[str] = None, management_type: Optional[str] = None, panorama_auth_key: Optional[str] = None, panorama_ip_address: Optional[str] = None, @@ -819,8 +853,10 @@ def __init__(__self__, *, :param str gateway_ip: Gateway IP. This field is relevant only for the Infoblox devices. :param str hostname: Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters. :param str ip_address: IP Address. This field is relevant only for the Infoblox devices. + :param str ip_address_type: Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option :param str license_id: License id. This field is relevant only for the BlueCat DNS and DHCP Server :param str license_key: License key. This field is relevant only for the BlueCat DNS and DHCP Server + :param str management_interface_id: Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option :param str management_type: Management Type. This field is relevant only for Cisco FTD Firewall devices :param str panorama_auth_key: Panorama Server Auth Key. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. :param str panorama_ip_address: Panorama Server IP Address. This field is relevant only for the PA-VM firewall devices to have integration with Panorama Server. @@ -844,10 +880,14 @@ def __init__(__self__, *, pulumi.set(__self__, "hostname", hostname) if ip_address is not None: pulumi.set(__self__, "ip_address", ip_address) + if ip_address_type is not None: + pulumi.set(__self__, "ip_address_type", ip_address_type) if license_id is not None: pulumi.set(__self__, "license_id", license_id) if license_key is not None: pulumi.set(__self__, "license_key", license_key) + if management_interface_id is not None: + pulumi.set(__self__, "management_interface_id", management_interface_id) if management_type is not None: pulumi.set(__self__, "management_type", management_type) if panorama_auth_key is not None: @@ -921,6 +961,14 @@ def ip_address(self) -> Optional[str]: """ return pulumi.get(self, "ip_address") + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> Optional[str]: + """ + Ip Address Type. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ + return pulumi.get(self, "ip_address_type") + @property @pulumi.getter(name="licenseId") def license_id(self) -> Optional[str]: @@ -937,6 +985,14 @@ def license_key(self) -> Optional[str]: """ return pulumi.get(self, "license_key") + @property + @pulumi.getter(name="managementInterfaceId") + def management_interface_id(self) -> Optional[str]: + """ + Management Interface ID. This field is relevant only for FG VM Firewall clusters with connectivity PRIVATE option + """ + return pulumi.get(self, "management_interface_id") + @property @pulumi.getter(name="managementType") def management_type(self) -> Optional[str]: @@ -2716,7 +2772,7 @@ def __init__(__self__, *, * RESOURCE_UPGRADE_IN_PROGRESS * RESOURCE_UPGRADE_FAILED :param str uuid: UUID of an existing Equinix Network Edge device - :param Mapping[str, str] vendor_configuration: Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + :param Mapping[str, str] vendor_configuration: Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) :param str wan_interface_id: device interface id picked for WAN :param str zone_code: Device location zone code """ @@ -2979,7 +3035,7 @@ def uuid(self) -> str: @pulumi.getter(name="vendorConfiguration") def vendor_configuration(self) -> Mapping[str, str]: """ - Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress) + Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress, managementInterfaceId, ipAddressType) """ return pulumi.get(self, "vendor_configuration") diff --git a/sdk/python/pulumi_equinix/provider.py b/sdk/python/pulumi_equinix/provider.py index 4296cb8fb..3de0351e5 100644 --- a/sdk/python/pulumi_equinix/provider.py +++ b/sdk/python/pulumi_equinix/provider.py @@ -27,7 +27,11 @@ def __init__(__self__, *, max_retry_wait_seconds: Optional[pulumi.Input[int]] = None, request_timeout: Optional[pulumi.Input[int]] = None, response_max_page_size: Optional[pulumi.Input[int]] = None, - token: Optional[pulumi.Input[str]] = None): + sts_endpoint: Optional[pulumi.Input[str]] = None, + token: Optional[pulumi.Input[str]] = None, + token_exchange_scope: Optional[pulumi.Input[str]] = None, + token_exchange_subject_token: Optional[pulumi.Input[str]] = None, + token_exchange_subject_token_env_var: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Provider resource. :param pulumi.Input[str] auth_token: The Equinix Metal API auth key for API operations @@ -43,9 +47,23 @@ def __init__(__self__, *, Canceled requests may still result in provisioned resources. (Defaults to `30`) :param pulumi.Input[int] response_max_page_size: The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client specific) + :param pulumi.Input[str] sts_endpoint: The STS API base URL to point to the desired environment. This argument can also be specified with the + `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + an alpha feature and not available for all users. :param pulumi.Input[str] token: API tokens are generated from API Consumer clients using the [OAuth2 API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. + :param pulumi.Input[str] token_exchange_scope: The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + token exchange is an alpha feature and not available for all users. + :param pulumi.Input[str] token_exchange_subject_token: The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + by Equinix STS. If not set, the provider will use the environment variable specified in + `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + users. + :param pulumi.Input[str] token_exchange_subject_token_env_var: The name of the environment variable containing the subject token for token exchange. This argument can also be + specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + users. """ if auth_token is not None: pulumi.set(__self__, "auth_token", auth_token) @@ -63,8 +81,16 @@ def __init__(__self__, *, pulumi.set(__self__, "request_timeout", request_timeout) if response_max_page_size is not None: pulumi.set(__self__, "response_max_page_size", response_max_page_size) + if sts_endpoint is not None: + pulumi.set(__self__, "sts_endpoint", sts_endpoint) if token is not None: pulumi.set(__self__, "token", token) + if token_exchange_scope is not None: + pulumi.set(__self__, "token_exchange_scope", token_exchange_scope) + if token_exchange_subject_token is not None: + pulumi.set(__self__, "token_exchange_subject_token", token_exchange_subject_token) + if token_exchange_subject_token_env_var is not None: + pulumi.set(__self__, "token_exchange_subject_token_env_var", token_exchange_subject_token_env_var) @property @pulumi.getter(name="authToken") @@ -167,6 +193,20 @@ def response_max_page_size(self) -> Optional[pulumi.Input[int]]: def response_max_page_size(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "response_max_page_size", value) + @property + @pulumi.getter(name="stsEndpoint") + def sts_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The STS API base URL to point to the desired environment. This argument can also be specified with the + `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + an alpha feature and not available for all users. + """ + return pulumi.get(self, "sts_endpoint") + + @sts_endpoint.setter + def sts_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sts_endpoint", value) + @property @pulumi.getter def token(self) -> Optional[pulumi.Input[str]]: @@ -181,6 +221,50 @@ def token(self) -> Optional[pulumi.Input[str]]: def token(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "token", value) + @property + @pulumi.getter(name="tokenExchangeScope") + def token_exchange_scope(self) -> Optional[pulumi.Input[str]]: + """ + The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + token exchange is an alpha feature and not available for all users. + """ + return pulumi.get(self, "token_exchange_scope") + + @token_exchange_scope.setter + def token_exchange_scope(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_exchange_scope", value) + + @property + @pulumi.getter(name="tokenExchangeSubjectToken") + def token_exchange_subject_token(self) -> Optional[pulumi.Input[str]]: + """ + The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + by Equinix STS. If not set, the provider will use the environment variable specified in + `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + users. + """ + return pulumi.get(self, "token_exchange_subject_token") + + @token_exchange_subject_token.setter + def token_exchange_subject_token(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_exchange_subject_token", value) + + @property + @pulumi.getter(name="tokenExchangeSubjectTokenEnvVar") + def token_exchange_subject_token_env_var(self) -> Optional[pulumi.Input[str]]: + """ + The name of the environment variable containing the subject token for token exchange. This argument can also be + specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + users. + """ + return pulumi.get(self, "token_exchange_subject_token_env_var") + + @token_exchange_subject_token_env_var.setter + def token_exchange_subject_token_env_var(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "token_exchange_subject_token_env_var", value) + class Provider(pulumi.ProviderResource): @overload @@ -195,7 +279,11 @@ def __init__(__self__, max_retry_wait_seconds: Optional[pulumi.Input[int]] = None, request_timeout: Optional[pulumi.Input[int]] = None, response_max_page_size: Optional[pulumi.Input[int]] = None, + sts_endpoint: Optional[pulumi.Input[str]] = None, token: Optional[pulumi.Input[str]] = None, + token_exchange_scope: Optional[pulumi.Input[str]] = None, + token_exchange_subject_token: Optional[pulumi.Input[str]] = None, + token_exchange_subject_token_env_var: Optional[pulumi.Input[str]] = None, __props__=None): """ The provider type for the equinix package. By default, resources use package-wide configuration @@ -218,9 +306,23 @@ def __init__(__self__, Canceled requests may still result in provisioned resources. (Defaults to `30`) :param pulumi.Input[int] response_max_page_size: The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client specific) + :param pulumi.Input[str] sts_endpoint: The STS API base URL to point to the desired environment. This argument can also be specified with the + `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + an alpha feature and not available for all users. :param pulumi.Input[str] token: API tokens are generated from API Consumer clients using the [OAuth2 API](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#request-access-and-refresh-tokens). This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable. + :param pulumi.Input[str] token_exchange_scope: The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + token exchange is an alpha feature and not available for all users. + :param pulumi.Input[str] token_exchange_subject_token: The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + by Equinix STS. If not set, the provider will use the environment variable specified in + `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + users. + :param pulumi.Input[str] token_exchange_subject_token_env_var: The name of the environment variable containing the subject token for token exchange. This argument can also be + specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + users. """ ... @overload @@ -257,7 +359,11 @@ def _internal_init(__self__, max_retry_wait_seconds: Optional[pulumi.Input[int]] = None, request_timeout: Optional[pulumi.Input[int]] = None, response_max_page_size: Optional[pulumi.Input[int]] = None, + sts_endpoint: Optional[pulumi.Input[str]] = None, token: Optional[pulumi.Input[str]] = None, + token_exchange_scope: Optional[pulumi.Input[str]] = None, + token_exchange_subject_token: Optional[pulumi.Input[str]] = None, + token_exchange_subject_token_env_var: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -275,7 +381,11 @@ def _internal_init(__self__, __props__.__dict__["max_retry_wait_seconds"] = pulumi.Output.from_input(max_retry_wait_seconds).apply(pulumi.runtime.to_json) if max_retry_wait_seconds is not None else None __props__.__dict__["request_timeout"] = pulumi.Output.from_input(request_timeout).apply(pulumi.runtime.to_json) if request_timeout is not None else None __props__.__dict__["response_max_page_size"] = pulumi.Output.from_input(response_max_page_size).apply(pulumi.runtime.to_json) if response_max_page_size is not None else None + __props__.__dict__["sts_endpoint"] = sts_endpoint __props__.__dict__["token"] = token + __props__.__dict__["token_exchange_scope"] = token_exchange_scope + __props__.__dict__["token_exchange_subject_token"] = token_exchange_subject_token + __props__.__dict__["token_exchange_subject_token_env_var"] = token_exchange_subject_token_env_var super(Provider, __self__).__init__( 'equinix', resource_name, @@ -317,6 +427,16 @@ def endpoint(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "endpoint") + @property + @pulumi.getter(name="stsEndpoint") + def sts_endpoint(self) -> pulumi.Output[Optional[str]]: + """ + The STS API base URL to point to the desired environment. This argument can also be specified with the + `EQUINIX_STS_ENDPOINT` shell environment variable. (Defaults to `https://sts.eqix.equinix.com`). Please note that STS is + an alpha feature and not available for all users. + """ + return pulumi.get(self, "sts_endpoint") + @property @pulumi.getter def token(self) -> pulumi.Output[Optional[str]]: @@ -327,3 +447,35 @@ def token(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "token") + @property + @pulumi.getter(name="tokenExchangeScope") + def token_exchange_scope(self) -> pulumi.Output[Optional[str]]: + """ + The scope of the authentication token. Must be an access policy ERN or a string of the form `roleassignments:`. + This argument can also be specified with the `EQUINIX_TOKEN_EXCHANGE_SCOPE` shell environment variable. Please note that + token exchange is an alpha feature and not available for all users. + """ + return pulumi.get(self, "token_exchange_scope") + + @property + @pulumi.getter(name="tokenExchangeSubjectToken") + def token_exchange_subject_token(self) -> pulumi.Output[Optional[str]]: + """ + The subject token to use for token exchange authentication. Must be an OIDC ID token issued by an OIDC provider trusted + by Equinix STS. If not set, the provider will use the environment variable specified in + `token_exchange_subject_token_env_var`. Please note that token exchange is an alpha feature and not available for all + users. + """ + return pulumi.get(self, "token_exchange_subject_token") + + @property + @pulumi.getter(name="tokenExchangeSubjectTokenEnvVar") + def token_exchange_subject_token_env_var(self) -> pulumi.Output[Optional[str]]: + """ + The name of the environment variable containing the subject token for token exchange. This argument can also be + specified with the `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR` shell environment variable. (Defaults to + `EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN`). Please note that token exchange is an alpha feature and not available for all + users. + """ + return pulumi.get(self, "token_exchange_subject_token_env_var") + diff --git a/upstream b/upstream index bca595727..11b1cdd35 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit bca595727e65eb3987da711f45639ea1fa21ef48 +Subproject commit 11b1cdd352ab204383adb559d973ff2c544f00f3 From 23754a37fe9b002bda783378f5e03994369ba0f5 Mon Sep 17 00:00:00 2001 From: srushti-patl Date: Tue, 10 Mar 2026 15:39:08 -0700 Subject: [PATCH 2/2] fix: Updating lint workflow --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ddad02d28..5e531d074 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -39,7 +39,7 @@ jobs: with: version: v1.55.2 working-directory: provider - args: --timeout=30m --out-format=colored-line-number --skip-dirs "/opt|upstream|go/pkg/mod" + args: --timeout=30m --out-format=colored-line-number - if: failure() && github.event_name == 'push' name: Notify Slack uses: 8398a7/action-slack@v3