diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 6b970e2..85640eb 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -25,7 +25,7 @@ jobs:
uses: actions/setup-go@v5
with:
# The versions of golangci-lint and setup-go here cross-depend and need to update together.
- go-version: 1.21
+ go-version: 1.23
# Either this action or golangci-lint needs to disable the cache
cache: false
- name: disarm go:embed directives to enable lint
@@ -39,5 +39,5 @@ jobs:
- name: golangci-lint
uses: golangci/golangci-lint-action@v6
with:
- version: v1.54.1
+ version: v1.62.2
working-directory: provider
diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version
index 92e0c74..47d04a5 100644
--- a/.pulumi-java-gen.version
+++ b/.pulumi-java-gen.version
@@ -1 +1 @@
-0.16.1
\ No newline at end of file
+0.18.0
\ No newline at end of file
diff --git a/provider/cmd/pulumi-resource-twingate/schema.json b/provider/cmd/pulumi-resource-twingate/schema.json
index 3856faf..7598adf 100644
--- a/provider/cmd/pulumi-resource-twingate/schema.json
+++ b/provider/cmd/pulumi-resource-twingate/schema.json
@@ -380,6 +380,10 @@
},
"twingate:index/getTwingateConnectorsConnector:getTwingateConnectorsConnector": {
"properties": {
+ "hostname": {
+ "type": "string",
+ "description": "The hostname of the machine hosting the Connector.\n"
+ },
"id": {
"type": "string",
"description": "The ID of the Connector.\n"
@@ -388,21 +392,45 @@
"type": "string",
"description": "The Name of the Connector.\n"
},
+ "privateIps": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Connector's private IP addresses.\n"
+ },
+ "publicIp": {
+ "type": "string",
+ "description": "The Connector's public IP address.\n"
+ },
"remoteNetworkId": {
"type": "string",
"description": "The ID of the Remote Network attached to the Connector.\n"
},
+ "state": {
+ "type": "string",
+ "description": "The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.\n"
+ },
"statusUpdatesEnabled": {
"type": "boolean",
"description": "Determines whether status notifications are enabled for the Connector.\n"
+ },
+ "version": {
+ "type": "string",
+ "description": "The Connector's version.\n"
}
},
"type": "object",
"required": [
+ "hostname",
"id",
"name",
+ "privateIps",
+ "publicIp",
"remoteNetworkId",
- "statusUpdatesEnabled"
+ "state",
+ "statusUpdatesEnabled",
+ "version"
],
"language": {
"nodejs": {
@@ -995,23 +1023,51 @@
"twingate:index/twingateConnector:TwingateConnector": {
"description": "Connectors provide connectivity to Remote Networks. This resource type will create the Connector in the Twingate Admin Console, but in order to successfully deploy it, you must also generate Connector tokens that authenticate the Connector with Twingate. For more information, see Twingate's [documentation](https://docs.twingate.com/docs/understanding-access-nodes).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as twingate from \"@twingate/pulumi-twingate\";\n\nconst awsNetwork = new twingate.TwingateRemoteNetwork(\"awsNetwork\", {});\nconst awsConnector = new twingate.TwingateConnector(\"awsConnector\", {\n remoteNetworkId: awsNetwork.id,\n statusUpdatesEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_twingate as twingate\n\naws_network = twingate.TwingateRemoteNetwork(\"awsNetwork\")\naws_connector = twingate.TwingateConnector(\"awsConnector\",\n remote_network_id=aws_network.id,\n status_updates_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Twingate = Twingate.Twingate;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var awsNetwork = new Twingate.TwingateRemoteNetwork(\"awsNetwork\");\n\n var awsConnector = new Twingate.TwingateConnector(\"awsConnector\", new()\n {\n RemoteNetworkId = awsNetwork.Id,\n StatusUpdatesEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/Twingate/pulumi-twingate/sdk/v3/go/twingate\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsNetwork, err := twingate.NewTwingateRemoteNetwork(ctx, \"awsNetwork\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = twingate.NewTwingateConnector(ctx, \"awsConnector\", \u0026twingate.TwingateConnectorArgs{\n\t\t\tRemoteNetworkId: awsNetwork.ID(),\n\t\t\tStatusUpdatesEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.twingate.TwingateRemoteNetwork;\nimport com.pulumi.twingate.TwingateConnector;\nimport com.pulumi.twingate.TwingateConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var awsNetwork = new TwingateRemoteNetwork(\"awsNetwork\");\n\n var awsConnector = new TwingateConnector(\"awsConnector\", TwingateConnectorArgs.builder()\n .remoteNetworkId(awsNetwork.id())\n .statusUpdatesEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n awsNetwork:\n type: twingate:TwingateRemoteNetwork\n awsConnector:\n type: twingate:TwingateConnector\n properties:\n remoteNetworkId: ${awsNetwork.id}\n statusUpdatesEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import twingate:index/twingateConnector:TwingateConnector aws_connector Q29ubmVjdG9yOjI2NzM=\n```\n\n",
"properties": {
+ "hostname": {
+ "type": "string",
+ "description": "The hostname of the machine hosting the Connector.\n"
+ },
"name": {
"type": "string",
"description": "Name of the Connector, if not provided one will be generated.\n"
},
+ "privateIps": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Connector's private IP addresses.\n"
+ },
+ "publicIp": {
+ "type": "string",
+ "description": "The Connector's public IP address.\n"
+ },
"remoteNetworkId": {
"type": "string",
"description": "The ID of the Remote Network the Connector is attached to.\n"
},
+ "state": {
+ "type": "string",
+ "description": "The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.\n"
+ },
"statusUpdatesEnabled": {
"type": "boolean",
"description": "Determines whether status notifications are enabled for the Connector. Default is `true`.\n"
+ },
+ "version": {
+ "type": "string",
+ "description": "The Connector's version.\n"
}
},
"required": [
+ "hostname",
"name",
+ "privateIps",
+ "publicIp",
"remoteNetworkId",
- "statusUpdatesEnabled"
+ "state",
+ "statusUpdatesEnabled",
+ "version"
],
"inputProperties": {
"name": {
@@ -1033,17 +1089,40 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering TwingateConnector resources.\n",
"properties": {
+ "hostname": {
+ "type": "string",
+ "description": "The hostname of the machine hosting the Connector.\n"
+ },
"name": {
"type": "string",
"description": "Name of the Connector, if not provided one will be generated.\n"
},
+ "privateIps": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Connector's private IP addresses.\n"
+ },
+ "publicIp": {
+ "type": "string",
+ "description": "The Connector's public IP address.\n"
+ },
"remoteNetworkId": {
"type": "string",
"description": "The ID of the Remote Network the Connector is attached to.\n"
},
+ "state": {
+ "type": "string",
+ "description": "The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.\n"
+ },
"statusUpdatesEnabled": {
"type": "boolean",
"description": "Determines whether status notifications are enabled for the Connector. Default is `true`.\n"
+ },
+ "version": {
+ "type": "string",
+ "description": "The Connector's version.\n"
}
},
"type": "object"
@@ -1790,6 +1869,10 @@
"outputs": {
"description": "A collection of values returned by getTwingateConnector.\n",
"properties": {
+ "hostname": {
+ "type": "string",
+ "description": "The hostname of the machine hosting the Connector.\n"
+ },
"id": {
"type": "string",
"description": "The ID of the Connector. The ID for the Connector can be obtained from the Admin API or the URL string in the Admin Console.\n"
@@ -1798,21 +1881,45 @@
"type": "string",
"description": "The name of the Connector.\n"
},
+ "privateIps": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Connector's private IP addresses.\n"
+ },
+ "publicIp": {
+ "type": "string",
+ "description": "The Connector's public IP address.\n"
+ },
"remoteNetworkId": {
"type": "string",
"description": "The ID of the Remote Network the Connector is attached to.\n"
},
+ "state": {
+ "type": "string",
+ "description": "The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.\n"
+ },
"statusUpdatesEnabled": {
"type": "boolean",
"description": "Determines whether status notifications are enabled for the Connector.\n"
+ },
+ "version": {
+ "type": "string",
+ "description": "The Connector's version.\n"
}
},
"type": "object",
"required": [
+ "hostname",
"id",
"name",
+ "privateIps",
+ "publicIp",
"remoteNetworkId",
- "statusUpdatesEnabled"
+ "state",
+ "statusUpdatesEnabled",
+ "version"
]
}
},
diff --git a/provider/go.mod b/provider/go.mod
index 0d1c734..5b8ab8e 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -1,12 +1,12 @@
module github.com/Twingate/pulumi-twingate/provider
-go 1.22.0
+go 1.23
-toolchain go1.22.5
+toolchain go1.23.4
require (
- github.com/Twingate/terraform-provider-twingate/v3 v3.0.12
- github.com/pulumi/pulumi-terraform-bridge/pf v0.49.0
+ github.com/Twingate/terraform-provider-twingate/v3 v3.0.13
+ github.com/pulumi/pulumi-terraform-bridge/pf v0.48.0
github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0
github.com/pulumi/pulumi/sdk/v3 v3.142.0
)
@@ -76,17 +76,17 @@ require (
github.com/hashicorp/go-getter v1.7.6 // indirect
github.com/hashicorp/go-hclog v1.6.3 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
- github.com/hashicorp/go-plugin v1.6.1 // indirect
+ github.com/hashicorp/go-plugin v1.6.2 // indirect
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
github.com/hashicorp/go-safetemp v1.0.0 // indirect
github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
- github.com/hashicorp/hcl/v2 v2.22.0 // indirect
+ github.com/hashicorp/hcl/v2 v2.23.0 // indirect
github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect
- github.com/hashicorp/terraform-plugin-framework v1.12.0 // indirect
- github.com/hashicorp/terraform-plugin-framework-validators v0.14.0 // indirect
- github.com/hashicorp/terraform-plugin-go v0.24.0 // indirect
+ github.com/hashicorp/terraform-plugin-framework v1.13.0 // indirect
+ github.com/hashicorp/terraform-plugin-framework-validators v0.15.0 // indirect
+ github.com/hashicorp/terraform-plugin-go v0.25.0 // indirect
github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect
github.com/hashicorp/terraform-registry-address v0.2.3 // indirect
github.com/hashicorp/terraform-svchost v0.1.1 // indirect
@@ -140,7 +140,7 @@ require (
github.com/pulumi/pulumi/pkg/v3 v3.140.0 // indirect
github.com/pulumi/schema-tools v0.1.2 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
- github.com/rogpeppe/go-internal v1.12.0 // indirect
+ github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
@@ -161,7 +161,7 @@ require (
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
- github.com/yuin/goldmark v1.7.4 // indirect
+ github.com/yuin/goldmark v1.7.7 // indirect
github.com/zclconf/go-cty v1.15.0 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect
@@ -170,15 +170,15 @@ require (
go.opentelemetry.io/otel/metric v1.29.0 // indirect
go.opentelemetry.io/otel/trace v1.29.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
- golang.org/x/crypto v0.27.0 // indirect
+ golang.org/x/crypto v0.29.0 // indirect
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
golang.org/x/mod v0.21.0 // indirect
golang.org/x/net v0.29.0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
- golang.org/x/sync v0.8.0 // indirect
- golang.org/x/sys v0.25.0 // indirect
- golang.org/x/term v0.24.0 // indirect
- golang.org/x/text v0.18.0 // indirect
+ golang.org/x/sync v0.9.0 // indirect
+ golang.org/x/sys v0.27.0 // indirect
+ golang.org/x/term v0.26.0 // indirect
+ golang.org/x/text v0.20.0 // indirect
golang.org/x/time v0.6.0 // indirect
golang.org/x/tools v0.25.0 // indirect
google.golang.org/api v0.198.0 // indirect
diff --git a/provider/go.sum b/provider/go.sum
index e0a374b..5cb6aff 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -230,8 +230,8 @@ github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton h1:KVBEgU3CJpmzLChnLiSuEyCuhGhcMt3eOST+7A+ckto=
github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
-github.com/Twingate/terraform-provider-twingate/v3 v3.0.12 h1:xELilKChkzEXIOvaj1vmg9+/xT3X1K9C6knihyAFgns=
-github.com/Twingate/terraform-provider-twingate/v3 v3.0.12/go.mod h1:7OY82zlmf6lMCx93kJMJWvAufDUfYX5F22W+d1OWEzA=
+github.com/Twingate/terraform-provider-twingate/v3 v3.0.13 h1:2ZIiGhZZi7/77oGB+nlS7ou8Weh6hxanXrqYWwBPE68=
+github.com/Twingate/terraform-provider-twingate/v3 v3.0.13/go.mod h1:NWJlwIPeYs+i5Jif+tjAhAERn7ckoWrLl8fEPsXfDbM=
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY=
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA=
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
@@ -526,8 +526,8 @@ github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVH
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
-github.com/hashicorp/go-plugin v1.6.1 h1:P7MR2UP6gNKGPp+y7EZw2kOiq4IR9WiqLvp0XOsVdwI=
-github.com/hashicorp/go-plugin v1.6.1/go.mod h1:XPHFku2tFo3o3QKFgSYo+cghcUhw1NA1hZyMK0PWAw0=
+github.com/hashicorp/go-plugin v1.6.2 h1:zdGAEd0V1lCaU0u+MxWQhtSDQmahpkwOun8U8EiRVog=
+github.com/hashicorp/go-plugin v1.6.2/go.mod h1:CkgLQ5CZqNmdL9U9JzM532t8ZiYQ35+pj3b1FD37R0Q=
github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU=
github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk=
github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc=
@@ -549,24 +549,24 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-github.com/hashicorp/hcl/v2 v2.22.0 h1:hkZ3nCtqeJsDhPRFz5EA9iwcG1hNWGePOTw6oyul12M=
-github.com/hashicorp/hcl/v2 v2.22.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA=
+github.com/hashicorp/hcl/v2 v2.23.0 h1:Fphj1/gCylPxHutVSEOf2fBOh1VE4AuLV7+kbJf3qos=
+github.com/hashicorp/hcl/v2 v2.23.0/go.mod h1:62ZYHrXgPoX8xBnzl8QzbWq4dyDsDtfCRgIq1rbJEvA=
github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ=
github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE=
github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
-github.com/hashicorp/terraform-plugin-framework v1.12.0 h1:7HKaueHPaikX5/7cbC1r9d1m12iYHY+FlNZEGxQ42CQ=
-github.com/hashicorp/terraform-plugin-framework v1.12.0/go.mod h1:N/IOQ2uYjW60Jp39Cp3mw7I/OpC/GfZ0385R0YibmkE=
-github.com/hashicorp/terraform-plugin-framework-validators v0.14.0 h1:3PCn9iyzdVOgHYOBmncpSSOxjQhCTYmc+PGvbdlqSaI=
-github.com/hashicorp/terraform-plugin-framework-validators v0.14.0/go.mod h1:LwDKNdzxrDY/mHBrlC6aYfE2fQ3Dk3gaJD64vNiXvo4=
-github.com/hashicorp/terraform-plugin-go v0.24.0 h1:2WpHhginCdVhFIrWHxDEg6RBn3YaWzR2o6qUeIEat2U=
-github.com/hashicorp/terraform-plugin-go v0.24.0/go.mod h1:tUQ53lAsOyYSckFGEefGC5C8BAaO0ENqzFd3bQeuYQg=
+github.com/hashicorp/terraform-plugin-framework v1.13.0 h1:8OTG4+oZUfKgnfTdPTJwZ532Bh2BobF4H+yBiYJ/scw=
+github.com/hashicorp/terraform-plugin-framework v1.13.0/go.mod h1:j64rwMGpgM3NYXTKuxrCnyubQb/4VKldEKlcG8cvmjU=
+github.com/hashicorp/terraform-plugin-framework-validators v0.15.0 h1:RXMmu7JgpFjnI1a5QjMCBb11usrW2OtAG+iOTIj5c9Y=
+github.com/hashicorp/terraform-plugin-framework-validators v0.15.0/go.mod h1:Bh89/hNmqsEWug4/XWKYBwtnw3tbz5BAy1L1OgvbIaY=
+github.com/hashicorp/terraform-plugin-go v0.25.0 h1:oi13cx7xXA6QciMcpcFi/rwA974rdTxjqEhXJjbAyks=
+github.com/hashicorp/terraform-plugin-go v0.25.0/go.mod h1:+SYagMYadJP86Kvn+TGeV+ofr/R3g4/If0O5sO96MVw=
github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0=
github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow=
github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0=
github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY=
-github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 h1:kJiWGx2kiQVo97Y5IOGR4EMcZ8DtMswHhUuFibsCQQE=
-github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0/go.mod h1:sl/UoabMc37HA6ICVMmGO+/0wofkVIRxf+BMb/dnoIg=
+github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 h1:wyKCCtn6pBBL46c1uIIBNUOWlNfYXfXpVo16iDyLp8Y=
+github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0/go.mod h1:B0Al8NyYVr8Mp/KLwssKXG1RqnTk7FySqSn4fRuLNgw=
github.com/hashicorp/terraform-registry-address v0.2.3 h1:2TAiKJ1A3MAkZlH1YI/aTVcLZRu7JseiXNRHbOAyoTI=
github.com/hashicorp/terraform-registry-address v0.2.3/go.mod h1:lFHA76T8jfQteVfT7caREqguFrW3c4MFSPhZB7HHgUM=
github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ=
@@ -728,8 +728,8 @@ github.com/pulumi/providertest v0.1.3 h1:GpNKRy/haNjRHiUA9bi4diU4Op2zf3axYXbga5A
github.com/pulumi/providertest v0.1.3/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0=
github.com/pulumi/pulumi-java/pkg v0.17.0 h1:KmaVLrVmlkzShOfaJNJDlckorbFm8dM/C7L4hj6LX8U=
github.com/pulumi/pulumi-java/pkg v0.17.0/go.mod h1:ji4U4H7t81X4aaE88D9+z5CmKH/QoLwQi9N1iGl+2KQ=
-github.com/pulumi/pulumi-terraform-bridge/pf v0.49.0 h1:GJ20wQxz5dYbOWdDyDp1E3SuuTuLVdBpnp70FJ+VVpQ=
-github.com/pulumi/pulumi-terraform-bridge/pf v0.49.0/go.mod h1:zDdNBSsrNhUxyeX1MrXr/O71DBpWMFZ8dGIGV0Pbj0c=
+github.com/pulumi/pulumi-terraform-bridge/pf v0.48.0 h1:wbE7jVvIYE2QmQh9st9a1oBRCj9yc6EPeAIoDHcpUsw=
+github.com/pulumi/pulumi-terraform-bridge/pf v0.48.0/go.mod h1:Bw6XabsWSw4gjk9q94MZHorvpx7bp710DWJgMQCAaJE=
github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 h1:uJB3tM1j+9SKeXLCAx3DBVHsYk4ddXNrVoiqpgXal2Q=
github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0/go.mod h1:WnOTAfdtm5+kW3rIU0rLhxFSEHtJIMf19FdOU6NFXG0=
github.com/pulumi/pulumi-yaml v1.11.2 h1:MU7TTNbruGCSgNHhaBygjIbLWm3WSbd1q98GpMIgQzE=
@@ -749,8 +749,8 @@ github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
-github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
+github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
+github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk=
@@ -796,8 +796,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
-github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
+github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/teekennedy/goldmark-markdown v0.3.0 h1:ik9/biVGCwGWFg8dQ3KVm2pQ/wiiG0whYiUcz9xH0W8=
github.com/teekennedy/goldmark-markdown v0.3.0/go.mod h1:kMhDz8La77A9UHvJGsxejd0QUflN9sS+QXCqnhmxmNo=
github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U=
@@ -830,8 +830,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-github.com/yuin/goldmark v1.7.4 h1:BDXOHExt+A7gwPCJgPIIq7ENvceR7we7rOS9TNoLZeg=
-github.com/yuin/goldmark v1.7.4/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
+github.com/yuin/goldmark v1.7.7 h1:5m9rrB1sW3JUMToKFQfb+FGt1U7r57IHu5GrYrG2nqU=
+github.com/yuin/goldmark v1.7.7/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
github.com/zclconf/go-cty v1.15.0 h1:tTCRWxsexYUmtt/wVxgDClUe+uQusuI443uL6e+5sXQ=
github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo=
@@ -876,8 +876,8 @@ golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
-golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
-golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
+golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
+golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -1011,8 +1011,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
-golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ=
+golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1088,14 +1088,14 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
-golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
+golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
-golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
-golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
+golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU=
+golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1106,8 +1106,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
-golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
+golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
diff --git a/sdk/dotnet/GetTwingateConnector.cs b/sdk/dotnet/GetTwingateConnector.cs
index 72a0d82..1d37a97 100644
--- a/sdk/dotnet/GetTwingateConnector.cs
+++ b/sdk/dotnet/GetTwingateConnector.cs
@@ -94,6 +94,10 @@ public GetTwingateConnectorInvokeArgs()
[OutputType]
public sealed class GetTwingateConnectorResult
{
+ ///
+ /// The hostname of the machine hosting the Connector.
+ ///
+ public readonly string Hostname;
///
/// The ID of the Connector. The ID for the Connector can be obtained from the Admin API or the URL string in the Admin Console.
///
@@ -103,28 +107,59 @@ public sealed class GetTwingateConnectorResult
///
public readonly string Name;
///
+ /// The Connector's private IP addresses.
+ ///
+ public readonly ImmutableArray PrivateIps;
+ ///
+ /// The Connector's public IP address.
+ ///
+ public readonly string PublicIp;
+ ///
/// The ID of the Remote Network the Connector is attached to.
///
public readonly string RemoteNetworkId;
///
+ /// The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ ///
+ public readonly string State;
+ ///
/// Determines whether status notifications are enabled for the Connector.
///
public readonly bool StatusUpdatesEnabled;
+ ///
+ /// The Connector's version.
+ ///
+ public readonly string Version;
[OutputConstructor]
private GetTwingateConnectorResult(
+ string hostname,
+
string id,
string name,
+ ImmutableArray privateIps,
+
+ string publicIp,
+
string remoteNetworkId,
- bool statusUpdatesEnabled)
+ string state,
+
+ bool statusUpdatesEnabled,
+
+ string version)
{
+ Hostname = hostname;
Id = id;
Name = name;
+ PrivateIps = privateIps;
+ PublicIp = publicIp;
RemoteNetworkId = remoteNetworkId;
+ State = state;
StatusUpdatesEnabled = statusUpdatesEnabled;
+ Version = version;
}
}
}
diff --git a/sdk/dotnet/Outputs/GetTwingateConnectorsConnectorResult.cs b/sdk/dotnet/Outputs/GetTwingateConnectorsConnectorResult.cs
index fc88232..c4a3bf4 100644
--- a/sdk/dotnet/Outputs/GetTwingateConnectorsConnectorResult.cs
+++ b/sdk/dotnet/Outputs/GetTwingateConnectorsConnectorResult.cs
@@ -14,6 +14,10 @@ namespace Twingate.Twingate.Outputs
[OutputType]
public sealed class GetTwingateConnectorsConnectorResult
{
+ ///
+ /// The hostname of the machine hosting the Connector.
+ ///
+ public readonly string Hostname;
///
/// The ID of the Connector.
///
@@ -23,28 +27,59 @@ public sealed class GetTwingateConnectorsConnectorResult
///
public readonly string Name;
///
+ /// The Connector's private IP addresses.
+ ///
+ public readonly ImmutableArray PrivateIps;
+ ///
+ /// The Connector's public IP address.
+ ///
+ public readonly string PublicIp;
+ ///
/// The ID of the Remote Network attached to the Connector.
///
public readonly string RemoteNetworkId;
///
+ /// The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ ///
+ public readonly string State;
+ ///
/// Determines whether status notifications are enabled for the Connector.
///
public readonly bool StatusUpdatesEnabled;
+ ///
+ /// The Connector's version.
+ ///
+ public readonly string Version;
[OutputConstructor]
private GetTwingateConnectorsConnectorResult(
+ string hostname,
+
string id,
string name,
+ ImmutableArray privateIps,
+
+ string publicIp,
+
string remoteNetworkId,
- bool statusUpdatesEnabled)
+ string state,
+
+ bool statusUpdatesEnabled,
+
+ string version)
{
+ Hostname = hostname;
Id = id;
Name = name;
+ PrivateIps = privateIps;
+ PublicIp = publicIp;
RemoteNetworkId = remoteNetworkId;
+ State = state;
StatusUpdatesEnabled = statusUpdatesEnabled;
+ Version = version;
}
}
}
diff --git a/sdk/dotnet/TwingateConnector.cs b/sdk/dotnet/TwingateConnector.cs
index 1732fc5..1f85543 100644
--- a/sdk/dotnet/TwingateConnector.cs
+++ b/sdk/dotnet/TwingateConnector.cs
@@ -43,24 +43,54 @@ namespace Twingate.Twingate
[TwingateResourceType("twingate:index/twingateConnector:TwingateConnector")]
public partial class TwingateConnector : global::Pulumi.CustomResource
{
+ ///
+ /// The hostname of the machine hosting the Connector.
+ ///
+ [Output("hostname")]
+ public Output Hostname { get; private set; } = null!;
+
///
/// Name of the Connector, if not provided one will be generated.
///
[Output("name")]
public Output Name { get; private set; } = null!;
+ ///
+ /// The Connector's private IP addresses.
+ ///
+ [Output("privateIps")]
+ public Output> PrivateIps { get; private set; } = null!;
+
+ ///
+ /// The Connector's public IP address.
+ ///
+ [Output("publicIp")]
+ public Output PublicIp { get; private set; } = null!;
+
///
/// The ID of the Remote Network the Connector is attached to.
///
[Output("remoteNetworkId")]
public Output RemoteNetworkId { get; private set; } = null!;
+ ///
+ /// The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ ///
+ [Output("state")]
+ public Output State { get; private set; } = null!;
+
///
/// Determines whether status notifications are enabled for the Connector. Default is `true`.
///
[Output("statusUpdatesEnabled")]
public Output StatusUpdatesEnabled { get; private set; } = null!;
+ ///
+ /// The Connector's version.
+ ///
+ [Output("version")]
+ public Output Version { get; private set; } = null!;
+
///
/// Create a TwingateConnector resource with the given unique name, arguments, and options.
@@ -134,24 +164,60 @@ public TwingateConnectorArgs()
public sealed class TwingateConnectorState : global::Pulumi.ResourceArgs
{
+ ///
+ /// The hostname of the machine hosting the Connector.
+ ///
+ [Input("hostname")]
+ public Input? Hostname { get; set; }
+
///
/// Name of the Connector, if not provided one will be generated.
///
[Input("name")]
public Input? Name { get; set; }
+ [Input("privateIps")]
+ private InputList? _privateIps;
+
+ ///
+ /// The Connector's private IP addresses.
+ ///
+ public InputList PrivateIps
+ {
+ get => _privateIps ?? (_privateIps = new InputList());
+ set => _privateIps = value;
+ }
+
+ ///
+ /// The Connector's public IP address.
+ ///
+ [Input("publicIp")]
+ public Input? PublicIp { get; set; }
+
///
/// The ID of the Remote Network the Connector is attached to.
///
[Input("remoteNetworkId")]
public Input? RemoteNetworkId { get; set; }
+ ///
+ /// The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ ///
+ [Input("state")]
+ public Input? State { get; set; }
+
///
/// Determines whether status notifications are enabled for the Connector. Default is `true`.
///
[Input("statusUpdatesEnabled")]
public Input? StatusUpdatesEnabled { get; set; }
+ ///
+ /// The Connector's version.
+ ///
+ [Input("version")]
+ public Input? Version { get; set; }
+
public TwingateConnectorState()
{
}
diff --git a/sdk/go/twingate/getTwingateConnector.go b/sdk/go/twingate/getTwingateConnector.go
index 85bc1cb..41af639 100644
--- a/sdk/go/twingate/getTwingateConnector.go
+++ b/sdk/go/twingate/getTwingateConnector.go
@@ -56,14 +56,24 @@ type LookupTwingateConnectorArgs struct {
// A collection of values returned by getTwingateConnector.
type LookupTwingateConnectorResult struct {
+ // The hostname of the machine hosting the Connector.
+ Hostname string `pulumi:"hostname"`
// The ID of the Connector. The ID for the Connector can be obtained from the Admin API or the URL string in the Admin Console.
Id string `pulumi:"id"`
// The name of the Connector.
Name string `pulumi:"name"`
+ // The Connector's private IP addresses.
+ PrivateIps []string `pulumi:"privateIps"`
+ // The Connector's public IP address.
+ PublicIp string `pulumi:"publicIp"`
// The ID of the Remote Network the Connector is attached to.
RemoteNetworkId string `pulumi:"remoteNetworkId"`
+ // The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ State string `pulumi:"state"`
// Determines whether status notifications are enabled for the Connector.
StatusUpdatesEnabled bool `pulumi:"statusUpdatesEnabled"`
+ // The Connector's version.
+ Version string `pulumi:"version"`
}
func LookupTwingateConnectorOutput(ctx *pulumi.Context, args LookupTwingateConnectorOutputArgs, opts ...pulumi.InvokeOption) LookupTwingateConnectorResultOutput {
@@ -110,6 +120,11 @@ func (o LookupTwingateConnectorResultOutput) ToLookupTwingateConnectorResultOutp
return o
}
+// The hostname of the machine hosting the Connector.
+func (o LookupTwingateConnectorResultOutput) Hostname() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupTwingateConnectorResult) string { return v.Hostname }).(pulumi.StringOutput)
+}
+
// The ID of the Connector. The ID for the Connector can be obtained from the Admin API or the URL string in the Admin Console.
func (o LookupTwingateConnectorResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v LookupTwingateConnectorResult) string { return v.Id }).(pulumi.StringOutput)
@@ -120,16 +135,36 @@ func (o LookupTwingateConnectorResultOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v LookupTwingateConnectorResult) string { return v.Name }).(pulumi.StringOutput)
}
+// The Connector's private IP addresses.
+func (o LookupTwingateConnectorResultOutput) PrivateIps() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v LookupTwingateConnectorResult) []string { return v.PrivateIps }).(pulumi.StringArrayOutput)
+}
+
+// The Connector's public IP address.
+func (o LookupTwingateConnectorResultOutput) PublicIp() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupTwingateConnectorResult) string { return v.PublicIp }).(pulumi.StringOutput)
+}
+
// The ID of the Remote Network the Connector is attached to.
func (o LookupTwingateConnectorResultOutput) RemoteNetworkId() pulumi.StringOutput {
return o.ApplyT(func(v LookupTwingateConnectorResult) string { return v.RemoteNetworkId }).(pulumi.StringOutput)
}
+// The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+func (o LookupTwingateConnectorResultOutput) State() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupTwingateConnectorResult) string { return v.State }).(pulumi.StringOutput)
+}
+
// Determines whether status notifications are enabled for the Connector.
func (o LookupTwingateConnectorResultOutput) StatusUpdatesEnabled() pulumi.BoolOutput {
return o.ApplyT(func(v LookupTwingateConnectorResult) bool { return v.StatusUpdatesEnabled }).(pulumi.BoolOutput)
}
+// The Connector's version.
+func (o LookupTwingateConnectorResultOutput) Version() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupTwingateConnectorResult) string { return v.Version }).(pulumi.StringOutput)
+}
+
func init() {
pulumi.RegisterOutputType(LookupTwingateConnectorResultOutput{})
}
diff --git a/sdk/go/twingate/pulumiTypes.go b/sdk/go/twingate/pulumiTypes.go
index f88b29f..45bb3b4 100644
--- a/sdk/go/twingate/pulumiTypes.go
+++ b/sdk/go/twingate/pulumiTypes.go
@@ -1762,14 +1762,24 @@ func (o TwingateResourceProtocolsUdpPtrOutput) Ports() pulumi.StringArrayOutput
}
type GetTwingateConnectorsConnector struct {
+ // The hostname of the machine hosting the Connector.
+ Hostname string `pulumi:"hostname"`
// The ID of the Connector.
Id string `pulumi:"id"`
// The Name of the Connector.
Name string `pulumi:"name"`
+ // The Connector's private IP addresses.
+ PrivateIps []string `pulumi:"privateIps"`
+ // The Connector's public IP address.
+ PublicIp string `pulumi:"publicIp"`
// The ID of the Remote Network attached to the Connector.
RemoteNetworkId string `pulumi:"remoteNetworkId"`
+ // The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ State string `pulumi:"state"`
// Determines whether status notifications are enabled for the Connector.
StatusUpdatesEnabled bool `pulumi:"statusUpdatesEnabled"`
+ // The Connector's version.
+ Version string `pulumi:"version"`
}
// GetTwingateConnectorsConnectorInput is an input type that accepts GetTwingateConnectorsConnectorArgs and GetTwingateConnectorsConnectorOutput values.
@@ -1784,14 +1794,24 @@ type GetTwingateConnectorsConnectorInput interface {
}
type GetTwingateConnectorsConnectorArgs struct {
+ // The hostname of the machine hosting the Connector.
+ Hostname pulumi.StringInput `pulumi:"hostname"`
// The ID of the Connector.
Id pulumi.StringInput `pulumi:"id"`
// The Name of the Connector.
Name pulumi.StringInput `pulumi:"name"`
+ // The Connector's private IP addresses.
+ PrivateIps pulumi.StringArrayInput `pulumi:"privateIps"`
+ // The Connector's public IP address.
+ PublicIp pulumi.StringInput `pulumi:"publicIp"`
// The ID of the Remote Network attached to the Connector.
RemoteNetworkId pulumi.StringInput `pulumi:"remoteNetworkId"`
+ // The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ State pulumi.StringInput `pulumi:"state"`
// Determines whether status notifications are enabled for the Connector.
StatusUpdatesEnabled pulumi.BoolInput `pulumi:"statusUpdatesEnabled"`
+ // The Connector's version.
+ Version pulumi.StringInput `pulumi:"version"`
}
func (GetTwingateConnectorsConnectorArgs) ElementType() reflect.Type {
@@ -1845,6 +1865,11 @@ func (o GetTwingateConnectorsConnectorOutput) ToGetTwingateConnectorsConnectorOu
return o
}
+// The hostname of the machine hosting the Connector.
+func (o GetTwingateConnectorsConnectorOutput) Hostname() pulumi.StringOutput {
+ return o.ApplyT(func(v GetTwingateConnectorsConnector) string { return v.Hostname }).(pulumi.StringOutput)
+}
+
// The ID of the Connector.
func (o GetTwingateConnectorsConnectorOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v GetTwingateConnectorsConnector) string { return v.Id }).(pulumi.StringOutput)
@@ -1855,16 +1880,36 @@ func (o GetTwingateConnectorsConnectorOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v GetTwingateConnectorsConnector) string { return v.Name }).(pulumi.StringOutput)
}
+// The Connector's private IP addresses.
+func (o GetTwingateConnectorsConnectorOutput) PrivateIps() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v GetTwingateConnectorsConnector) []string { return v.PrivateIps }).(pulumi.StringArrayOutput)
+}
+
+// The Connector's public IP address.
+func (o GetTwingateConnectorsConnectorOutput) PublicIp() pulumi.StringOutput {
+ return o.ApplyT(func(v GetTwingateConnectorsConnector) string { return v.PublicIp }).(pulumi.StringOutput)
+}
+
// The ID of the Remote Network attached to the Connector.
func (o GetTwingateConnectorsConnectorOutput) RemoteNetworkId() pulumi.StringOutput {
return o.ApplyT(func(v GetTwingateConnectorsConnector) string { return v.RemoteNetworkId }).(pulumi.StringOutput)
}
+// The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+func (o GetTwingateConnectorsConnectorOutput) State() pulumi.StringOutput {
+ return o.ApplyT(func(v GetTwingateConnectorsConnector) string { return v.State }).(pulumi.StringOutput)
+}
+
// Determines whether status notifications are enabled for the Connector.
func (o GetTwingateConnectorsConnectorOutput) StatusUpdatesEnabled() pulumi.BoolOutput {
return o.ApplyT(func(v GetTwingateConnectorsConnector) bool { return v.StatusUpdatesEnabled }).(pulumi.BoolOutput)
}
+// The Connector's version.
+func (o GetTwingateConnectorsConnectorOutput) Version() pulumi.StringOutput {
+ return o.ApplyT(func(v GetTwingateConnectorsConnector) string { return v.Version }).(pulumi.StringOutput)
+}
+
type GetTwingateConnectorsConnectorArrayOutput struct{ *pulumi.OutputState }
func (GetTwingateConnectorsConnectorArrayOutput) ElementType() reflect.Type {
diff --git a/sdk/go/twingate/twingateConnector.go b/sdk/go/twingate/twingateConnector.go
index b32c629..1d208db 100644
--- a/sdk/go/twingate/twingateConnector.go
+++ b/sdk/go/twingate/twingateConnector.go
@@ -53,12 +53,22 @@ import (
type TwingateConnector struct {
pulumi.CustomResourceState
+ // The hostname of the machine hosting the Connector.
+ Hostname pulumi.StringOutput `pulumi:"hostname"`
// Name of the Connector, if not provided one will be generated.
Name pulumi.StringOutput `pulumi:"name"`
+ // The Connector's private IP addresses.
+ PrivateIps pulumi.StringArrayOutput `pulumi:"privateIps"`
+ // The Connector's public IP address.
+ PublicIp pulumi.StringOutput `pulumi:"publicIp"`
// The ID of the Remote Network the Connector is attached to.
RemoteNetworkId pulumi.StringOutput `pulumi:"remoteNetworkId"`
+ // The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ State pulumi.StringOutput `pulumi:"state"`
// Determines whether status notifications are enabled for the Connector. Default is `true`.
StatusUpdatesEnabled pulumi.BoolOutput `pulumi:"statusUpdatesEnabled"`
+ // The Connector's version.
+ Version pulumi.StringOutput `pulumi:"version"`
}
// NewTwingateConnector registers a new resource with the given unique name, arguments, and options.
@@ -94,21 +104,41 @@ func GetTwingateConnector(ctx *pulumi.Context,
// Input properties used for looking up and filtering TwingateConnector resources.
type twingateConnectorState struct {
+ // The hostname of the machine hosting the Connector.
+ Hostname *string `pulumi:"hostname"`
// Name of the Connector, if not provided one will be generated.
Name *string `pulumi:"name"`
+ // The Connector's private IP addresses.
+ PrivateIps []string `pulumi:"privateIps"`
+ // The Connector's public IP address.
+ PublicIp *string `pulumi:"publicIp"`
// The ID of the Remote Network the Connector is attached to.
RemoteNetworkId *string `pulumi:"remoteNetworkId"`
+ // The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ State *string `pulumi:"state"`
// Determines whether status notifications are enabled for the Connector. Default is `true`.
StatusUpdatesEnabled *bool `pulumi:"statusUpdatesEnabled"`
+ // The Connector's version.
+ Version *string `pulumi:"version"`
}
type TwingateConnectorState struct {
+ // The hostname of the machine hosting the Connector.
+ Hostname pulumi.StringPtrInput
// Name of the Connector, if not provided one will be generated.
Name pulumi.StringPtrInput
+ // The Connector's private IP addresses.
+ PrivateIps pulumi.StringArrayInput
+ // The Connector's public IP address.
+ PublicIp pulumi.StringPtrInput
// The ID of the Remote Network the Connector is attached to.
RemoteNetworkId pulumi.StringPtrInput
+ // The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ State pulumi.StringPtrInput
// Determines whether status notifications are enabled for the Connector. Default is `true`.
StatusUpdatesEnabled pulumi.BoolPtrInput
+ // The Connector's version.
+ Version pulumi.StringPtrInput
}
func (TwingateConnectorState) ElementType() reflect.Type {
@@ -221,21 +251,46 @@ func (o TwingateConnectorOutput) ToTwingateConnectorOutputWithContext(ctx contex
return o
}
+// The hostname of the machine hosting the Connector.
+func (o TwingateConnectorOutput) Hostname() pulumi.StringOutput {
+ return o.ApplyT(func(v *TwingateConnector) pulumi.StringOutput { return v.Hostname }).(pulumi.StringOutput)
+}
+
// Name of the Connector, if not provided one will be generated.
func (o TwingateConnectorOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v *TwingateConnector) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
}
+// The Connector's private IP addresses.
+func (o TwingateConnectorOutput) PrivateIps() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v *TwingateConnector) pulumi.StringArrayOutput { return v.PrivateIps }).(pulumi.StringArrayOutput)
+}
+
+// The Connector's public IP address.
+func (o TwingateConnectorOutput) PublicIp() pulumi.StringOutput {
+ return o.ApplyT(func(v *TwingateConnector) pulumi.StringOutput { return v.PublicIp }).(pulumi.StringOutput)
+}
+
// The ID of the Remote Network the Connector is attached to.
func (o TwingateConnectorOutput) RemoteNetworkId() pulumi.StringOutput {
return o.ApplyT(func(v *TwingateConnector) pulumi.StringOutput { return v.RemoteNetworkId }).(pulumi.StringOutput)
}
+// The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+func (o TwingateConnectorOutput) State() pulumi.StringOutput {
+ return o.ApplyT(func(v *TwingateConnector) pulumi.StringOutput { return v.State }).(pulumi.StringOutput)
+}
+
// Determines whether status notifications are enabled for the Connector. Default is `true`.
func (o TwingateConnectorOutput) StatusUpdatesEnabled() pulumi.BoolOutput {
return o.ApplyT(func(v *TwingateConnector) pulumi.BoolOutput { return v.StatusUpdatesEnabled }).(pulumi.BoolOutput)
}
+// The Connector's version.
+func (o TwingateConnectorOutput) Version() pulumi.StringOutput {
+ return o.ApplyT(func(v *TwingateConnector) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput)
+}
+
type TwingateConnectorArrayOutput struct{ *pulumi.OutputState }
func (TwingateConnectorArrayOutput) ElementType() reflect.Type {
diff --git a/sdk/nodejs/getTwingateConnector.ts b/sdk/nodejs/getTwingateConnector.ts
index 3010e8f..3360356 100644
--- a/sdk/nodejs/getTwingateConnector.ts
+++ b/sdk/nodejs/getTwingateConnector.ts
@@ -39,6 +39,10 @@ export interface GetTwingateConnectorArgs {
* A collection of values returned by getTwingateConnector.
*/
export interface GetTwingateConnectorResult {
+ /**
+ * The hostname of the machine hosting the Connector.
+ */
+ readonly hostname: string;
/**
* The ID of the Connector. The ID for the Connector can be obtained from the Admin API or the URL string in the Admin Console.
*/
@@ -47,14 +51,30 @@ export interface GetTwingateConnectorResult {
* The name of the Connector.
*/
readonly name: string;
+ /**
+ * The Connector's private IP addresses.
+ */
+ readonly privateIps: string[];
+ /**
+ * The Connector's public IP address.
+ */
+ readonly publicIp: string;
/**
* The ID of the Remote Network the Connector is attached to.
*/
readonly remoteNetworkId: string;
+ /**
+ * The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ */
+ readonly state: string;
/**
* Determines whether status notifications are enabled for the Connector.
*/
readonly statusUpdatesEnabled: boolean;
+ /**
+ * The Connector's version.
+ */
+ readonly version: string;
}
/**
* Connectors provide connectivity to Remote Networks. For more information, see Twingate's [documentation](https://docs.twingate.com/docs/understanding-access-nodes).
diff --git a/sdk/nodejs/twingateConnector.ts b/sdk/nodejs/twingateConnector.ts
index 1507397..e7c0821 100644
--- a/sdk/nodejs/twingateConnector.ts
+++ b/sdk/nodejs/twingateConnector.ts
@@ -54,18 +54,38 @@ export class TwingateConnector extends pulumi.CustomResource {
return obj['__pulumiType'] === TwingateConnector.__pulumiType;
}
+ /**
+ * The hostname of the machine hosting the Connector.
+ */
+ public /*out*/ readonly hostname!: pulumi.Output;
/**
* Name of the Connector, if not provided one will be generated.
*/
public readonly name!: pulumi.Output;
+ /**
+ * The Connector's private IP addresses.
+ */
+ public /*out*/ readonly privateIps!: pulumi.Output;
+ /**
+ * The Connector's public IP address.
+ */
+ public /*out*/ readonly publicIp!: pulumi.Output;
/**
* The ID of the Remote Network the Connector is attached to.
*/
public readonly remoteNetworkId!: pulumi.Output;
+ /**
+ * The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ */
+ public /*out*/ readonly state!: pulumi.Output;
/**
* Determines whether status notifications are enabled for the Connector. Default is `true`.
*/
public readonly statusUpdatesEnabled!: pulumi.Output;
+ /**
+ * The Connector's version.
+ */
+ public /*out*/ readonly version!: pulumi.Output;
/**
* Create a TwingateConnector resource with the given unique name, arguments, and options.
@@ -80,9 +100,14 @@ export class TwingateConnector extends pulumi.CustomResource {
opts = opts || {};
if (opts.id) {
const state = argsOrState as TwingateConnectorState | undefined;
+ resourceInputs["hostname"] = state ? state.hostname : undefined;
resourceInputs["name"] = state ? state.name : undefined;
+ resourceInputs["privateIps"] = state ? state.privateIps : undefined;
+ resourceInputs["publicIp"] = state ? state.publicIp : undefined;
resourceInputs["remoteNetworkId"] = state ? state.remoteNetworkId : undefined;
+ resourceInputs["state"] = state ? state.state : undefined;
resourceInputs["statusUpdatesEnabled"] = state ? state.statusUpdatesEnabled : undefined;
+ resourceInputs["version"] = state ? state.version : undefined;
} else {
const args = argsOrState as TwingateConnectorArgs | undefined;
if ((!args || args.remoteNetworkId === undefined) && !opts.urn) {
@@ -91,6 +116,11 @@ export class TwingateConnector extends pulumi.CustomResource {
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["remoteNetworkId"] = args ? args.remoteNetworkId : undefined;
resourceInputs["statusUpdatesEnabled"] = args ? args.statusUpdatesEnabled : undefined;
+ resourceInputs["hostname"] = undefined /*out*/;
+ resourceInputs["privateIps"] = undefined /*out*/;
+ resourceInputs["publicIp"] = undefined /*out*/;
+ resourceInputs["state"] = undefined /*out*/;
+ resourceInputs["version"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(TwingateConnector.__pulumiType, name, resourceInputs, opts);
@@ -101,18 +131,38 @@ export class TwingateConnector extends pulumi.CustomResource {
* Input properties used for looking up and filtering TwingateConnector resources.
*/
export interface TwingateConnectorState {
+ /**
+ * The hostname of the machine hosting the Connector.
+ */
+ hostname?: pulumi.Input;
/**
* Name of the Connector, if not provided one will be generated.
*/
name?: pulumi.Input;
+ /**
+ * The Connector's private IP addresses.
+ */
+ privateIps?: pulumi.Input[]>;
+ /**
+ * The Connector's public IP address.
+ */
+ publicIp?: pulumi.Input;
/**
* The ID of the Remote Network the Connector is attached to.
*/
remoteNetworkId?: pulumi.Input;
+ /**
+ * The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ */
+ state?: pulumi.Input;
/**
* Determines whether status notifications are enabled for the Connector. Default is `true`.
*/
statusUpdatesEnabled?: pulumi.Input;
+ /**
+ * The Connector's version.
+ */
+ version?: pulumi.Input;
}
/**
diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts
index 72ac18c..1a06bb8 100644
--- a/sdk/nodejs/types/output.ts
+++ b/sdk/nodejs/types/output.ts
@@ -6,6 +6,10 @@ import * as inputs from "../types/input";
import * as outputs from "../types/output";
export interface GetTwingateConnectorsConnector {
+ /**
+ * The hostname of the machine hosting the Connector.
+ */
+ hostname: string;
/**
* The ID of the Connector.
*/
@@ -14,14 +18,30 @@ export interface GetTwingateConnectorsConnector {
* The Name of the Connector.
*/
name: string;
+ /**
+ * The Connector's private IP addresses.
+ */
+ privateIps: string[];
+ /**
+ * The Connector's public IP address.
+ */
+ publicIp: string;
/**
* The ID of the Remote Network attached to the Connector.
*/
remoteNetworkId: string;
+ /**
+ * The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ */
+ state: string;
/**
* Determines whether status notifications are enabled for the Connector.
*/
statusUpdatesEnabled: boolean;
+ /**
+ * The Connector's version.
+ */
+ version: string;
}
export interface GetTwingateDNSFilteringProfileAllowedDomains {
diff --git a/sdk/python/pulumi_twingate/get_twingate_connector.py b/sdk/python/pulumi_twingate/get_twingate_connector.py
index 63a6a07..fd5a467 100644
--- a/sdk/python/pulumi_twingate/get_twingate_connector.py
+++ b/sdk/python/pulumi_twingate/get_twingate_connector.py
@@ -26,19 +26,42 @@ class GetTwingateConnectorResult:
"""
A collection of values returned by getTwingateConnector.
"""
- def __init__(__self__, id=None, name=None, remote_network_id=None, status_updates_enabled=None):
+ def __init__(__self__, hostname=None, id=None, name=None, private_ips=None, public_ip=None, remote_network_id=None, state=None, status_updates_enabled=None, version=None):
+ if hostname and not isinstance(hostname, str):
+ raise TypeError("Expected argument 'hostname' to be a str")
+ pulumi.set(__self__, "hostname", hostname)
if id and not isinstance(id, str):
raise TypeError("Expected argument 'id' to be a str")
pulumi.set(__self__, "id", id)
if name and not isinstance(name, str):
raise TypeError("Expected argument 'name' to be a str")
pulumi.set(__self__, "name", name)
+ if private_ips and not isinstance(private_ips, list):
+ raise TypeError("Expected argument 'private_ips' to be a list")
+ pulumi.set(__self__, "private_ips", private_ips)
+ if public_ip and not isinstance(public_ip, str):
+ raise TypeError("Expected argument 'public_ip' to be a str")
+ pulumi.set(__self__, "public_ip", public_ip)
if remote_network_id and not isinstance(remote_network_id, str):
raise TypeError("Expected argument 'remote_network_id' to be a str")
pulumi.set(__self__, "remote_network_id", remote_network_id)
+ if state and not isinstance(state, str):
+ raise TypeError("Expected argument 'state' to be a str")
+ pulumi.set(__self__, "state", state)
if status_updates_enabled and not isinstance(status_updates_enabled, bool):
raise TypeError("Expected argument 'status_updates_enabled' to be a bool")
pulumi.set(__self__, "status_updates_enabled", status_updates_enabled)
+ if version and not isinstance(version, str):
+ raise TypeError("Expected argument 'version' to be a str")
+ pulumi.set(__self__, "version", version)
+
+ @property
+ @pulumi.getter
+ def hostname(self) -> str:
+ """
+ The hostname of the machine hosting the Connector.
+ """
+ return pulumi.get(self, "hostname")
@property
@pulumi.getter
@@ -56,6 +79,22 @@ def name(self) -> str:
"""
return pulumi.get(self, "name")
+ @property
+ @pulumi.getter(name="privateIps")
+ def private_ips(self) -> Sequence[str]:
+ """
+ The Connector's private IP addresses.
+ """
+ return pulumi.get(self, "private_ips")
+
+ @property
+ @pulumi.getter(name="publicIp")
+ def public_ip(self) -> str:
+ """
+ The Connector's public IP address.
+ """
+ return pulumi.get(self, "public_ip")
+
@property
@pulumi.getter(name="remoteNetworkId")
def remote_network_id(self) -> str:
@@ -64,6 +103,14 @@ def remote_network_id(self) -> str:
"""
return pulumi.get(self, "remote_network_id")
+ @property
+ @pulumi.getter
+ def state(self) -> str:
+ """
+ The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ """
+ return pulumi.get(self, "state")
+
@property
@pulumi.getter(name="statusUpdatesEnabled")
def status_updates_enabled(self) -> bool:
@@ -72,6 +119,14 @@ def status_updates_enabled(self) -> bool:
"""
return pulumi.get(self, "status_updates_enabled")
+ @property
+ @pulumi.getter
+ def version(self) -> str:
+ """
+ The Connector's version.
+ """
+ return pulumi.get(self, "version")
+
class AwaitableGetTwingateConnectorResult(GetTwingateConnectorResult):
# pylint: disable=using-constant-test
@@ -79,10 +134,15 @@ def __await__(self):
if False:
yield self
return GetTwingateConnectorResult(
+ hostname=self.hostname,
id=self.id,
name=self.name,
+ private_ips=self.private_ips,
+ public_ip=self.public_ip,
remote_network_id=self.remote_network_id,
- status_updates_enabled=self.status_updates_enabled)
+ state=self.state,
+ status_updates_enabled=self.status_updates_enabled,
+ version=self.version)
def get_twingate_connector(id: Optional[str] = None,
@@ -108,10 +168,15 @@ def get_twingate_connector(id: Optional[str] = None,
__ret__ = pulumi.runtime.invoke('twingate:index/getTwingateConnector:getTwingateConnector', __args__, opts=opts, typ=GetTwingateConnectorResult).value
return AwaitableGetTwingateConnectorResult(
+ hostname=pulumi.get(__ret__, 'hostname'),
id=pulumi.get(__ret__, 'id'),
name=pulumi.get(__ret__, 'name'),
+ private_ips=pulumi.get(__ret__, 'private_ips'),
+ public_ip=pulumi.get(__ret__, 'public_ip'),
remote_network_id=pulumi.get(__ret__, 'remote_network_id'),
- status_updates_enabled=pulumi.get(__ret__, 'status_updates_enabled'))
+ state=pulumi.get(__ret__, 'state'),
+ status_updates_enabled=pulumi.get(__ret__, 'status_updates_enabled'),
+ version=pulumi.get(__ret__, 'version'))
def get_twingate_connector_output(id: Optional[pulumi.Input[str]] = None,
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTwingateConnectorResult]:
"""
@@ -134,7 +199,12 @@ def get_twingate_connector_output(id: Optional[pulumi.Input[str]] = None,
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
__ret__ = pulumi.runtime.invoke_output('twingate:index/getTwingateConnector:getTwingateConnector', __args__, opts=opts, typ=GetTwingateConnectorResult)
return __ret__.apply(lambda __response__: GetTwingateConnectorResult(
+ hostname=pulumi.get(__response__, 'hostname'),
id=pulumi.get(__response__, 'id'),
name=pulumi.get(__response__, 'name'),
+ private_ips=pulumi.get(__response__, 'private_ips'),
+ public_ip=pulumi.get(__response__, 'public_ip'),
remote_network_id=pulumi.get(__response__, 'remote_network_id'),
- status_updates_enabled=pulumi.get(__response__, 'status_updates_enabled')))
+ state=pulumi.get(__response__, 'state'),
+ status_updates_enabled=pulumi.get(__response__, 'status_updates_enabled'),
+ version=pulumi.get(__response__, 'version')))
diff --git a/sdk/python/pulumi_twingate/outputs.py b/sdk/python/pulumi_twingate/outputs.py
index 4f3b6f7..e98925d 100644
--- a/sdk/python/pulumi_twingate/outputs.py
+++ b/sdk/python/pulumi_twingate/outputs.py
@@ -711,20 +711,43 @@ def ports(self) -> Optional[Sequence[str]]:
@pulumi.output_type
class GetTwingateConnectorsConnectorResult(dict):
def __init__(__self__, *,
+ hostname: str,
id: str,
name: str,
+ private_ips: Sequence[str],
+ public_ip: str,
remote_network_id: str,
- status_updates_enabled: bool):
+ state: str,
+ status_updates_enabled: bool,
+ version: str):
"""
+ :param str hostname: The hostname of the machine hosting the Connector.
:param str id: The ID of the Connector.
:param str name: The Name of the Connector.
+ :param Sequence[str] private_ips: The Connector's private IP addresses.
+ :param str public_ip: The Connector's public IP address.
:param str remote_network_id: The ID of the Remote Network attached to the Connector.
+ :param str state: The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
:param bool status_updates_enabled: Determines whether status notifications are enabled for the Connector.
+ :param str version: The Connector's version.
"""
+ pulumi.set(__self__, "hostname", hostname)
pulumi.set(__self__, "id", id)
pulumi.set(__self__, "name", name)
+ pulumi.set(__self__, "private_ips", private_ips)
+ pulumi.set(__self__, "public_ip", public_ip)
pulumi.set(__self__, "remote_network_id", remote_network_id)
+ pulumi.set(__self__, "state", state)
pulumi.set(__self__, "status_updates_enabled", status_updates_enabled)
+ pulumi.set(__self__, "version", version)
+
+ @property
+ @pulumi.getter
+ def hostname(self) -> str:
+ """
+ The hostname of the machine hosting the Connector.
+ """
+ return pulumi.get(self, "hostname")
@property
@pulumi.getter
@@ -742,6 +765,22 @@ def name(self) -> str:
"""
return pulumi.get(self, "name")
+ @property
+ @pulumi.getter(name="privateIps")
+ def private_ips(self) -> Sequence[str]:
+ """
+ The Connector's private IP addresses.
+ """
+ return pulumi.get(self, "private_ips")
+
+ @property
+ @pulumi.getter(name="publicIp")
+ def public_ip(self) -> str:
+ """
+ The Connector's public IP address.
+ """
+ return pulumi.get(self, "public_ip")
+
@property
@pulumi.getter(name="remoteNetworkId")
def remote_network_id(self) -> str:
@@ -750,6 +789,14 @@ def remote_network_id(self) -> str:
"""
return pulumi.get(self, "remote_network_id")
+ @property
+ @pulumi.getter
+ def state(self) -> str:
+ """
+ The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ """
+ return pulumi.get(self, "state")
+
@property
@pulumi.getter(name="statusUpdatesEnabled")
def status_updates_enabled(self) -> bool:
@@ -758,6 +805,14 @@ def status_updates_enabled(self) -> bool:
"""
return pulumi.get(self, "status_updates_enabled")
+ @property
+ @pulumi.getter
+ def version(self) -> str:
+ """
+ The Connector's version.
+ """
+ return pulumi.get(self, "version")
+
@pulumi.output_type
class GetTwingateDNSFilteringProfileAllowedDomainsResult(dict):
diff --git a/sdk/python/pulumi_twingate/twingate_connector.py b/sdk/python/pulumi_twingate/twingate_connector.py
index 0905753..a924c75 100644
--- a/sdk/python/pulumi_twingate/twingate_connector.py
+++ b/sdk/python/pulumi_twingate/twingate_connector.py
@@ -74,21 +74,53 @@ def status_updates_enabled(self, value: Optional[pulumi.Input[bool]]):
@pulumi.input_type
class _TwingateConnectorState:
def __init__(__self__, *,
+ hostname: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
+ public_ip: Optional[pulumi.Input[str]] = None,
remote_network_id: Optional[pulumi.Input[str]] = None,
- status_updates_enabled: Optional[pulumi.Input[bool]] = None):
+ state: Optional[pulumi.Input[str]] = None,
+ status_updates_enabled: Optional[pulumi.Input[bool]] = None,
+ version: Optional[pulumi.Input[str]] = None):
"""
Input properties used for looking up and filtering TwingateConnector resources.
+ :param pulumi.Input[str] hostname: The hostname of the machine hosting the Connector.
:param pulumi.Input[str] name: Name of the Connector, if not provided one will be generated.
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: The Connector's private IP addresses.
+ :param pulumi.Input[str] public_ip: The Connector's public IP address.
:param pulumi.Input[str] remote_network_id: The ID of the Remote Network the Connector is attached to.
+ :param pulumi.Input[str] state: The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
:param pulumi.Input[bool] status_updates_enabled: Determines whether status notifications are enabled for the Connector. Default is `true`.
+ :param pulumi.Input[str] version: The Connector's version.
"""
+ if hostname is not None:
+ pulumi.set(__self__, "hostname", hostname)
if name is not None:
pulumi.set(__self__, "name", name)
+ if private_ips is not None:
+ pulumi.set(__self__, "private_ips", private_ips)
+ if public_ip is not None:
+ pulumi.set(__self__, "public_ip", public_ip)
if remote_network_id is not None:
pulumi.set(__self__, "remote_network_id", remote_network_id)
+ if state is not None:
+ pulumi.set(__self__, "state", state)
if status_updates_enabled is not None:
pulumi.set(__self__, "status_updates_enabled", status_updates_enabled)
+ if version is not None:
+ pulumi.set(__self__, "version", version)
+
+ @property
+ @pulumi.getter
+ def hostname(self) -> Optional[pulumi.Input[str]]:
+ """
+ The hostname of the machine hosting the Connector.
+ """
+ return pulumi.get(self, "hostname")
+
+ @hostname.setter
+ def hostname(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "hostname", value)
@property
@pulumi.getter
@@ -102,6 +134,30 @@ def name(self) -> Optional[pulumi.Input[str]]:
def name(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "name", value)
+ @property
+ @pulumi.getter(name="privateIps")
+ def private_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
+ """
+ The Connector's private IP addresses.
+ """
+ return pulumi.get(self, "private_ips")
+
+ @private_ips.setter
+ def private_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
+ pulumi.set(self, "private_ips", value)
+
+ @property
+ @pulumi.getter(name="publicIp")
+ def public_ip(self) -> Optional[pulumi.Input[str]]:
+ """
+ The Connector's public IP address.
+ """
+ return pulumi.get(self, "public_ip")
+
+ @public_ip.setter
+ def public_ip(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "public_ip", value)
+
@property
@pulumi.getter(name="remoteNetworkId")
def remote_network_id(self) -> Optional[pulumi.Input[str]]:
@@ -114,6 +170,18 @@ def remote_network_id(self) -> Optional[pulumi.Input[str]]:
def remote_network_id(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "remote_network_id", value)
+ @property
+ @pulumi.getter
+ def state(self) -> Optional[pulumi.Input[str]]:
+ """
+ The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ """
+ return pulumi.get(self, "state")
+
+ @state.setter
+ def state(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "state", value)
+
@property
@pulumi.getter(name="statusUpdatesEnabled")
def status_updates_enabled(self) -> Optional[pulumi.Input[bool]]:
@@ -126,6 +194,18 @@ def status_updates_enabled(self) -> Optional[pulumi.Input[bool]]:
def status_updates_enabled(self, value: Optional[pulumi.Input[bool]]):
pulumi.set(self, "status_updates_enabled", value)
+ @property
+ @pulumi.getter
+ def version(self) -> Optional[pulumi.Input[str]]:
+ """
+ The Connector's version.
+ """
+ return pulumi.get(self, "version")
+
+ @version.setter
+ def version(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "version", value)
+
class TwingateConnector(pulumi.CustomResource):
@overload
@@ -222,6 +302,11 @@ def _internal_init(__self__,
raise TypeError("Missing required property 'remote_network_id'")
__props__.__dict__["remote_network_id"] = remote_network_id
__props__.__dict__["status_updates_enabled"] = status_updates_enabled
+ __props__.__dict__["hostname"] = None
+ __props__.__dict__["private_ips"] = None
+ __props__.__dict__["public_ip"] = None
+ __props__.__dict__["state"] = None
+ __props__.__dict__["version"] = None
super(TwingateConnector, __self__).__init__(
'twingate:index/twingateConnector:TwingateConnector',
resource_name,
@@ -232,9 +317,14 @@ def _internal_init(__self__,
def get(resource_name: str,
id: pulumi.Input[str],
opts: Optional[pulumi.ResourceOptions] = None,
+ hostname: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
+ private_ips: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
+ public_ip: Optional[pulumi.Input[str]] = None,
remote_network_id: Optional[pulumi.Input[str]] = None,
- status_updates_enabled: Optional[pulumi.Input[bool]] = None) -> 'TwingateConnector':
+ state: Optional[pulumi.Input[str]] = None,
+ status_updates_enabled: Optional[pulumi.Input[bool]] = None,
+ version: Optional[pulumi.Input[str]] = None) -> 'TwingateConnector':
"""
Get an existing TwingateConnector resource's state with the given name, id, and optional extra
properties used to qualify the lookup.
@@ -242,19 +332,37 @@ def get(resource_name: str,
:param str resource_name: The unique name of the resulting resource.
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
:param pulumi.ResourceOptions opts: Options for the resource.
+ :param pulumi.Input[str] hostname: The hostname of the machine hosting the Connector.
:param pulumi.Input[str] name: Name of the Connector, if not provided one will be generated.
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] private_ips: The Connector's private IP addresses.
+ :param pulumi.Input[str] public_ip: The Connector's public IP address.
:param pulumi.Input[str] remote_network_id: The ID of the Remote Network the Connector is attached to.
+ :param pulumi.Input[str] state: The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
:param pulumi.Input[bool] status_updates_enabled: Determines whether status notifications are enabled for the Connector. Default is `true`.
+ :param pulumi.Input[str] version: The Connector's version.
"""
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
__props__ = _TwingateConnectorState.__new__(_TwingateConnectorState)
+ __props__.__dict__["hostname"] = hostname
__props__.__dict__["name"] = name
+ __props__.__dict__["private_ips"] = private_ips
+ __props__.__dict__["public_ip"] = public_ip
__props__.__dict__["remote_network_id"] = remote_network_id
+ __props__.__dict__["state"] = state
__props__.__dict__["status_updates_enabled"] = status_updates_enabled
+ __props__.__dict__["version"] = version
return TwingateConnector(resource_name, opts=opts, __props__=__props__)
+ @property
+ @pulumi.getter
+ def hostname(self) -> pulumi.Output[str]:
+ """
+ The hostname of the machine hosting the Connector.
+ """
+ return pulumi.get(self, "hostname")
+
@property
@pulumi.getter
def name(self) -> pulumi.Output[str]:
@@ -263,6 +371,22 @@ def name(self) -> pulumi.Output[str]:
"""
return pulumi.get(self, "name")
+ @property
+ @pulumi.getter(name="privateIps")
+ def private_ips(self) -> pulumi.Output[Sequence[str]]:
+ """
+ The Connector's private IP addresses.
+ """
+ return pulumi.get(self, "private_ips")
+
+ @property
+ @pulumi.getter(name="publicIp")
+ def public_ip(self) -> pulumi.Output[str]:
+ """
+ The Connector's public IP address.
+ """
+ return pulumi.get(self, "public_ip")
+
@property
@pulumi.getter(name="remoteNetworkId")
def remote_network_id(self) -> pulumi.Output[str]:
@@ -271,6 +395,14 @@ def remote_network_id(self) -> pulumi.Output[str]:
"""
return pulumi.get(self, "remote_network_id")
+ @property
+ @pulumi.getter
+ def state(self) -> pulumi.Output[str]:
+ """
+ The Connector's state. One of `ALIVE`, `DEAD_NO_HEARTBEAT`, `DEAD_HEARTBEAT_TOO_OLD` or `DEAD_NO_RELAYS`.
+ """
+ return pulumi.get(self, "state")
+
@property
@pulumi.getter(name="statusUpdatesEnabled")
def status_updates_enabled(self) -> pulumi.Output[bool]:
@@ -279,3 +411,11 @@ def status_updates_enabled(self) -> pulumi.Output[bool]:
"""
return pulumi.get(self, "status_updates_enabled")
+ @property
+ @pulumi.getter
+ def version(self) -> pulumi.Output[str]:
+ """
+ The Connector's version.
+ """
+ return pulumi.get(self, "version")
+