diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1adf2dd..a48bc8c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v1 with: - go-version: 1.19.x + go-version: 1.20.x - name: Set up .NET uses: actions/setup-dotnet@v1 with: @@ -26,7 +26,7 @@ jobs: registry-url: 'https://registry.npmjs.org' always-auth: true - name: Install pulumictl - run: curl -L https://github.com/pulumi/pulumictl/releases/download/v0.0.25/pulumictl-v0.0.25-linux-amd64.tar.gz | sudo tar zxv -C /usr/bin -f- pulumictl + run: curl -L https://github.com/pulumi/pulumictl/releases/download/v0.0.46/pulumictl-v0.0.46-linux-amd64.tar.gz | sudo tar zxv -C /usr/bin -f- pulumictl - name: Run GoReleaser uses: goreleaser/goreleaser-action@v2 with: diff --git a/examples/nodejs/index.ts b/examples/nodejs/index.ts index 1379002..6ae0266 100644 --- a/examples/nodejs/index.ts +++ b/examples/nodejs/index.ts @@ -7,11 +7,11 @@ const awsConfig = new pulumi.Config("aws"); const vpc = new awsx.ec2.Vpc("example", { cidrBlock: "172.250.0.0/24", - numberOfAvailabilityZones: 3 + numberOfAvailabilityZones: 3, }); const project = new esc.Project("sample-project", { - name: "Improved Chicken Window" + name: "Improved Chicken Window", }); const network = new esc.Network("sample-network", { @@ -19,7 +19,7 @@ const network = new esc.Network("sample-network", { projectId: project.id, resourceProvider: "aws", region: awsConfig.require("region"), - cidrBlock: "172.21.0.0/16" + cidrBlock: "172.21.0.0/16", }); const peering = new esc.Peering("sample-peering", { @@ -30,7 +30,7 @@ const peering = new esc.Peering("sample-peering", { peerNetworkRegion: network.region, peerAccountId: vpc.vpc.ownerId, peerNetworkId: vpc.vpcId, - routes: [vpc.vpc.cidrBlock] + routes: [vpc.vpc.cidrBlock], }); const peer = new aws.ec2.VpcPeeringConnectionAccepter("sample-accept", { @@ -38,14 +38,14 @@ const peer = new aws.ec2.VpcPeeringConnectionAccepter("sample-accept", { autoAccept: true, tags: { Side: "Accepter", - Source: "Event Store" - } + Source: "Event Store", + }, }); const route = new aws.ec2.Route("route", { vpcPeeringConnectionId: peer.id, routeTableId: vpc.vpc.mainRouteTableId, - destinationCidrBlock: network.cidrBlock + destinationCidrBlock: network.cidrBlock, }); const cluster = new esc.ManagedCluster("wings", { @@ -56,7 +56,7 @@ const cluster = new esc.ManagedCluster("wings", { instanceType: "F1", diskSize: 16, diskType: "gp3", - serverVersion: "21.10" + serverVersion: "23.10", }); export let clusterDnsName = cluster.dnsName; diff --git a/provider/cmd/pulumi-resource-eventstorecloud/schema.json b/provider/cmd/pulumi-resource-eventstorecloud/schema.json index 2ad4290..58f736b 100644 --- a/provider/cmd/pulumi-resource-eventstorecloud/schema.json +++ b/provider/cmd/pulumi-resource-eventstorecloud/schema.json @@ -473,7 +473,7 @@ } }, "eventstorecloud:index/managedCluster:ManagedCluster": { - "description": "Manages EventStoreDB instances and clusters in Event Store Cloud\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as eventstorecloud from \"@eventstore/pulumi-eventstorecloud\";\nimport * as eventstorecloud from \"@pulumi/eventstorecloud\";\n\nconst exampleProject = eventstorecloud.getProject({\n name: \"Example Project\",\n});\nconst exampleNetwork = new eventstorecloud.Network(\"exampleNetwork\", {\n projectId: eventstorecloud_project.example.id,\n resourceProvider: \"aws\",\n region: \"us-west-2\",\n cidrBlock: \"172.21.0.0/16\",\n});\nconst exampleManagedCluster = new eventstorecloud.ManagedCluster(\"exampleManagedCluster\", {\n projectId: exampleNetwork.projectId,\n networkId: exampleNetwork.id,\n topology: \"three-node-multi-zone\",\n instanceType: \"F1\",\n diskSize: 24,\n diskType: \"gp3\",\n diskIops: 3000,\n diskThroughput: 125,\n serverVersion: \"20.6\",\n});\n```\n```python\nimport pulumi\nimport pulumi_eventstorecloud as eventstorecloud\n\nexample_project = eventstorecloud.get_project(name=\"Example Project\")\nexample_network = eventstorecloud.Network(\"exampleNetwork\",\n project_id=eventstorecloud_project[\"example\"][\"id\"],\n resource_provider=\"aws\",\n region=\"us-west-2\",\n cidr_block=\"172.21.0.0/16\")\nexample_managed_cluster = eventstorecloud.ManagedCluster(\"exampleManagedCluster\",\n project_id=example_network.project_id,\n network_id=example_network.id,\n topology=\"three-node-multi-zone\",\n instance_type=\"F1\",\n disk_size=24,\n disk_type=\"gp3\",\n disk_iops=3000,\n disk_throughput=125,\n server_version=\"20.6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing EventStoreCloud = Pulumi.EventStoreCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleProject = EventStoreCloud.GetProject.Invoke(new()\n {\n Name = \"Example Project\",\n });\n\n var exampleNetwork = new EventStoreCloud.Network(\"exampleNetwork\", new()\n {\n ProjectId = eventstorecloud_project.Example.Id,\n ResourceProvider = \"aws\",\n Region = \"us-west-2\",\n CidrBlock = \"172.21.0.0/16\",\n });\n\n var exampleManagedCluster = new EventStoreCloud.ManagedCluster(\"exampleManagedCluster\", new()\n {\n ProjectId = exampleNetwork.ProjectId,\n NetworkId = exampleNetwork.Id,\n Topology = \"three-node-multi-zone\",\n InstanceType = \"F1\",\n DiskSize = 24,\n DiskType = \"gp3\",\n DiskIops = 3000,\n DiskThroughput = 125,\n ServerVersion = \"20.6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/EventStore/pulumi-eventstorecloud/sdk/go/eventstorecloud\"\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 := eventstorecloud.LookupProject(ctx, \u0026eventstorecloud.LookupProjectArgs{\n\t\t\tName: \"Example Project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := eventstorecloud.NewNetwork(ctx, \"exampleNetwork\", \u0026eventstorecloud.NetworkArgs{\n\t\t\tProjectId: pulumi.Any(eventstorecloud_project.Example.Id),\n\t\t\tResourceProvider: pulumi.String(\"aws\"),\n\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t\tCidrBlock: pulumi.String(\"172.21.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventstorecloud.NewManagedCluster(ctx, \"exampleManagedCluster\", \u0026eventstorecloud.ManagedClusterArgs{\n\t\t\tProjectId: exampleNetwork.ProjectId,\n\t\t\tNetworkId: exampleNetwork.ID(),\n\t\t\tTopology: pulumi.String(\"three-node-multi-zone\"),\n\t\t\tInstanceType: pulumi.String(\"F1\"),\n\t\t\tDiskSize: pulumi.Int(24),\n\t\t\tDiskType: pulumi.String(\"gp3\"),\n\t\t\tDiskIops: pulumi.Int(3000),\n\t\t\tDiskThroughput: pulumi.Int(125),\n\t\t\tServerVersion: pulumi.String(\"20.6\"),\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.eventstorecloud.EventstorecloudFunctions;\nimport com.pulumi.eventstorecloud.inputs.GetProjectArgs;\nimport com.pulumi.eventstorecloud.Network;\nimport com.pulumi.eventstorecloud.NetworkArgs;\nimport com.pulumi.eventstorecloud.ManagedCluster;\nimport com.pulumi.eventstorecloud.ManagedClusterArgs;\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 exampleProject = EventstorecloudFunctions.getProject(GetProjectArgs.builder()\n .name(\"Example Project\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder() \n .projectId(eventstorecloud_project.example().id())\n .resourceProvider(\"aws\")\n .region(\"us-west-2\")\n .cidrBlock(\"172.21.0.0/16\")\n .build());\n\n var exampleManagedCluster = new ManagedCluster(\"exampleManagedCluster\", ManagedClusterArgs.builder() \n .projectId(exampleNetwork.projectId())\n .networkId(exampleNetwork.id())\n .topology(\"three-node-multi-zone\")\n .instanceType(\"F1\")\n .diskSize(24)\n .diskType(\"gp3\")\n .diskIops(3000)\n .diskThroughput(125)\n .serverVersion(\"20.6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: eventstorecloud:Network\n properties:\n projectId: ${eventstorecloud_project.example.id}\n resourceProvider: aws\n region: us-west-2\n cidrBlock: 172.21.0.0/16\n exampleManagedCluster:\n type: eventstorecloud:ManagedCluster\n properties:\n projectId: ${exampleNetwork.projectId}\n networkId: ${exampleNetwork.id}\n topology: three-node-multi-zone\n instanceType: F1\n diskSize: 24\n diskType: gp3\n diskIops: 3000\n diskThroughput: 125\n serverVersion: '20.6'\nvariables:\n exampleProject:\n fn::invoke:\n Function: eventstorecloud:getProject\n Arguments:\n name: Example Project\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import eventstorecloud:index/managedCluster:ManagedCluster example project_id:cluster_id\n```\n\n ", + "description": "Manages EventStoreDB instances and clusters in Event Store Cloud\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as eventstorecloud from \"@eventstore/pulumi-eventstorecloud\";\nimport * as eventstorecloud from \"@pulumi/eventstorecloud\";\n\nconst exampleProject = eventstorecloud.getProject({\n name: \"Example Project\",\n});\nconst exampleNetwork = new eventstorecloud.Network(\"exampleNetwork\", {\n projectId: eventstorecloud_project.example.id,\n resourceProvider: \"aws\",\n region: \"us-west-2\",\n cidrBlock: \"172.21.0.0/16\",\n});\nconst exampleManagedCluster = new eventstorecloud.ManagedCluster(\"exampleManagedCluster\", {\n projectId: exampleNetwork.projectId,\n networkId: exampleNetwork.id,\n topology: \"three-node-multi-zone\",\n instanceType: \"F1\",\n diskSize: 24,\n diskType: \"gp3\",\n diskIops: 3000,\n diskThroughput: 125,\n serverVersion: \"23.10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_eventstorecloud as eventstorecloud\n\nexample_project = eventstorecloud.get_project(name=\"Example Project\")\nexample_network = eventstorecloud.Network(\"exampleNetwork\",\n project_id=eventstorecloud_project[\"example\"][\"id\"],\n resource_provider=\"aws\",\n region=\"us-west-2\",\n cidr_block=\"172.21.0.0/16\")\nexample_managed_cluster = eventstorecloud.ManagedCluster(\"exampleManagedCluster\",\n project_id=example_network.project_id,\n network_id=example_network.id,\n topology=\"three-node-multi-zone\",\n instance_type=\"F1\",\n disk_size=24,\n disk_type=\"gp3\",\n disk_iops=3000,\n disk_throughput=125,\n server_version=\"23.10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing EventStoreCloud = Pulumi.EventStoreCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleProject = EventStoreCloud.GetProject.Invoke(new()\n {\n Name = \"Example Project\",\n });\n\n var exampleNetwork = new EventStoreCloud.Network(\"exampleNetwork\", new()\n {\n ProjectId = eventstorecloud_project.Example.Id,\n ResourceProvider = \"aws\",\n Region = \"us-west-2\",\n CidrBlock = \"172.21.0.0/16\",\n });\n\n var exampleManagedCluster = new EventStoreCloud.ManagedCluster(\"exampleManagedCluster\", new()\n {\n ProjectId = exampleNetwork.ProjectId,\n NetworkId = exampleNetwork.Id,\n Topology = \"three-node-multi-zone\",\n InstanceType = \"F1\",\n DiskSize = 24,\n DiskType = \"gp3\",\n DiskIops = 3000,\n DiskThroughput = 125,\n ServerVersion = \"23.10\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/EventStore/pulumi-eventstorecloud/sdk/go/eventstorecloud\"\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 := eventstorecloud.LookupProject(ctx, \u0026eventstorecloud.LookupProjectArgs{\n\t\t\tName: \"Example Project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleNetwork, err := eventstorecloud.NewNetwork(ctx, \"exampleNetwork\", \u0026eventstorecloud.NetworkArgs{\n\t\t\tProjectId: pulumi.Any(eventstorecloud_project.Example.Id),\n\t\t\tResourceProvider: pulumi.String(\"aws\"),\n\t\t\tRegion: pulumi.String(\"us-west-2\"),\n\t\t\tCidrBlock: pulumi.String(\"172.21.0.0/16\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = eventstorecloud.NewManagedCluster(ctx, \"exampleManagedCluster\", \u0026eventstorecloud.ManagedClusterArgs{\n\t\t\tProjectId: exampleNetwork.ProjectId,\n\t\t\tNetworkId: exampleNetwork.ID(),\n\t\t\tTopology: pulumi.String(\"three-node-multi-zone\"),\n\t\t\tInstanceType: pulumi.String(\"F1\"),\n\t\t\tDiskSize: pulumi.Int(24),\n\t\t\tDiskType: pulumi.String(\"gp3\"),\n\t\t\tDiskIops: pulumi.Int(3000),\n\t\t\tDiskThroughput: pulumi.Int(125),\n\t\t\tServerVersion: pulumi.String(\"23.10\"),\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.eventstorecloud.EventstorecloudFunctions;\nimport com.pulumi.eventstorecloud.inputs.GetProjectArgs;\nimport com.pulumi.eventstorecloud.Network;\nimport com.pulumi.eventstorecloud.NetworkArgs;\nimport com.pulumi.eventstorecloud.ManagedCluster;\nimport com.pulumi.eventstorecloud.ManagedClusterArgs;\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 exampleProject = EventstorecloudFunctions.getProject(GetProjectArgs.builder()\n .name(\"Example Project\")\n .build());\n\n var exampleNetwork = new Network(\"exampleNetwork\", NetworkArgs.builder() \n .projectId(eventstorecloud_project.example().id())\n .resourceProvider(\"aws\")\n .region(\"us-west-2\")\n .cidrBlock(\"172.21.0.0/16\")\n .build());\n\n var exampleManagedCluster = new ManagedCluster(\"exampleManagedCluster\", ManagedClusterArgs.builder() \n .projectId(exampleNetwork.projectId())\n .networkId(exampleNetwork.id())\n .topology(\"three-node-multi-zone\")\n .instanceType(\"F1\")\n .diskSize(24)\n .diskType(\"gp3\")\n .diskIops(3000)\n .diskThroughput(125)\n .serverVersion(\"23.10\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNetwork:\n type: eventstorecloud:Network\n properties:\n projectId: ${eventstorecloud_project.example.id}\n resourceProvider: aws\n region: us-west-2\n cidrBlock: 172.21.0.0/16\n exampleManagedCluster:\n type: eventstorecloud:ManagedCluster\n properties:\n projectId: ${exampleNetwork.projectId}\n networkId: ${exampleNetwork.id}\n topology: three-node-multi-zone\n instanceType: F1\n diskSize: 24\n diskType: gp3\n diskIops: 3000\n diskThroughput: 125\n serverVersion: '23.10'\nvariables:\n exampleProject:\n fn::invoke:\n Function: eventstorecloud:getProject\n Arguments:\n name: Example Project\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\n\n```sh\n $ pulumi import eventstorecloud:index/managedCluster:ManagedCluster example project_id:cluster_id\n```\n\n ", "properties": { "diskIops": { "type": "integer", @@ -531,6 +531,10 @@ "type": "string", "description": "Server version to provision (find the list of valid values below)\n" }, + "serverVersionTag": { + "type": "string", + "description": "Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade.\n" + }, "topology": { "type": "string", "description": "Topology of the managed cluster (`single-node` or `three-node-multi-zone`)\n" @@ -547,6 +551,7 @@ "region", "resourceProvider", "serverVersion", + "serverVersionTag", "topology" ], "inputProperties": { @@ -596,8 +601,11 @@ }, "serverVersion": { "type": "string", - "description": "Server version to provision (find the list of valid values below)\n", - "willReplaceOnChanges": true + "description": "Server version to provision (find the list of valid values below)\n" + }, + "serverVersionTag": { + "type": "string", + "description": "Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade.\n" }, "topology": { "type": "string", @@ -675,8 +683,11 @@ }, "serverVersion": { "type": "string", - "description": "Server version to provision (find the list of valid values below)\n", - "willReplaceOnChanges": true + "description": "Server version to provision (find the list of valid values below)\n" + }, + "serverVersionTag": { + "type": "string", + "description": "Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade.\n" }, "topology": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index 067dc9b..2e05b8e 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,13 +1,13 @@ module github.com/EventStore/pulumi-eventstorecloud/provider -go 1.19 +go 1.20 replace github.com/hashicorp/go-getter => github.com/hashicorp/go-getter v1.4.0 replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d require ( - github.com/EventStore/terraform-provider-eventstorecloud v1.5.26 + github.com/EventStore/terraform-provider-eventstorecloud v1.5.28 github.com/pulumi/pulumi-terraform-bridge/v3 v3.57.0 github.com/pulumi/pulumi/sdk/v3 v3.76.1 ) diff --git a/provider/go.sum b/provider/go.sum index 4d24172..108473a 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -693,6 +693,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/EventStore/terraform-provider-eventstorecloud v1.5.26 h1:zHoCr6VknEpxbe+Veb8dDBKR1k2tA1xzkCLpV/nhkew= github.com/EventStore/terraform-provider-eventstorecloud v1.5.26/go.mod h1:4BJvRyKhwKym+y+PlHJ0QOdt/kGvhl/3YxRHh2tsJ20= +github.com/EventStore/terraform-provider-eventstorecloud v1.5.28 h1:Zce5TWutqX9ZVeuFYT0yD5pJoLk/FoatQ4KuJ+sa5AE= +github.com/EventStore/terraform-provider-eventstorecloud v1.5.28/go.mod h1:4BJvRyKhwKym+y+PlHJ0QOdt/kGvhl/3YxRHh2tsJ20= github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2/go.mod h1:qR6jVnZTKDCW3j+fC9mOEPHm++1nKDMkqbbkD6KNsfo= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= diff --git a/sdk/dotnet/ManagedCluster.cs b/sdk/dotnet/ManagedCluster.cs index eba3d39..1c8895e 100644 --- a/sdk/dotnet/ManagedCluster.cs +++ b/sdk/dotnet/ManagedCluster.cs @@ -45,7 +45,7 @@ namespace Pulumi.EventStoreCloud /// DiskType = "gp3", /// DiskIops = 3000, /// DiskThroughput = 125, - /// ServerVersion = "20.6", + /// ServerVersion = "23.10", /// }); /// /// }); @@ -144,6 +144,12 @@ public partial class ManagedCluster : global::Pulumi.CustomResource [Output("serverVersion")] public Output ServerVersion { get; private set; } = null!; + /// + /// Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + /// + [Output("serverVersionTag")] + public Output ServerVersionTag { get; private set; } = null!; + /// /// Topology of the managed cluster (`single-node` or `three-node-multi-zone`) /// @@ -263,6 +269,12 @@ public sealed class ManagedClusterArgs : global::Pulumi.ResourceArgs [Input("serverVersion", required: true)] public Input ServerVersion { get; set; } = null!; + /// + /// Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + /// + [Input("serverVersionTag")] + public Input? ServerVersionTag { get; set; } + /// /// Topology of the managed cluster (`single-node` or `three-node-multi-zone`) /// @@ -361,6 +373,12 @@ public sealed class ManagedClusterState : global::Pulumi.ResourceArgs [Input("serverVersion")] public Input? ServerVersion { get; set; } + /// + /// Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + /// + [Input("serverVersionTag")] + public Input? ServerVersionTag { get; set; } + /// /// Topology of the managed cluster (`single-node` or `three-node-multi-zone`) /// diff --git a/sdk/go/eventstorecloud/managedCluster.go b/sdk/go/eventstorecloud/managedCluster.go index b2a22ad..a024df5 100644 --- a/sdk/go/eventstorecloud/managedCluster.go +++ b/sdk/go/eventstorecloud/managedCluster.go @@ -52,7 +52,7 @@ import ( // DiskType: pulumi.String("gp3"), // DiskIops: pulumi.Int(3000), // DiskThroughput: pulumi.Int(125), -// ServerVersion: pulumi.String("20.6"), +// ServerVersion: pulumi.String("23.10"), // }) // if err != nil { // return err @@ -101,6 +101,8 @@ type ManagedCluster struct { ResourceProvider pulumi.StringOutput `pulumi:"resourceProvider"` // Server version to provision (find the list of valid values below) ServerVersion pulumi.StringOutput `pulumi:"serverVersion"` + // Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + ServerVersionTag pulumi.StringOutput `pulumi:"serverVersionTag"` // Topology of the managed cluster (`single-node` or `three-node-multi-zone`) Topology pulumi.StringOutput `pulumi:"topology"` } @@ -184,6 +186,8 @@ type managedClusterState struct { ResourceProvider *string `pulumi:"resourceProvider"` // Server version to provision (find the list of valid values below) ServerVersion *string `pulumi:"serverVersion"` + // Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + ServerVersionTag *string `pulumi:"serverVersionTag"` // Topology of the managed cluster (`single-node` or `three-node-multi-zone`) Topology *string `pulumi:"topology"` } @@ -217,6 +221,8 @@ type ManagedClusterState struct { ResourceProvider pulumi.StringPtrInput // Server version to provision (find the list of valid values below) ServerVersion pulumi.StringPtrInput + // Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + ServerVersionTag pulumi.StringPtrInput // Topology of the managed cluster (`single-node` or `three-node-multi-zone`) Topology pulumi.StringPtrInput } @@ -248,6 +254,8 @@ type managedClusterArgs struct { Protected *bool `pulumi:"protected"` // Server version to provision (find the list of valid values below) ServerVersion string `pulumi:"serverVersion"` + // Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + ServerVersionTag *string `pulumi:"serverVersionTag"` // Topology of the managed cluster (`single-node` or `three-node-multi-zone`) Topology string `pulumi:"topology"` } @@ -276,6 +284,8 @@ type ManagedClusterArgs struct { Protected pulumi.BoolPtrInput // Server version to provision (find the list of valid values below) ServerVersion pulumi.StringInput + // Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + ServerVersionTag pulumi.StringPtrInput // Topology of the managed cluster (`single-node` or `three-node-multi-zone`) Topology pulumi.StringInput } @@ -437,6 +447,11 @@ func (o ManagedClusterOutput) ServerVersion() pulumi.StringOutput { return o.ApplyT(func(v *ManagedCluster) pulumi.StringOutput { return v.ServerVersion }).(pulumi.StringOutput) } +// Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. +func (o ManagedClusterOutput) ServerVersionTag() pulumi.StringOutput { + return o.ApplyT(func(v *ManagedCluster) pulumi.StringOutput { return v.ServerVersionTag }).(pulumi.StringOutput) +} + // Topology of the managed cluster (`single-node` or `three-node-multi-zone`) func (o ManagedClusterOutput) Topology() pulumi.StringOutput { return o.ApplyT(func(v *ManagedCluster) pulumi.StringOutput { return v.Topology }).(pulumi.StringOutput) diff --git a/sdk/nodejs/managedCluster.ts b/sdk/nodejs/managedCluster.ts index 4689123..b804e01 100644 --- a/sdk/nodejs/managedCluster.ts +++ b/sdk/nodejs/managedCluster.ts @@ -32,7 +32,7 @@ import * as utilities from "./utilities"; * diskType: "gp3", * diskIops: 3000, * diskThroughput: 125, - * serverVersion: "20.6", + * serverVersion: "23.10", * }); * ``` * @@ -126,6 +126,10 @@ export class ManagedCluster extends pulumi.CustomResource { * Server version to provision (find the list of valid values below) */ public readonly serverVersion!: pulumi.Output; + /** + * Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + */ + public readonly serverVersionTag!: pulumi.Output; /** * Topology of the managed cluster (`single-node` or `three-node-multi-zone`) */ @@ -158,6 +162,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["region"] = state ? state.region : undefined; resourceInputs["resourceProvider"] = state ? state.resourceProvider : undefined; resourceInputs["serverVersion"] = state ? state.serverVersion : undefined; + resourceInputs["serverVersionTag"] = state ? state.serverVersionTag : undefined; resourceInputs["topology"] = state ? state.topology : undefined; } else { const args = argsOrState as ManagedClusterArgs | undefined; @@ -193,6 +198,7 @@ export class ManagedCluster extends pulumi.CustomResource { resourceInputs["projectionLevel"] = args ? args.projectionLevel : undefined; resourceInputs["protected"] = args ? args.protected : undefined; resourceInputs["serverVersion"] = args ? args.serverVersion : undefined; + resourceInputs["serverVersionTag"] = args ? args.serverVersionTag : undefined; resourceInputs["topology"] = args ? args.topology : undefined; resourceInputs["dnsName"] = undefined /*out*/; resourceInputs["region"] = undefined /*out*/; @@ -263,6 +269,10 @@ export interface ManagedClusterState { * Server version to provision (find the list of valid values below) */ serverVersion?: pulumi.Input; + /** + * Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + */ + serverVersionTag?: pulumi.Input; /** * Topology of the managed cluster (`single-node` or `three-node-multi-zone`) */ @@ -317,6 +327,10 @@ export interface ManagedClusterArgs { * Server version to provision (find the list of valid values below) */ serverVersion: pulumi.Input; + /** + * Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + */ + serverVersionTag?: pulumi.Input; /** * Topology of the managed cluster (`single-node` or `three-node-multi-zone`) */ diff --git a/sdk/python/pulumi_eventstorecloud/managed_cluster.py b/sdk/python/pulumi_eventstorecloud/managed_cluster.py index 714618f..b8c2212 100644 --- a/sdk/python/pulumi_eventstorecloud/managed_cluster.py +++ b/sdk/python/pulumi_eventstorecloud/managed_cluster.py @@ -25,7 +25,8 @@ def __init__(__self__, *, disk_throughput: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, projection_level: Optional[pulumi.Input[str]] = None, - protected: Optional[pulumi.Input[bool]] = None): + protected: Optional[pulumi.Input[bool]] = None, + server_version_tag: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ManagedCluster resource. :param pulumi.Input[int] disk_size: Size of the data disks, in gigabytes @@ -40,6 +41,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Name of the managed cluster :param pulumi.Input[str] projection_level: Determines whether to run no projections, system projections only, or system and user projections (find the list of valid values below) Defaults to `off`. :param pulumi.Input[bool] protected: Protection from an accidental cluster deletion Defaults to `false`. + :param pulumi.Input[str] server_version_tag: Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. """ pulumi.set(__self__, "disk_size", disk_size) pulumi.set(__self__, "disk_type", disk_type) @@ -58,6 +60,8 @@ def __init__(__self__, *, pulumi.set(__self__, "projection_level", projection_level) if protected is not None: pulumi.set(__self__, "protected", protected) + if server_version_tag is not None: + pulumi.set(__self__, "server_version_tag", server_version_tag) @property @pulumi.getter(name="diskSize") @@ -203,6 +207,18 @@ def protected(self) -> Optional[pulumi.Input[bool]]: def protected(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "protected", value) + @property + @pulumi.getter(name="serverVersionTag") + def server_version_tag(self) -> Optional[pulumi.Input[str]]: + """ + Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + """ + return pulumi.get(self, "server_version_tag") + + @server_version_tag.setter + def server_version_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_version_tag", value) + @pulumi.input_type class _ManagedClusterState: @@ -221,6 +237,7 @@ def __init__(__self__, *, region: Optional[pulumi.Input[str]] = None, resource_provider: Optional[pulumi.Input[str]] = None, server_version: Optional[pulumi.Input[str]] = None, + server_version_tag: Optional[pulumi.Input[str]] = None, topology: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ManagedCluster resources. @@ -238,6 +255,7 @@ def __init__(__self__, *, :param pulumi.Input[str] region: Region in which the cluster was created. Determined by the region of the Network :param pulumi.Input[str] resource_provider: Provider in which the cluster was created. Determined by the provider of the Network. :param pulumi.Input[str] server_version: Server version to provision (find the list of valid values below) + :param pulumi.Input[str] server_version_tag: Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. :param pulumi.Input[str] topology: Topology of the managed cluster (`single-node` or `three-node-multi-zone`) """ if disk_iops is not None: @@ -268,6 +286,8 @@ def __init__(__self__, *, pulumi.set(__self__, "resource_provider", resource_provider) if server_version is not None: pulumi.set(__self__, "server_version", server_version) + if server_version_tag is not None: + pulumi.set(__self__, "server_version_tag", server_version_tag) if topology is not None: pulumi.set(__self__, "topology", topology) @@ -439,6 +459,18 @@ def server_version(self) -> Optional[pulumi.Input[str]]: def server_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "server_version", value) + @property + @pulumi.getter(name="serverVersionTag") + def server_version_tag(self) -> Optional[pulumi.Input[str]]: + """ + Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + """ + return pulumi.get(self, "server_version_tag") + + @server_version_tag.setter + def server_version_tag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_version_tag", value) + @property @pulumi.getter def topology(self) -> Optional[pulumi.Input[str]]: @@ -468,6 +500,7 @@ def __init__(__self__, projection_level: Optional[pulumi.Input[str]] = None, protected: Optional[pulumi.Input[bool]] = None, server_version: Optional[pulumi.Input[str]] = None, + server_version_tag: Optional[pulumi.Input[str]] = None, topology: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -494,7 +527,7 @@ def __init__(__self__, disk_type="gp3", disk_iops=3000, disk_throughput=125, - server_version="20.6") + server_version="23.10") ``` ## Import @@ -516,6 +549,7 @@ def __init__(__self__, :param pulumi.Input[str] projection_level: Determines whether to run no projections, system projections only, or system and user projections (find the list of valid values below) Defaults to `off`. :param pulumi.Input[bool] protected: Protection from an accidental cluster deletion Defaults to `false`. :param pulumi.Input[str] server_version: Server version to provision (find the list of valid values below) + :param pulumi.Input[str] server_version_tag: Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. :param pulumi.Input[str] topology: Topology of the managed cluster (`single-node` or `three-node-multi-zone`) """ ... @@ -548,7 +582,7 @@ def __init__(__self__, disk_type="gp3", disk_iops=3000, disk_throughput=125, - server_version="20.6") + server_version="23.10") ``` ## Import @@ -583,6 +617,7 @@ def _internal_init(__self__, projection_level: Optional[pulumi.Input[str]] = None, protected: Optional[pulumi.Input[bool]] = None, server_version: Optional[pulumi.Input[str]] = None, + server_version_tag: Optional[pulumi.Input[str]] = None, topology: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -616,6 +651,7 @@ def _internal_init(__self__, if server_version is None and not opts.urn: raise TypeError("Missing required property 'server_version'") __props__.__dict__["server_version"] = server_version + __props__.__dict__["server_version_tag"] = server_version_tag if topology is None and not opts.urn: raise TypeError("Missing required property 'topology'") __props__.__dict__["topology"] = topology @@ -646,6 +682,7 @@ def get(resource_name: str, region: Optional[pulumi.Input[str]] = None, resource_provider: Optional[pulumi.Input[str]] = None, server_version: Optional[pulumi.Input[str]] = None, + server_version_tag: Optional[pulumi.Input[str]] = None, topology: Optional[pulumi.Input[str]] = None) -> 'ManagedCluster': """ Get an existing ManagedCluster resource's state with the given name, id, and optional extra @@ -668,6 +705,7 @@ def get(resource_name: str, :param pulumi.Input[str] region: Region in which the cluster was created. Determined by the region of the Network :param pulumi.Input[str] resource_provider: Provider in which the cluster was created. Determined by the provider of the Network. :param pulumi.Input[str] server_version: Server version to provision (find the list of valid values below) + :param pulumi.Input[str] server_version_tag: Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. :param pulumi.Input[str] topology: Topology of the managed cluster (`single-node` or `three-node-multi-zone`) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -688,6 +726,7 @@ def get(resource_name: str, __props__.__dict__["region"] = region __props__.__dict__["resource_provider"] = resource_provider __props__.__dict__["server_version"] = server_version + __props__.__dict__["server_version_tag"] = server_version_tag __props__.__dict__["topology"] = topology return ManagedCluster(resource_name, opts=opts, __props__=__props__) @@ -803,6 +842,14 @@ def server_version(self) -> pulumi.Output[str]: """ return pulumi.get(self, "server_version") + @property + @pulumi.getter(name="serverVersionTag") + def server_version_tag(self) -> pulumi.Output[str]: + """ + Server version tag to provision (find the list of valid values below). A higher server*version*tag will prompt an upgrade. + """ + return pulumi.get(self, "server_version_tag") + @property @pulumi.getter def topology(self) -> pulumi.Output[str]: