diff --git a/examples/go.mod b/examples/go.mod index 866522d6..8b4f2465 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/pulumi/pulumi-digitalocean/examples/v4 go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.108.1 +require github.com/pulumi/pulumi/pkg/v3 v3.111.1 require ( cloud.google.com/go v0.110.10 // indirect @@ -135,7 +135,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.6.2 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.108.1 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.111.1 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index e3010fb1..7aaf2c12 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1467,10 +1467,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/pkg/v3 v3.108.1 h1:K1UK40v5IpEPIaJ2un3WNOTBbLQaKR26HbLLh5EmMHY= -github.com/pulumi/pulumi/pkg/v3 v3.108.1/go.mod h1:48uCfxkPXUq/XTBqei9VuR0CRWObnSVlqcLkD6DhII8= -github.com/pulumi/pulumi/sdk/v3 v3.108.1 h1:5idjc3JmzToYVizRPbFyjJ5UU4AbExd04pcSP9AhPEc= -github.com/pulumi/pulumi/sdk/v3 v3.108.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= +github.com/pulumi/pulumi/pkg/v3 v3.111.1 h1:SrVgQE96T7YlZx/AZoFSlXYwur7ZmQUHyjbPI8sH96Q= +github.com/pulumi/pulumi/pkg/v3 v3.111.1/go.mod h1:ZWsq8Y0EMHZ5E2ju92jC+POz97TEXs3BbQ6r2o0U4SA= +github.com/pulumi/pulumi/sdk/v3 v3.111.1 h1:uOeG/b6YxBuL59xHtmFPspMa8BB6ovjHelL7sVCGJZw= +github.com/pulumi/pulumi/sdk/v3 v3.111.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= diff --git a/provider/cmd/pulumi-resource-digitalocean/schema.json b/provider/cmd/pulumi-resource-digitalocean/schema.json index 0d7e117a..296f4555 100644 --- a/provider/cmd/pulumi-resource-digitalocean/schema.json +++ b/provider/cmd/pulumi-resource-digitalocean/schema.json @@ -7470,7 +7470,7 @@ } }, "digitalocean:index/cdn:Cdn": { - "description": "Provides a DigitalOcean CDN Endpoint resource for use with Spaces.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new Spaces Bucket\nconst mybucket = new digitalocean.SpacesBucket(\"mybucket\", {\n region: \"sfo2\",\n acl: \"public-read\",\n});\n// Add a CDN endpoint to the Spaces Bucket\nconst mycdn = new digitalocean.Cdn(\"mycdn\", {origin: mybucket.bucketDomainName});\nexport const fqdn = mycdn.endpoint;\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new Spaces Bucket\nmybucket = digitalocean.SpacesBucket(\"mybucket\",\n region=\"sfo2\",\n acl=\"public-read\")\n# Add a CDN endpoint to the Spaces Bucket\nmycdn = digitalocean.Cdn(\"mycdn\", origin=mybucket.bucket_domain_name)\npulumi.export(\"fqdn\", mycdn.endpoint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Spaces Bucket\n var mybucket = new DigitalOcean.SpacesBucket(\"mybucket\", new()\n {\n Region = \"sfo2\",\n Acl = \"public-read\",\n });\n\n // Add a CDN endpoint to the Spaces Bucket\n var mycdn = new DigitalOcean.Cdn(\"mycdn\", new()\n {\n Origin = mybucket.BucketDomainName,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"fqdn\"] = mycdn.Endpoint,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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// Create a new Spaces Bucket\n\t\tmybucket, err := digitalocean.NewSpacesBucket(ctx, \"mybucket\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(\"sfo2\"),\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add a CDN endpoint to the Spaces Bucket\n\t\tmycdn, err := digitalocean.NewCdn(ctx, \"mycdn\", \u0026digitalocean.CdnArgs{\n\t\t\tOrigin: mybucket.BucketDomainName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"fqdn\", mycdn.Endpoint)\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.Cdn;\nimport com.pulumi.digitalocean.CdnArgs;\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 mybucket = new SpacesBucket(\"mybucket\", SpacesBucketArgs.builder() \n .region(\"sfo2\")\n .acl(\"public-read\")\n .build());\n\n var mycdn = new Cdn(\"mycdn\", CdnArgs.builder() \n .origin(mybucket.bucketDomainName())\n .build());\n\n ctx.export(\"fqdn\", mycdn.endpoint());\n }\n}\n```\n```yaml\nresources:\n # Create a new Spaces Bucket\n mybucket:\n type: digitalocean:SpacesBucket\n properties:\n region: sfo2\n acl: public-read\n # Add a CDN endpoint to the Spaces Bucket\n mycdn:\n type: digitalocean:Cdn\n properties:\n origin: ${mybucket.bucketDomainName}\noutputs:\n # Output the endpoint for the CDN resource\n fqdn: ${mycdn.endpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Sub-Domain Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new Spaces Bucket\nconst mybucket = new digitalocean.SpacesBucket(\"mybucket\", {\n region: \"sfo2\",\n acl: \"public-read\",\n});\n// Create a DigitalOcean managed Let's Encrypt Certificate\nconst cert = new digitalocean.Certificate(\"cert\", {\n type: \"lets_encrypt\",\n domains: [\"static.example.com\"],\n});\n// Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\nconst mycdn = new digitalocean.Cdn(\"mycdn\", {\n origin: mybucket.bucketDomainName,\n customDomain: \"static.example.com\",\n certificateName: cert.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new Spaces Bucket\nmybucket = digitalocean.SpacesBucket(\"mybucket\",\n region=\"sfo2\",\n acl=\"public-read\")\n# Create a DigitalOcean managed Let's Encrypt Certificate\ncert = digitalocean.Certificate(\"cert\",\n type=\"lets_encrypt\",\n domains=[\"static.example.com\"])\n# Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\nmycdn = digitalocean.Cdn(\"mycdn\",\n origin=mybucket.bucket_domain_name,\n custom_domain=\"static.example.com\",\n certificate_name=cert.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Spaces Bucket\n var mybucket = new DigitalOcean.SpacesBucket(\"mybucket\", new()\n {\n Region = \"sfo2\",\n Acl = \"public-read\",\n });\n\n // Create a DigitalOcean managed Let's Encrypt Certificate\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n Type = \"lets_encrypt\",\n Domains = new[]\n {\n \"static.example.com\",\n },\n });\n\n // Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\n var mycdn = new DigitalOcean.Cdn(\"mycdn\", new()\n {\n Origin = mybucket.BucketDomainName,\n CustomDomain = \"static.example.com\",\n CertificateName = cert.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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// Create a new Spaces Bucket\n\t\tmybucket, err := digitalocean.NewSpacesBucket(ctx, \"mybucket\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(\"sfo2\"),\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a DigitalOcean managed Let's Encrypt Certificate\n\t\tcert, err := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tType: pulumi.String(\"lets_encrypt\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"static.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\n\t\t_, err = digitalocean.NewCdn(ctx, \"mycdn\", \u0026digitalocean.CdnArgs{\n\t\t\tOrigin: mybucket.BucketDomainName,\n\t\t\tCustomDomain: pulumi.String(\"static.example.com\"),\n\t\t\tCertificateName: cert.Name,\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\nimport com.pulumi.digitalocean.Cdn;\nimport com.pulumi.digitalocean.CdnArgs;\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 mybucket = new SpacesBucket(\"mybucket\", SpacesBucketArgs.builder() \n .region(\"sfo2\")\n .acl(\"public-read\")\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder() \n .type(\"lets_encrypt\")\n .domains(\"static.example.com\")\n .build());\n\n var mycdn = new Cdn(\"mycdn\", CdnArgs.builder() \n .origin(mybucket.bucketDomainName())\n .customDomain(\"static.example.com\")\n .certificateName(cert.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Spaces Bucket\n mybucket:\n type: digitalocean:SpacesBucket\n properties:\n region: sfo2\n acl: public-read\n # Create a DigitalOcean managed Let's Encrypt Certificate\n cert:\n type: digitalocean:Certificate\n properties:\n type: lets_encrypt\n domains:\n - static.example.com\n # Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\n mycdn:\n type: digitalocean:Cdn\n properties:\n origin: ${mybucket.bucketDomainName}\n customDomain: static.example.com\n certificateName: ${cert.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN Endpoints can be imported using the CDN `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/cdn:Cdn mycdn fb06ad00-351f-45c8-b5eb-13523c438661\n```\n\n", + "description": "Provides a DigitalOcean CDN Endpoint resource for use with Spaces.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new Spaces Bucket\nconst mybucket = new digitalocean.SpacesBucket(\"mybucket\", {\n region: digitalocean.Region.SFO2,\n acl: \"public-read\",\n});\n// Add a CDN endpoint to the Spaces Bucket\nconst mycdn = new digitalocean.Cdn(\"mycdn\", {origin: mybucket.bucketDomainName});\nexport const fqdn = mycdn.endpoint;\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new Spaces Bucket\nmybucket = digitalocean.SpacesBucket(\"mybucket\",\n region=digitalocean.Region.SFO2,\n acl=\"public-read\")\n# Add a CDN endpoint to the Spaces Bucket\nmycdn = digitalocean.Cdn(\"mycdn\", origin=mybucket.bucket_domain_name)\npulumi.export(\"fqdn\", mycdn.endpoint)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Spaces Bucket\n var mybucket = new DigitalOcean.SpacesBucket(\"mybucket\", new()\n {\n Region = DigitalOcean.Region.SFO2,\n Acl = \"public-read\",\n });\n\n // Add a CDN endpoint to the Spaces Bucket\n var mycdn = new DigitalOcean.Cdn(\"mycdn\", new()\n {\n Origin = mybucket.BucketDomainName,\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"fqdn\"] = mycdn.Endpoint,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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// Create a new Spaces Bucket\n\t\tmybucket, err := digitalocean.NewSpacesBucket(ctx, \"mybucket\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionSFO2),\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add a CDN endpoint to the Spaces Bucket\n\t\tmycdn, err := digitalocean.NewCdn(ctx, \"mycdn\", \u0026digitalocean.CdnArgs{\n\t\t\tOrigin: mybucket.BucketDomainName,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"fqdn\", mycdn.Endpoint)\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.Cdn;\nimport com.pulumi.digitalocean.CdnArgs;\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 mybucket = new SpacesBucket(\"mybucket\", SpacesBucketArgs.builder() \n .region(\"sfo2\")\n .acl(\"public-read\")\n .build());\n\n var mycdn = new Cdn(\"mycdn\", CdnArgs.builder() \n .origin(mybucket.bucketDomainName())\n .build());\n\n ctx.export(\"fqdn\", mycdn.endpoint());\n }\n}\n```\n```yaml\nresources:\n # Create a new Spaces Bucket\n mybucket:\n type: digitalocean:SpacesBucket\n properties:\n region: sfo2\n acl: public-read\n # Add a CDN endpoint to the Spaces Bucket\n mycdn:\n type: digitalocean:Cdn\n properties:\n origin: ${mybucket.bucketDomainName}\noutputs:\n # Output the endpoint for the CDN resource\n fqdn: ${mycdn.endpoint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom Sub-Domain Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new Spaces Bucket\nconst mybucket = new digitalocean.SpacesBucket(\"mybucket\", {\n region: digitalocean.Region.SFO2,\n acl: \"public-read\",\n});\n// Create a DigitalOcean managed Let's Encrypt Certificate\nconst cert = new digitalocean.Certificate(\"cert\", {\n type: digitalocean.CertificateType.LetsEncrypt,\n domains: [\"static.example.com\"],\n});\n// Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\nconst mycdn = new digitalocean.Cdn(\"mycdn\", {\n origin: mybucket.bucketDomainName,\n customDomain: \"static.example.com\",\n certificateName: cert.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new Spaces Bucket\nmybucket = digitalocean.SpacesBucket(\"mybucket\",\n region=digitalocean.Region.SFO2,\n acl=\"public-read\")\n# Create a DigitalOcean managed Let's Encrypt Certificate\ncert = digitalocean.Certificate(\"cert\",\n type=digitalocean.CertificateType.LETS_ENCRYPT,\n domains=[\"static.example.com\"])\n# Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\nmycdn = digitalocean.Cdn(\"mycdn\",\n origin=mybucket.bucket_domain_name,\n custom_domain=\"static.example.com\",\n certificate_name=cert.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Spaces Bucket\n var mybucket = new DigitalOcean.SpacesBucket(\"mybucket\", new()\n {\n Region = DigitalOcean.Region.SFO2,\n Acl = \"public-read\",\n });\n\n // Create a DigitalOcean managed Let's Encrypt Certificate\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n Type = DigitalOcean.CertificateType.LetsEncrypt,\n Domains = new[]\n {\n \"static.example.com\",\n },\n });\n\n // Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\n var mycdn = new DigitalOcean.Cdn(\"mycdn\", new()\n {\n Origin = mybucket.BucketDomainName,\n CustomDomain = \"static.example.com\",\n CertificateName = cert.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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// Create a new Spaces Bucket\n\t\tmybucket, err := digitalocean.NewSpacesBucket(ctx, \"mybucket\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionSFO2),\n\t\t\tAcl: pulumi.String(\"public-read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a DigitalOcean managed Let's Encrypt Certificate\n\t\tcert, err := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tType: pulumi.String(digitalocean.CertificateTypeLetsEncrypt),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"static.example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\n\t\t_, err = digitalocean.NewCdn(ctx, \"mycdn\", \u0026digitalocean.CdnArgs{\n\t\t\tOrigin: mybucket.BucketDomainName,\n\t\t\tCustomDomain: pulumi.String(\"static.example.com\"),\n\t\t\tCertificateName: cert.Name,\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\nimport com.pulumi.digitalocean.Cdn;\nimport com.pulumi.digitalocean.CdnArgs;\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 mybucket = new SpacesBucket(\"mybucket\", SpacesBucketArgs.builder() \n .region(\"sfo2\")\n .acl(\"public-read\")\n .build());\n\n var cert = new Certificate(\"cert\", CertificateArgs.builder() \n .type(\"lets_encrypt\")\n .domains(\"static.example.com\")\n .build());\n\n var mycdn = new Cdn(\"mycdn\", CdnArgs.builder() \n .origin(mybucket.bucketDomainName())\n .customDomain(\"static.example.com\")\n .certificateName(cert.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Spaces Bucket\n mybucket:\n type: digitalocean:SpacesBucket\n properties:\n region: sfo2\n acl: public-read\n # Create a DigitalOcean managed Let's Encrypt Certificate\n cert:\n type: digitalocean:Certificate\n properties:\n type: lets_encrypt\n domains:\n - static.example.com\n # Add a CDN endpoint with a custom sub-domain to the Spaces Bucket\n mycdn:\n type: digitalocean:Cdn\n properties:\n origin: ${mybucket.bucketDomainName}\n customDomain: static.example.com\n certificateName: ${cert.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCDN Endpoints can be imported using the CDN `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/cdn:Cdn mycdn fb06ad00-351f-45c8-b5eb-13523c438661\n```\n\n", "properties": { "certificateId": { "type": "string", @@ -7575,7 +7575,7 @@ } }, "digitalocean:index/certificate:Certificate": { - "description": "Provides a DigitalOcean Certificate resource that allows you to manage\ncertificates for configuring TLS termination in Load Balancers.\nCertificates created with this resource can be referenced in your\nLoad Balancer configuration via their ID. The certificate can either\nbe a custom one provided by you or automatically generated one with\nLet's Encrypt.\n\n## Example Usage\n\n### Custom Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\nimport * as fs from \"fs\";\n\nconst cert = new digitalocean.Certificate(\"cert\", {\n type: \"custom\",\n privateKey: fs.readFileSync(\"/Users/myuser/certs/privkey.pem\", \"utf8\"),\n leafCertificate: fs.readFileSync(\"/Users/myuser/certs/cert.pem\", \"utf8\"),\n certificateChain: fs.readFileSync(\"/Users/myuser/certs/fullchain.pem\", \"utf8\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ncert = digitalocean.Certificate(\"cert\",\n type=\"custom\",\n private_key=(lambda path: open(path).read())(\"/Users/myuser/certs/privkey.pem\"),\n leaf_certificate=(lambda path: open(path).read())(\"/Users/myuser/certs/cert.pem\"),\n certificate_chain=(lambda path: open(path).read())(\"/Users/myuser/certs/fullchain.pem\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n Type = \"custom\",\n PrivateKey = File.ReadAllText(\"/Users/myuser/certs/privkey.pem\"),\n LeafCertificate = File.ReadAllText(\"/Users/myuser/certs/cert.pem\"),\n CertificateChain = File.ReadAllText(\"/Users/myuser/certs/fullchain.pem\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tType: pulumi.String(\"custom\"),\n\t\t\tPrivateKey: readFileOrPanic(\"/Users/myuser/certs/privkey.pem\"),\n\t\t\tLeafCertificate: readFileOrPanic(\"/Users/myuser/certs/cert.pem\"),\n\t\t\tCertificateChain: readFileOrPanic(\"/Users/myuser/certs/fullchain.pem\"),\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.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .type(\"custom\")\n .privateKey(Files.readString(Paths.get(\"/Users/myuser/certs/privkey.pem\")))\n .leafCertificate(Files.readString(Paths.get(\"/Users/myuser/certs/cert.pem\")))\n .certificateChain(Files.readString(Paths.get(\"/Users/myuser/certs/fullchain.pem\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: digitalocean:Certificate\n properties:\n type: custom\n privateKey:\n fn::readFile: /Users/myuser/certs/privkey.pem\n leafCertificate:\n fn::readFile: /Users/myuser/certs/cert.pem\n certificateChain:\n fn::readFile: /Users/myuser/certs/fullchain.pem\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Let's Encrypt Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst cert = new digitalocean.Certificate(\"cert\", {\n domains: [\"example.com\"],\n type: \"lets_encrypt\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ncert = digitalocean.Certificate(\"cert\",\n domains=[\"example.com\"],\n type=\"lets_encrypt\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n Domains = new[]\n {\n \"example.com\",\n },\n Type = \"lets_encrypt\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"lets_encrypt\"),\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.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .domains(\"example.com\")\n .type(\"lets_encrypt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: digitalocean:Certificate\n properties:\n domains:\n - example.com\n type: lets_encrypt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use with Other Resources\n\nBoth custom and Let's Encrypt certificates can be used with other resources\nincluding the `digitalocean.LoadBalancer` and `digitalocean.Cdn` resources.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst cert = new digitalocean.Certificate(\"cert\", {\n type: \"lets_encrypt\",\n domains: [\"example.com\"],\n});\n// Create a new Load Balancer with TLS termination\nconst _public = new digitalocean.LoadBalancer(\"public\", {\n region: \"nyc3\",\n dropletTag: \"backend\",\n forwardingRules: [{\n entryPort: 443,\n entryProtocol: \"https\",\n targetPort: 80,\n targetProtocol: \"http\",\n certificateName: cert.name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ncert = digitalocean.Certificate(\"cert\",\n type=\"lets_encrypt\",\n domains=[\"example.com\"])\n# Create a new Load Balancer with TLS termination\npublic = digitalocean.LoadBalancer(\"public\",\n region=\"nyc3\",\n droplet_tag=\"backend\",\n forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs(\n entry_port=443,\n entry_protocol=\"https\",\n target_port=80,\n target_protocol=\"http\",\n certificate_name=cert.name,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n Type = \"lets_encrypt\",\n Domains = new[]\n {\n \"example.com\",\n },\n });\n\n // Create a new Load Balancer with TLS termination\n var @public = new DigitalOcean.LoadBalancer(\"public\", new()\n {\n Region = \"nyc3\",\n DropletTag = \"backend\",\n ForwardingRules = new[]\n {\n new DigitalOcean.Inputs.LoadBalancerForwardingRuleArgs\n {\n EntryPort = 443,\n EntryProtocol = \"https\",\n TargetPort = 80,\n TargetProtocol = \"http\",\n CertificateName = cert.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcert, err := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tType: pulumi.String(\"lets_encrypt\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Load Balancer with TLS termination\n\t\t_, err = digitalocean.NewLoadBalancer(ctx, \"public\", \u0026digitalocean.LoadBalancerArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tDropletTag: pulumi.String(\"backend\"),\n\t\t\tForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{\n\t\t\t\t\u0026digitalocean.LoadBalancerForwardingRuleArgs{\n\t\t\t\t\tEntryPort: pulumi.Int(443),\n\t\t\t\t\tEntryProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tTargetPort: pulumi.Int(80),\n\t\t\t\t\tTargetProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tCertificateName: cert.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\nimport com.pulumi.digitalocean.LoadBalancer;\nimport com.pulumi.digitalocean.LoadBalancerArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerForwardingRuleArgs;\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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .type(\"lets_encrypt\")\n .domains(\"example.com\")\n .build());\n\n var public_ = new LoadBalancer(\"public\", LoadBalancerArgs.builder() \n .region(\"nyc3\")\n .dropletTag(\"backend\")\n .forwardingRules(LoadBalancerForwardingRuleArgs.builder()\n .entryPort(443)\n .entryProtocol(\"https\")\n .targetPort(80)\n .targetProtocol(\"http\")\n .certificateName(cert.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: digitalocean:Certificate\n properties:\n type: lets_encrypt\n domains:\n - example.com\n # Create a new Load Balancer with TLS termination\n public:\n type: digitalocean:LoadBalancer\n properties:\n region: nyc3\n dropletTag: backend\n forwardingRules:\n - entryPort: 443\n entryProtocol: https\n targetPort: 80\n targetProtocol: http\n certificateName: ${cert.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCertificates can be imported using the certificate `name`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/certificate:Certificate mycertificate cert-01\n```\n\n", + "description": "Provides a DigitalOcean Certificate resource that allows you to manage\ncertificates for configuring TLS termination in Load Balancers.\nCertificates created with this resource can be referenced in your\nLoad Balancer configuration via their ID. The certificate can either\nbe a custom one provided by you or automatically generated one with\nLet's Encrypt.\n\n## Example Usage\n\n### Custom Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\nimport * as fs from \"fs\";\n\nconst cert = new digitalocean.Certificate(\"cert\", {\n type: digitalocean.CertificateType.Custom,\n privateKey: fs.readFileSync(\"/Users/myuser/certs/privkey.pem\", \"utf8\"),\n leafCertificate: fs.readFileSync(\"/Users/myuser/certs/cert.pem\", \"utf8\"),\n certificateChain: fs.readFileSync(\"/Users/myuser/certs/fullchain.pem\", \"utf8\"),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ncert = digitalocean.Certificate(\"cert\",\n type=digitalocean.CertificateType.CUSTOM,\n private_key=(lambda path: open(path).read())(\"/Users/myuser/certs/privkey.pem\"),\n leaf_certificate=(lambda path: open(path).read())(\"/Users/myuser/certs/cert.pem\"),\n certificate_chain=(lambda path: open(path).read())(\"/Users/myuser/certs/fullchain.pem\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n Type = DigitalOcean.CertificateType.Custom,\n PrivateKey = File.ReadAllText(\"/Users/myuser/certs/privkey.pem\"),\n LeafCertificate = File.ReadAllText(\"/Users/myuser/certs/cert.pem\"),\n CertificateChain = File.ReadAllText(\"/Users/myuser/certs/fullchain.pem\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tType: pulumi.String(digitalocean.CertificateTypeCustom),\n\t\t\tPrivateKey: readFileOrPanic(\"/Users/myuser/certs/privkey.pem\"),\n\t\t\tLeafCertificate: readFileOrPanic(\"/Users/myuser/certs/cert.pem\"),\n\t\t\tCertificateChain: readFileOrPanic(\"/Users/myuser/certs/fullchain.pem\"),\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.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .type(\"custom\")\n .privateKey(Files.readString(Paths.get(\"/Users/myuser/certs/privkey.pem\")))\n .leafCertificate(Files.readString(Paths.get(\"/Users/myuser/certs/cert.pem\")))\n .certificateChain(Files.readString(Paths.get(\"/Users/myuser/certs/fullchain.pem\")))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: digitalocean:Certificate\n properties:\n type: custom\n privateKey:\n fn::readFile: /Users/myuser/certs/privkey.pem\n leafCertificate:\n fn::readFile: /Users/myuser/certs/cert.pem\n certificateChain:\n fn::readFile: /Users/myuser/certs/fullchain.pem\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Let's Encrypt Certificate\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst cert = new digitalocean.Certificate(\"cert\", {\n domains: [\"example.com\"],\n type: digitalocean.CertificateType.LetsEncrypt,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ncert = digitalocean.Certificate(\"cert\",\n domains=[\"example.com\"],\n type=digitalocean.CertificateType.LETS_ENCRYPT)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n Domains = new[]\n {\n \"example.com\",\n },\n Type = DigitalOcean.CertificateType.LetsEncrypt,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t},\n\t\t\tType: pulumi.String(digitalocean.CertificateTypeLetsEncrypt),\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.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .domains(\"example.com\")\n .type(\"lets_encrypt\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: digitalocean:Certificate\n properties:\n domains:\n - example.com\n type: lets_encrypt\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Use with Other Resources\n\nBoth custom and Let's Encrypt certificates can be used with other resources\nincluding the `digitalocean.LoadBalancer` and `digitalocean.Cdn` resources.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst cert = new digitalocean.Certificate(\"cert\", {\n type: digitalocean.CertificateType.LetsEncrypt,\n domains: [\"example.com\"],\n});\n// Create a new Load Balancer with TLS termination\nconst _public = new digitalocean.LoadBalancer(\"public\", {\n region: digitalocean.Region.NYC3,\n dropletTag: \"backend\",\n forwardingRules: [{\n entryPort: 443,\n entryProtocol: \"https\",\n targetPort: 80,\n targetProtocol: \"http\",\n certificateName: cert.name,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ncert = digitalocean.Certificate(\"cert\",\n type=digitalocean.CertificateType.LETS_ENCRYPT,\n domains=[\"example.com\"])\n# Create a new Load Balancer with TLS termination\npublic = digitalocean.LoadBalancer(\"public\",\n region=digitalocean.Region.NYC3,\n droplet_tag=\"backend\",\n forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs(\n entry_port=443,\n entry_protocol=\"https\",\n target_port=80,\n target_protocol=\"http\",\n certificate_name=cert.name,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n Type = DigitalOcean.CertificateType.LetsEncrypt,\n Domains = new[]\n {\n \"example.com\",\n },\n });\n\n // Create a new Load Balancer with TLS termination\n var @public = new DigitalOcean.LoadBalancer(\"public\", new()\n {\n Region = DigitalOcean.Region.NYC3,\n DropletTag = \"backend\",\n ForwardingRules = new[]\n {\n new DigitalOcean.Inputs.LoadBalancerForwardingRuleArgs\n {\n EntryPort = 443,\n EntryProtocol = \"https\",\n TargetPort = 80,\n TargetProtocol = \"http\",\n CertificateName = cert.Name,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcert, err := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tType: pulumi.String(digitalocean.CertificateTypeLetsEncrypt),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Load Balancer with TLS termination\n\t\t_, err = digitalocean.NewLoadBalancer(ctx, \"public\", \u0026digitalocean.LoadBalancerArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tDropletTag: pulumi.String(\"backend\"),\n\t\t\tForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{\n\t\t\t\t\u0026digitalocean.LoadBalancerForwardingRuleArgs{\n\t\t\t\t\tEntryPort: pulumi.Int(443),\n\t\t\t\t\tEntryProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tTargetPort: pulumi.Int(80),\n\t\t\t\t\tTargetProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tCertificateName: cert.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\nimport com.pulumi.digitalocean.LoadBalancer;\nimport com.pulumi.digitalocean.LoadBalancerArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerForwardingRuleArgs;\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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .type(\"lets_encrypt\")\n .domains(\"example.com\")\n .build());\n\n var public_ = new LoadBalancer(\"public\", LoadBalancerArgs.builder() \n .region(\"nyc3\")\n .dropletTag(\"backend\")\n .forwardingRules(LoadBalancerForwardingRuleArgs.builder()\n .entryPort(443)\n .entryProtocol(\"https\")\n .targetPort(80)\n .targetProtocol(\"http\")\n .certificateName(cert.name())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: digitalocean:Certificate\n properties:\n type: lets_encrypt\n domains:\n - example.com\n # Create a new Load Balancer with TLS termination\n public:\n type: digitalocean:LoadBalancer\n properties:\n region: nyc3\n dropletTag: backend\n forwardingRules:\n - entryPort: 443\n entryProtocol: https\n targetPort: 80\n targetProtocol: http\n certificateName: ${cert.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCertificates can be imported using the certificate `name`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/certificate:Certificate mycertificate cert-01\n```\n\n", "properties": { "certificateChain": { "type": "string", @@ -7913,7 +7913,7 @@ } }, "digitalocean:index/customImage:CustomImage": { - "description": "Provides a resource which can be used to create a [custom image](https://www.digitalocean.com/docs/images/custom-images/)\nfrom a URL. The URL must point to an image in one of the following file formats:\n\n- Raw (.img) with an MBR or GPT partition table\n- qcow2\n- VHDX\n- VDI\n- VMDK\n\nThe image may be compressed using gzip or bzip2. See the DigitalOcean Custom\nImage documentation for [additional requirements](https://www.digitalocean.com/docs/images/custom-images/#image-requirements).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst flatcar = new digitalocean.CustomImage(\"flatcar\", {\n url: \"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\",\n regions: [\"nyc3\"],\n});\nconst example = new digitalocean.Droplet(\"example\", {\n image: flatcar.id,\n region: \"nyc3\",\n size: \"s-1vcpu-1gb\",\n sshKeys: [\"12345\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nflatcar = digitalocean.CustomImage(\"flatcar\",\n url=\"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\",\n regions=[\"nyc3\"])\nexample = digitalocean.Droplet(\"example\",\n image=flatcar.id,\n region=\"nyc3\",\n size=\"s-1vcpu-1gb\",\n ssh_keys=[\"12345\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var flatcar = new DigitalOcean.CustomImage(\"flatcar\", new()\n {\n Url = \"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\",\n Regions = new[]\n {\n \"nyc3\",\n },\n });\n\n var example = new DigitalOcean.Droplet(\"example\", new()\n {\n Image = flatcar.Id,\n Region = \"nyc3\",\n Size = \"s-1vcpu-1gb\",\n SshKeys = new[]\n {\n \"12345\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tflatcar, err := digitalocean.NewCustomImage(ctx, \"flatcar\", \u0026digitalocean.CustomImageArgs{\n\t\t\tUrl: pulumi.String(\"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\"),\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nyc3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"example\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: flatcar.ID(),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tSshKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"12345\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.CustomImage;\nimport com.pulumi.digitalocean.CustomImageArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 flatcar = new CustomImage(\"flatcar\", CustomImageArgs.builder() \n .url(\"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\")\n .regions(\"nyc3\")\n .build());\n\n var example = new Droplet(\"example\", DropletArgs.builder() \n .image(flatcar.id())\n .region(\"nyc3\")\n .size(\"s-1vcpu-1gb\")\n .sshKeys(12345)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n flatcar:\n type: digitalocean:CustomImage\n properties:\n url: https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\n regions:\n - nyc3\n example:\n type: digitalocean:Droplet\n properties:\n image: ${flatcar.id}\n region: nyc3\n size: s-1vcpu-1gb\n sshKeys:\n - 12345\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a resource which can be used to create a [custom image](https://www.digitalocean.com/docs/images/custom-images/)\nfrom a URL. The URL must point to an image in one of the following file formats:\n\n- Raw (.img) with an MBR or GPT partition table\n- qcow2\n- VHDX\n- VDI\n- VMDK\n\nThe image may be compressed using gzip or bzip2. See the DigitalOcean Custom\nImage documentation for [additional requirements](https://www.digitalocean.com/docs/images/custom-images/#image-requirements).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst flatcar = new digitalocean.CustomImage(\"flatcar\", {\n url: \"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\",\n regions: [\"nyc3\"],\n});\nconst example = new digitalocean.Droplet(\"example\", {\n image: flatcar.id,\n region: digitalocean.Region.NYC3,\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n sshKeys: [\"12345\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nflatcar = digitalocean.CustomImage(\"flatcar\",\n url=\"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\",\n regions=[\"nyc3\"])\nexample = digitalocean.Droplet(\"example\",\n image=flatcar.id,\n region=digitalocean.Region.NYC3,\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n ssh_keys=[\"12345\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var flatcar = new DigitalOcean.CustomImage(\"flatcar\", new()\n {\n Url = \"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\",\n Regions = new[]\n {\n \"nyc3\",\n },\n });\n\n var example = new DigitalOcean.Droplet(\"example\", new()\n {\n Image = flatcar.Id,\n Region = DigitalOcean.Region.NYC3,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n SshKeys = new[]\n {\n \"12345\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tflatcar, err := digitalocean.NewCustomImage(ctx, \"flatcar\", \u0026digitalocean.CustomImageArgs{\n\t\t\tUrl: pulumi.String(\"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\"),\n\t\t\tRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"nyc3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"example\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: flatcar.ID(),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tSshKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"12345\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.CustomImage;\nimport com.pulumi.digitalocean.CustomImageArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 flatcar = new CustomImage(\"flatcar\", CustomImageArgs.builder() \n .url(\"https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\")\n .regions(\"nyc3\")\n .build());\n\n var example = new Droplet(\"example\", DropletArgs.builder() \n .image(flatcar.id())\n .region(\"nyc3\")\n .size(\"s-1vcpu-1gb\")\n .sshKeys(12345)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n flatcar:\n type: digitalocean:CustomImage\n properties:\n url: https://stable.release.flatcar-linux.net/amd64-usr/2605.7.0/flatcar_production_digitalocean_image.bin.bz2\n regions:\n - nyc3\n example:\n type: digitalocean:Droplet\n properties:\n image: ${flatcar.id}\n region: nyc3\n size: s-1vcpu-1gb\n sshKeys:\n - 12345\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "createdAt": { "type": "string", @@ -8099,7 +8099,7 @@ } }, "digitalocean:index/databaseCluster:DatabaseCluster": { - "description": "Provides a DigitalOcean database cluster resource.\n\n## Example Usage\n\n### Create a new PostgreSQL database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n nodeCount: 1,\n region: \"nyc1\",\n size: \"db-s-1vcpu-1gb\",\n version: \"15\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n node_count=1,\n region=\"nyc1\",\n size=\"db-s-1vcpu-1gb\",\n version=\"15\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n NodeCount = 1,\n Region = \"nyc1\",\n Size = \"db-s-1vcpu-1gb\",\n Version = \"15\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tVersion: pulumi.String(\"15\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .nodeCount(1)\n .region(\"nyc1\")\n .size(\"db-s-1vcpu-1gb\")\n .version(\"15\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n nodeCount: 1\n region: nyc1\n size: db-s-1vcpu-1gb\n version: '15'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new MySQL database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst mysql_example = new digitalocean.DatabaseCluster(\"mysql-example\", {\n engine: \"mysql\",\n nodeCount: 1,\n region: \"nyc1\",\n size: \"db-s-1vcpu-1gb\",\n version: \"8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nmysql_example = digitalocean.DatabaseCluster(\"mysql-example\",\n engine=\"mysql\",\n node_count=1,\n region=\"nyc1\",\n size=\"db-s-1vcpu-1gb\",\n version=\"8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mysql_example = new DigitalOcean.DatabaseCluster(\"mysql-example\", new()\n {\n Engine = \"mysql\",\n NodeCount = 1,\n Region = \"nyc1\",\n Size = \"db-s-1vcpu-1gb\",\n Version = \"8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"mysql-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tVersion: pulumi.String(\"8\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 mysql_example = new DatabaseCluster(\"mysql-example\", DatabaseClusterArgs.builder() \n .engine(\"mysql\")\n .nodeCount(1)\n .region(\"nyc1\")\n .size(\"db-s-1vcpu-1gb\")\n .version(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mysql-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: mysql\n nodeCount: 1\n region: nyc1\n size: db-s-1vcpu-1gb\n version: '8'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new Redis database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst redis_example = new digitalocean.DatabaseCluster(\"redis-example\", {\n engine: \"redis\",\n nodeCount: 1,\n region: \"nyc1\",\n size: \"db-s-1vcpu-1gb\",\n version: \"7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nredis_example = digitalocean.DatabaseCluster(\"redis-example\",\n engine=\"redis\",\n node_count=1,\n region=\"nyc1\",\n size=\"db-s-1vcpu-1gb\",\n version=\"7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var redis_example = new DigitalOcean.DatabaseCluster(\"redis-example\", new()\n {\n Engine = \"redis\",\n NodeCount = 1,\n Region = \"nyc1\",\n Size = \"db-s-1vcpu-1gb\",\n Version = \"7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"redis-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tVersion: pulumi.String(\"7\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 redis_example = new DatabaseCluster(\"redis-example\", DatabaseClusterArgs.builder() \n .engine(\"redis\")\n .nodeCount(1)\n .region(\"nyc1\")\n .size(\"db-s-1vcpu-1gb\")\n .version(\"7\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n redis-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: redis\n nodeCount: 1\n region: nyc1\n size: db-s-1vcpu-1gb\n version: '7'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new Kafka database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst kafka_example = new digitalocean.DatabaseCluster(\"kafka-example\", {\n engine: \"kafka\",\n nodeCount: 3,\n region: \"nyc1\",\n size: \"db-s-2vcpu-2gb\",\n version: \"3.5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nkafka_example = digitalocean.DatabaseCluster(\"kafka-example\",\n engine=\"kafka\",\n node_count=3,\n region=\"nyc1\",\n size=\"db-s-2vcpu-2gb\",\n version=\"3.5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kafka_example = new DigitalOcean.DatabaseCluster(\"kafka-example\", new()\n {\n Engine = \"kafka\",\n NodeCount = 3,\n Region = \"nyc1\",\n Size = \"db-s-2vcpu-2gb\",\n Version = \"3.5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"kafka-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"kafka\"),\n\t\t\tNodeCount: pulumi.Int(3),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tSize: pulumi.String(\"db-s-2vcpu-2gb\"),\n\t\t\tVersion: pulumi.String(\"3.5\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 kafka_example = new DatabaseCluster(\"kafka-example\", DatabaseClusterArgs.builder() \n .engine(\"kafka\")\n .nodeCount(3)\n .region(\"nyc1\")\n .size(\"db-s-2vcpu-2gb\")\n .version(\"3.5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kafka-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: kafka\n nodeCount: 3\n region: nyc1\n size: db-s-2vcpu-2gb\n version: '3.5'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new MongoDB database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst mongodb_example = new digitalocean.DatabaseCluster(\"mongodb-example\", {\n engine: \"mongodb\",\n nodeCount: 1,\n region: \"nyc3\",\n size: \"db-s-1vcpu-1gb\",\n version: \"6\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nmongodb_example = digitalocean.DatabaseCluster(\"mongodb-example\",\n engine=\"mongodb\",\n node_count=1,\n region=\"nyc3\",\n size=\"db-s-1vcpu-1gb\",\n version=\"6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongodb_example = new DigitalOcean.DatabaseCluster(\"mongodb-example\", new()\n {\n Engine = \"mongodb\",\n NodeCount = 1,\n Region = \"nyc3\",\n Size = \"db-s-1vcpu-1gb\",\n Version = \"6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"mongodb-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"mongodb\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tVersion: pulumi.String(\"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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 mongodb_example = new DatabaseCluster(\"mongodb-example\", DatabaseClusterArgs.builder() \n .engine(\"mongodb\")\n .nodeCount(1)\n .region(\"nyc3\")\n .size(\"db-s-1vcpu-1gb\")\n .version(\"6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongodb-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: mongodb\n nodeCount: 1\n region: nyc3\n size: db-s-1vcpu-1gb\n version: '6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Create a new database cluster based on a backup of an existing cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst doby = new digitalocean.DatabaseCluster(\"doby\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-2gb\",\n region: \"nyc1\",\n nodeCount: 1,\n tags: [\"production\"],\n});\nconst dobyBackup = new digitalocean.DatabaseCluster(\"dobyBackup\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-2gb\",\n region: \"nyc1\",\n nodeCount: 1,\n tags: [\"production\"],\n backupRestore: {\n databaseName: \"dobydb\",\n },\n}, {\n dependsOn: [doby],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ndoby = digitalocean.DatabaseCluster(\"doby\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-2gb\",\n region=\"nyc1\",\n node_count=1,\n tags=[\"production\"])\ndoby_backup = digitalocean.DatabaseCluster(\"dobyBackup\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-2gb\",\n region=\"nyc1\",\n node_count=1,\n tags=[\"production\"],\n backup_restore=digitalocean.DatabaseClusterBackupRestoreArgs(\n database_name=\"dobydb\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[doby]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var doby = new DigitalOcean.DatabaseCluster(\"doby\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-2gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n Tags = new[]\n {\n \"production\",\n },\n });\n\n var dobyBackup = new DigitalOcean.DatabaseCluster(\"dobyBackup\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-2gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n Tags = new[]\n {\n \"production\",\n },\n BackupRestore = new DigitalOcean.Inputs.DatabaseClusterBackupRestoreArgs\n {\n DatabaseName = \"dobydb\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n doby,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdoby, err := digitalocean.NewDatabaseCluster(ctx, \"doby\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-2gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseCluster(ctx, \"dobyBackup\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-2gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\n\t\t\t},\n\t\t\tBackupRestore: \u0026digitalocean.DatabaseClusterBackupRestoreArgs{\n\t\t\t\tDatabaseName: pulumi.String(\"dobydb\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdoby,\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseClusterBackupRestoreArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var doby = new DatabaseCluster(\"doby\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-2gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .tags(\"production\")\n .build());\n\n var dobyBackup = new DatabaseCluster(\"dobyBackup\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-2gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .tags(\"production\")\n .backupRestore(DatabaseClusterBackupRestoreArgs.builder()\n .databaseName(\"dobydb\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(doby)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n doby:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-2gb\n region: nyc1\n nodeCount: 1\n tags:\n - production\n dobyBackup:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-2gb\n region: nyc1\n nodeCount: 1\n tags:\n - production\n backupRestore:\n databaseName: dobydb\n options:\n dependson:\n - ${doby}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase clusters can be imported using the `id` returned from DigitalOcean, e.g.\n\n```sh\n$ pulumi import digitalocean:index/databaseCluster:DatabaseCluster mycluster 245bcfd0-7f31-4ce6-a2bc-475a116cca97\n```\n\n", + "description": "Provides a DigitalOcean database cluster resource.\n\n## Example Usage\n\n### Create a new PostgreSQL database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n nodeCount: 1,\n region: digitalocean.Region.NYC1,\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n version: \"15\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n node_count=1,\n region=digitalocean.Region.NYC1,\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n version=\"15\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n NodeCount = 1,\n Region = DigitalOcean.Region.NYC1,\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Version = \"15\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tVersion: pulumi.String(\"15\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .nodeCount(1)\n .region(\"nyc1\")\n .size(\"db-s-1vcpu-1gb\")\n .version(\"15\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n nodeCount: 1\n region: nyc1\n size: db-s-1vcpu-1gb\n version: '15'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new MySQL database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst mysql_example = new digitalocean.DatabaseCluster(\"mysql-example\", {\n engine: \"mysql\",\n nodeCount: 1,\n region: digitalocean.Region.NYC1,\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n version: \"8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nmysql_example = digitalocean.DatabaseCluster(\"mysql-example\",\n engine=\"mysql\",\n node_count=1,\n region=digitalocean.Region.NYC1,\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n version=\"8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mysql_example = new DigitalOcean.DatabaseCluster(\"mysql-example\", new()\n {\n Engine = \"mysql\",\n NodeCount = 1,\n Region = DigitalOcean.Region.NYC1,\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Version = \"8\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"mysql-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tVersion: pulumi.String(\"8\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 mysql_example = new DatabaseCluster(\"mysql-example\", DatabaseClusterArgs.builder() \n .engine(\"mysql\")\n .nodeCount(1)\n .region(\"nyc1\")\n .size(\"db-s-1vcpu-1gb\")\n .version(\"8\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mysql-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: mysql\n nodeCount: 1\n region: nyc1\n size: db-s-1vcpu-1gb\n version: '8'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new Redis database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst redis_example = new digitalocean.DatabaseCluster(\"redis-example\", {\n engine: \"redis\",\n nodeCount: 1,\n region: digitalocean.Region.NYC1,\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n version: \"7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nredis_example = digitalocean.DatabaseCluster(\"redis-example\",\n engine=\"redis\",\n node_count=1,\n region=digitalocean.Region.NYC1,\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n version=\"7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var redis_example = new DigitalOcean.DatabaseCluster(\"redis-example\", new()\n {\n Engine = \"redis\",\n NodeCount = 1,\n Region = DigitalOcean.Region.NYC1,\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Version = \"7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"redis-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tVersion: pulumi.String(\"7\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 redis_example = new DatabaseCluster(\"redis-example\", DatabaseClusterArgs.builder() \n .engine(\"redis\")\n .nodeCount(1)\n .region(\"nyc1\")\n .size(\"db-s-1vcpu-1gb\")\n .version(\"7\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n redis-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: redis\n nodeCount: 1\n region: nyc1\n size: db-s-1vcpu-1gb\n version: '7'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new Kafka database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst kafka_example = new digitalocean.DatabaseCluster(\"kafka-example\", {\n engine: \"kafka\",\n nodeCount: 3,\n region: digitalocean.Region.NYC1,\n size: \"db-s-2vcpu-2gb\",\n version: \"3.5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nkafka_example = digitalocean.DatabaseCluster(\"kafka-example\",\n engine=\"kafka\",\n node_count=3,\n region=digitalocean.Region.NYC1,\n size=\"db-s-2vcpu-2gb\",\n version=\"3.5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kafka_example = new DigitalOcean.DatabaseCluster(\"kafka-example\", new()\n {\n Engine = \"kafka\",\n NodeCount = 3,\n Region = DigitalOcean.Region.NYC1,\n Size = \"db-s-2vcpu-2gb\",\n Version = \"3.5\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"kafka-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"kafka\"),\n\t\t\tNodeCount: pulumi.Int(3),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tSize: pulumi.String(\"db-s-2vcpu-2gb\"),\n\t\t\tVersion: pulumi.String(\"3.5\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 kafka_example = new DatabaseCluster(\"kafka-example\", DatabaseClusterArgs.builder() \n .engine(\"kafka\")\n .nodeCount(3)\n .region(\"nyc1\")\n .size(\"db-s-2vcpu-2gb\")\n .version(\"3.5\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kafka-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: kafka\n nodeCount: 3\n region: nyc1\n size: db-s-2vcpu-2gb\n version: '3.5'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new MongoDB database cluster\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst mongodb_example = new digitalocean.DatabaseCluster(\"mongodb-example\", {\n engine: \"mongodb\",\n nodeCount: 1,\n region: digitalocean.Region.NYC3,\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n version: \"6\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nmongodb_example = digitalocean.DatabaseCluster(\"mongodb-example\",\n engine=\"mongodb\",\n node_count=1,\n region=digitalocean.Region.NYC3,\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n version=\"6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var mongodb_example = new DigitalOcean.DatabaseCluster(\"mongodb-example\", new()\n {\n Engine = \"mongodb\",\n NodeCount = 1,\n Region = DigitalOcean.Region.NYC3,\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Version = \"6\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"mongodb-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"mongodb\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tVersion: pulumi.String(\"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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\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 mongodb_example = new DatabaseCluster(\"mongodb-example\", DatabaseClusterArgs.builder() \n .engine(\"mongodb\")\n .nodeCount(1)\n .region(\"nyc3\")\n .size(\"db-s-1vcpu-1gb\")\n .version(\"6\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mongodb-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: mongodb\n nodeCount: 1\n region: nyc3\n size: db-s-1vcpu-1gb\n version: '6'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Create a new database cluster based on a backup of an existing cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst doby = new digitalocean.DatabaseCluster(\"doby\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU2GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n tags: [\"production\"],\n});\nconst dobyBackup = new digitalocean.DatabaseCluster(\"dobyBackup\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU2GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n tags: [\"production\"],\n backupRestore: {\n databaseName: \"dobydb\",\n },\n}, {\n dependsOn: [doby],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ndoby = digitalocean.DatabaseCluster(\"doby\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU2_GB,\n region=digitalocean.Region.NYC1,\n node_count=1,\n tags=[\"production\"])\ndoby_backup = digitalocean.DatabaseCluster(\"dobyBackup\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU2_GB,\n region=digitalocean.Region.NYC1,\n node_count=1,\n tags=[\"production\"],\n backup_restore=digitalocean.DatabaseClusterBackupRestoreArgs(\n database_name=\"dobydb\",\n ),\n opts=pulumi.ResourceOptions(depends_on=[doby]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var doby = new DigitalOcean.DatabaseCluster(\"doby\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU2GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n Tags = new[]\n {\n \"production\",\n },\n });\n\n var dobyBackup = new DigitalOcean.DatabaseCluster(\"dobyBackup\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU2GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n Tags = new[]\n {\n \"production\",\n },\n BackupRestore = new DigitalOcean.Inputs.DatabaseClusterBackupRestoreArgs\n {\n DatabaseName = \"dobydb\",\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n doby,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdoby, err := digitalocean.NewDatabaseCluster(ctx, \"doby\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU2GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseCluster(ctx, \"dobyBackup\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU2GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\n\t\t\t},\n\t\t\tBackupRestore: \u0026digitalocean.DatabaseClusterBackupRestoreArgs{\n\t\t\t\tDatabaseName: pulumi.String(\"dobydb\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdoby,\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseClusterBackupRestoreArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var doby = new DatabaseCluster(\"doby\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-2gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .tags(\"production\")\n .build());\n\n var dobyBackup = new DatabaseCluster(\"dobyBackup\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-2gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .tags(\"production\")\n .backupRestore(DatabaseClusterBackupRestoreArgs.builder()\n .databaseName(\"dobydb\")\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(doby)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n doby:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-2gb\n region: nyc1\n nodeCount: 1\n tags:\n - production\n dobyBackup:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-2gb\n region: nyc1\n nodeCount: 1\n tags:\n - production\n backupRestore:\n databaseName: dobydb\n options:\n dependson:\n - ${doby}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase clusters can be imported using the `id` returned from DigitalOcean, e.g.\n\n```sh\n$ pulumi import digitalocean:index/databaseCluster:DatabaseCluster mycluster 245bcfd0-7f31-4ce6-a2bc-475a116cca97\n```\n\n", "properties": { "backupRestore": { "$ref": "#/types/digitalocean:index/DatabaseClusterBackupRestore:DatabaseClusterBackupRestore", @@ -8445,7 +8445,7 @@ } }, "digitalocean:index/databaseConnectionPool:DatabaseConnectionPool": { - "description": "Provides a DigitalOcean database connection pool resource.\n\n## Example Usage\n\n### Create a new PostgreSQL database connection pool\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst pool_01 = new digitalocean.DatabaseConnectionPool(\"pool-01\", {\n clusterId: postgres_example.id,\n mode: \"transaction\",\n size: 20,\n dbName: \"defaultdb\",\n user: \"doadmin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\npool_01 = digitalocean.DatabaseConnectionPool(\"pool-01\",\n cluster_id=postgres_example.id,\n mode=\"transaction\",\n size=20,\n db_name=\"defaultdb\",\n user=\"doadmin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var pool_01 = new DigitalOcean.DatabaseConnectionPool(\"pool-01\", new()\n {\n ClusterId = postgres_example.Id,\n Mode = \"transaction\",\n Size = 20,\n DbName = \"defaultdb\",\n User = \"doadmin\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseConnectionPool(ctx, \"pool-01\", \u0026digitalocean.DatabaseConnectionPoolArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tMode: pulumi.String(\"transaction\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tDbName: pulumi.String(\"defaultdb\"),\n\t\t\tUser: pulumi.String(\"doadmin\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseConnectionPool;\nimport com.pulumi.digitalocean.DatabaseConnectionPoolArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var pool_01 = new DatabaseConnectionPool(\"pool-01\", DatabaseConnectionPoolArgs.builder() \n .clusterId(postgres_example.id())\n .mode(\"transaction\")\n .size(20)\n .dbName(\"defaultdb\")\n .user(\"doadmin\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pool-01:\n type: digitalocean:DatabaseConnectionPool\n properties:\n clusterId: ${[\"postgres-example\"].id}\n mode: transaction\n size: 20\n dbName: defaultdb\n user: doadmin\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase connection pools can be imported using the `id` of the source database cluster\n\nand the `name` of the connection pool joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseConnectionPool:DatabaseConnectionPool pool-01 245bcfd0-7f31-4ce6-a2bc-475a116cca97,pool-01\n```\n\n", + "description": "Provides a DigitalOcean database connection pool resource.\n\n## Example Usage\n\n### Create a new PostgreSQL database connection pool\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst pool_01 = new digitalocean.DatabaseConnectionPool(\"pool-01\", {\n clusterId: postgres_example.id,\n mode: \"transaction\",\n size: 20,\n dbName: \"defaultdb\",\n user: \"doadmin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\npool_01 = digitalocean.DatabaseConnectionPool(\"pool-01\",\n cluster_id=postgres_example.id,\n mode=\"transaction\",\n size=20,\n db_name=\"defaultdb\",\n user=\"doadmin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var pool_01 = new DigitalOcean.DatabaseConnectionPool(\"pool-01\", new()\n {\n ClusterId = postgres_example.Id,\n Mode = \"transaction\",\n Size = 20,\n DbName = \"defaultdb\",\n User = \"doadmin\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseConnectionPool(ctx, \"pool-01\", \u0026digitalocean.DatabaseConnectionPoolArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tMode: pulumi.String(\"transaction\"),\n\t\t\tSize: pulumi.Int(20),\n\t\t\tDbName: pulumi.String(\"defaultdb\"),\n\t\t\tUser: pulumi.String(\"doadmin\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseConnectionPool;\nimport com.pulumi.digitalocean.DatabaseConnectionPoolArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var pool_01 = new DatabaseConnectionPool(\"pool-01\", DatabaseConnectionPoolArgs.builder() \n .clusterId(postgres_example.id())\n .mode(\"transaction\")\n .size(20)\n .dbName(\"defaultdb\")\n .user(\"doadmin\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pool-01:\n type: digitalocean:DatabaseConnectionPool\n properties:\n clusterId: ${[\"postgres-example\"].id}\n mode: transaction\n size: 20\n dbName: defaultdb\n user: doadmin\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase connection pools can be imported using the `id` of the source database cluster\n\nand the `name` of the connection pool joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseConnectionPool:DatabaseConnectionPool pool-01 245bcfd0-7f31-4ce6-a2bc-475a116cca97,pool-01\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -8615,7 +8615,7 @@ } }, "digitalocean:index/databaseDb:DatabaseDb": { - "description": "Provides a DigitalOcean database resource. When creating a new database cluster, a default database with name `defaultdb` will be created. Then, this resource can be used to provide additional database inside the cluster.\n\n## Example Usage\n\n### Create a new PostgreSQL database\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst database_example = new digitalocean.DatabaseDb(\"database-example\", {clusterId: postgres_example.id});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\ndatabase_example = digitalocean.DatabaseDb(\"database-example\", cluster_id=postgres_example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var database_example = new DigitalOcean.DatabaseDb(\"database-example\", new()\n {\n ClusterId = postgres_example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseDb(ctx, \"database-example\", \u0026digitalocean.DatabaseDbArgs{\n\t\t\tClusterId: postgres_example.ID(),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseDb;\nimport com.pulumi.digitalocean.DatabaseDbArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var database_example = new DatabaseDb(\"database-example\", DatabaseDbArgs.builder() \n .clusterId(postgres_example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n database-example:\n type: digitalocean:DatabaseDb\n properties:\n clusterId: ${[\"postgres-example\"].id}\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase can be imported using the `id` of the source database cluster\n\nand the `name` of the database joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseDb:DatabaseDb database-example 245bcfd0-7f31-4ce6-a2bc-475a116cca97,foobar\n```\n\n", + "description": "Provides a DigitalOcean database resource. When creating a new database cluster, a default database with name `defaultdb` will be created. Then, this resource can be used to provide additional database inside the cluster.\n\n## Example Usage\n\n### Create a new PostgreSQL database\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst database_example = new digitalocean.DatabaseDb(\"database-example\", {clusterId: postgres_example.id});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\ndatabase_example = digitalocean.DatabaseDb(\"database-example\", cluster_id=postgres_example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var database_example = new DigitalOcean.DatabaseDb(\"database-example\", new()\n {\n ClusterId = postgres_example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseDb(ctx, \"database-example\", \u0026digitalocean.DatabaseDbArgs{\n\t\t\tClusterId: postgres_example.ID(),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseDb;\nimport com.pulumi.digitalocean.DatabaseDbArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var database_example = new DatabaseDb(\"database-example\", DatabaseDbArgs.builder() \n .clusterId(postgres_example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n database-example:\n type: digitalocean:DatabaseDb\n properties:\n clusterId: ${[\"postgres-example\"].id}\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase can be imported using the `id` of the source database cluster\n\nand the `name` of the database joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseDb:DatabaseDb database-example 245bcfd0-7f31-4ce6-a2bc-475a116cca97,foobar\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -8663,7 +8663,7 @@ } }, "digitalocean:index/databaseFirewall:DatabaseFirewall": { - "description": "Provides a DigitalOcean database firewall resource allowing you to restrict\nconnections to your database to trusted sources. You may limit connections to\nspecific Droplets, Kubernetes clusters, or IP addresses.\n\n## Example Usage\n\n### Create a new database firewall allowing multiple IP addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst example_fw = new digitalocean.DatabaseFirewall(\"example-fw\", {\n clusterId: postgres_example.id,\n rules: [\n {\n type: \"ip_addr\",\n value: \"192.168.1.1\",\n },\n {\n type: \"ip_addr\",\n value: \"192.0.2.0\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\nexample_fw = digitalocean.DatabaseFirewall(\"example-fw\",\n cluster_id=postgres_example.id,\n rules=[\n digitalocean.DatabaseFirewallRuleArgs(\n type=\"ip_addr\",\n value=\"192.168.1.1\",\n ),\n digitalocean.DatabaseFirewallRuleArgs(\n type=\"ip_addr\",\n value=\"192.0.2.0\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var example_fw = new DigitalOcean.DatabaseFirewall(\"example-fw\", new()\n {\n ClusterId = postgres_example.Id,\n Rules = new[]\n {\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"ip_addr\",\n Value = \"192.168.1.1\",\n },\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"ip_addr\",\n Value = \"192.0.2.0\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseFirewall(ctx, \"example-fw\", \u0026digitalocean.DatabaseFirewallArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tRules: digitalocean.DatabaseFirewallRuleArray{\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_addr\"),\n\t\t\t\t\tValue: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_addr\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.2.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseFirewall;\nimport com.pulumi.digitalocean.DatabaseFirewallArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var example_fw = new DatabaseFirewall(\"example-fw\", DatabaseFirewallArgs.builder() \n .clusterId(postgres_example.id())\n .rules( \n DatabaseFirewallRuleArgs.builder()\n .type(\"ip_addr\")\n .value(\"192.168.1.1\")\n .build(),\n DatabaseFirewallRuleArgs.builder()\n .type(\"ip_addr\")\n .value(\"192.0.2.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-fw:\n type: digitalocean:DatabaseFirewall\n properties:\n clusterId: ${[\"postgres-example\"].id}\n rules:\n - type: ip_addr\n value: 192.168.1.1\n - type: ip_addr\n value: 192.0.2.0\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new database firewall allowing a Droplet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web = new digitalocean.Droplet(\"web\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-22-04-x64\",\n region: \"nyc3\",\n});\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst example_fw = new digitalocean.DatabaseFirewall(\"example-fw\", {\n clusterId: postgres_example.id,\n rules: [{\n type: \"droplet\",\n value: web.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb = digitalocean.Droplet(\"web\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-22-04-x64\",\n region=\"nyc3\")\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\nexample_fw = digitalocean.DatabaseFirewall(\"example-fw\",\n cluster_id=postgres_example.id,\n rules=[digitalocean.DatabaseFirewallRuleArgs(\n type=\"droplet\",\n value=web.id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-22-04-x64\",\n Region = \"nyc3\",\n });\n\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var example_fw = new DigitalOcean.DatabaseFirewall(\"example-fw\", new()\n {\n ClusterId = postgres_example.Id,\n Rules = new[]\n {\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"droplet\",\n Value = web.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseFirewall(ctx, \"example-fw\", \u0026digitalocean.DatabaseFirewallArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tRules: digitalocean.DatabaseFirewallRuleArray{\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"droplet\"),\n\t\t\t\t\tValue: web.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseFirewall;\nimport com.pulumi.digitalocean.DatabaseFirewallArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs;\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 web = new Droplet(\"web\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var example_fw = new DatabaseFirewall(\"example-fw\", DatabaseFirewallArgs.builder() \n .clusterId(postgres_example.id())\n .rules(DatabaseFirewallRuleArgs.builder()\n .type(\"droplet\")\n .value(web.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-fw:\n type: digitalocean:DatabaseFirewall\n properties:\n clusterId: ${[\"postgres-example\"].id}\n rules:\n - type: droplet\n value: ${web.id}\n web:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new database firewall for a database replica\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst replica_example = new digitalocean.DatabaseReplica(\"replica-example\", {\n clusterId: postgres_example.id,\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n});\n// Create firewall rule for database replica\nconst example_fw = new digitalocean.DatabaseFirewall(\"example-fw\", {\n clusterId: replica_example.uuid,\n rules: [{\n type: \"ip_addr\",\n value: \"192.168.1.1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\nreplica_example = digitalocean.DatabaseReplica(\"replica-example\",\n cluster_id=postgres_example.id,\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\")\n# Create firewall rule for database replica\nexample_fw = digitalocean.DatabaseFirewall(\"example-fw\",\n cluster_id=replica_example.uuid,\n rules=[digitalocean.DatabaseFirewallRuleArgs(\n type=\"ip_addr\",\n value=\"192.168.1.1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var replica_example = new DigitalOcean.DatabaseReplica(\"replica-example\", new()\n {\n ClusterId = postgres_example.Id,\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n });\n\n // Create firewall rule for database replica\n var example_fw = new DigitalOcean.DatabaseFirewall(\"example-fw\", new()\n {\n ClusterId = replica_example.Uuid,\n Rules = new[]\n {\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"ip_addr\",\n Value = \"192.168.1.1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseReplica(ctx, \"replica-example\", \u0026digitalocean.DatabaseReplicaArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create firewall rule for database replica\n\t\t_, err = digitalocean.NewDatabaseFirewall(ctx, \"example-fw\", \u0026digitalocean.DatabaseFirewallArgs{\n\t\t\tClusterId: replica_example.Uuid,\n\t\t\tRules: digitalocean.DatabaseFirewallRuleArray{\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_addr\"),\n\t\t\t\t\tValue: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseReplica;\nimport com.pulumi.digitalocean.DatabaseReplicaArgs;\nimport com.pulumi.digitalocean.DatabaseFirewall;\nimport com.pulumi.digitalocean.DatabaseFirewallArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var replica_example = new DatabaseReplica(\"replica-example\", DatabaseReplicaArgs.builder() \n .clusterId(postgres_example.id())\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .build());\n\n var example_fw = new DatabaseFirewall(\"example-fw\", DatabaseFirewallArgs.builder() \n .clusterId(replica_example.uuid())\n .rules(DatabaseFirewallRuleArgs.builder()\n .type(\"ip_addr\")\n .value(\"192.168.1.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n replica-example:\n type: digitalocean:DatabaseReplica\n properties:\n clusterId: ${[\"postgres-example\"].id}\n size: db-s-1vcpu-1gb\n region: nyc1\n # Create firewall rule for database replica\n example-fw:\n type: digitalocean:DatabaseFirewall\n properties:\n clusterId: ${[\"replica-example\"].uuid}\n rules:\n - type: ip_addr\n value: 192.168.1.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase firewalls can be imported using the `id` of the target database cluster\n\nFor example:\n\n```sh\n$ pulumi import digitalocean:index/databaseFirewall:DatabaseFirewall example-fw 5f55c6cd-863b-4907-99b8-7e09b0275d54\n```\n\n", + "description": "Provides a DigitalOcean database firewall resource allowing you to restrict\nconnections to your database to trusted sources. You may limit connections to\nspecific Droplets, Kubernetes clusters, or IP addresses.\n\n## Example Usage\n\n### Create a new database firewall allowing multiple IP addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst example_fw = new digitalocean.DatabaseFirewall(\"example-fw\", {\n clusterId: postgres_example.id,\n rules: [\n {\n type: \"ip_addr\",\n value: \"192.168.1.1\",\n },\n {\n type: \"ip_addr\",\n value: \"192.0.2.0\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\nexample_fw = digitalocean.DatabaseFirewall(\"example-fw\",\n cluster_id=postgres_example.id,\n rules=[\n digitalocean.DatabaseFirewallRuleArgs(\n type=\"ip_addr\",\n value=\"192.168.1.1\",\n ),\n digitalocean.DatabaseFirewallRuleArgs(\n type=\"ip_addr\",\n value=\"192.0.2.0\",\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var example_fw = new DigitalOcean.DatabaseFirewall(\"example-fw\", new()\n {\n ClusterId = postgres_example.Id,\n Rules = new[]\n {\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"ip_addr\",\n Value = \"192.168.1.1\",\n },\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"ip_addr\",\n Value = \"192.0.2.0\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseFirewall(ctx, \"example-fw\", \u0026digitalocean.DatabaseFirewallArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tRules: digitalocean.DatabaseFirewallRuleArray{\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_addr\"),\n\t\t\t\t\tValue: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_addr\"),\n\t\t\t\t\tValue: pulumi.String(\"192.0.2.0\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseFirewall;\nimport com.pulumi.digitalocean.DatabaseFirewallArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var example_fw = new DatabaseFirewall(\"example-fw\", DatabaseFirewallArgs.builder() \n .clusterId(postgres_example.id())\n .rules( \n DatabaseFirewallRuleArgs.builder()\n .type(\"ip_addr\")\n .value(\"192.168.1.1\")\n .build(),\n DatabaseFirewallRuleArgs.builder()\n .type(\"ip_addr\")\n .value(\"192.0.2.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-fw:\n type: digitalocean:DatabaseFirewall\n properties:\n clusterId: ${[\"postgres-example\"].id}\n rules:\n - type: ip_addr\n value: 192.168.1.1\n - type: ip_addr\n value: 192.0.2.0\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new database firewall allowing a Droplet\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web = new digitalocean.Droplet(\"web\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-22-04-x64\",\n region: digitalocean.Region.NYC3,\n});\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst example_fw = new digitalocean.DatabaseFirewall(\"example-fw\", {\n clusterId: postgres_example.id,\n rules: [{\n type: \"droplet\",\n value: web.id,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb = digitalocean.Droplet(\"web\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-22-04-x64\",\n region=digitalocean.Region.NYC3)\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\nexample_fw = digitalocean.DatabaseFirewall(\"example-fw\",\n cluster_id=postgres_example.id,\n rules=[digitalocean.DatabaseFirewallRuleArgs(\n type=\"droplet\",\n value=web.id,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-22-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n });\n\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var example_fw = new DigitalOcean.DatabaseFirewall(\"example-fw\", new()\n {\n ClusterId = postgres_example.Id,\n Rules = new[]\n {\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"droplet\",\n Value = web.Id,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseFirewall(ctx, \"example-fw\", \u0026digitalocean.DatabaseFirewallArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tRules: digitalocean.DatabaseFirewallRuleArray{\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"droplet\"),\n\t\t\t\t\tValue: web.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseFirewall;\nimport com.pulumi.digitalocean.DatabaseFirewallArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs;\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 web = new Droplet(\"web\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var example_fw = new DatabaseFirewall(\"example-fw\", DatabaseFirewallArgs.builder() \n .clusterId(postgres_example.id())\n .rules(DatabaseFirewallRuleArgs.builder()\n .type(\"droplet\")\n .value(web.id())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-fw:\n type: digitalocean:DatabaseFirewall\n properties:\n clusterId: ${[\"postgres-example\"].id}\n rules:\n - type: droplet\n value: ${web.id}\n web:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new database firewall for a database replica\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst replica_example = new digitalocean.DatabaseReplica(\"replica-example\", {\n clusterId: postgres_example.id,\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n});\n// Create firewall rule for database replica\nconst example_fw = new digitalocean.DatabaseFirewall(\"example-fw\", {\n clusterId: replica_example.uuid,\n rules: [{\n type: \"ip_addr\",\n value: \"192.168.1.1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\nreplica_example = digitalocean.DatabaseReplica(\"replica-example\",\n cluster_id=postgres_example.id,\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1)\n# Create firewall rule for database replica\nexample_fw = digitalocean.DatabaseFirewall(\"example-fw\",\n cluster_id=replica_example.uuid,\n rules=[digitalocean.DatabaseFirewallRuleArgs(\n type=\"ip_addr\",\n value=\"192.168.1.1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var replica_example = new DigitalOcean.DatabaseReplica(\"replica-example\", new()\n {\n ClusterId = postgres_example.Id,\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n });\n\n // Create firewall rule for database replica\n var example_fw = new DigitalOcean.DatabaseFirewall(\"example-fw\", new()\n {\n ClusterId = replica_example.Uuid,\n Rules = new[]\n {\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"ip_addr\",\n Value = \"192.168.1.1\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseReplica(ctx, \"replica-example\", \u0026digitalocean.DatabaseReplicaArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create firewall rule for database replica\n\t\t_, err = digitalocean.NewDatabaseFirewall(ctx, \"example-fw\", \u0026digitalocean.DatabaseFirewallArgs{\n\t\t\tClusterId: replica_example.Uuid,\n\t\t\tRules: digitalocean.DatabaseFirewallRuleArray{\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_addr\"),\n\t\t\t\t\tValue: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseReplica;\nimport com.pulumi.digitalocean.DatabaseReplicaArgs;\nimport com.pulumi.digitalocean.DatabaseFirewall;\nimport com.pulumi.digitalocean.DatabaseFirewallArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var replica_example = new DatabaseReplica(\"replica-example\", DatabaseReplicaArgs.builder() \n .clusterId(postgres_example.id())\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .build());\n\n var example_fw = new DatabaseFirewall(\"example-fw\", DatabaseFirewallArgs.builder() \n .clusterId(replica_example.uuid())\n .rules(DatabaseFirewallRuleArgs.builder()\n .type(\"ip_addr\")\n .value(\"192.168.1.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n replica-example:\n type: digitalocean:DatabaseReplica\n properties:\n clusterId: ${[\"postgres-example\"].id}\n size: db-s-1vcpu-1gb\n region: nyc1\n # Create firewall rule for database replica\n example-fw:\n type: digitalocean:DatabaseFirewall\n properties:\n clusterId: ${[\"replica-example\"].uuid}\n rules:\n - type: ip_addr\n value: 192.168.1.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase firewalls can be imported using the `id` of the target database cluster\n\nFor example:\n\n```sh\n$ pulumi import digitalocean:index/databaseFirewall:DatabaseFirewall example-fw 5f55c6cd-863b-4907-99b8-7e09b0275d54\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -8719,7 +8719,7 @@ } }, "digitalocean:index/databaseKafkaTopic:DatabaseKafkaTopic": { - "description": "Provides a DigitalOcean Kafka topic for Kafka clusters.\n\n## Example Usage\n\n### Create a new Kafka topic\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst kafka_example = new digitalocean.DatabaseCluster(\"kafka-example\", {\n engine: \"kafka\",\n version: \"3.5\",\n size: \"db-s-2vcpu-2gb\",\n region: \"nyc1\",\n nodeCount: 3,\n tags: [\"production\"],\n});\nconst topic_01 = new digitalocean.DatabaseKafkaTopic(\"topic-01\", {\n clusterId: kafka_example.id,\n partitionCount: 3,\n replicationFactor: 2,\n configs: [{\n cleanupPolicy: \"compact\",\n compressionType: \"uncompressed\",\n deleteRetentionMs: \"14000\",\n fileDeleteDelayMs: \"170000\",\n flushMessages: \"92233\",\n flushMs: \"92233720368\",\n indexIntervalBytes: \"40962\",\n maxCompactionLagMs: \"9223372036854775807\",\n maxMessageBytes: \"1048588\",\n messageDownConversionEnable: true,\n messageFormatVersion: \"3.0-IV1\",\n messageTimestampDifferenceMaxMs: \"9223372036854775807\",\n messageTimestampType: \"log_append_time\",\n minCleanableDirtyRatio: 0.5,\n minCompactionLagMs: \"20000\",\n minInsyncReplicas: 2,\n preallocate: false,\n retentionBytes: \"-1\",\n retentionMs: \"-1\",\n segmentBytes: \"209715200\",\n segmentIndexBytes: \"10485760\",\n segmentJitterMs: \"0\",\n segmentMs: \"604800000\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nkafka_example = digitalocean.DatabaseCluster(\"kafka-example\",\n engine=\"kafka\",\n version=\"3.5\",\n size=\"db-s-2vcpu-2gb\",\n region=\"nyc1\",\n node_count=3,\n tags=[\"production\"])\ntopic_01 = digitalocean.DatabaseKafkaTopic(\"topic-01\",\n cluster_id=kafka_example.id,\n partition_count=3,\n replication_factor=2,\n configs=[digitalocean.DatabaseKafkaTopicConfigArgs(\n cleanup_policy=\"compact\",\n compression_type=\"uncompressed\",\n delete_retention_ms=\"14000\",\n file_delete_delay_ms=\"170000\",\n flush_messages=\"92233\",\n flush_ms=\"92233720368\",\n index_interval_bytes=\"40962\",\n max_compaction_lag_ms=\"9223372036854775807\",\n max_message_bytes=\"1048588\",\n message_down_conversion_enable=True,\n message_format_version=\"3.0-IV1\",\n message_timestamp_difference_max_ms=\"9223372036854775807\",\n message_timestamp_type=\"log_append_time\",\n min_cleanable_dirty_ratio=0.5,\n min_compaction_lag_ms=\"20000\",\n min_insync_replicas=2,\n preallocate=False,\n retention_bytes=\"-1\",\n retention_ms=\"-1\",\n segment_bytes=\"209715200\",\n segment_index_bytes=\"10485760\",\n segment_jitter_ms=\"0\",\n segment_ms=\"604800000\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kafka_example = new DigitalOcean.DatabaseCluster(\"kafka-example\", new()\n {\n Engine = \"kafka\",\n Version = \"3.5\",\n Size = \"db-s-2vcpu-2gb\",\n Region = \"nyc1\",\n NodeCount = 3,\n Tags = new[]\n {\n \"production\",\n },\n });\n\n var topic_01 = new DigitalOcean.DatabaseKafkaTopic(\"topic-01\", new()\n {\n ClusterId = kafka_example.Id,\n PartitionCount = 3,\n ReplicationFactor = 2,\n Configs = new[]\n {\n new DigitalOcean.Inputs.DatabaseKafkaTopicConfigArgs\n {\n CleanupPolicy = \"compact\",\n CompressionType = \"uncompressed\",\n DeleteRetentionMs = \"14000\",\n FileDeleteDelayMs = \"170000\",\n FlushMessages = \"92233\",\n FlushMs = \"92233720368\",\n IndexIntervalBytes = \"40962\",\n MaxCompactionLagMs = \"9223372036854775807\",\n MaxMessageBytes = \"1048588\",\n MessageDownConversionEnable = true,\n MessageFormatVersion = \"3.0-IV1\",\n MessageTimestampDifferenceMaxMs = \"9223372036854775807\",\n MessageTimestampType = \"log_append_time\",\n MinCleanableDirtyRatio = 0.5,\n MinCompactionLagMs = \"20000\",\n MinInsyncReplicas = 2,\n Preallocate = false,\n RetentionBytes = \"-1\",\n RetentionMs = \"-1\",\n SegmentBytes = \"209715200\",\n SegmentIndexBytes = \"10485760\",\n SegmentJitterMs = \"0\",\n SegmentMs = \"604800000\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"kafka-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"kafka\"),\n\t\t\tVersion: pulumi.String(\"3.5\"),\n\t\t\tSize: pulumi.String(\"db-s-2vcpu-2gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(3),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseKafkaTopic(ctx, \"topic-01\", \u0026digitalocean.DatabaseKafkaTopicArgs{\n\t\t\tClusterId: kafka_example.ID(),\n\t\t\tPartitionCount: pulumi.Int(3),\n\t\t\tReplicationFactor: pulumi.Int(2),\n\t\t\tConfigs: digitalocean.DatabaseKafkaTopicConfigArray{\n\t\t\t\t\u0026digitalocean.DatabaseKafkaTopicConfigArgs{\n\t\t\t\t\tCleanupPolicy: pulumi.String(\"compact\"),\n\t\t\t\t\tCompressionType: pulumi.String(\"uncompressed\"),\n\t\t\t\t\tDeleteRetentionMs: pulumi.String(\"14000\"),\n\t\t\t\t\tFileDeleteDelayMs: pulumi.String(\"170000\"),\n\t\t\t\t\tFlushMessages: pulumi.String(\"92233\"),\n\t\t\t\t\tFlushMs: pulumi.String(\"92233720368\"),\n\t\t\t\t\tIndexIntervalBytes: pulumi.String(\"40962\"),\n\t\t\t\t\tMaxCompactionLagMs: pulumi.String(\"9223372036854775807\"),\n\t\t\t\t\tMaxMessageBytes: pulumi.String(\"1048588\"),\n\t\t\t\t\tMessageDownConversionEnable: pulumi.Bool(true),\n\t\t\t\t\tMessageFormatVersion: pulumi.String(\"3.0-IV1\"),\n\t\t\t\t\tMessageTimestampDifferenceMaxMs: pulumi.String(\"9223372036854775807\"),\n\t\t\t\t\tMessageTimestampType: pulumi.String(\"log_append_time\"),\n\t\t\t\t\tMinCleanableDirtyRatio: pulumi.Float64(0.5),\n\t\t\t\t\tMinCompactionLagMs: pulumi.String(\"20000\"),\n\t\t\t\t\tMinInsyncReplicas: pulumi.Int(2),\n\t\t\t\t\tPreallocate: pulumi.Bool(false),\n\t\t\t\t\tRetentionBytes: pulumi.String(\"-1\"),\n\t\t\t\t\tRetentionMs: pulumi.String(\"-1\"),\n\t\t\t\t\tSegmentBytes: pulumi.String(\"209715200\"),\n\t\t\t\t\tSegmentIndexBytes: pulumi.String(\"10485760\"),\n\t\t\t\t\tSegmentJitterMs: pulumi.String(\"0\"),\n\t\t\t\t\tSegmentMs: pulumi.String(\"604800000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTopics can be imported using the `id` of the source cluster and the `name` of the topic joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseKafkaTopic:DatabaseKafkaTopic topic-01 245bcfd0-7f31-4ce6-a2bc-475a116cca97,topic-01\n```\n\n", + "description": "Provides a DigitalOcean Kafka topic for Kafka clusters.\n\n## Example Usage\n\n### Create a new Kafka topic\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst kafka_example = new digitalocean.DatabaseCluster(\"kafka-example\", {\n engine: \"kafka\",\n version: \"3.5\",\n size: \"db-s-2vcpu-2gb\",\n region: digitalocean.Region.NYC1,\n nodeCount: 3,\n tags: [\"production\"],\n});\nconst topic_01 = new digitalocean.DatabaseKafkaTopic(\"topic-01\", {\n clusterId: kafka_example.id,\n partitionCount: 3,\n replicationFactor: 2,\n configs: [{\n cleanupPolicy: \"compact\",\n compressionType: \"uncompressed\",\n deleteRetentionMs: \"14000\",\n fileDeleteDelayMs: \"170000\",\n flushMessages: \"92233\",\n flushMs: \"92233720368\",\n indexIntervalBytes: \"40962\",\n maxCompactionLagMs: \"9223372036854775807\",\n maxMessageBytes: \"1048588\",\n messageDownConversionEnable: true,\n messageFormatVersion: \"3.0-IV1\",\n messageTimestampDifferenceMaxMs: \"9223372036854775807\",\n messageTimestampType: \"log_append_time\",\n minCleanableDirtyRatio: 0.5,\n minCompactionLagMs: \"20000\",\n minInsyncReplicas: 2,\n preallocate: false,\n retentionBytes: \"-1\",\n retentionMs: \"-1\",\n segmentBytes: \"209715200\",\n segmentIndexBytes: \"10485760\",\n segmentJitterMs: \"0\",\n segmentMs: \"604800000\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nkafka_example = digitalocean.DatabaseCluster(\"kafka-example\",\n engine=\"kafka\",\n version=\"3.5\",\n size=\"db-s-2vcpu-2gb\",\n region=digitalocean.Region.NYC1,\n node_count=3,\n tags=[\"production\"])\ntopic_01 = digitalocean.DatabaseKafkaTopic(\"topic-01\",\n cluster_id=kafka_example.id,\n partition_count=3,\n replication_factor=2,\n configs=[digitalocean.DatabaseKafkaTopicConfigArgs(\n cleanup_policy=\"compact\",\n compression_type=\"uncompressed\",\n delete_retention_ms=\"14000\",\n file_delete_delay_ms=\"170000\",\n flush_messages=\"92233\",\n flush_ms=\"92233720368\",\n index_interval_bytes=\"40962\",\n max_compaction_lag_ms=\"9223372036854775807\",\n max_message_bytes=\"1048588\",\n message_down_conversion_enable=True,\n message_format_version=\"3.0-IV1\",\n message_timestamp_difference_max_ms=\"9223372036854775807\",\n message_timestamp_type=\"log_append_time\",\n min_cleanable_dirty_ratio=0.5,\n min_compaction_lag_ms=\"20000\",\n min_insync_replicas=2,\n preallocate=False,\n retention_bytes=\"-1\",\n retention_ms=\"-1\",\n segment_bytes=\"209715200\",\n segment_index_bytes=\"10485760\",\n segment_jitter_ms=\"0\",\n segment_ms=\"604800000\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kafka_example = new DigitalOcean.DatabaseCluster(\"kafka-example\", new()\n {\n Engine = \"kafka\",\n Version = \"3.5\",\n Size = \"db-s-2vcpu-2gb\",\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 3,\n Tags = new[]\n {\n \"production\",\n },\n });\n\n var topic_01 = new DigitalOcean.DatabaseKafkaTopic(\"topic-01\", new()\n {\n ClusterId = kafka_example.Id,\n PartitionCount = 3,\n ReplicationFactor = 2,\n Configs = new[]\n {\n new DigitalOcean.Inputs.DatabaseKafkaTopicConfigArgs\n {\n CleanupPolicy = \"compact\",\n CompressionType = \"uncompressed\",\n DeleteRetentionMs = \"14000\",\n FileDeleteDelayMs = \"170000\",\n FlushMessages = \"92233\",\n FlushMs = \"92233720368\",\n IndexIntervalBytes = \"40962\",\n MaxCompactionLagMs = \"9223372036854775807\",\n MaxMessageBytes = \"1048588\",\n MessageDownConversionEnable = true,\n MessageFormatVersion = \"3.0-IV1\",\n MessageTimestampDifferenceMaxMs = \"9223372036854775807\",\n MessageTimestampType = \"log_append_time\",\n MinCleanableDirtyRatio = 0.5,\n MinCompactionLagMs = \"20000\",\n MinInsyncReplicas = 2,\n Preallocate = false,\n RetentionBytes = \"-1\",\n RetentionMs = \"-1\",\n SegmentBytes = \"209715200\",\n SegmentIndexBytes = \"10485760\",\n SegmentJitterMs = \"0\",\n SegmentMs = \"604800000\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"kafka-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"kafka\"),\n\t\t\tVersion: pulumi.String(\"3.5\"),\n\t\t\tSize: pulumi.String(\"db-s-2vcpu-2gb\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(3),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseKafkaTopic(ctx, \"topic-01\", \u0026digitalocean.DatabaseKafkaTopicArgs{\n\t\t\tClusterId: kafka_example.ID(),\n\t\t\tPartitionCount: pulumi.Int(3),\n\t\t\tReplicationFactor: pulumi.Int(2),\n\t\t\tConfigs: digitalocean.DatabaseKafkaTopicConfigArray{\n\t\t\t\t\u0026digitalocean.DatabaseKafkaTopicConfigArgs{\n\t\t\t\t\tCleanupPolicy: pulumi.String(\"compact\"),\n\t\t\t\t\tCompressionType: pulumi.String(\"uncompressed\"),\n\t\t\t\t\tDeleteRetentionMs: pulumi.String(\"14000\"),\n\t\t\t\t\tFileDeleteDelayMs: pulumi.String(\"170000\"),\n\t\t\t\t\tFlushMessages: pulumi.String(\"92233\"),\n\t\t\t\t\tFlushMs: pulumi.String(\"92233720368\"),\n\t\t\t\t\tIndexIntervalBytes: pulumi.String(\"40962\"),\n\t\t\t\t\tMaxCompactionLagMs: pulumi.String(\"9223372036854775807\"),\n\t\t\t\t\tMaxMessageBytes: pulumi.String(\"1048588\"),\n\t\t\t\t\tMessageDownConversionEnable: pulumi.Bool(true),\n\t\t\t\t\tMessageFormatVersion: pulumi.String(\"3.0-IV1\"),\n\t\t\t\t\tMessageTimestampDifferenceMaxMs: pulumi.String(\"9223372036854775807\"),\n\t\t\t\t\tMessageTimestampType: pulumi.String(\"log_append_time\"),\n\t\t\t\t\tMinCleanableDirtyRatio: pulumi.Float64(0.5),\n\t\t\t\t\tMinCompactionLagMs: pulumi.String(\"20000\"),\n\t\t\t\t\tMinInsyncReplicas: pulumi.Int(2),\n\t\t\t\t\tPreallocate: pulumi.Bool(false),\n\t\t\t\t\tRetentionBytes: pulumi.String(\"-1\"),\n\t\t\t\t\tRetentionMs: pulumi.String(\"-1\"),\n\t\t\t\t\tSegmentBytes: pulumi.String(\"209715200\"),\n\t\t\t\t\tSegmentIndexBytes: pulumi.String(\"10485760\"),\n\t\t\t\t\tSegmentJitterMs: pulumi.String(\"0\"),\n\t\t\t\t\tSegmentMs: pulumi.String(\"604800000\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTopics can be imported using the `id` of the source cluster and the `name` of the topic joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseKafkaTopic:DatabaseKafkaTopic topic-01 245bcfd0-7f31-4ce6-a2bc-475a116cca97,topic-01\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -8822,7 +8822,7 @@ } }, "digitalocean:index/databaseMysqlConfig:DatabaseMysqlConfig": { - "description": "Provides a virtual resource that can be used to change advanced configuration\noptions for a DigitalOcean managed MySQL database cluster.\n\n\u003e **Note** MySQL configurations are only removed from state when destroyed. The remote configuration is not unset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleDatabaseCluster = new digitalocean.DatabaseCluster(\"exampleDatabaseCluster\", {\n engine: \"mysql\",\n version: \"8\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst exampleDatabaseMysqlConfig = new digitalocean.DatabaseMysqlConfig(\"exampleDatabaseMysqlConfig\", {\n clusterId: exampleDatabaseCluster.id,\n connectTimeout: 10,\n defaultTimeZone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_database_cluster = digitalocean.DatabaseCluster(\"exampleDatabaseCluster\",\n engine=\"mysql\",\n version=\"8\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\nexample_database_mysql_config = digitalocean.DatabaseMysqlConfig(\"exampleDatabaseMysqlConfig\",\n cluster_id=example_database_cluster.id,\n connect_timeout=10,\n default_time_zone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDatabaseCluster = new DigitalOcean.DatabaseCluster(\"exampleDatabaseCluster\", new()\n {\n Engine = \"mysql\",\n Version = \"8\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var exampleDatabaseMysqlConfig = new DigitalOcean.DatabaseMysqlConfig(\"exampleDatabaseMysqlConfig\", new()\n {\n ClusterId = exampleDatabaseCluster.Id,\n ConnectTimeout = 10,\n DefaultTimeZone = \"UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDatabaseCluster, err := digitalocean.NewDatabaseCluster(ctx, \"exampleDatabaseCluster\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tVersion: pulumi.String(\"8\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseMysqlConfig(ctx, \"exampleDatabaseMysqlConfig\", \u0026digitalocean.DatabaseMysqlConfigArgs{\n\t\t\tClusterId: exampleDatabaseCluster.ID(),\n\t\t\tConnectTimeout: pulumi.Int(10),\n\t\t\tDefaultTimeZone: pulumi.String(\"UTC\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseMysqlConfig;\nimport com.pulumi.digitalocean.DatabaseMysqlConfigArgs;\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 exampleDatabaseCluster = new DatabaseCluster(\"exampleDatabaseCluster\", DatabaseClusterArgs.builder() \n .engine(\"mysql\")\n .version(\"8\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var exampleDatabaseMysqlConfig = new DatabaseMysqlConfig(\"exampleDatabaseMysqlConfig\", DatabaseMysqlConfigArgs.builder() \n .clusterId(exampleDatabaseCluster.id())\n .connectTimeout(10)\n .defaultTimeZone(\"UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDatabaseMysqlConfig:\n type: digitalocean:DatabaseMysqlConfig\n properties:\n clusterId: ${exampleDatabaseCluster.id}\n connectTimeout: 10\n defaultTimeZone: UTC\n exampleDatabaseCluster:\n type: digitalocean:DatabaseCluster\n properties:\n engine: mysql\n version: '8'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA MySQL database cluster's configuration can be imported using the `id` the parent cluster, e.g.\n\n```sh\n$ pulumi import digitalocean:index/databaseMysqlConfig:DatabaseMysqlConfig example 4b62829a-9c42-465b-aaa3-84051048e712\n```\n\n", + "description": "Provides a virtual resource that can be used to change advanced configuration\noptions for a DigitalOcean managed MySQL database cluster.\n\n\u003e **Note** MySQL configurations are only removed from state when destroyed. The remote configuration is not unset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleDatabaseCluster = new digitalocean.DatabaseCluster(\"exampleDatabaseCluster\", {\n engine: \"mysql\",\n version: \"8\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst exampleDatabaseMysqlConfig = new digitalocean.DatabaseMysqlConfig(\"exampleDatabaseMysqlConfig\", {\n clusterId: exampleDatabaseCluster.id,\n connectTimeout: 10,\n defaultTimeZone: \"UTC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_database_cluster = digitalocean.DatabaseCluster(\"exampleDatabaseCluster\",\n engine=\"mysql\",\n version=\"8\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\nexample_database_mysql_config = digitalocean.DatabaseMysqlConfig(\"exampleDatabaseMysqlConfig\",\n cluster_id=example_database_cluster.id,\n connect_timeout=10,\n default_time_zone=\"UTC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDatabaseCluster = new DigitalOcean.DatabaseCluster(\"exampleDatabaseCluster\", new()\n {\n Engine = \"mysql\",\n Version = \"8\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var exampleDatabaseMysqlConfig = new DigitalOcean.DatabaseMysqlConfig(\"exampleDatabaseMysqlConfig\", new()\n {\n ClusterId = exampleDatabaseCluster.Id,\n ConnectTimeout = 10,\n DefaultTimeZone = \"UTC\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDatabaseCluster, err := digitalocean.NewDatabaseCluster(ctx, \"exampleDatabaseCluster\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tVersion: pulumi.String(\"8\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseMysqlConfig(ctx, \"exampleDatabaseMysqlConfig\", \u0026digitalocean.DatabaseMysqlConfigArgs{\n\t\t\tClusterId: exampleDatabaseCluster.ID(),\n\t\t\tConnectTimeout: pulumi.Int(10),\n\t\t\tDefaultTimeZone: pulumi.String(\"UTC\"),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseMysqlConfig;\nimport com.pulumi.digitalocean.DatabaseMysqlConfigArgs;\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 exampleDatabaseCluster = new DatabaseCluster(\"exampleDatabaseCluster\", DatabaseClusterArgs.builder() \n .engine(\"mysql\")\n .version(\"8\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var exampleDatabaseMysqlConfig = new DatabaseMysqlConfig(\"exampleDatabaseMysqlConfig\", DatabaseMysqlConfigArgs.builder() \n .clusterId(exampleDatabaseCluster.id())\n .connectTimeout(10)\n .defaultTimeZone(\"UTC\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDatabaseMysqlConfig:\n type: digitalocean:DatabaseMysqlConfig\n properties:\n clusterId: ${exampleDatabaseCluster.id}\n connectTimeout: 10\n defaultTimeZone: UTC\n exampleDatabaseCluster:\n type: digitalocean:DatabaseCluster\n properties:\n engine: mysql\n version: '8'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA MySQL database cluster's configuration can be imported using the `id` the parent cluster, e.g.\n\n```sh\n$ pulumi import digitalocean:index/databaseMysqlConfig:DatabaseMysqlConfig example 4b62829a-9c42-465b-aaa3-84051048e712\n```\n\n", "properties": { "backupHour": { "type": "integer", @@ -9206,7 +9206,7 @@ } }, "digitalocean:index/databaseRedisConfig:DatabaseRedisConfig": { - "description": "Provides a virtual resource that can be used to change advanced configuration\noptions for a DigitalOcean managed Redis database cluster.\n\n\u003e **Note** Redis configurations are only removed from state when destroyed. The remote configuration is not unset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleDatabaseCluster = new digitalocean.DatabaseCluster(\"exampleDatabaseCluster\", {\n engine: \"redis\",\n version: \"7\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst exampleDatabaseRedisConfig = new digitalocean.DatabaseRedisConfig(\"exampleDatabaseRedisConfig\", {\n clusterId: exampleDatabaseCluster.id,\n maxmemoryPolicy: \"allkeys-lru\",\n notifyKeyspaceEvents: \"KEA\",\n timeout: 90,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_database_cluster = digitalocean.DatabaseCluster(\"exampleDatabaseCluster\",\n engine=\"redis\",\n version=\"7\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\nexample_database_redis_config = digitalocean.DatabaseRedisConfig(\"exampleDatabaseRedisConfig\",\n cluster_id=example_database_cluster.id,\n maxmemory_policy=\"allkeys-lru\",\n notify_keyspace_events=\"KEA\",\n timeout=90)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDatabaseCluster = new DigitalOcean.DatabaseCluster(\"exampleDatabaseCluster\", new()\n {\n Engine = \"redis\",\n Version = \"7\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var exampleDatabaseRedisConfig = new DigitalOcean.DatabaseRedisConfig(\"exampleDatabaseRedisConfig\", new()\n {\n ClusterId = exampleDatabaseCluster.Id,\n MaxmemoryPolicy = \"allkeys-lru\",\n NotifyKeyspaceEvents = \"KEA\",\n Timeout = 90,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDatabaseCluster, err := digitalocean.NewDatabaseCluster(ctx, \"exampleDatabaseCluster\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tVersion: pulumi.String(\"7\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseRedisConfig(ctx, \"exampleDatabaseRedisConfig\", \u0026digitalocean.DatabaseRedisConfigArgs{\n\t\t\tClusterId: exampleDatabaseCluster.ID(),\n\t\t\tMaxmemoryPolicy: pulumi.String(\"allkeys-lru\"),\n\t\t\tNotifyKeyspaceEvents: pulumi.String(\"KEA\"),\n\t\t\tTimeout: pulumi.Int(90),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseRedisConfig;\nimport com.pulumi.digitalocean.DatabaseRedisConfigArgs;\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 exampleDatabaseCluster = new DatabaseCluster(\"exampleDatabaseCluster\", DatabaseClusterArgs.builder() \n .engine(\"redis\")\n .version(\"7\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var exampleDatabaseRedisConfig = new DatabaseRedisConfig(\"exampleDatabaseRedisConfig\", DatabaseRedisConfigArgs.builder() \n .clusterId(exampleDatabaseCluster.id())\n .maxmemoryPolicy(\"allkeys-lru\")\n .notifyKeyspaceEvents(\"KEA\")\n .timeout(90)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDatabaseRedisConfig:\n type: digitalocean:DatabaseRedisConfig\n properties:\n clusterId: ${exampleDatabaseCluster.id}\n maxmemoryPolicy: allkeys-lru\n notifyKeyspaceEvents: KEA\n timeout: 90\n exampleDatabaseCluster:\n type: digitalocean:DatabaseCluster\n properties:\n engine: redis\n version: '7'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Redis database cluster's configuration can be imported using the `id` the parent cluster, e.g.\n\n```sh\n$ pulumi import digitalocean:index/databaseRedisConfig:DatabaseRedisConfig example 245bcfd0-7f31-4ce6-a2bc-475a116cca97\n```\n\n", + "description": "Provides a virtual resource that can be used to change advanced configuration\noptions for a DigitalOcean managed Redis database cluster.\n\n\u003e **Note** Redis configurations are only removed from state when destroyed. The remote configuration is not unset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleDatabaseCluster = new digitalocean.DatabaseCluster(\"exampleDatabaseCluster\", {\n engine: \"redis\",\n version: \"7\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst exampleDatabaseRedisConfig = new digitalocean.DatabaseRedisConfig(\"exampleDatabaseRedisConfig\", {\n clusterId: exampleDatabaseCluster.id,\n maxmemoryPolicy: \"allkeys-lru\",\n notifyKeyspaceEvents: \"KEA\",\n timeout: 90,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_database_cluster = digitalocean.DatabaseCluster(\"exampleDatabaseCluster\",\n engine=\"redis\",\n version=\"7\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\nexample_database_redis_config = digitalocean.DatabaseRedisConfig(\"exampleDatabaseRedisConfig\",\n cluster_id=example_database_cluster.id,\n maxmemory_policy=\"allkeys-lru\",\n notify_keyspace_events=\"KEA\",\n timeout=90)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDatabaseCluster = new DigitalOcean.DatabaseCluster(\"exampleDatabaseCluster\", new()\n {\n Engine = \"redis\",\n Version = \"7\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var exampleDatabaseRedisConfig = new DigitalOcean.DatabaseRedisConfig(\"exampleDatabaseRedisConfig\", new()\n {\n ClusterId = exampleDatabaseCluster.Id,\n MaxmemoryPolicy = \"allkeys-lru\",\n NotifyKeyspaceEvents = \"KEA\",\n Timeout = 90,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDatabaseCluster, err := digitalocean.NewDatabaseCluster(ctx, \"exampleDatabaseCluster\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"redis\"),\n\t\t\tVersion: pulumi.String(\"7\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseRedisConfig(ctx, \"exampleDatabaseRedisConfig\", \u0026digitalocean.DatabaseRedisConfigArgs{\n\t\t\tClusterId: exampleDatabaseCluster.ID(),\n\t\t\tMaxmemoryPolicy: pulumi.String(\"allkeys-lru\"),\n\t\t\tNotifyKeyspaceEvents: pulumi.String(\"KEA\"),\n\t\t\tTimeout: pulumi.Int(90),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseRedisConfig;\nimport com.pulumi.digitalocean.DatabaseRedisConfigArgs;\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 exampleDatabaseCluster = new DatabaseCluster(\"exampleDatabaseCluster\", DatabaseClusterArgs.builder() \n .engine(\"redis\")\n .version(\"7\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var exampleDatabaseRedisConfig = new DatabaseRedisConfig(\"exampleDatabaseRedisConfig\", DatabaseRedisConfigArgs.builder() \n .clusterId(exampleDatabaseCluster.id())\n .maxmemoryPolicy(\"allkeys-lru\")\n .notifyKeyspaceEvents(\"KEA\")\n .timeout(90)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDatabaseRedisConfig:\n type: digitalocean:DatabaseRedisConfig\n properties:\n clusterId: ${exampleDatabaseCluster.id}\n maxmemoryPolicy: allkeys-lru\n notifyKeyspaceEvents: KEA\n timeout: 90\n exampleDatabaseCluster:\n type: digitalocean:DatabaseCluster\n properties:\n engine: redis\n version: '7'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA Redis database cluster's configuration can be imported using the `id` the parent cluster, e.g.\n\n```sh\n$ pulumi import digitalocean:index/databaseRedisConfig:DatabaseRedisConfig example 245bcfd0-7f31-4ce6-a2bc-475a116cca97\n```\n\n", "properties": { "aclChannelsDefault": { "type": "string", @@ -9382,7 +9382,7 @@ } }, "digitalocean:index/databaseReplica:DatabaseReplica": { - "description": "Provides a DigitalOcean database replica resource.\n\n## Example Usage\n\n### Create a new PostgreSQL database replica\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst replica_example = new digitalocean.DatabaseReplica(\"replica-example\", {\n clusterId: postgres_example.id,\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n});\nexport const uUID = replica_example.uuid;\n// Create firewall rule for database replica\nconst example_fw = new digitalocean.DatabaseFirewall(\"example-fw\", {\n clusterId: replica_example.uuid,\n rules: [{\n type: \"ip_addr\",\n value: \"192.168.1.1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\nreplica_example = digitalocean.DatabaseReplica(\"replica-example\",\n cluster_id=postgres_example.id,\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\")\npulumi.export(\"uUID\", replica_example.uuid)\n# Create firewall rule for database replica\nexample_fw = digitalocean.DatabaseFirewall(\"example-fw\",\n cluster_id=replica_example.uuid,\n rules=[digitalocean.DatabaseFirewallRuleArgs(\n type=\"ip_addr\",\n value=\"192.168.1.1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var replica_example = new DigitalOcean.DatabaseReplica(\"replica-example\", new()\n {\n ClusterId = postgres_example.Id,\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n });\n\n // Create firewall rule for database replica\n var example_fw = new DigitalOcean.DatabaseFirewall(\"example-fw\", new()\n {\n ClusterId = replica_example.Uuid,\n Rules = new[]\n {\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"ip_addr\",\n Value = \"192.168.1.1\",\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"uUID\"] = replica_example.Uuid,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseReplica(ctx, \"replica-example\", \u0026digitalocean.DatabaseReplicaArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"uUID\", replica_example.Uuid)\n\t\t// Create firewall rule for database replica\n\t\t_, err = digitalocean.NewDatabaseFirewall(ctx, \"example-fw\", \u0026digitalocean.DatabaseFirewallArgs{\n\t\t\tClusterId: replica_example.Uuid,\n\t\t\tRules: digitalocean.DatabaseFirewallRuleArray{\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_addr\"),\n\t\t\t\t\tValue: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseReplica;\nimport com.pulumi.digitalocean.DatabaseReplicaArgs;\nimport com.pulumi.digitalocean.DatabaseFirewall;\nimport com.pulumi.digitalocean.DatabaseFirewallArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var replica_example = new DatabaseReplica(\"replica-example\", DatabaseReplicaArgs.builder() \n .clusterId(postgres_example.id())\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .build());\n\n ctx.export(\"uUID\", replica_example.uuid());\n var example_fw = new DatabaseFirewall(\"example-fw\", DatabaseFirewallArgs.builder() \n .clusterId(replica_example.uuid())\n .rules(DatabaseFirewallRuleArgs.builder()\n .type(\"ip_addr\")\n .value(\"192.168.1.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n replica-example:\n type: digitalocean:DatabaseReplica\n properties:\n clusterId: ${[\"postgres-example\"].id}\n size: db-s-1vcpu-1gb\n region: nyc1\n # Create firewall rule for database replica\n example-fw:\n type: digitalocean:DatabaseFirewall\n properties:\n clusterId: ${[\"replica-example\"].uuid}\n rules:\n - type: ip_addr\n value: 192.168.1.1\noutputs:\n uUID: ${[\"replica-example\"].uuid}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase replicas can be imported using the `id` of the source database cluster\n\nand the `name` of the replica joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseReplica:DatabaseReplica read-replica 245bcfd0-7f31-4ce6-a2bc-475a116cca97,read-replica\n```\n\n", + "description": "Provides a DigitalOcean database replica resource.\n\n## Example Usage\n\n### Create a new PostgreSQL database replica\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst replica_example = new digitalocean.DatabaseReplica(\"replica-example\", {\n clusterId: postgres_example.id,\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n});\nexport const uUID = replica_example.uuid;\n// Create firewall rule for database replica\nconst example_fw = new digitalocean.DatabaseFirewall(\"example-fw\", {\n clusterId: replica_example.uuid,\n rules: [{\n type: \"ip_addr\",\n value: \"192.168.1.1\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\nreplica_example = digitalocean.DatabaseReplica(\"replica-example\",\n cluster_id=postgres_example.id,\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1)\npulumi.export(\"uUID\", replica_example.uuid)\n# Create firewall rule for database replica\nexample_fw = digitalocean.DatabaseFirewall(\"example-fw\",\n cluster_id=replica_example.uuid,\n rules=[digitalocean.DatabaseFirewallRuleArgs(\n type=\"ip_addr\",\n value=\"192.168.1.1\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var replica_example = new DigitalOcean.DatabaseReplica(\"replica-example\", new()\n {\n ClusterId = postgres_example.Id,\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n });\n\n // Create firewall rule for database replica\n var example_fw = new DigitalOcean.DatabaseFirewall(\"example-fw\", new()\n {\n ClusterId = replica_example.Uuid,\n Rules = new[]\n {\n new DigitalOcean.Inputs.DatabaseFirewallRuleArgs\n {\n Type = \"ip_addr\",\n Value = \"192.168.1.1\",\n },\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"uUID\"] = replica_example.Uuid,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseReplica(ctx, \"replica-example\", \u0026digitalocean.DatabaseReplicaArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"uUID\", replica_example.Uuid)\n\t\t// Create firewall rule for database replica\n\t\t_, err = digitalocean.NewDatabaseFirewall(ctx, \"example-fw\", \u0026digitalocean.DatabaseFirewallArgs{\n\t\t\tClusterId: replica_example.Uuid,\n\t\t\tRules: digitalocean.DatabaseFirewallRuleArray{\n\t\t\t\t\u0026digitalocean.DatabaseFirewallRuleArgs{\n\t\t\t\t\tType: pulumi.String(\"ip_addr\"),\n\t\t\t\t\tValue: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseReplica;\nimport com.pulumi.digitalocean.DatabaseReplicaArgs;\nimport com.pulumi.digitalocean.DatabaseFirewall;\nimport com.pulumi.digitalocean.DatabaseFirewallArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseFirewallRuleArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var replica_example = new DatabaseReplica(\"replica-example\", DatabaseReplicaArgs.builder() \n .clusterId(postgres_example.id())\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .build());\n\n ctx.export(\"uUID\", replica_example.uuid());\n var example_fw = new DatabaseFirewall(\"example-fw\", DatabaseFirewallArgs.builder() \n .clusterId(replica_example.uuid())\n .rules(DatabaseFirewallRuleArgs.builder()\n .type(\"ip_addr\")\n .value(\"192.168.1.1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n replica-example:\n type: digitalocean:DatabaseReplica\n properties:\n clusterId: ${[\"postgres-example\"].id}\n size: db-s-1vcpu-1gb\n region: nyc1\n # Create firewall rule for database replica\n example-fw:\n type: digitalocean:DatabaseFirewall\n properties:\n clusterId: ${[\"replica-example\"].uuid}\n rules:\n - type: ip_addr\n value: 192.168.1.1\noutputs:\n uUID: ${[\"replica-example\"].uuid}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase replicas can be imported using the `id` of the source database cluster\n\nand the `name` of the replica joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseReplica:DatabaseReplica read-replica 245bcfd0-7f31-4ce6-a2bc-475a116cca97,read-replica\n```\n\n", "properties": { "clusterId": { "type": "string", @@ -9628,7 +9628,7 @@ } }, "digitalocean:index/databaseUser:DatabaseUser": { - "description": "Provides a DigitalOcean database user resource. When creating a new database cluster, a default admin user with name `doadmin` will be created. Then, this resource can be used to provide additional normal users inside the cluster.\n\n\u003e **NOTE:** Any new users created will always have `normal` role, only the default user that comes with database cluster creation has `primary` role. Additional permissions must be managed manually.\n\n## Example Usage\n\n### Create a new PostgreSQL database user\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst user_example = new digitalocean.DatabaseUser(\"user-example\", {clusterId: postgres_example.id});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\nuser_example = digitalocean.DatabaseUser(\"user-example\", cluster_id=postgres_example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var user_example = new DigitalOcean.DatabaseUser(\"user-example\", new()\n {\n ClusterId = postgres_example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseUser(ctx, \"user-example\", \u0026digitalocean.DatabaseUserArgs{\n\t\t\tClusterId: postgres_example.ID(),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseUser;\nimport com.pulumi.digitalocean.DatabaseUserArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var user_example = new DatabaseUser(\"user-example\", DatabaseUserArgs.builder() \n .clusterId(postgres_example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user-example:\n type: digitalocean:DatabaseUser\n properties:\n clusterId: ${[\"postgres-example\"].id}\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new user for a PostgreSQL database replica \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n nodeCount: 1,\n});\nconst replica_example = new digitalocean.DatabaseReplica(\"replica-example\", {\n clusterId: postgres_example.id,\n size: \"db-s-1vcpu-1gb\",\n region: \"nyc1\",\n});\nconst user_example = new digitalocean.DatabaseUser(\"user-example\", {clusterId: replica_example.uuid});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\",\n node_count=1)\nreplica_example = digitalocean.DatabaseReplica(\"replica-example\",\n cluster_id=postgres_example.id,\n size=\"db-s-1vcpu-1gb\",\n region=\"nyc1\")\nuser_example = digitalocean.DatabaseUser(\"user-example\", cluster_id=replica_example.uuid)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n NodeCount = 1,\n });\n\n var replica_example = new DigitalOcean.DatabaseReplica(\"replica-example\", new()\n {\n ClusterId = postgres_example.Id,\n Size = \"db-s-1vcpu-1gb\",\n Region = \"nyc1\",\n });\n\n var user_example = new DigitalOcean.DatabaseUser(\"user-example\", new()\n {\n ClusterId = replica_example.Uuid,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseReplica(ctx, \"replica-example\", \u0026digitalocean.DatabaseReplicaArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tSize: pulumi.String(\"db-s-1vcpu-1gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseUser(ctx, \"user-example\", \u0026digitalocean.DatabaseUserArgs{\n\t\t\tClusterId: replica_example.Uuid,\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseReplica;\nimport com.pulumi.digitalocean.DatabaseReplicaArgs;\nimport com.pulumi.digitalocean.DatabaseUser;\nimport com.pulumi.digitalocean.DatabaseUserArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var replica_example = new DatabaseReplica(\"replica-example\", DatabaseReplicaArgs.builder() \n .clusterId(postgres_example.id())\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .build());\n\n var user_example = new DatabaseUser(\"user-example\", DatabaseUserArgs.builder() \n .clusterId(replica_example.uuid())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n replica-example:\n type: digitalocean:DatabaseReplica\n properties:\n clusterId: ${[\"postgres-example\"].id}\n size: db-s-1vcpu-1gb\n region: nyc1\n user-example:\n type: digitalocean:DatabaseUser\n properties:\n clusterId: ${[\"replica-example\"].uuid}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new user for a Kafka database cluster \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst kafka_example = new digitalocean.DatabaseCluster(\"kafka-example\", {\n engine: \"kafka\",\n version: \"3.5\",\n size: \"db-s-2vcpu-2gb\",\n region: \"nyc1\",\n nodeCount: 3,\n});\nconst foobarTopic = new digitalocean.DatabaseKafkaTopic(\"foobarTopic\", {clusterId: digitalocean_database_cluster.foobar.id});\nconst foobarUser = new digitalocean.DatabaseUser(\"foobarUser\", {\n clusterId: digitalocean_database_cluster.foobar.id,\n settings: [{\n acls: [\n {\n topic: \"topic-1\",\n permission: \"produce\",\n },\n {\n topic: \"topic-2\",\n permission: \"produceconsume\",\n },\n {\n topic: \"topic-*\",\n permission: \"consume\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nkafka_example = digitalocean.DatabaseCluster(\"kafka-example\",\n engine=\"kafka\",\n version=\"3.5\",\n size=\"db-s-2vcpu-2gb\",\n region=\"nyc1\",\n node_count=3)\nfoobar_topic = digitalocean.DatabaseKafkaTopic(\"foobarTopic\", cluster_id=digitalocean_database_cluster[\"foobar\"][\"id\"])\nfoobar_user = digitalocean.DatabaseUser(\"foobarUser\",\n cluster_id=digitalocean_database_cluster[\"foobar\"][\"id\"],\n settings=[digitalocean.DatabaseUserSettingArgs(\n acls=[\n digitalocean.DatabaseUserSettingAclArgs(\n topic=\"topic-1\",\n permission=\"produce\",\n ),\n digitalocean.DatabaseUserSettingAclArgs(\n topic=\"topic-2\",\n permission=\"produceconsume\",\n ),\n digitalocean.DatabaseUserSettingAclArgs(\n topic=\"topic-*\",\n permission=\"consume\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kafka_example = new DigitalOcean.DatabaseCluster(\"kafka-example\", new()\n {\n Engine = \"kafka\",\n Version = \"3.5\",\n Size = \"db-s-2vcpu-2gb\",\n Region = \"nyc1\",\n NodeCount = 3,\n });\n\n var foobarTopic = new DigitalOcean.DatabaseKafkaTopic(\"foobarTopic\", new()\n {\n ClusterId = digitalocean_database_cluster.Foobar.Id,\n });\n\n var foobarUser = new DigitalOcean.DatabaseUser(\"foobarUser\", new()\n {\n ClusterId = digitalocean_database_cluster.Foobar.Id,\n Settings = new[]\n {\n new DigitalOcean.Inputs.DatabaseUserSettingArgs\n {\n Acls = new[]\n {\n new DigitalOcean.Inputs.DatabaseUserSettingAclArgs\n {\n Topic = \"topic-1\",\n Permission = \"produce\",\n },\n new DigitalOcean.Inputs.DatabaseUserSettingAclArgs\n {\n Topic = \"topic-2\",\n Permission = \"produceconsume\",\n },\n new DigitalOcean.Inputs.DatabaseUserSettingAclArgs\n {\n Topic = \"topic-*\",\n Permission = \"consume\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"kafka-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"kafka\"),\n\t\t\tVersion: pulumi.String(\"3.5\"),\n\t\t\tSize: pulumi.String(\"db-s-2vcpu-2gb\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tNodeCount: pulumi.Int(3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseKafkaTopic(ctx, \"foobarTopic\", \u0026digitalocean.DatabaseKafkaTopicArgs{\n\t\t\tClusterId: pulumi.Any(digitalocean_database_cluster.Foobar.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseUser(ctx, \"foobarUser\", \u0026digitalocean.DatabaseUserArgs{\n\t\t\tClusterId: pulumi.Any(digitalocean_database_cluster.Foobar.Id),\n\t\t\tSettings: digitalocean.DatabaseUserSettingArray{\n\t\t\t\t\u0026digitalocean.DatabaseUserSettingArgs{\n\t\t\t\t\tAcls: digitalocean.DatabaseUserSettingAclArray{\n\t\t\t\t\t\t\u0026digitalocean.DatabaseUserSettingAclArgs{\n\t\t\t\t\t\t\tTopic: pulumi.String(\"topic-1\"),\n\t\t\t\t\t\t\tPermission: pulumi.String(\"produce\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026digitalocean.DatabaseUserSettingAclArgs{\n\t\t\t\t\t\t\tTopic: pulumi.String(\"topic-2\"),\n\t\t\t\t\t\t\tPermission: pulumi.String(\"produceconsume\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026digitalocean.DatabaseUserSettingAclArgs{\n\t\t\t\t\t\t\tTopic: pulumi.String(\"topic-*\"),\n\t\t\t\t\t\t\tPermission: pulumi.String(\"consume\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseKafkaTopic;\nimport com.pulumi.digitalocean.DatabaseKafkaTopicArgs;\nimport com.pulumi.digitalocean.DatabaseUser;\nimport com.pulumi.digitalocean.DatabaseUserArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseUserSettingArgs;\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 kafka_example = new DatabaseCluster(\"kafka-example\", DatabaseClusterArgs.builder() \n .engine(\"kafka\")\n .version(\"3.5\")\n .size(\"db-s-2vcpu-2gb\")\n .region(\"nyc1\")\n .nodeCount(3)\n .build());\n\n var foobarTopic = new DatabaseKafkaTopic(\"foobarTopic\", DatabaseKafkaTopicArgs.builder() \n .clusterId(digitalocean_database_cluster.foobar().id())\n .build());\n\n var foobarUser = new DatabaseUser(\"foobarUser\", DatabaseUserArgs.builder() \n .clusterId(digitalocean_database_cluster.foobar().id())\n .settings(DatabaseUserSettingArgs.builder()\n .acls( \n DatabaseUserSettingAclArgs.builder()\n .topic(\"topic-1\")\n .permission(\"produce\")\n .build(),\n DatabaseUserSettingAclArgs.builder()\n .topic(\"topic-2\")\n .permission(\"produceconsume\")\n .build(),\n DatabaseUserSettingAclArgs.builder()\n .topic(\"topic-*\")\n .permission(\"consume\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kafka-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: kafka\n version: '3.5'\n size: db-s-2vcpu-2gb\n region: nyc1\n nodeCount: 3\n foobarTopic:\n type: digitalocean:DatabaseKafkaTopic\n properties:\n clusterId: ${digitalocean_database_cluster.foobar.id}\n foobarUser:\n type: digitalocean:DatabaseUser\n properties:\n clusterId: ${digitalocean_database_cluster.foobar.id}\n settings:\n - acls:\n - topic: topic-1\n permission: produce\n - topic: topic-2\n permission: produceconsume\n - topic: topic-*\n permission: consume\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase user can be imported using the `id` of the source database cluster\n\nand the `name` of the user joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseUser:DatabaseUser user-example 245bcfd0-7f31-4ce6-a2bc-475a116cca97,foobar\n```\n\n", + "description": "Provides a DigitalOcean database user resource. When creating a new database cluster, a default admin user with name `doadmin` will be created. Then, this resource can be used to provide additional normal users inside the cluster.\n\n\u003e **NOTE:** Any new users created will always have `normal` role, only the default user that comes with database cluster creation has `primary` role. Additional permissions must be managed manually.\n\n## Example Usage\n\n### Create a new PostgreSQL database user\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst user_example = new digitalocean.DatabaseUser(\"user-example\", {clusterId: postgres_example.id});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\nuser_example = digitalocean.DatabaseUser(\"user-example\", cluster_id=postgres_example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var user_example = new DigitalOcean.DatabaseUser(\"user-example\", new()\n {\n ClusterId = postgres_example.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseUser(ctx, \"user-example\", \u0026digitalocean.DatabaseUserArgs{\n\t\t\tClusterId: postgres_example.ID(),\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseUser;\nimport com.pulumi.digitalocean.DatabaseUserArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var user_example = new DatabaseUser(\"user-example\", DatabaseUserArgs.builder() \n .clusterId(postgres_example.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n user-example:\n type: digitalocean:DatabaseUser\n properties:\n clusterId: ${[\"postgres-example\"].id}\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new user for a PostgreSQL database replica \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst postgres_example = new digitalocean.DatabaseCluster(\"postgres-example\", {\n engine: \"pg\",\n version: \"11\",\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n nodeCount: 1,\n});\nconst replica_example = new digitalocean.DatabaseReplica(\"replica-example\", {\n clusterId: postgres_example.id,\n size: digitalocean.DatabaseSlug.DB_1VPCU1GB,\n region: digitalocean.Region.NYC1,\n});\nconst user_example = new digitalocean.DatabaseUser(\"user-example\", {clusterId: replica_example.uuid});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\npostgres_example = digitalocean.DatabaseCluster(\"postgres-example\",\n engine=\"pg\",\n version=\"11\",\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1,\n node_count=1)\nreplica_example = digitalocean.DatabaseReplica(\"replica-example\",\n cluster_id=postgres_example.id,\n size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB,\n region=digitalocean.Region.NYC1)\nuser_example = digitalocean.DatabaseUser(\"user-example\", cluster_id=replica_example.uuid)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgres_example = new DigitalOcean.DatabaseCluster(\"postgres-example\", new()\n {\n Engine = \"pg\",\n Version = \"11\",\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 1,\n });\n\n var replica_example = new DigitalOcean.DatabaseReplica(\"replica-example\", new()\n {\n ClusterId = postgres_example.Id,\n Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB,\n Region = DigitalOcean.Region.NYC1,\n });\n\n var user_example = new DigitalOcean.DatabaseUser(\"user-example\", new()\n {\n ClusterId = replica_example.Uuid,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"postgres-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"pg\"),\n\t\t\tVersion: pulumi.String(\"11\"),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseReplica(ctx, \"replica-example\", \u0026digitalocean.DatabaseReplicaArgs{\n\t\t\tClusterId: postgres_example.ID(),\n\t\t\tSize: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseUser(ctx, \"user-example\", \u0026digitalocean.DatabaseUserArgs{\n\t\t\tClusterId: replica_example.Uuid,\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.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseReplica;\nimport com.pulumi.digitalocean.DatabaseReplicaArgs;\nimport com.pulumi.digitalocean.DatabaseUser;\nimport com.pulumi.digitalocean.DatabaseUserArgs;\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 postgres_example = new DatabaseCluster(\"postgres-example\", DatabaseClusterArgs.builder() \n .engine(\"pg\")\n .version(\"11\")\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .nodeCount(1)\n .build());\n\n var replica_example = new DatabaseReplica(\"replica-example\", DatabaseReplicaArgs.builder() \n .clusterId(postgres_example.id())\n .size(\"db-s-1vcpu-1gb\")\n .region(\"nyc1\")\n .build());\n\n var user_example = new DatabaseUser(\"user-example\", DatabaseUserArgs.builder() \n .clusterId(replica_example.uuid())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgres-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: pg\n version: '11'\n size: db-s-1vcpu-1gb\n region: nyc1\n nodeCount: 1\n replica-example:\n type: digitalocean:DatabaseReplica\n properties:\n clusterId: ${[\"postgres-example\"].id}\n size: db-s-1vcpu-1gb\n region: nyc1\n user-example:\n type: digitalocean:DatabaseUser\n properties:\n clusterId: ${[\"replica-example\"].uuid}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a new user for a Kafka database cluster \n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst kafka_example = new digitalocean.DatabaseCluster(\"kafka-example\", {\n engine: \"kafka\",\n version: \"3.5\",\n size: \"db-s-2vcpu-2gb\",\n region: digitalocean.Region.NYC1,\n nodeCount: 3,\n});\nconst foobarTopic = new digitalocean.DatabaseKafkaTopic(\"foobarTopic\", {clusterId: digitalocean_database_cluster.foobar.id});\nconst foobarUser = new digitalocean.DatabaseUser(\"foobarUser\", {\n clusterId: digitalocean_database_cluster.foobar.id,\n settings: [{\n acls: [\n {\n topic: \"topic-1\",\n permission: \"produce\",\n },\n {\n topic: \"topic-2\",\n permission: \"produceconsume\",\n },\n {\n topic: \"topic-*\",\n permission: \"consume\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nkafka_example = digitalocean.DatabaseCluster(\"kafka-example\",\n engine=\"kafka\",\n version=\"3.5\",\n size=\"db-s-2vcpu-2gb\",\n region=digitalocean.Region.NYC1,\n node_count=3)\nfoobar_topic = digitalocean.DatabaseKafkaTopic(\"foobarTopic\", cluster_id=digitalocean_database_cluster[\"foobar\"][\"id\"])\nfoobar_user = digitalocean.DatabaseUser(\"foobarUser\",\n cluster_id=digitalocean_database_cluster[\"foobar\"][\"id\"],\n settings=[digitalocean.DatabaseUserSettingArgs(\n acls=[\n digitalocean.DatabaseUserSettingAclArgs(\n topic=\"topic-1\",\n permission=\"produce\",\n ),\n digitalocean.DatabaseUserSettingAclArgs(\n topic=\"topic-2\",\n permission=\"produceconsume\",\n ),\n digitalocean.DatabaseUserSettingAclArgs(\n topic=\"topic-*\",\n permission=\"consume\",\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var kafka_example = new DigitalOcean.DatabaseCluster(\"kafka-example\", new()\n {\n Engine = \"kafka\",\n Version = \"3.5\",\n Size = \"db-s-2vcpu-2gb\",\n Region = DigitalOcean.Region.NYC1,\n NodeCount = 3,\n });\n\n var foobarTopic = new DigitalOcean.DatabaseKafkaTopic(\"foobarTopic\", new()\n {\n ClusterId = digitalocean_database_cluster.Foobar.Id,\n });\n\n var foobarUser = new DigitalOcean.DatabaseUser(\"foobarUser\", new()\n {\n ClusterId = digitalocean_database_cluster.Foobar.Id,\n Settings = new[]\n {\n new DigitalOcean.Inputs.DatabaseUserSettingArgs\n {\n Acls = new[]\n {\n new DigitalOcean.Inputs.DatabaseUserSettingAclArgs\n {\n Topic = \"topic-1\",\n Permission = \"produce\",\n },\n new DigitalOcean.Inputs.DatabaseUserSettingAclArgs\n {\n Topic = \"topic-2\",\n Permission = \"produceconsume\",\n },\n new DigitalOcean.Inputs.DatabaseUserSettingAclArgs\n {\n Topic = \"topic-*\",\n Permission = \"consume\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDatabaseCluster(ctx, \"kafka-example\", \u0026digitalocean.DatabaseClusterArgs{\n\t\t\tEngine: pulumi.String(\"kafka\"),\n\t\t\tVersion: pulumi.String(\"3.5\"),\n\t\t\tSize: pulumi.String(\"db-s-2vcpu-2gb\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tNodeCount: pulumi.Int(3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseKafkaTopic(ctx, \"foobarTopic\", \u0026digitalocean.DatabaseKafkaTopicArgs{\n\t\t\tClusterId: pulumi.Any(digitalocean_database_cluster.Foobar.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDatabaseUser(ctx, \"foobarUser\", \u0026digitalocean.DatabaseUserArgs{\n\t\t\tClusterId: pulumi.Any(digitalocean_database_cluster.Foobar.Id),\n\t\t\tSettings: digitalocean.DatabaseUserSettingArray{\n\t\t\t\t\u0026digitalocean.DatabaseUserSettingArgs{\n\t\t\t\t\tAcls: digitalocean.DatabaseUserSettingAclArray{\n\t\t\t\t\t\t\u0026digitalocean.DatabaseUserSettingAclArgs{\n\t\t\t\t\t\t\tTopic: pulumi.String(\"topic-1\"),\n\t\t\t\t\t\t\tPermission: pulumi.String(\"produce\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026digitalocean.DatabaseUserSettingAclArgs{\n\t\t\t\t\t\t\tTopic: pulumi.String(\"topic-2\"),\n\t\t\t\t\t\t\tPermission: pulumi.String(\"produceconsume\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026digitalocean.DatabaseUserSettingAclArgs{\n\t\t\t\t\t\t\tTopic: pulumi.String(\"topic-*\"),\n\t\t\t\t\t\t\tPermission: pulumi.String(\"consume\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DatabaseCluster;\nimport com.pulumi.digitalocean.DatabaseClusterArgs;\nimport com.pulumi.digitalocean.DatabaseKafkaTopic;\nimport com.pulumi.digitalocean.DatabaseKafkaTopicArgs;\nimport com.pulumi.digitalocean.DatabaseUser;\nimport com.pulumi.digitalocean.DatabaseUserArgs;\nimport com.pulumi.digitalocean.inputs.DatabaseUserSettingArgs;\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 kafka_example = new DatabaseCluster(\"kafka-example\", DatabaseClusterArgs.builder() \n .engine(\"kafka\")\n .version(\"3.5\")\n .size(\"db-s-2vcpu-2gb\")\n .region(\"nyc1\")\n .nodeCount(3)\n .build());\n\n var foobarTopic = new DatabaseKafkaTopic(\"foobarTopic\", DatabaseKafkaTopicArgs.builder() \n .clusterId(digitalocean_database_cluster.foobar().id())\n .build());\n\n var foobarUser = new DatabaseUser(\"foobarUser\", DatabaseUserArgs.builder() \n .clusterId(digitalocean_database_cluster.foobar().id())\n .settings(DatabaseUserSettingArgs.builder()\n .acls( \n DatabaseUserSettingAclArgs.builder()\n .topic(\"topic-1\")\n .permission(\"produce\")\n .build(),\n DatabaseUserSettingAclArgs.builder()\n .topic(\"topic-2\")\n .permission(\"produceconsume\")\n .build(),\n DatabaseUserSettingAclArgs.builder()\n .topic(\"topic-*\")\n .permission(\"consume\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n kafka-example:\n type: digitalocean:DatabaseCluster\n properties:\n engine: kafka\n version: '3.5'\n size: db-s-2vcpu-2gb\n region: nyc1\n nodeCount: 3\n foobarTopic:\n type: digitalocean:DatabaseKafkaTopic\n properties:\n clusterId: ${digitalocean_database_cluster.foobar.id}\n foobarUser:\n type: digitalocean:DatabaseUser\n properties:\n clusterId: ${digitalocean_database_cluster.foobar.id}\n settings:\n - acls:\n - topic: topic-1\n permission: produce\n - topic: topic-2\n permission: produceconsume\n - topic: topic-*\n permission: consume\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase user can be imported using the `id` of the source database cluster\n\nand the `name` of the user joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/databaseUser:DatabaseUser user-example 245bcfd0-7f31-4ce6-a2bc-475a116cca97,foobar\n```\n\n", "properties": { "accessCert": { "type": "string", @@ -9751,7 +9751,7 @@ } }, "digitalocean:index/dnsRecord:DnsRecord": { - "description": "Provides a DigitalOcean DNS record resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst _default = new digitalocean.Domain(\"default\", {name: \"example.com\"});\n// Add an A record to the domain for www.example.com.\nconst www = new digitalocean.DnsRecord(\"www\", {\n domain: _default.id,\n type: \"A\",\n value: \"192.168.0.11\",\n});\n// Add a MX record for the example.com domain itself.\nconst mx = new digitalocean.DnsRecord(\"mx\", {\n domain: _default.id,\n type: \"MX\",\n priority: 10,\n value: \"mail.example.com.\",\n});\nexport const wwwFqdn = www.fqdn;\nexport const mxFqdn = mx.fqdn;\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ndefault = digitalocean.Domain(\"default\", name=\"example.com\")\n# Add an A record to the domain for www.example.com.\nwww = digitalocean.DnsRecord(\"www\",\n domain=default.id,\n type=\"A\",\n value=\"192.168.0.11\")\n# Add a MX record for the example.com domain itself.\nmx = digitalocean.DnsRecord(\"mx\",\n domain=default.id,\n type=\"MX\",\n priority=10,\n value=\"mail.example.com.\")\npulumi.export(\"wwwFqdn\", www.fqdn)\npulumi.export(\"mxFqdn\", mx.fqdn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new DigitalOcean.Domain(\"default\", new()\n {\n Name = \"example.com\",\n });\n\n // Add an A record to the domain for www.example.com.\n var www = new DigitalOcean.DnsRecord(\"www\", new()\n {\n Domain = @default.Id,\n Type = \"A\",\n Value = \"192.168.0.11\",\n });\n\n // Add a MX record for the example.com domain itself.\n var mx = new DigitalOcean.DnsRecord(\"mx\", new()\n {\n Domain = @default.Id,\n Type = \"MX\",\n Priority = 10,\n Value = \"mail.example.com.\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"wwwFqdn\"] = www.Fqdn,\n [\"mxFqdn\"] = mx.Fqdn,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDomain(ctx, \"default\", \u0026digitalocean.DomainArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add an A record to the domain for www.example.com.\n\t\twww, err := digitalocean.NewDnsRecord(ctx, \"www\", \u0026digitalocean.DnsRecordArgs{\n\t\t\tDomain: _default.ID(),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tValue: pulumi.String(\"192.168.0.11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add a MX record for the example.com domain itself.\n\t\tmx, err := digitalocean.NewDnsRecord(ctx, \"mx\", \u0026digitalocean.DnsRecordArgs{\n\t\t\tDomain: _default.ID(),\n\t\t\tType: pulumi.String(\"MX\"),\n\t\t\tPriority: pulumi.Int(10),\n\t\t\tValue: pulumi.String(\"mail.example.com.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"wwwFqdn\", www.Fqdn)\n\t\tctx.Export(\"mxFqdn\", mx.Fqdn)\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.digitalocean.Domain;\nimport com.pulumi.digitalocean.DomainArgs;\nimport com.pulumi.digitalocean.DnsRecord;\nimport com.pulumi.digitalocean.DnsRecordArgs;\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 default_ = new Domain(\"default\", DomainArgs.builder() \n .name(\"example.com\")\n .build());\n\n var www = new DnsRecord(\"www\", DnsRecordArgs.builder() \n .domain(default_.id())\n .type(\"A\")\n .value(\"192.168.0.11\")\n .build());\n\n var mx = new DnsRecord(\"mx\", DnsRecordArgs.builder() \n .domain(default_.id())\n .type(\"MX\")\n .priority(10)\n .value(\"mail.example.com.\")\n .build());\n\n ctx.export(\"wwwFqdn\", www.fqdn());\n ctx.export(\"mxFqdn\", mx.fqdn());\n }\n}\n```\n```yaml\nresources:\n default:\n type: digitalocean:Domain\n properties:\n name: example.com\n # Add an A record to the domain for www.example.com.\n www:\n type: digitalocean:DnsRecord\n properties:\n domain: ${default.id}\n type: A\n value: 192.168.0.11\n # Add a MX record for the example.com domain itself.\n mx:\n type: digitalocean:DnsRecord\n properties:\n domain: ${default.id}\n type: MX\n priority: 10\n value: mail.example.com.\noutputs:\n # Output the FQDN for the www A record.\n wwwFqdn: ${www.fqdn}\n # Output the FQDN for the MX record.\n mxFqdn: ${mx.fqdn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRecords can be imported using the domain name and record `id` when joined with a comma. See the following example:\n\n```sh\n$ pulumi import digitalocean:index/dnsRecord:DnsRecord example_record example.com,12345678\n```\n\n~\u003e You find the `id` of the records [using the DigitalOcean API](https://docs.digitalocean.com/reference/api/api-reference/#operation/domains_list_records) or CLI. Run the follow command to list the IDs for all DNS records on a domain: `doctl compute domain records list \u003cdomain.name\u003e`\n\n", + "description": "Provides a DigitalOcean DNS record resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst _default = new digitalocean.Domain(\"default\", {name: \"example.com\"});\n// Add an A record to the domain for www.example.com.\nconst www = new digitalocean.DnsRecord(\"www\", {\n domain: _default.id,\n type: digitalocean.RecordType.A,\n value: \"192.168.0.11\",\n});\n// Add a MX record for the example.com domain itself.\nconst mx = new digitalocean.DnsRecord(\"mx\", {\n domain: _default.id,\n type: digitalocean.RecordType.MX,\n priority: 10,\n value: \"mail.example.com.\",\n});\nexport const wwwFqdn = www.fqdn;\nexport const mxFqdn = mx.fqdn;\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ndefault = digitalocean.Domain(\"default\", name=\"example.com\")\n# Add an A record to the domain for www.example.com.\nwww = digitalocean.DnsRecord(\"www\",\n domain=default.id,\n type=digitalocean.RecordType.A,\n value=\"192.168.0.11\")\n# Add a MX record for the example.com domain itself.\nmx = digitalocean.DnsRecord(\"mx\",\n domain=default.id,\n type=digitalocean.RecordType.MX,\n priority=10,\n value=\"mail.example.com.\")\npulumi.export(\"wwwFqdn\", www.fqdn)\npulumi.export(\"mxFqdn\", mx.fqdn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new DigitalOcean.Domain(\"default\", new()\n {\n Name = \"example.com\",\n });\n\n // Add an A record to the domain for www.example.com.\n var www = new DigitalOcean.DnsRecord(\"www\", new()\n {\n Domain = @default.Id,\n Type = DigitalOcean.RecordType.A,\n Value = \"192.168.0.11\",\n });\n\n // Add a MX record for the example.com domain itself.\n var mx = new DigitalOcean.DnsRecord(\"mx\", new()\n {\n Domain = @default.Id,\n Type = DigitalOcean.RecordType.MX,\n Priority = 10,\n Value = \"mail.example.com.\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"wwwFqdn\"] = www.Fqdn,\n [\"mxFqdn\"] = mx.Fqdn,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewDomain(ctx, \"default\", \u0026digitalocean.DomainArgs{\n\t\t\tName: pulumi.String(\"example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add an A record to the domain for www.example.com.\n\t\twww, err := digitalocean.NewDnsRecord(ctx, \"www\", \u0026digitalocean.DnsRecordArgs{\n\t\t\tDomain: _default.ID(),\n\t\t\tType: pulumi.String(digitalocean.RecordTypeA),\n\t\t\tValue: pulumi.String(\"192.168.0.11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add a MX record for the example.com domain itself.\n\t\tmx, err := digitalocean.NewDnsRecord(ctx, \"mx\", \u0026digitalocean.DnsRecordArgs{\n\t\t\tDomain: _default.ID(),\n\t\t\tType: pulumi.String(digitalocean.RecordTypeMX),\n\t\t\tPriority: pulumi.Int(10),\n\t\t\tValue: pulumi.String(\"mail.example.com.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"wwwFqdn\", www.Fqdn)\n\t\tctx.Export(\"mxFqdn\", mx.Fqdn)\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.digitalocean.Domain;\nimport com.pulumi.digitalocean.DomainArgs;\nimport com.pulumi.digitalocean.DnsRecord;\nimport com.pulumi.digitalocean.DnsRecordArgs;\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 default_ = new Domain(\"default\", DomainArgs.builder() \n .name(\"example.com\")\n .build());\n\n var www = new DnsRecord(\"www\", DnsRecordArgs.builder() \n .domain(default_.id())\n .type(\"A\")\n .value(\"192.168.0.11\")\n .build());\n\n var mx = new DnsRecord(\"mx\", DnsRecordArgs.builder() \n .domain(default_.id())\n .type(\"MX\")\n .priority(10)\n .value(\"mail.example.com.\")\n .build());\n\n ctx.export(\"wwwFqdn\", www.fqdn());\n ctx.export(\"mxFqdn\", mx.fqdn());\n }\n}\n```\n```yaml\nresources:\n default:\n type: digitalocean:Domain\n properties:\n name: example.com\n # Add an A record to the domain for www.example.com.\n www:\n type: digitalocean:DnsRecord\n properties:\n domain: ${default.id}\n type: A\n value: 192.168.0.11\n # Add a MX record for the example.com domain itself.\n mx:\n type: digitalocean:DnsRecord\n properties:\n domain: ${default.id}\n type: MX\n priority: 10\n value: mail.example.com.\noutputs:\n # Output the FQDN for the www A record.\n wwwFqdn: ${www.fqdn}\n # Output the FQDN for the MX record.\n mxFqdn: ${mx.fqdn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRecords can be imported using the domain name and record `id` when joined with a comma. See the following example:\n\n```sh\n$ pulumi import digitalocean:index/dnsRecord:DnsRecord example_record example.com,12345678\n```\n\n~\u003e You find the `id` of the records [using the DigitalOcean API](https://docs.digitalocean.com/reference/api/api-reference/#operation/domains_list_records) or CLI. Run the follow command to list the IDs for all DNS records on a domain: `doctl compute domain records list \u003cdomain.name\u003e`\n\n", "properties": { "domain": { "type": "string", @@ -9992,7 +9992,7 @@ } }, "digitalocean:index/droplet:Droplet": { - "description": "Provides a DigitalOcean Droplet resource. This can be used to create,\nmodify, and delete Droplets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new Web Droplet in the nyc2 region\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-20-04-x64\",\n region: \"nyc2\",\n size: \"s-1vcpu-1gb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new Web Droplet in the nyc2 region\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-20-04-x64\",\n region=\"nyc2\",\n size=\"s-1vcpu-1gb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Web Droplet in the nyc2 region\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Image = \"ubuntu-20-04-x64\",\n Region = \"nyc2\",\n Size = \"s-1vcpu-1gb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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// Create a new Web Droplet in the nyc2 region\n\t\t_, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-20-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc2\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\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.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 web = new Droplet(\"web\", DropletArgs.builder() \n .image(\"ubuntu-20-04-x64\")\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Web Droplet in the nyc2 region\n web:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-20-04-x64\n region: nyc2\n size: s-1vcpu-1gb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDroplets can be imported using the Droplet `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/droplet:Droplet mydroplet 100823\n```\n\n", + "description": "Provides a DigitalOcean Droplet resource. This can be used to create,\nmodify, and delete Droplets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new Web Droplet in the nyc2 region\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-20-04-x64\",\n region: digitalocean.Region.NYC2,\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new Web Droplet in the nyc2 region\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-20-04-x64\",\n region=digitalocean.Region.NYC2,\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Web Droplet in the nyc2 region\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Image = \"ubuntu-20-04-x64\",\n Region = DigitalOcean.Region.NYC2,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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// Create a new Web Droplet in the nyc2 region\n\t\t_, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-20-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC2),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\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.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 web = new Droplet(\"web\", DropletArgs.builder() \n .image(\"ubuntu-20-04-x64\")\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Web Droplet in the nyc2 region\n web:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-20-04-x64\n region: nyc2\n size: s-1vcpu-1gb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDroplets can be imported using the Droplet `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/droplet:Droplet mydroplet 100823\n```\n\n", "properties": { "backups": { "type": "boolean", @@ -10398,7 +10398,7 @@ } }, "digitalocean:index/dropletSnapshot:DropletSnapshot": { - "description": "Provides a resource which can be used to create a snapshot from an existing DigitalOcean Droplet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web = new digitalocean.Droplet(\"web\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-22-04-x64\",\n region: \"nyc3\",\n});\nconst web_snapshot = new digitalocean.DropletSnapshot(\"web-snapshot\", {dropletId: web.id});\nconst from_snapshot = new digitalocean.Droplet(\"from-snapshot\", {\n image: web_snapshot.id,\n region: \"nyc3\",\n size: \"s-2vcpu-4gb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb = digitalocean.Droplet(\"web\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-22-04-x64\",\n region=\"nyc3\")\nweb_snapshot = digitalocean.DropletSnapshot(\"web-snapshot\", droplet_id=web.id)\nfrom_snapshot = digitalocean.Droplet(\"from-snapshot\",\n image=web_snapshot.id,\n region=\"nyc3\",\n size=\"s-2vcpu-4gb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-22-04-x64\",\n Region = \"nyc3\",\n });\n\n var web_snapshot = new DigitalOcean.DropletSnapshot(\"web-snapshot\", new()\n {\n DropletId = web.Id,\n });\n\n var from_snapshot = new DigitalOcean.Droplet(\"from-snapshot\", new()\n {\n Image = web_snapshot.Id,\n Region = \"nyc3\",\n Size = \"s-2vcpu-4gb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDropletSnapshot(ctx, \"web-snapshot\", \u0026digitalocean.DropletSnapshotArgs{\n\t\t\tDropletId: web.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"from-snapshot\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: web_snapshot.ID(),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tSize: pulumi.String(\"s-2vcpu-4gb\"),\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.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.DropletSnapshot;\nimport com.pulumi.digitalocean.DropletSnapshotArgs;\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 web = new Droplet(\"web\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var web_snapshot = new DropletSnapshot(\"web-snapshot\", DropletSnapshotArgs.builder() \n .dropletId(web.id())\n .build());\n\n var from_snapshot = new Droplet(\"from-snapshot\", DropletArgs.builder() \n .image(web_snapshot.id())\n .region(\"nyc3\")\n .size(\"s-2vcpu-4gb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n web-snapshot:\n type: digitalocean:DropletSnapshot\n properties:\n dropletId: ${web.id}\n from-snapshot:\n type: digitalocean:Droplet\n properties:\n image: ${[\"web-snapshot\"].id}\n region: nyc3\n size: s-2vcpu-4gb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDroplet Snapshots can be imported using the `snapshot id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/dropletSnapshot:DropletSnapshot mysnapshot 123456\n```\n\n", + "description": "Provides a resource which can be used to create a snapshot from an existing DigitalOcean Droplet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web = new digitalocean.Droplet(\"web\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-22-04-x64\",\n region: digitalocean.Region.NYC3,\n});\nconst web_snapshot = new digitalocean.DropletSnapshot(\"web-snapshot\", {dropletId: web.id});\nconst from_snapshot = new digitalocean.Droplet(\"from-snapshot\", {\n image: web_snapshot.id,\n region: digitalocean.Region.NYC3,\n size: digitalocean.DropletSlug.DropletS2VCPU4GB,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb = digitalocean.Droplet(\"web\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-22-04-x64\",\n region=digitalocean.Region.NYC3)\nweb_snapshot = digitalocean.DropletSnapshot(\"web-snapshot\", droplet_id=web.id)\nfrom_snapshot = digitalocean.Droplet(\"from-snapshot\",\n image=web_snapshot.id,\n region=digitalocean.Region.NYC3,\n size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-22-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n });\n\n var web_snapshot = new DigitalOcean.DropletSnapshot(\"web-snapshot\", new()\n {\n DropletId = web.Id,\n });\n\n var from_snapshot = new DigitalOcean.Droplet(\"from-snapshot\", new()\n {\n Image = web_snapshot.Id,\n Region = DigitalOcean.Region.NYC3,\n Size = DigitalOcean.DropletSlug.DropletS2VCPU4GB,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDropletSnapshot(ctx, \"web-snapshot\", \u0026digitalocean.DropletSnapshotArgs{\n\t\t\tDropletId: web.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"from-snapshot\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: web_snapshot.ID(),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS2VCPU4GB),\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.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.DropletSnapshot;\nimport com.pulumi.digitalocean.DropletSnapshotArgs;\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 web = new Droplet(\"web\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var web_snapshot = new DropletSnapshot(\"web-snapshot\", DropletSnapshotArgs.builder() \n .dropletId(web.id())\n .build());\n\n var from_snapshot = new Droplet(\"from-snapshot\", DropletArgs.builder() \n .image(web_snapshot.id())\n .region(\"nyc3\")\n .size(\"s-2vcpu-4gb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n web-snapshot:\n type: digitalocean:DropletSnapshot\n properties:\n dropletId: ${web.id}\n from-snapshot:\n type: digitalocean:Droplet\n properties:\n image: ${[\"web-snapshot\"].id}\n region: nyc3\n size: s-2vcpu-4gb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDroplet Snapshots can be imported using the `snapshot id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/dropletSnapshot:DropletSnapshot mysnapshot 123456\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -10488,7 +10488,7 @@ } }, "digitalocean:index/firewall:Firewall": { - "description": "Provides a DigitalOcean Cloud Firewall resource. This can be used to create,\nmodify, and delete Firewalls.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst webDroplet = new digitalocean.Droplet(\"webDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n});\nconst webFirewall = new digitalocean.Firewall(\"webFirewall\", {\n dropletIds: [webDroplet.id],\n inboundRules: [\n {\n protocol: \"tcp\",\n portRange: \"22\",\n sourceAddresses: [\n \"192.168.1.0/24\",\n \"2002:1:2::/48\",\n ],\n },\n {\n protocol: \"tcp\",\n portRange: \"80\",\n sourceAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n {\n protocol: \"tcp\",\n portRange: \"443\",\n sourceAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n {\n protocol: \"icmp\",\n sourceAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n ],\n outboundRules: [\n {\n protocol: \"tcp\",\n portRange: \"53\",\n destinationAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n {\n protocol: \"udp\",\n portRange: \"53\",\n destinationAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n {\n protocol: \"icmp\",\n destinationAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb_droplet = digitalocean.Droplet(\"webDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\")\nweb_firewall = digitalocean.Firewall(\"webFirewall\",\n droplet_ids=[web_droplet.id],\n inbound_rules=[\n digitalocean.FirewallInboundRuleArgs(\n protocol=\"tcp\",\n port_range=\"22\",\n source_addresses=[\n \"192.168.1.0/24\",\n \"2002:1:2::/48\",\n ],\n ),\n digitalocean.FirewallInboundRuleArgs(\n protocol=\"tcp\",\n port_range=\"80\",\n source_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n digitalocean.FirewallInboundRuleArgs(\n protocol=\"tcp\",\n port_range=\"443\",\n source_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n digitalocean.FirewallInboundRuleArgs(\n protocol=\"icmp\",\n source_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n ],\n outbound_rules=[\n digitalocean.FirewallOutboundRuleArgs(\n protocol=\"tcp\",\n port_range=\"53\",\n destination_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n digitalocean.FirewallOutboundRuleArgs(\n protocol=\"udp\",\n port_range=\"53\",\n destination_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n digitalocean.FirewallOutboundRuleArgs(\n protocol=\"icmp\",\n destination_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var webDroplet = new DigitalOcean.Droplet(\"webDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n });\n\n var webFirewall = new DigitalOcean.Firewall(\"webFirewall\", new()\n {\n DropletIds = new[]\n {\n webDroplet.Id,\n },\n InboundRules = new[]\n {\n new DigitalOcean.Inputs.FirewallInboundRuleArgs\n {\n Protocol = \"tcp\",\n PortRange = \"22\",\n SourceAddresses = new[]\n {\n \"192.168.1.0/24\",\n \"2002:1:2::/48\",\n },\n },\n new DigitalOcean.Inputs.FirewallInboundRuleArgs\n {\n Protocol = \"tcp\",\n PortRange = \"80\",\n SourceAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n new DigitalOcean.Inputs.FirewallInboundRuleArgs\n {\n Protocol = \"tcp\",\n PortRange = \"443\",\n SourceAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n new DigitalOcean.Inputs.FirewallInboundRuleArgs\n {\n Protocol = \"icmp\",\n SourceAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n },\n OutboundRules = new[]\n {\n new DigitalOcean.Inputs.FirewallOutboundRuleArgs\n {\n Protocol = \"tcp\",\n PortRange = \"53\",\n DestinationAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n new DigitalOcean.Inputs.FirewallOutboundRuleArgs\n {\n Protocol = \"udp\",\n PortRange = \"53\",\n DestinationAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n new DigitalOcean.Inputs.FirewallOutboundRuleArgs\n {\n Protocol = \"icmp\",\n DestinationAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twebDroplet, err := digitalocean.NewDroplet(ctx, \"webDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewFirewall(ctx, \"webFirewall\", \u0026digitalocean.FirewallArgs{\n\t\t\tDropletIds: pulumi.IntArray{\n\t\t\t\twebDroplet.ID(),\n\t\t\t},\n\t\t\tInboundRules: digitalocean.FirewallInboundRuleArray{\n\t\t\t\t\u0026digitalocean.FirewallInboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"22\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t\t\t\tpulumi.String(\"2002:1:2::/48\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallInboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"80\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallInboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"443\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallInboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"icmp\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutboundRules: digitalocean.FirewallOutboundRuleArray{\n\t\t\t\t\u0026digitalocean.FirewallOutboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"53\"),\n\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallOutboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"udp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"53\"),\n\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallOutboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"icmp\"),\n\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.Firewall;\nimport com.pulumi.digitalocean.FirewallArgs;\nimport com.pulumi.digitalocean.inputs.FirewallInboundRuleArgs;\nimport com.pulumi.digitalocean.inputs.FirewallOutboundRuleArgs;\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 webDroplet = new Droplet(\"webDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var webFirewall = new Firewall(\"webFirewall\", FirewallArgs.builder() \n .dropletIds(webDroplet.id())\n .inboundRules( \n FirewallInboundRuleArgs.builder()\n .protocol(\"tcp\")\n .portRange(\"22\")\n .sourceAddresses( \n \"192.168.1.0/24\",\n \"2002:1:2::/48\")\n .build(),\n FirewallInboundRuleArgs.builder()\n .protocol(\"tcp\")\n .portRange(\"80\")\n .sourceAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build(),\n FirewallInboundRuleArgs.builder()\n .protocol(\"tcp\")\n .portRange(\"443\")\n .sourceAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build(),\n FirewallInboundRuleArgs.builder()\n .protocol(\"icmp\")\n .sourceAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build())\n .outboundRules( \n FirewallOutboundRuleArgs.builder()\n .protocol(\"tcp\")\n .portRange(\"53\")\n .destinationAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build(),\n FirewallOutboundRuleArgs.builder()\n .protocol(\"udp\")\n .portRange(\"53\")\n .destinationAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build(),\n FirewallOutboundRuleArgs.builder()\n .protocol(\"icmp\")\n .destinationAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n webDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n webFirewall:\n type: digitalocean:Firewall\n properties:\n dropletIds:\n - ${webDroplet.id}\n inboundRules:\n - protocol: tcp\n portRange: '22'\n sourceAddresses:\n - 192.168.1.0/24\n - 2002:1:2::/48\n - protocol: tcp\n portRange: '80'\n sourceAddresses:\n - 0.0.0.0/0\n - ::/0\n - protocol: tcp\n portRange: '443'\n sourceAddresses:\n - 0.0.0.0/0\n - ::/0\n - protocol: icmp\n sourceAddresses:\n - 0.0.0.0/0\n - ::/0\n outboundRules:\n - protocol: tcp\n portRange: '53'\n destinationAddresses:\n - 0.0.0.0/0\n - ::/0\n - protocol: udp\n portRange: '53'\n destinationAddresses:\n - 0.0.0.0/0\n - ::/0\n - protocol: icmp\n destinationAddresses:\n - 0.0.0.0/0\n - ::/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFirewalls can be imported using the firewall `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/firewall:Firewall myfirewall b8ecd2ab-2267-4a5e-8692-cbf1d32583e3\n```\n\n", + "description": "Provides a DigitalOcean Cloud Firewall resource. This can be used to create,\nmodify, and delete Firewalls.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst webDroplet = new digitalocean.Droplet(\"webDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC3,\n});\nconst webFirewall = new digitalocean.Firewall(\"webFirewall\", {\n dropletIds: [webDroplet.id],\n inboundRules: [\n {\n protocol: \"tcp\",\n portRange: \"22\",\n sourceAddresses: [\n \"192.168.1.0/24\",\n \"2002:1:2::/48\",\n ],\n },\n {\n protocol: \"tcp\",\n portRange: \"80\",\n sourceAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n {\n protocol: \"tcp\",\n portRange: \"443\",\n sourceAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n {\n protocol: \"icmp\",\n sourceAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n ],\n outboundRules: [\n {\n protocol: \"tcp\",\n portRange: \"53\",\n destinationAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n {\n protocol: \"udp\",\n portRange: \"53\",\n destinationAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n {\n protocol: \"icmp\",\n destinationAddresses: [\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb_droplet = digitalocean.Droplet(\"webDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC3)\nweb_firewall = digitalocean.Firewall(\"webFirewall\",\n droplet_ids=[web_droplet.id],\n inbound_rules=[\n digitalocean.FirewallInboundRuleArgs(\n protocol=\"tcp\",\n port_range=\"22\",\n source_addresses=[\n \"192.168.1.0/24\",\n \"2002:1:2::/48\",\n ],\n ),\n digitalocean.FirewallInboundRuleArgs(\n protocol=\"tcp\",\n port_range=\"80\",\n source_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n digitalocean.FirewallInboundRuleArgs(\n protocol=\"tcp\",\n port_range=\"443\",\n source_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n digitalocean.FirewallInboundRuleArgs(\n protocol=\"icmp\",\n source_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n ],\n outbound_rules=[\n digitalocean.FirewallOutboundRuleArgs(\n protocol=\"tcp\",\n port_range=\"53\",\n destination_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n digitalocean.FirewallOutboundRuleArgs(\n protocol=\"udp\",\n port_range=\"53\",\n destination_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n digitalocean.FirewallOutboundRuleArgs(\n protocol=\"icmp\",\n destination_addresses=[\n \"0.0.0.0/0\",\n \"::/0\",\n ],\n ),\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var webDroplet = new DigitalOcean.Droplet(\"webDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n });\n\n var webFirewall = new DigitalOcean.Firewall(\"webFirewall\", new()\n {\n DropletIds = new[]\n {\n webDroplet.Id,\n },\n InboundRules = new[]\n {\n new DigitalOcean.Inputs.FirewallInboundRuleArgs\n {\n Protocol = \"tcp\",\n PortRange = \"22\",\n SourceAddresses = new[]\n {\n \"192.168.1.0/24\",\n \"2002:1:2::/48\",\n },\n },\n new DigitalOcean.Inputs.FirewallInboundRuleArgs\n {\n Protocol = \"tcp\",\n PortRange = \"80\",\n SourceAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n new DigitalOcean.Inputs.FirewallInboundRuleArgs\n {\n Protocol = \"tcp\",\n PortRange = \"443\",\n SourceAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n new DigitalOcean.Inputs.FirewallInboundRuleArgs\n {\n Protocol = \"icmp\",\n SourceAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n },\n OutboundRules = new[]\n {\n new DigitalOcean.Inputs.FirewallOutboundRuleArgs\n {\n Protocol = \"tcp\",\n PortRange = \"53\",\n DestinationAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n new DigitalOcean.Inputs.FirewallOutboundRuleArgs\n {\n Protocol = \"udp\",\n PortRange = \"53\",\n DestinationAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n new DigitalOcean.Inputs.FirewallOutboundRuleArgs\n {\n Protocol = \"icmp\",\n DestinationAddresses = new[]\n {\n \"0.0.0.0/0\",\n \"::/0\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twebDroplet, err := digitalocean.NewDroplet(ctx, \"webDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewFirewall(ctx, \"webFirewall\", \u0026digitalocean.FirewallArgs{\n\t\t\tDropletIds: pulumi.IntArray{\n\t\t\t\twebDroplet.ID(),\n\t\t\t},\n\t\t\tInboundRules: digitalocean.FirewallInboundRuleArray{\n\t\t\t\t\u0026digitalocean.FirewallInboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"22\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"192.168.1.0/24\"),\n\t\t\t\t\t\tpulumi.String(\"2002:1:2::/48\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallInboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"80\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallInboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"443\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallInboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"icmp\"),\n\t\t\t\t\tSourceAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOutboundRules: digitalocean.FirewallOutboundRuleArray{\n\t\t\t\t\u0026digitalocean.FirewallOutboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"53\"),\n\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallOutboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"udp\"),\n\t\t\t\t\tPortRange: pulumi.String(\"53\"),\n\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.FirewallOutboundRuleArgs{\n\t\t\t\t\tProtocol: pulumi.String(\"icmp\"),\n\t\t\t\t\tDestinationAddresses: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\t\tpulumi.String(\"::/0\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.Firewall;\nimport com.pulumi.digitalocean.FirewallArgs;\nimport com.pulumi.digitalocean.inputs.FirewallInboundRuleArgs;\nimport com.pulumi.digitalocean.inputs.FirewallOutboundRuleArgs;\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 webDroplet = new Droplet(\"webDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var webFirewall = new Firewall(\"webFirewall\", FirewallArgs.builder() \n .dropletIds(webDroplet.id())\n .inboundRules( \n FirewallInboundRuleArgs.builder()\n .protocol(\"tcp\")\n .portRange(\"22\")\n .sourceAddresses( \n \"192.168.1.0/24\",\n \"2002:1:2::/48\")\n .build(),\n FirewallInboundRuleArgs.builder()\n .protocol(\"tcp\")\n .portRange(\"80\")\n .sourceAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build(),\n FirewallInboundRuleArgs.builder()\n .protocol(\"tcp\")\n .portRange(\"443\")\n .sourceAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build(),\n FirewallInboundRuleArgs.builder()\n .protocol(\"icmp\")\n .sourceAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build())\n .outboundRules( \n FirewallOutboundRuleArgs.builder()\n .protocol(\"tcp\")\n .portRange(\"53\")\n .destinationAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build(),\n FirewallOutboundRuleArgs.builder()\n .protocol(\"udp\")\n .portRange(\"53\")\n .destinationAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build(),\n FirewallOutboundRuleArgs.builder()\n .protocol(\"icmp\")\n .destinationAddresses( \n \"0.0.0.0/0\",\n \"::/0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n webDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n webFirewall:\n type: digitalocean:Firewall\n properties:\n dropletIds:\n - ${webDroplet.id}\n inboundRules:\n - protocol: tcp\n portRange: '22'\n sourceAddresses:\n - 192.168.1.0/24\n - 2002:1:2::/48\n - protocol: tcp\n portRange: '80'\n sourceAddresses:\n - 0.0.0.0/0\n - ::/0\n - protocol: tcp\n portRange: '443'\n sourceAddresses:\n - 0.0.0.0/0\n - ::/0\n - protocol: icmp\n sourceAddresses:\n - 0.0.0.0/0\n - ::/0\n outboundRules:\n - protocol: tcp\n portRange: '53'\n destinationAddresses:\n - 0.0.0.0/0\n - ::/0\n - protocol: udp\n portRange: '53'\n destinationAddresses:\n - 0.0.0.0/0\n - ::/0\n - protocol: icmp\n destinationAddresses:\n - 0.0.0.0/0\n - ::/0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFirewalls can be imported using the firewall `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/firewall:Firewall myfirewall b8ecd2ab-2267-4a5e-8692-cbf1d32583e3\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -10633,7 +10633,7 @@ } }, "digitalocean:index/floatingIp:FloatingIp": { - "description": "\u003e **Deprecated:** DigitalOcean Floating IPs have been renamed reserved IPs. This resource will be removed in a future release. Please use `digitalocean.ReservedIp` instead.\n\nProvides a DigitalOcean Floating IP to represent a publicly-accessible static IP addresses that can be mapped to one of your Droplets.\n\n\u003e **NOTE:** Floating IPs can be assigned to a Droplet either directly on the `digitalocean.FloatingIp` resource by setting a `droplet_id` or using the `digitalocean.FloatingIpAssignment` resource, but the two cannot be used together.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarDroplet = new digitalocean.Droplet(\"foobarDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"sgp1\",\n ipv6: true,\n privateNetworking: true,\n});\nconst foobarFloatingIp = new digitalocean.FloatingIp(\"foobarFloatingIp\", {\n dropletId: foobarDroplet.id,\n region: foobarDroplet.region,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_droplet = digitalocean.Droplet(\"foobarDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"sgp1\",\n ipv6=True,\n private_networking=True)\nfoobar_floating_ip = digitalocean.FloatingIp(\"foobarFloatingIp\",\n droplet_id=foobar_droplet.id,\n region=foobar_droplet.region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarDroplet = new DigitalOcean.Droplet(\"foobarDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"sgp1\",\n Ipv6 = true,\n PrivateNetworking = true,\n });\n\n var foobarFloatingIp = new DigitalOcean.FloatingIp(\"foobarFloatingIp\", new()\n {\n DropletId = foobarDroplet.Id,\n Region = foobarDroplet.Region,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarDroplet, err := digitalocean.NewDroplet(ctx, \"foobarDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"sgp1\"),\n\t\t\tIpv6: pulumi.Bool(true),\n\t\t\tPrivateNetworking: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewFloatingIp(ctx, \"foobarFloatingIp\", \u0026digitalocean.FloatingIpArgs{\n\t\t\tDropletId: foobarDroplet.ID(),\n\t\t\tRegion: foobarDroplet.Region,\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.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.FloatingIp;\nimport com.pulumi.digitalocean.FloatingIpArgs;\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 foobarDroplet = new Droplet(\"foobarDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"sgp1\")\n .ipv6(true)\n .privateNetworking(true)\n .build());\n\n var foobarFloatingIp = new FloatingIp(\"foobarFloatingIp\", FloatingIpArgs.builder() \n .dropletId(foobarDroplet.id())\n .region(foobarDroplet.region())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: sgp1\n ipv6: true\n privateNetworking: true\n foobarFloatingIp:\n type: digitalocean:FloatingIp\n properties:\n dropletId: ${foobarDroplet.id}\n region: ${foobarDroplet.region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFloating IPs can be imported using the `ip`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/floatingIp:FloatingIp myip 192.168.0.1\n```\n\n", + "description": "\u003e **Deprecated:** DigitalOcean Floating IPs have been renamed reserved IPs. This resource will be removed in a future release. Please use `digitalocean.ReservedIp` instead.\n\nProvides a DigitalOcean Floating IP to represent a publicly-accessible static IP addresses that can be mapped to one of your Droplets.\n\n\u003e **NOTE:** Floating IPs can be assigned to a Droplet either directly on the `digitalocean.FloatingIp` resource by setting a `droplet_id` or using the `digitalocean.FloatingIpAssignment` resource, but the two cannot be used together.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarDroplet = new digitalocean.Droplet(\"foobarDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.SGP1,\n ipv6: true,\n privateNetworking: true,\n});\nconst foobarFloatingIp = new digitalocean.FloatingIp(\"foobarFloatingIp\", {\n dropletId: foobarDroplet.id,\n region: foobarDroplet.region,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_droplet = digitalocean.Droplet(\"foobarDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.SGP1,\n ipv6=True,\n private_networking=True)\nfoobar_floating_ip = digitalocean.FloatingIp(\"foobarFloatingIp\",\n droplet_id=foobar_droplet.id,\n region=foobar_droplet.region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarDroplet = new DigitalOcean.Droplet(\"foobarDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.SGP1,\n Ipv6 = true,\n PrivateNetworking = true,\n });\n\n var foobarFloatingIp = new DigitalOcean.FloatingIp(\"foobarFloatingIp\", new()\n {\n DropletId = foobarDroplet.Id,\n Region = foobarDroplet.Region,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarDroplet, err := digitalocean.NewDroplet(ctx, \"foobarDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionSGP1),\n\t\t\tIpv6: pulumi.Bool(true),\n\t\t\tPrivateNetworking: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewFloatingIp(ctx, \"foobarFloatingIp\", \u0026digitalocean.FloatingIpArgs{\n\t\t\tDropletId: foobarDroplet.ID(),\n\t\t\tRegion: foobarDroplet.Region,\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.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.FloatingIp;\nimport com.pulumi.digitalocean.FloatingIpArgs;\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 foobarDroplet = new Droplet(\"foobarDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"sgp1\")\n .ipv6(true)\n .privateNetworking(true)\n .build());\n\n var foobarFloatingIp = new FloatingIp(\"foobarFloatingIp\", FloatingIpArgs.builder() \n .dropletId(foobarDroplet.id())\n .region(foobarDroplet.region())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: sgp1\n ipv6: true\n privateNetworking: true\n foobarFloatingIp:\n type: digitalocean:FloatingIp\n properties:\n dropletId: ${foobarDroplet.id}\n region: ${foobarDroplet.region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFloating IPs can be imported using the `ip`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/floatingIp:FloatingIp myip 192.168.0.1\n```\n\n", "properties": { "dropletId": { "type": "integer", @@ -10700,7 +10700,7 @@ } }, "digitalocean:index/floatingIpAssignment:FloatingIpAssignment": { - "description": "\u003e **Deprecated:** DigitalOcean Floating IPs have been renamed reserved IPs. This resource will be removed in a future release. Please use `digitalocean.ReservedIpAssignment` instead.\n\nProvides a resource for assigning an existing DigitalOcean Floating IP to a Droplet. This\nmakes it easy to provision floating IP addresses that are not tied to the lifecycle of your\nDroplet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarFloatingIp = new digitalocean.FloatingIp(\"foobarFloatingIp\", {region: \"sgp1\"});\nconst foobarDroplet = new digitalocean.Droplet(\"foobarDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"sgp1\",\n ipv6: true,\n privateNetworking: true,\n});\nconst foobarFloatingIpAssignment = new digitalocean.FloatingIpAssignment(\"foobarFloatingIpAssignment\", {\n ipAddress: foobarFloatingIp.ipAddress,\n dropletId: foobarDroplet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_floating_ip = digitalocean.FloatingIp(\"foobarFloatingIp\", region=\"sgp1\")\nfoobar_droplet = digitalocean.Droplet(\"foobarDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"sgp1\",\n ipv6=True,\n private_networking=True)\nfoobar_floating_ip_assignment = digitalocean.FloatingIpAssignment(\"foobarFloatingIpAssignment\",\n ip_address=foobar_floating_ip.ip_address,\n droplet_id=foobar_droplet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarFloatingIp = new DigitalOcean.FloatingIp(\"foobarFloatingIp\", new()\n {\n Region = \"sgp1\",\n });\n\n var foobarDroplet = new DigitalOcean.Droplet(\"foobarDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"sgp1\",\n Ipv6 = true,\n PrivateNetworking = true,\n });\n\n var foobarFloatingIpAssignment = new DigitalOcean.FloatingIpAssignment(\"foobarFloatingIpAssignment\", new()\n {\n IpAddress = foobarFloatingIp.IpAddress,\n DropletId = foobarDroplet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarFloatingIp, err := digitalocean.NewFloatingIp(ctx, \"foobarFloatingIp\", \u0026digitalocean.FloatingIpArgs{\n\t\t\tRegion: pulumi.String(\"sgp1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoobarDroplet, err := digitalocean.NewDroplet(ctx, \"foobarDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"sgp1\"),\n\t\t\tIpv6: pulumi.Bool(true),\n\t\t\tPrivateNetworking: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewFloatingIpAssignment(ctx, \"foobarFloatingIpAssignment\", \u0026digitalocean.FloatingIpAssignmentArgs{\n\t\t\tIpAddress: foobarFloatingIp.IpAddress,\n\t\t\tDropletId: foobarDroplet.ID(),\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.digitalocean.FloatingIp;\nimport com.pulumi.digitalocean.FloatingIpArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.FloatingIpAssignment;\nimport com.pulumi.digitalocean.FloatingIpAssignmentArgs;\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 foobarFloatingIp = new FloatingIp(\"foobarFloatingIp\", FloatingIpArgs.builder() \n .region(\"sgp1\")\n .build());\n\n var foobarDroplet = new Droplet(\"foobarDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"sgp1\")\n .ipv6(true)\n .privateNetworking(true)\n .build());\n\n var foobarFloatingIpAssignment = new FloatingIpAssignment(\"foobarFloatingIpAssignment\", FloatingIpAssignmentArgs.builder() \n .ipAddress(foobarFloatingIp.ipAddress())\n .dropletId(foobarDroplet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarFloatingIp:\n type: digitalocean:FloatingIp\n properties:\n region: sgp1\n foobarDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: sgp1\n ipv6: true\n privateNetworking: true\n foobarFloatingIpAssignment:\n type: digitalocean:FloatingIpAssignment\n properties:\n ipAddress: ${foobarFloatingIp.ipAddress}\n dropletId: ${foobarDroplet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFloating IP assignments can be imported using the Floating IP itself and the `id` of\n\nthe Droplet joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/floatingIpAssignment:FloatingIpAssignment foobar 192.0.2.1,123456\n```\n\n", + "description": "\u003e **Deprecated:** DigitalOcean Floating IPs have been renamed reserved IPs. This resource will be removed in a future release. Please use `digitalocean.ReservedIpAssignment` instead.\n\nProvides a resource for assigning an existing DigitalOcean Floating IP to a Droplet. This\nmakes it easy to provision floating IP addresses that are not tied to the lifecycle of your\nDroplet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarFloatingIp = new digitalocean.FloatingIp(\"foobarFloatingIp\", {region: \"sgp1\"});\nconst foobarDroplet = new digitalocean.Droplet(\"foobarDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.SGP1,\n ipv6: true,\n privateNetworking: true,\n});\nconst foobarFloatingIpAssignment = new digitalocean.FloatingIpAssignment(\"foobarFloatingIpAssignment\", {\n ipAddress: foobarFloatingIp.ipAddress,\n dropletId: foobarDroplet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_floating_ip = digitalocean.FloatingIp(\"foobarFloatingIp\", region=\"sgp1\")\nfoobar_droplet = digitalocean.Droplet(\"foobarDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.SGP1,\n ipv6=True,\n private_networking=True)\nfoobar_floating_ip_assignment = digitalocean.FloatingIpAssignment(\"foobarFloatingIpAssignment\",\n ip_address=foobar_floating_ip.ip_address,\n droplet_id=foobar_droplet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarFloatingIp = new DigitalOcean.FloatingIp(\"foobarFloatingIp\", new()\n {\n Region = \"sgp1\",\n });\n\n var foobarDroplet = new DigitalOcean.Droplet(\"foobarDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.SGP1,\n Ipv6 = true,\n PrivateNetworking = true,\n });\n\n var foobarFloatingIpAssignment = new DigitalOcean.FloatingIpAssignment(\"foobarFloatingIpAssignment\", new()\n {\n IpAddress = foobarFloatingIp.IpAddress,\n DropletId = foobarDroplet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarFloatingIp, err := digitalocean.NewFloatingIp(ctx, \"foobarFloatingIp\", \u0026digitalocean.FloatingIpArgs{\n\t\t\tRegion: pulumi.String(\"sgp1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoobarDroplet, err := digitalocean.NewDroplet(ctx, \"foobarDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionSGP1),\n\t\t\tIpv6: pulumi.Bool(true),\n\t\t\tPrivateNetworking: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewFloatingIpAssignment(ctx, \"foobarFloatingIpAssignment\", \u0026digitalocean.FloatingIpAssignmentArgs{\n\t\t\tIpAddress: foobarFloatingIp.IpAddress,\n\t\t\tDropletId: foobarDroplet.ID(),\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.digitalocean.FloatingIp;\nimport com.pulumi.digitalocean.FloatingIpArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.FloatingIpAssignment;\nimport com.pulumi.digitalocean.FloatingIpAssignmentArgs;\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 foobarFloatingIp = new FloatingIp(\"foobarFloatingIp\", FloatingIpArgs.builder() \n .region(\"sgp1\")\n .build());\n\n var foobarDroplet = new Droplet(\"foobarDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"sgp1\")\n .ipv6(true)\n .privateNetworking(true)\n .build());\n\n var foobarFloatingIpAssignment = new FloatingIpAssignment(\"foobarFloatingIpAssignment\", FloatingIpAssignmentArgs.builder() \n .ipAddress(foobarFloatingIp.ipAddress())\n .dropletId(foobarDroplet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarFloatingIp:\n type: digitalocean:FloatingIp\n properties:\n region: sgp1\n foobarDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: sgp1\n ipv6: true\n privateNetworking: true\n foobarFloatingIpAssignment:\n type: digitalocean:FloatingIpAssignment\n properties:\n ipAddress: ${foobarFloatingIp.ipAddress}\n dropletId: ${foobarDroplet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFloating IP assignments can be imported using the Floating IP itself and the `id` of\n\nthe Droplet joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/floatingIpAssignment:FloatingIpAssignment foobar 192.0.2.1,123456\n```\n\n", "properties": { "dropletId": { "type": "integer", @@ -11037,7 +11037,7 @@ } }, "digitalocean:index/kubernetesNodePool:KubernetesNodePool": { - "description": "Provides a DigitalOcean Kubernetes node pool resource. While the default node pool must be defined in the `digitalocean.KubernetesCluster` resource, this resource can be used to add additional ones to a cluster.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foo = new digitalocean.KubernetesCluster(\"foo\", {\n region: \"nyc1\",\n version: \"1.22.8-do.1\",\n nodePool: {\n name: \"front-end-pool\",\n size: \"s-2vcpu-2gb\",\n nodeCount: 3,\n },\n});\nconst bar = new digitalocean.KubernetesNodePool(\"bar\", {\n clusterId: foo.id,\n size: \"c-2\",\n nodeCount: 2,\n tags: [\"backend\"],\n labels: {\n service: \"backend\",\n priority: \"high\",\n },\n taints: [{\n key: \"workloadKind\",\n value: \"database\",\n effect: \"NoSchedule\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoo = digitalocean.KubernetesCluster(\"foo\",\n region=\"nyc1\",\n version=\"1.22.8-do.1\",\n node_pool=digitalocean.KubernetesClusterNodePoolArgs(\n name=\"front-end-pool\",\n size=\"s-2vcpu-2gb\",\n node_count=3,\n ))\nbar = digitalocean.KubernetesNodePool(\"bar\",\n cluster_id=foo.id,\n size=\"c-2\",\n node_count=2,\n tags=[\"backend\"],\n labels={\n \"service\": \"backend\",\n \"priority\": \"high\",\n },\n taints=[digitalocean.KubernetesNodePoolTaintArgs(\n key=\"workloadKind\",\n value=\"database\",\n effect=\"NoSchedule\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new DigitalOcean.KubernetesCluster(\"foo\", new()\n {\n Region = \"nyc1\",\n Version = \"1.22.8-do.1\",\n NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs\n {\n Name = \"front-end-pool\",\n Size = \"s-2vcpu-2gb\",\n NodeCount = 3,\n },\n });\n\n var bar = new DigitalOcean.KubernetesNodePool(\"bar\", new()\n {\n ClusterId = foo.Id,\n Size = \"c-2\",\n NodeCount = 2,\n Tags = new[]\n {\n \"backend\",\n },\n Labels = \n {\n { \"service\", \"backend\" },\n { \"priority\", \"high\" },\n },\n Taints = new[]\n {\n new DigitalOcean.Inputs.KubernetesNodePoolTaintArgs\n {\n Key = \"workloadKind\",\n Value = \"database\",\n Effect = \"NoSchedule\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := digitalocean.NewKubernetesCluster(ctx, \"foo\", \u0026digitalocean.KubernetesClusterArgs{\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tVersion: pulumi.String(\"1.22.8-do.1\"),\n\t\t\tNodePool: \u0026digitalocean.KubernetesClusterNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"front-end-pool\"),\n\t\t\t\tSize: pulumi.String(\"s-2vcpu-2gb\"),\n\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewKubernetesNodePool(ctx, \"bar\", \u0026digitalocean.KubernetesNodePoolArgs{\n\t\t\tClusterId: foo.ID(),\n\t\t\tSize: pulumi.String(\"c-2\"),\n\t\t\tNodeCount: pulumi.Int(2),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"backend\"),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"service\": pulumi.String(\"backend\"),\n\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t},\n\t\t\tTaints: digitalocean.KubernetesNodePoolTaintArray{\n\t\t\t\t\u0026digitalocean.KubernetesNodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"workloadKind\"),\n\t\t\t\t\tValue: pulumi.String(\"database\"),\n\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.KubernetesCluster;\nimport com.pulumi.digitalocean.KubernetesClusterArgs;\nimport com.pulumi.digitalocean.inputs.KubernetesClusterNodePoolArgs;\nimport com.pulumi.digitalocean.KubernetesNodePool;\nimport com.pulumi.digitalocean.KubernetesNodePoolArgs;\nimport com.pulumi.digitalocean.inputs.KubernetesNodePoolTaintArgs;\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 foo = new KubernetesCluster(\"foo\", KubernetesClusterArgs.builder() \n .region(\"nyc1\")\n .version(\"1.22.8-do.1\")\n .nodePool(KubernetesClusterNodePoolArgs.builder()\n .name(\"front-end-pool\")\n .size(\"s-2vcpu-2gb\")\n .nodeCount(3)\n .build())\n .build());\n\n var bar = new KubernetesNodePool(\"bar\", KubernetesNodePoolArgs.builder() \n .clusterId(foo.id())\n .size(\"c-2\")\n .nodeCount(2)\n .tags(\"backend\")\n .labels(Map.ofEntries(\n Map.entry(\"service\", \"backend\"),\n Map.entry(\"priority\", \"high\")\n ))\n .taints(KubernetesNodePoolTaintArgs.builder()\n .key(\"workloadKind\")\n .value(\"database\")\n .effect(\"NoSchedule\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: digitalocean:KubernetesCluster\n properties:\n region: nyc1\n version: 1.22.8-do.1\n nodePool:\n name: front-end-pool\n size: s-2vcpu-2gb\n nodeCount: 3\n bar:\n type: digitalocean:KubernetesNodePool\n properties:\n clusterId: ${foo.id}\n size: c-2\n nodeCount: 2\n tags:\n - backend\n labels:\n service: backend\n priority: high\n taints:\n - key: workloadKind\n value: database\n effect: NoSchedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Autoscaling Example\n\nNode pools may also be configured to [autoscale](https://www.digitalocean.com/docs/kubernetes/how-to/autoscale/).\nFor example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst autoscale_pool_01 = new digitalocean.KubernetesNodePool(\"autoscale-pool-01\", {\n clusterId: digitalocean_kubernetes_cluster.foo.id,\n size: \"s-1vcpu-2gb\",\n autoScale: true,\n minNodes: 1,\n maxNodes: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nautoscale_pool_01 = digitalocean.KubernetesNodePool(\"autoscale-pool-01\",\n cluster_id=digitalocean_kubernetes_cluster[\"foo\"][\"id\"],\n size=\"s-1vcpu-2gb\",\n auto_scale=True,\n min_nodes=1,\n max_nodes=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var autoscale_pool_01 = new DigitalOcean.KubernetesNodePool(\"autoscale-pool-01\", new()\n {\n ClusterId = digitalocean_kubernetes_cluster.Foo.Id,\n Size = \"s-1vcpu-2gb\",\n AutoScale = true,\n MinNodes = 1,\n MaxNodes = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewKubernetesNodePool(ctx, \"autoscale-pool-01\", \u0026digitalocean.KubernetesNodePoolArgs{\n\t\t\tClusterId: pulumi.Any(digitalocean_kubernetes_cluster.Foo.Id),\n\t\t\tSize: pulumi.String(\"s-1vcpu-2gb\"),\n\t\t\tAutoScale: pulumi.Bool(true),\n\t\t\tMinNodes: pulumi.Int(1),\n\t\t\tMaxNodes: pulumi.Int(5),\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.digitalocean.KubernetesNodePool;\nimport com.pulumi.digitalocean.KubernetesNodePoolArgs;\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 autoscale_pool_01 = new KubernetesNodePool(\"autoscale-pool-01\", KubernetesNodePoolArgs.builder() \n .clusterId(digitalocean_kubernetes_cluster.foo().id())\n .size(\"s-1vcpu-2gb\")\n .autoScale(true)\n .minNodes(1)\n .maxNodes(5)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n autoscale-pool-01:\n type: digitalocean:KubernetesNodePool\n properties:\n clusterId: ${digitalocean_kubernetes_cluster.foo.id}\n size: s-1vcpu-2gb\n autoScale: true\n minNodes: 1\n maxNodes: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf you are importing an existing Kubernetes cluster with a single node pool, just\n\nimport the cluster. Additional node pools can be imported by using their `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/kubernetesNodePool:KubernetesNodePool mynodepool 9d76f410-9284-4436-9633-4066852442c8\n```\n\nNote: If the node pool has the `terraform:default-node-pool` tag, then it is a default node pool for an\n\nexisting cluster. The provider will refuse to import the node pool in that case because the node pool\n\nis managed by the `digitalocean_kubernetes_cluster` resource and not by this\n\n`digitalocean_kubernetes_node_pool` resource.\n\n", + "description": "Provides a DigitalOcean Kubernetes node pool resource. While the default node pool must be defined in the `digitalocean.KubernetesCluster` resource, this resource can be used to add additional ones to a cluster.\n\n## Example Usage\n\n### Basic Example\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foo = new digitalocean.KubernetesCluster(\"foo\", {\n region: digitalocean.Region.NYC1,\n version: \"1.22.8-do.1\",\n nodePool: {\n name: \"front-end-pool\",\n size: \"s-2vcpu-2gb\",\n nodeCount: 3,\n },\n});\nconst bar = new digitalocean.KubernetesNodePool(\"bar\", {\n clusterId: foo.id,\n size: digitalocean.DropletSlug.DropletC2,\n nodeCount: 2,\n tags: [\"backend\"],\n labels: {\n service: \"backend\",\n priority: \"high\",\n },\n taints: [{\n key: \"workloadKind\",\n value: \"database\",\n effect: \"NoSchedule\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoo = digitalocean.KubernetesCluster(\"foo\",\n region=digitalocean.Region.NYC1,\n version=\"1.22.8-do.1\",\n node_pool=digitalocean.KubernetesClusterNodePoolArgs(\n name=\"front-end-pool\",\n size=\"s-2vcpu-2gb\",\n node_count=3,\n ))\nbar = digitalocean.KubernetesNodePool(\"bar\",\n cluster_id=foo.id,\n size=digitalocean.DropletSlug.DROPLET_C2,\n node_count=2,\n tags=[\"backend\"],\n labels={\n \"service\": \"backend\",\n \"priority\": \"high\",\n },\n taints=[digitalocean.KubernetesNodePoolTaintArgs(\n key=\"workloadKind\",\n value=\"database\",\n effect=\"NoSchedule\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new DigitalOcean.KubernetesCluster(\"foo\", new()\n {\n Region = DigitalOcean.Region.NYC1,\n Version = \"1.22.8-do.1\",\n NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs\n {\n Name = \"front-end-pool\",\n Size = \"s-2vcpu-2gb\",\n NodeCount = 3,\n },\n });\n\n var bar = new DigitalOcean.KubernetesNodePool(\"bar\", new()\n {\n ClusterId = foo.Id,\n Size = DigitalOcean.DropletSlug.DropletC2,\n NodeCount = 2,\n Tags = new[]\n {\n \"backend\",\n },\n Labels = \n {\n { \"service\", \"backend\" },\n { \"priority\", \"high\" },\n },\n Taints = new[]\n {\n new DigitalOcean.Inputs.KubernetesNodePoolTaintArgs\n {\n Key = \"workloadKind\",\n Value = \"database\",\n Effect = \"NoSchedule\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := digitalocean.NewKubernetesCluster(ctx, \"foo\", \u0026digitalocean.KubernetesClusterArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tVersion: pulumi.String(\"1.22.8-do.1\"),\n\t\t\tNodePool: \u0026digitalocean.KubernetesClusterNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"front-end-pool\"),\n\t\t\t\tSize: pulumi.String(\"s-2vcpu-2gb\"),\n\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewKubernetesNodePool(ctx, \"bar\", \u0026digitalocean.KubernetesNodePoolArgs{\n\t\t\tClusterId: foo.ID(),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletC2),\n\t\t\tNodeCount: pulumi.Int(2),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"backend\"),\n\t\t\t},\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"service\": pulumi.String(\"backend\"),\n\t\t\t\t\"priority\": pulumi.String(\"high\"),\n\t\t\t},\n\t\t\tTaints: digitalocean.KubernetesNodePoolTaintArray{\n\t\t\t\t\u0026digitalocean.KubernetesNodePoolTaintArgs{\n\t\t\t\t\tKey: pulumi.String(\"workloadKind\"),\n\t\t\t\t\tValue: pulumi.String(\"database\"),\n\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.KubernetesCluster;\nimport com.pulumi.digitalocean.KubernetesClusterArgs;\nimport com.pulumi.digitalocean.inputs.KubernetesClusterNodePoolArgs;\nimport com.pulumi.digitalocean.KubernetesNodePool;\nimport com.pulumi.digitalocean.KubernetesNodePoolArgs;\nimport com.pulumi.digitalocean.inputs.KubernetesNodePoolTaintArgs;\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 foo = new KubernetesCluster(\"foo\", KubernetesClusterArgs.builder() \n .region(\"nyc1\")\n .version(\"1.22.8-do.1\")\n .nodePool(KubernetesClusterNodePoolArgs.builder()\n .name(\"front-end-pool\")\n .size(\"s-2vcpu-2gb\")\n .nodeCount(3)\n .build())\n .build());\n\n var bar = new KubernetesNodePool(\"bar\", KubernetesNodePoolArgs.builder() \n .clusterId(foo.id())\n .size(\"c-2\")\n .nodeCount(2)\n .tags(\"backend\")\n .labels(Map.ofEntries(\n Map.entry(\"service\", \"backend\"),\n Map.entry(\"priority\", \"high\")\n ))\n .taints(KubernetesNodePoolTaintArgs.builder()\n .key(\"workloadKind\")\n .value(\"database\")\n .effect(\"NoSchedule\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: digitalocean:KubernetesCluster\n properties:\n region: nyc1\n version: 1.22.8-do.1\n nodePool:\n name: front-end-pool\n size: s-2vcpu-2gb\n nodeCount: 3\n bar:\n type: digitalocean:KubernetesNodePool\n properties:\n clusterId: ${foo.id}\n size: c-2\n nodeCount: 2\n tags:\n - backend\n labels:\n service: backend\n priority: high\n taints:\n - key: workloadKind\n value: database\n effect: NoSchedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Autoscaling Example\n\nNode pools may also be configured to [autoscale](https://www.digitalocean.com/docs/kubernetes/how-to/autoscale/).\nFor example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst autoscale_pool_01 = new digitalocean.KubernetesNodePool(\"autoscale-pool-01\", {\n clusterId: digitalocean_kubernetes_cluster.foo.id,\n size: digitalocean.DropletSlug.DropletS1VCPU2GB,\n autoScale: true,\n minNodes: 1,\n maxNodes: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nautoscale_pool_01 = digitalocean.KubernetesNodePool(\"autoscale-pool-01\",\n cluster_id=digitalocean_kubernetes_cluster[\"foo\"][\"id\"],\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU2_GB,\n auto_scale=True,\n min_nodes=1,\n max_nodes=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var autoscale_pool_01 = new DigitalOcean.KubernetesNodePool(\"autoscale-pool-01\", new()\n {\n ClusterId = digitalocean_kubernetes_cluster.Foo.Id,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU2GB,\n AutoScale = true,\n MinNodes = 1,\n MaxNodes = 5,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewKubernetesNodePool(ctx, \"autoscale-pool-01\", \u0026digitalocean.KubernetesNodePoolArgs{\n\t\t\tClusterId: pulumi.Any(digitalocean_kubernetes_cluster.Foo.Id),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU2GB),\n\t\t\tAutoScale: pulumi.Bool(true),\n\t\t\tMinNodes: pulumi.Int(1),\n\t\t\tMaxNodes: pulumi.Int(5),\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.digitalocean.KubernetesNodePool;\nimport com.pulumi.digitalocean.KubernetesNodePoolArgs;\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 autoscale_pool_01 = new KubernetesNodePool(\"autoscale-pool-01\", KubernetesNodePoolArgs.builder() \n .clusterId(digitalocean_kubernetes_cluster.foo().id())\n .size(\"s-1vcpu-2gb\")\n .autoScale(true)\n .minNodes(1)\n .maxNodes(5)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n autoscale-pool-01:\n type: digitalocean:KubernetesNodePool\n properties:\n clusterId: ${digitalocean_kubernetes_cluster.foo.id}\n size: s-1vcpu-2gb\n autoScale: true\n minNodes: 1\n maxNodes: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nIf you are importing an existing Kubernetes cluster with a single node pool, just\n\nimport the cluster. Additional node pools can be imported by using their `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/kubernetesNodePool:KubernetesNodePool mynodepool 9d76f410-9284-4436-9633-4066852442c8\n```\n\nNote: If the node pool has the `terraform:default-node-pool` tag, then it is a default node pool for an\n\nexisting cluster. The provider will refuse to import the node pool in that case because the node pool\n\nis managed by the `digitalocean_kubernetes_cluster` resource and not by this\n\n`digitalocean_kubernetes_node_pool` resource.\n\n", "properties": { "actualNodeCount": { "type": "integer", @@ -11252,7 +11252,7 @@ } }, "digitalocean:index/loadBalancer:LoadBalancer": { - "description": "Provides a DigitalOcean Load Balancer resource. This can be used to create,\nmodify, and delete Load Balancers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web = new digitalocean.Droplet(\"web\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n});\nconst _public = new digitalocean.LoadBalancer(\"public\", {\n region: \"nyc3\",\n forwardingRules: [{\n entryPort: 80,\n entryProtocol: \"http\",\n targetPort: 80,\n targetProtocol: \"http\",\n }],\n healthcheck: {\n port: 22,\n protocol: \"tcp\",\n },\n dropletIds: [web.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb = digitalocean.Droplet(\"web\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\")\npublic = digitalocean.LoadBalancer(\"public\",\n region=\"nyc3\",\n forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs(\n entry_port=80,\n entry_protocol=\"http\",\n target_port=80,\n target_protocol=\"http\",\n )],\n healthcheck=digitalocean.LoadBalancerHealthcheckArgs(\n port=22,\n protocol=\"tcp\",\n ),\n droplet_ids=[web.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n });\n\n var @public = new DigitalOcean.LoadBalancer(\"public\", new()\n {\n Region = \"nyc3\",\n ForwardingRules = new[]\n {\n new DigitalOcean.Inputs.LoadBalancerForwardingRuleArgs\n {\n EntryPort = 80,\n EntryProtocol = \"http\",\n TargetPort = 80,\n TargetProtocol = \"http\",\n },\n },\n Healthcheck = new DigitalOcean.Inputs.LoadBalancerHealthcheckArgs\n {\n Port = 22,\n Protocol = \"tcp\",\n },\n DropletIds = new[]\n {\n web.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewLoadBalancer(ctx, \"public\", \u0026digitalocean.LoadBalancerArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{\n\t\t\t\t\u0026digitalocean.LoadBalancerForwardingRuleArgs{\n\t\t\t\t\tEntryPort: pulumi.Int(80),\n\t\t\t\t\tEntryProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tTargetPort: pulumi.Int(80),\n\t\t\t\t\tTargetProtocol: pulumi.String(\"http\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthcheck: \u0026digitalocean.LoadBalancerHealthcheckArgs{\n\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t},\n\t\t\tDropletIds: pulumi.IntArray{\n\t\t\t\tweb.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.LoadBalancer;\nimport com.pulumi.digitalocean.LoadBalancerArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerForwardingRuleArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerHealthcheckArgs;\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 web = new Droplet(\"web\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var public_ = new LoadBalancer(\"public\", LoadBalancerArgs.builder() \n .region(\"nyc3\")\n .forwardingRules(LoadBalancerForwardingRuleArgs.builder()\n .entryPort(80)\n .entryProtocol(\"http\")\n .targetPort(80)\n .targetProtocol(\"http\")\n .build())\n .healthcheck(LoadBalancerHealthcheckArgs.builder()\n .port(22)\n .protocol(\"tcp\")\n .build())\n .dropletIds(web.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n public:\n type: digitalocean:LoadBalancer\n properties:\n region: nyc3\n forwardingRules:\n - entryPort: 80\n entryProtocol: http\n targetPort: 80\n targetProtocol: http\n healthcheck:\n port: 22\n protocol: tcp\n dropletIds:\n - ${web.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWhen managing certificates attached to the load balancer, make sure to add the `create_before_destroy`\nlifecycle property in order to ensure the certificate is correctly updated when changed. The order of\noperations will then be: `Create new certificate` \u003e `Update loadbalancer with new certificate` -\u003e\n`Delete old certificate`. When doing so, you must also change the name of the certificate,\nas there cannot be multiple certificates with the same name in an account.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst cert = new digitalocean.Certificate(\"cert\", {\n privateKey: \"file('key.pem')\",\n leafCertificate: \"file('cert.pem')\",\n});\nconst web = new digitalocean.Droplet(\"web\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n});\nconst _public = new digitalocean.LoadBalancer(\"public\", {\n region: \"nyc3\",\n forwardingRules: [{\n entryPort: 443,\n entryProtocol: \"https\",\n targetPort: 80,\n targetProtocol: \"http\",\n certificateName: cert.name,\n }],\n healthcheck: {\n port: 22,\n protocol: \"tcp\",\n },\n dropletIds: [web.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ncert = digitalocean.Certificate(\"cert\",\n private_key=\"file('key.pem')\",\n leaf_certificate=\"file('cert.pem')\")\nweb = digitalocean.Droplet(\"web\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\")\npublic = digitalocean.LoadBalancer(\"public\",\n region=\"nyc3\",\n forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs(\n entry_port=443,\n entry_protocol=\"https\",\n target_port=80,\n target_protocol=\"http\",\n certificate_name=cert.name,\n )],\n healthcheck=digitalocean.LoadBalancerHealthcheckArgs(\n port=22,\n protocol=\"tcp\",\n ),\n droplet_ids=[web.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n PrivateKey = \"file('key.pem')\",\n LeafCertificate = \"file('cert.pem')\",\n });\n\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n });\n\n var @public = new DigitalOcean.LoadBalancer(\"public\", new()\n {\n Region = \"nyc3\",\n ForwardingRules = new[]\n {\n new DigitalOcean.Inputs.LoadBalancerForwardingRuleArgs\n {\n EntryPort = 443,\n EntryProtocol = \"https\",\n TargetPort = 80,\n TargetProtocol = \"http\",\n CertificateName = cert.Name,\n },\n },\n Healthcheck = new DigitalOcean.Inputs.LoadBalancerHealthcheckArgs\n {\n Port = 22,\n Protocol = \"tcp\",\n },\n DropletIds = new[]\n {\n web.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcert, err := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tPrivateKey: pulumi.String(\"file('key.pem')\"),\n\t\t\tLeafCertificate: pulumi.String(\"file('cert.pem')\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tweb, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewLoadBalancer(ctx, \"public\", \u0026digitalocean.LoadBalancerArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{\n\t\t\t\t\u0026digitalocean.LoadBalancerForwardingRuleArgs{\n\t\t\t\t\tEntryPort: pulumi.Int(443),\n\t\t\t\t\tEntryProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tTargetPort: pulumi.Int(80),\n\t\t\t\t\tTargetProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tCertificateName: cert.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthcheck: \u0026digitalocean.LoadBalancerHealthcheckArgs{\n\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t},\n\t\t\tDropletIds: pulumi.IntArray{\n\t\t\t\tweb.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.LoadBalancer;\nimport com.pulumi.digitalocean.LoadBalancerArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerForwardingRuleArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerHealthcheckArgs;\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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .privateKey(\"file('key.pem')\")\n .leafCertificate(\"file('cert.pem')\")\n .build());\n\n var web = new Droplet(\"web\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var public_ = new LoadBalancer(\"public\", LoadBalancerArgs.builder() \n .region(\"nyc3\")\n .forwardingRules(LoadBalancerForwardingRuleArgs.builder()\n .entryPort(443)\n .entryProtocol(\"https\")\n .targetPort(80)\n .targetProtocol(\"http\")\n .certificateName(cert.name())\n .build())\n .healthcheck(LoadBalancerHealthcheckArgs.builder()\n .port(22)\n .protocol(\"tcp\")\n .build())\n .dropletIds(web.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: digitalocean:Certificate\n properties:\n privateKey: file('key.pem')\n leafCertificate: file('cert.pem')\n web:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n public:\n type: digitalocean:LoadBalancer\n properties:\n region: nyc3\n forwardingRules:\n - entryPort: 443\n entryProtocol: https\n targetPort: 80\n targetProtocol: http\n certificateName: ${cert.name}\n healthcheck:\n port: 22\n protocol: tcp\n dropletIds:\n - ${web.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancers can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/loadBalancer:LoadBalancer myloadbalancer 4de7ac8b-495b-4884-9a69-1050c6793cd6\n```\n\n", + "description": "Provides a DigitalOcean Load Balancer resource. This can be used to create,\nmodify, and delete Load Balancers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web = new digitalocean.Droplet(\"web\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC3,\n});\nconst _public = new digitalocean.LoadBalancer(\"public\", {\n region: digitalocean.Region.NYC3,\n forwardingRules: [{\n entryPort: 80,\n entryProtocol: \"http\",\n targetPort: 80,\n targetProtocol: \"http\",\n }],\n healthcheck: {\n port: 22,\n protocol: \"tcp\",\n },\n dropletIds: [web.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb = digitalocean.Droplet(\"web\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC3)\npublic = digitalocean.LoadBalancer(\"public\",\n region=digitalocean.Region.NYC3,\n forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs(\n entry_port=80,\n entry_protocol=\"http\",\n target_port=80,\n target_protocol=\"http\",\n )],\n healthcheck=digitalocean.LoadBalancerHealthcheckArgs(\n port=22,\n protocol=\"tcp\",\n ),\n droplet_ids=[web.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n });\n\n var @public = new DigitalOcean.LoadBalancer(\"public\", new()\n {\n Region = DigitalOcean.Region.NYC3,\n ForwardingRules = new[]\n {\n new DigitalOcean.Inputs.LoadBalancerForwardingRuleArgs\n {\n EntryPort = 80,\n EntryProtocol = \"http\",\n TargetPort = 80,\n TargetProtocol = \"http\",\n },\n },\n Healthcheck = new DigitalOcean.Inputs.LoadBalancerHealthcheckArgs\n {\n Port = 22,\n Protocol = \"tcp\",\n },\n DropletIds = new[]\n {\n web.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewLoadBalancer(ctx, \"public\", \u0026digitalocean.LoadBalancerArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{\n\t\t\t\t\u0026digitalocean.LoadBalancerForwardingRuleArgs{\n\t\t\t\t\tEntryPort: pulumi.Int(80),\n\t\t\t\t\tEntryProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tTargetPort: pulumi.Int(80),\n\t\t\t\t\tTargetProtocol: pulumi.String(\"http\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthcheck: \u0026digitalocean.LoadBalancerHealthcheckArgs{\n\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t},\n\t\t\tDropletIds: pulumi.IntArray{\n\t\t\t\tweb.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.LoadBalancer;\nimport com.pulumi.digitalocean.LoadBalancerArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerForwardingRuleArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerHealthcheckArgs;\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 web = new Droplet(\"web\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var public_ = new LoadBalancer(\"public\", LoadBalancerArgs.builder() \n .region(\"nyc3\")\n .forwardingRules(LoadBalancerForwardingRuleArgs.builder()\n .entryPort(80)\n .entryProtocol(\"http\")\n .targetPort(80)\n .targetProtocol(\"http\")\n .build())\n .healthcheck(LoadBalancerHealthcheckArgs.builder()\n .port(22)\n .protocol(\"tcp\")\n .build())\n .dropletIds(web.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n public:\n type: digitalocean:LoadBalancer\n properties:\n region: nyc3\n forwardingRules:\n - entryPort: 80\n entryProtocol: http\n targetPort: 80\n targetProtocol: http\n healthcheck:\n port: 22\n protocol: tcp\n dropletIds:\n - ${web.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWhen managing certificates attached to the load balancer, make sure to add the `create_before_destroy`\nlifecycle property in order to ensure the certificate is correctly updated when changed. The order of\noperations will then be: `Create new certificate` \u003e `Update loadbalancer with new certificate` -\u003e\n`Delete old certificate`. When doing so, you must also change the name of the certificate,\nas there cannot be multiple certificates with the same name in an account.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst cert = new digitalocean.Certificate(\"cert\", {\n privateKey: \"file('key.pem')\",\n leafCertificate: \"file('cert.pem')\",\n});\nconst web = new digitalocean.Droplet(\"web\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC3,\n});\nconst _public = new digitalocean.LoadBalancer(\"public\", {\n region: digitalocean.Region.NYC3,\n forwardingRules: [{\n entryPort: 443,\n entryProtocol: \"https\",\n targetPort: 80,\n targetProtocol: \"http\",\n certificateName: cert.name,\n }],\n healthcheck: {\n port: 22,\n protocol: \"tcp\",\n },\n dropletIds: [web.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ncert = digitalocean.Certificate(\"cert\",\n private_key=\"file('key.pem')\",\n leaf_certificate=\"file('cert.pem')\")\nweb = digitalocean.Droplet(\"web\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC3)\npublic = digitalocean.LoadBalancer(\"public\",\n region=digitalocean.Region.NYC3,\n forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs(\n entry_port=443,\n entry_protocol=\"https\",\n target_port=80,\n target_protocol=\"http\",\n certificate_name=cert.name,\n )],\n healthcheck=digitalocean.LoadBalancerHealthcheckArgs(\n port=22,\n protocol=\"tcp\",\n ),\n droplet_ids=[web.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var cert = new DigitalOcean.Certificate(\"cert\", new()\n {\n PrivateKey = \"file('key.pem')\",\n LeafCertificate = \"file('cert.pem')\",\n });\n\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n });\n\n var @public = new DigitalOcean.LoadBalancer(\"public\", new()\n {\n Region = DigitalOcean.Region.NYC3,\n ForwardingRules = new[]\n {\n new DigitalOcean.Inputs.LoadBalancerForwardingRuleArgs\n {\n EntryPort = 443,\n EntryProtocol = \"https\",\n TargetPort = 80,\n TargetProtocol = \"http\",\n CertificateName = cert.Name,\n },\n },\n Healthcheck = new DigitalOcean.Inputs.LoadBalancerHealthcheckArgs\n {\n Port = 22,\n Protocol = \"tcp\",\n },\n DropletIds = new[]\n {\n web.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcert, err := digitalocean.NewCertificate(ctx, \"cert\", \u0026digitalocean.CertificateArgs{\n\t\t\tPrivateKey: pulumi.String(\"file('key.pem')\"),\n\t\t\tLeafCertificate: pulumi.String(\"file('cert.pem')\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tweb, err := digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewLoadBalancer(ctx, \"public\", \u0026digitalocean.LoadBalancerArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{\n\t\t\t\t\u0026digitalocean.LoadBalancerForwardingRuleArgs{\n\t\t\t\t\tEntryPort: pulumi.Int(443),\n\t\t\t\t\tEntryProtocol: pulumi.String(\"https\"),\n\t\t\t\t\tTargetPort: pulumi.Int(80),\n\t\t\t\t\tTargetProtocol: pulumi.String(\"http\"),\n\t\t\t\t\tCertificateName: cert.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthcheck: \u0026digitalocean.LoadBalancerHealthcheckArgs{\n\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\tProtocol: pulumi.String(\"tcp\"),\n\t\t\t},\n\t\t\tDropletIds: pulumi.IntArray{\n\t\t\t\tweb.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Certificate;\nimport com.pulumi.digitalocean.CertificateArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.LoadBalancer;\nimport com.pulumi.digitalocean.LoadBalancerArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerForwardingRuleArgs;\nimport com.pulumi.digitalocean.inputs.LoadBalancerHealthcheckArgs;\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 cert = new Certificate(\"cert\", CertificateArgs.builder() \n .privateKey(\"file('key.pem')\")\n .leafCertificate(\"file('cert.pem')\")\n .build());\n\n var web = new Droplet(\"web\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var public_ = new LoadBalancer(\"public\", LoadBalancerArgs.builder() \n .region(\"nyc3\")\n .forwardingRules(LoadBalancerForwardingRuleArgs.builder()\n .entryPort(443)\n .entryProtocol(\"https\")\n .targetPort(80)\n .targetProtocol(\"http\")\n .certificateName(cert.name())\n .build())\n .healthcheck(LoadBalancerHealthcheckArgs.builder()\n .port(22)\n .protocol(\"tcp\")\n .build())\n .dropletIds(web.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n cert:\n type: digitalocean:Certificate\n properties:\n privateKey: file('key.pem')\n leafCertificate: file('cert.pem')\n web:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n public:\n type: digitalocean:LoadBalancer\n properties:\n region: nyc3\n forwardingRules:\n - entryPort: 443\n entryProtocol: https\n targetPort: 80\n targetProtocol: http\n certificateName: ${cert.name}\n healthcheck:\n port: 22\n protocol: tcp\n dropletIds:\n - ${web.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLoad Balancers can be imported using the `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/loadBalancer:LoadBalancer myloadbalancer 4de7ac8b-495b-4884-9a69-1050c6793cd6\n```\n\n", "properties": { "algorithm": { "type": "string", @@ -11757,7 +11757,7 @@ } }, "digitalocean:index/project:Project": { - "description": "Provides a DigitalOcean Project resource.\n\nProjects allow you to organize your resources into groups that fit the way you work.\nYou can group resources (like Droplets, Spaces, Load Balancers, domains, and Floating IPs)\nin ways that align with the applications you host on DigitalOcean.\n\nThe following resource types can be associated with a project:\n\n* App Platform Apps\n* Database Clusters\n* Domains\n* Droplets\n* Floating IPs\n* Kubernetes Clusters\n* Load Balancers\n* Spaces Buckets\n* Volumes\n\n**Note:** A provider managed project cannot be set as a default project.\n\n## Example Usage\n\nThe following example demonstrates the creation of an empty project:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst playground = new digitalocean.Project(\"playground\", {\n description: \"A project to represent development resources.\",\n environment: \"Development\",\n purpose: \"Web Application\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nplayground = digitalocean.Project(\"playground\",\n description=\"A project to represent development resources.\",\n environment=\"Development\",\n purpose=\"Web Application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var playground = new DigitalOcean.Project(\"playground\", new()\n {\n Description = \"A project to represent development resources.\",\n Environment = \"Development\",\n Purpose = \"Web Application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewProject(ctx, \"playground\", \u0026digitalocean.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"A project to represent development resources.\"),\n\t\t\tEnvironment: pulumi.String(\"Development\"),\n\t\t\tPurpose: pulumi.String(\"Web Application\"),\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.digitalocean.Project;\nimport com.pulumi.digitalocean.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var playground = new Project(\"playground\", ProjectArgs.builder() \n .description(\"A project to represent development resources.\")\n .environment(\"Development\")\n .purpose(\"Web Application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n playground:\n type: digitalocean:Project\n properties:\n description: A project to represent development resources.\n environment: Development\n purpose: Web Application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example demonstrates the creation of a project with a Droplet resource:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.Droplet(\"foobar\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-22-04-x64\",\n region: \"nyc3\",\n});\nconst playground = new digitalocean.Project(\"playground\", {\n description: \"A project to represent development resources.\",\n purpose: \"Web Application\",\n environment: \"Development\",\n resources: [foobar.dropletUrn],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.Droplet(\"foobar\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-22-04-x64\",\n region=\"nyc3\")\nplayground = digitalocean.Project(\"playground\",\n description=\"A project to represent development resources.\",\n purpose=\"Web Application\",\n environment=\"Development\",\n resources=[foobar.droplet_urn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.Droplet(\"foobar\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-22-04-x64\",\n Region = \"nyc3\",\n });\n\n var playground = new DigitalOcean.Project(\"playground\", new()\n {\n Description = \"A project to represent development resources.\",\n Purpose = \"Web Application\",\n Environment = \"Development\",\n Resources = new[]\n {\n foobar.DropletUrn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := digitalocean.NewDroplet(ctx, \"foobar\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewProject(ctx, \"playground\", \u0026digitalocean.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"A project to represent development resources.\"),\n\t\t\tPurpose: pulumi.String(\"Web Application\"),\n\t\t\tEnvironment: pulumi.String(\"Development\"),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tfoobar.DropletUrn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.Project;\nimport com.pulumi.digitalocean.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foobar = new Droplet(\"foobar\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var playground = new Project(\"playground\", ProjectArgs.builder() \n .description(\"A project to represent development resources.\")\n .purpose(\"Web Application\")\n .environment(\"Development\")\n .resources(foobar.dropletUrn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n playground:\n type: digitalocean:Project\n properties:\n description: A project to represent development resources.\n purpose: Web Application\n environment: Development\n resources:\n - ${foobar.dropletUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the `id` returned from DigitalOcean, e.g.\n\n```sh\n$ pulumi import digitalocean:index/project:Project myproject 245bcfd0-7f31-4ce6-a2bc-475a116cca97\n```\n\n", + "description": "Provides a DigitalOcean Project resource.\n\nProjects allow you to organize your resources into groups that fit the way you work.\nYou can group resources (like Droplets, Spaces, Load Balancers, domains, and Floating IPs)\nin ways that align with the applications you host on DigitalOcean.\n\nThe following resource types can be associated with a project:\n\n* App Platform Apps\n* Database Clusters\n* Domains\n* Droplets\n* Floating IPs\n* Kubernetes Clusters\n* Load Balancers\n* Spaces Buckets\n* Volumes\n\n**Note:** A provider managed project cannot be set as a default project.\n\n## Example Usage\n\nThe following example demonstrates the creation of an empty project:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst playground = new digitalocean.Project(\"playground\", {\n description: \"A project to represent development resources.\",\n environment: \"Development\",\n purpose: \"Web Application\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nplayground = digitalocean.Project(\"playground\",\n description=\"A project to represent development resources.\",\n environment=\"Development\",\n purpose=\"Web Application\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var playground = new DigitalOcean.Project(\"playground\", new()\n {\n Description = \"A project to represent development resources.\",\n Environment = \"Development\",\n Purpose = \"Web Application\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewProject(ctx, \"playground\", \u0026digitalocean.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"A project to represent development resources.\"),\n\t\t\tEnvironment: pulumi.String(\"Development\"),\n\t\t\tPurpose: pulumi.String(\"Web Application\"),\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.digitalocean.Project;\nimport com.pulumi.digitalocean.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var playground = new Project(\"playground\", ProjectArgs.builder() \n .description(\"A project to represent development resources.\")\n .environment(\"Development\")\n .purpose(\"Web Application\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n playground:\n type: digitalocean:Project\n properties:\n description: A project to represent development resources.\n environment: Development\n purpose: Web Application\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe following example demonstrates the creation of a project with a Droplet resource:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.Droplet(\"foobar\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-22-04-x64\",\n region: digitalocean.Region.NYC3,\n});\nconst playground = new digitalocean.Project(\"playground\", {\n description: \"A project to represent development resources.\",\n purpose: \"Web Application\",\n environment: \"Development\",\n resources: [foobar.dropletUrn],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.Droplet(\"foobar\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-22-04-x64\",\n region=digitalocean.Region.NYC3)\nplayground = digitalocean.Project(\"playground\",\n description=\"A project to represent development resources.\",\n purpose=\"Web Application\",\n environment=\"Development\",\n resources=[foobar.droplet_urn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.Droplet(\"foobar\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-22-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n });\n\n var playground = new DigitalOcean.Project(\"playground\", new()\n {\n Description = \"A project to represent development resources.\",\n Purpose = \"Web Application\",\n Environment = \"Development\",\n Resources = new[]\n {\n foobar.DropletUrn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := digitalocean.NewDroplet(ctx, \"foobar\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewProject(ctx, \"playground\", \u0026digitalocean.ProjectArgs{\n\t\t\tDescription: pulumi.String(\"A project to represent development resources.\"),\n\t\t\tPurpose: pulumi.String(\"Web Application\"),\n\t\t\tEnvironment: pulumi.String(\"Development\"),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tfoobar.DropletUrn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.Project;\nimport com.pulumi.digitalocean.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foobar = new Droplet(\"foobar\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var playground = new Project(\"playground\", ProjectArgs.builder() \n .description(\"A project to represent development resources.\")\n .purpose(\"Web Application\")\n .environment(\"Development\")\n .resources(foobar.dropletUrn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n playground:\n type: digitalocean:Project\n properties:\n description: A project to represent development resources.\n purpose: Web Application\n environment: Development\n resources:\n - ${foobar.dropletUrn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the `id` returned from DigitalOcean, e.g.\n\n```sh\n$ pulumi import digitalocean:index/project:Project myproject 245bcfd0-7f31-4ce6-a2bc-475a116cca97\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -11891,7 +11891,7 @@ } }, "digitalocean:index/projectResources:ProjectResources": { - "description": "Assign resources to a DigitalOcean Project. This is useful if you need to assign resources\nmanaged via this provider to a DigitalOcean Project managed outside of the provider.\n\nThe following resource types can be associated with a project:\n\n* App Platform Apps\n* Database Clusters\n* Domains\n* Droplets\n* Floating IPs\n* Kubernetes Clusters\n* Load Balancers\n* Spaces Buckets\n* Volumes\n\n## Example Usage\n\nThe following example assigns a droplet to a Project managed outside of the provider:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst playground = digitalocean.getProject({\n name: \"playground\",\n});\nconst foobar = new digitalocean.Droplet(\"foobar\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-22-04-x64\",\n region: \"nyc3\",\n});\nconst barfoo = new digitalocean.ProjectResources(\"barfoo\", {\n project: playground.then(playground =\u003e playground.id),\n resources: [foobar.dropletUrn],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nplayground = digitalocean.get_project(name=\"playground\")\nfoobar = digitalocean.Droplet(\"foobar\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-22-04-x64\",\n region=\"nyc3\")\nbarfoo = digitalocean.ProjectResources(\"barfoo\",\n project=playground.id,\n resources=[foobar.droplet_urn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var playground = DigitalOcean.GetProject.Invoke(new()\n {\n Name = \"playground\",\n });\n\n var foobar = new DigitalOcean.Droplet(\"foobar\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-22-04-x64\",\n Region = \"nyc3\",\n });\n\n var barfoo = new DigitalOcean.ProjectResources(\"barfoo\", new()\n {\n Project = playground.Apply(getProjectResult =\u003e getProjectResult.Id),\n Resources = new[]\n {\n foobar.DropletUrn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tplayground, err := digitalocean.LookupProject(ctx, \u0026digitalocean.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"playground\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoobar, err := digitalocean.NewDroplet(ctx, \"foobar\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewProjectResources(ctx, \"barfoo\", \u0026digitalocean.ProjectResourcesArgs{\n\t\t\tProject: *pulumi.String(playground.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tfoobar.DropletUrn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetProjectArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.ProjectResources;\nimport com.pulumi.digitalocean.ProjectResourcesArgs;\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 playground = DigitaloceanFunctions.getProject(GetProjectArgs.builder()\n .name(\"playground\")\n .build());\n\n var foobar = new Droplet(\"foobar\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var barfoo = new ProjectResources(\"barfoo\", ProjectResourcesArgs.builder() \n .project(playground.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .resources(foobar.dropletUrn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n barfoo:\n type: digitalocean:ProjectResources\n properties:\n project: ${playground.id}\n resources:\n - ${foobar.dropletUrn}\nvariables:\n playground:\n fn::invoke:\n Function: digitalocean:getProject\n Arguments:\n name: playground\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImporting this resource is not supported.\n\n", + "description": "Assign resources to a DigitalOcean Project. This is useful if you need to assign resources\nmanaged via this provider to a DigitalOcean Project managed outside of the provider.\n\nThe following resource types can be associated with a project:\n\n* App Platform Apps\n* Database Clusters\n* Domains\n* Droplets\n* Floating IPs\n* Kubernetes Clusters\n* Load Balancers\n* Spaces Buckets\n* Volumes\n\n## Example Usage\n\nThe following example assigns a droplet to a Project managed outside of the provider:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst playground = digitalocean.getProject({\n name: \"playground\",\n});\nconst foobar = new digitalocean.Droplet(\"foobar\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-22-04-x64\",\n region: digitalocean.Region.NYC3,\n});\nconst barfoo = new digitalocean.ProjectResources(\"barfoo\", {\n project: playground.then(playground =\u003e playground.id),\n resources: [foobar.dropletUrn],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nplayground = digitalocean.get_project(name=\"playground\")\nfoobar = digitalocean.Droplet(\"foobar\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-22-04-x64\",\n region=digitalocean.Region.NYC3)\nbarfoo = digitalocean.ProjectResources(\"barfoo\",\n project=playground.id,\n resources=[foobar.droplet_urn])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var playground = DigitalOcean.GetProject.Invoke(new()\n {\n Name = \"playground\",\n });\n\n var foobar = new DigitalOcean.Droplet(\"foobar\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-22-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n });\n\n var barfoo = new DigitalOcean.ProjectResources(\"barfoo\", new()\n {\n Project = playground.Apply(getProjectResult =\u003e getProjectResult.Id),\n Resources = new[]\n {\n foobar.DropletUrn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tplayground, err := digitalocean.LookupProject(ctx, \u0026digitalocean.LookupProjectArgs{\n\t\t\tName: pulumi.StringRef(\"playground\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoobar, err := digitalocean.NewDroplet(ctx, \"foobar\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewProjectResources(ctx, \"barfoo\", \u0026digitalocean.ProjectResourcesArgs{\n\t\t\tProject: pulumi.String(playground.Id),\n\t\t\tResources: pulumi.StringArray{\n\t\t\t\tfoobar.DropletUrn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetProjectArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.ProjectResources;\nimport com.pulumi.digitalocean.ProjectResourcesArgs;\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 playground = DigitaloceanFunctions.getProject(GetProjectArgs.builder()\n .name(\"playground\")\n .build());\n\n var foobar = new Droplet(\"foobar\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var barfoo = new ProjectResources(\"barfoo\", ProjectResourcesArgs.builder() \n .project(playground.applyValue(getProjectResult -\u003e getProjectResult.id()))\n .resources(foobar.dropletUrn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n barfoo:\n type: digitalocean:ProjectResources\n properties:\n project: ${playground.id}\n resources:\n - ${foobar.dropletUrn}\nvariables:\n playground:\n fn::invoke:\n Function: digitalocean:getProject\n Arguments:\n name: playground\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImporting this resource is not supported.\n\n", "properties": { "project": { "type": "string", @@ -11947,7 +11947,7 @@ } }, "digitalocean:index/reservedIp:ReservedIp": { - "description": "Provides a DigitalOcean reserved IP to represent a publicly-accessible static IP addresses that can be mapped to one of your Droplets.\n\n\u003e **NOTE:** Reserved IPs can be assigned to a Droplet either directly on the `digitalocean.ReservedIp` resource by setting a `droplet_id` or using the `digitalocean.ReservedIpAssignment` resource, but the two cannot be used together.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-22-04-x64\",\n region: \"nyc3\",\n ipv6: true,\n privateNetworking: true,\n});\nconst exampleReservedIp = new digitalocean.ReservedIp(\"exampleReservedIp\", {\n dropletId: exampleDroplet.id,\n region: exampleDroplet.region,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-22-04-x64\",\n region=\"nyc3\",\n ipv6=True,\n private_networking=True)\nexample_reserved_ip = digitalocean.ReservedIp(\"exampleReservedIp\",\n droplet_id=example_droplet.id,\n region=example_droplet.region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-22-04-x64\",\n Region = \"nyc3\",\n Ipv6 = true,\n PrivateNetworking = true,\n });\n\n var exampleReservedIp = new DigitalOcean.ReservedIp(\"exampleReservedIp\", new()\n {\n DropletId = exampleDroplet.Id,\n Region = exampleDroplet.Region,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDroplet, err := digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tIpv6: pulumi.Bool(true),\n\t\t\tPrivateNetworking: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewReservedIp(ctx, \"exampleReservedIp\", \u0026digitalocean.ReservedIpArgs{\n\t\t\tDropletId: exampleDroplet.ID(),\n\t\t\tRegion: exampleDroplet.Region,\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.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.ReservedIp;\nimport com.pulumi.digitalocean.ReservedIpArgs;\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 exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .ipv6(true)\n .privateNetworking(true)\n .build());\n\n var exampleReservedIp = new ReservedIp(\"exampleReservedIp\", ReservedIpArgs.builder() \n .dropletId(exampleDroplet.id())\n .region(exampleDroplet.region())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n ipv6: true\n privateNetworking: true\n exampleReservedIp:\n type: digitalocean:ReservedIp\n properties:\n dropletId: ${exampleDroplet.id}\n region: ${exampleDroplet.region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nReserved IPs can be imported using the `ip`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/reservedIp:ReservedIp myip 192.168.0.1\n```\n\n", + "description": "Provides a DigitalOcean reserved IP to represent a publicly-accessible static IP addresses that can be mapped to one of your Droplets.\n\n\u003e **NOTE:** Reserved IPs can be assigned to a Droplet either directly on the `digitalocean.ReservedIp` resource by setting a `droplet_id` or using the `digitalocean.ReservedIpAssignment` resource, but the two cannot be used together.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-22-04-x64\",\n region: digitalocean.Region.NYC3,\n ipv6: true,\n privateNetworking: true,\n});\nconst exampleReservedIp = new digitalocean.ReservedIp(\"exampleReservedIp\", {\n dropletId: exampleDroplet.id,\n region: exampleDroplet.region,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-22-04-x64\",\n region=digitalocean.Region.NYC3,\n ipv6=True,\n private_networking=True)\nexample_reserved_ip = digitalocean.ReservedIp(\"exampleReservedIp\",\n droplet_id=example_droplet.id,\n region=example_droplet.region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-22-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n Ipv6 = true,\n PrivateNetworking = true,\n });\n\n var exampleReservedIp = new DigitalOcean.ReservedIp(\"exampleReservedIp\", new()\n {\n DropletId = exampleDroplet.Id,\n Region = exampleDroplet.Region,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDroplet, err := digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tIpv6: pulumi.Bool(true),\n\t\t\tPrivateNetworking: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewReservedIp(ctx, \"exampleReservedIp\", \u0026digitalocean.ReservedIpArgs{\n\t\t\tDropletId: exampleDroplet.ID(),\n\t\t\tRegion: exampleDroplet.Region,\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.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.ReservedIp;\nimport com.pulumi.digitalocean.ReservedIpArgs;\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 exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .ipv6(true)\n .privateNetworking(true)\n .build());\n\n var exampleReservedIp = new ReservedIp(\"exampleReservedIp\", ReservedIpArgs.builder() \n .dropletId(exampleDroplet.id())\n .region(exampleDroplet.region())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n ipv6: true\n privateNetworking: true\n exampleReservedIp:\n type: digitalocean:ReservedIp\n properties:\n dropletId: ${exampleDroplet.id}\n region: ${exampleDroplet.region}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nReserved IPs can be imported using the `ip`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/reservedIp:ReservedIp myip 192.168.0.1\n```\n\n", "properties": { "dropletId": { "type": "integer", @@ -12014,7 +12014,7 @@ } }, "digitalocean:index/reservedIpAssignment:ReservedIpAssignment": { - "description": "Provides a resource for assigning an existing DigitalOcean reserved IP to a Droplet. This\nmakes it easy to provision reserved IP addresses that are not tied to the lifecycle of your\nDroplet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleReservedIp = new digitalocean.ReservedIp(\"exampleReservedIp\", {region: \"nyc3\"});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-22-04-x64\",\n region: \"nyc3\",\n ipv6: true,\n privateNetworking: true,\n});\nconst exampleReservedIpAssignment = new digitalocean.ReservedIpAssignment(\"exampleReservedIpAssignment\", {\n ipAddress: exampleReservedIp.ipAddress,\n dropletId: exampleDroplet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_reserved_ip = digitalocean.ReservedIp(\"exampleReservedIp\", region=\"nyc3\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-22-04-x64\",\n region=\"nyc3\",\n ipv6=True,\n private_networking=True)\nexample_reserved_ip_assignment = digitalocean.ReservedIpAssignment(\"exampleReservedIpAssignment\",\n ip_address=example_reserved_ip.ip_address,\n droplet_id=example_droplet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleReservedIp = new DigitalOcean.ReservedIp(\"exampleReservedIp\", new()\n {\n Region = \"nyc3\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-22-04-x64\",\n Region = \"nyc3\",\n Ipv6 = true,\n PrivateNetworking = true,\n });\n\n var exampleReservedIpAssignment = new DigitalOcean.ReservedIpAssignment(\"exampleReservedIpAssignment\", new()\n {\n IpAddress = exampleReservedIp.IpAddress,\n DropletId = exampleDroplet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleReservedIp, err := digitalocean.NewReservedIp(ctx, \"exampleReservedIp\", \u0026digitalocean.ReservedIpArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDroplet, err := digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tIpv6: pulumi.Bool(true),\n\t\t\tPrivateNetworking: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewReservedIpAssignment(ctx, \"exampleReservedIpAssignment\", \u0026digitalocean.ReservedIpAssignmentArgs{\n\t\t\tIpAddress: exampleReservedIp.IpAddress,\n\t\t\tDropletId: exampleDroplet.ID(),\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.digitalocean.ReservedIp;\nimport com.pulumi.digitalocean.ReservedIpArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.ReservedIpAssignment;\nimport com.pulumi.digitalocean.ReservedIpAssignmentArgs;\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 exampleReservedIp = new ReservedIp(\"exampleReservedIp\", ReservedIpArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .ipv6(true)\n .privateNetworking(true)\n .build());\n\n var exampleReservedIpAssignment = new ReservedIpAssignment(\"exampleReservedIpAssignment\", ReservedIpAssignmentArgs.builder() \n .ipAddress(exampleReservedIp.ipAddress())\n .dropletId(exampleDroplet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReservedIp:\n type: digitalocean:ReservedIp\n properties:\n region: nyc3\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n ipv6: true\n privateNetworking: true\n exampleReservedIpAssignment:\n type: digitalocean:ReservedIpAssignment\n properties:\n ipAddress: ${exampleReservedIp.ipAddress}\n dropletId: ${exampleDroplet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nReserved IP assignments can be imported using the reserved IP itself and the `id` of\n\nthe Droplet joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/reservedIpAssignment:ReservedIpAssignment foobar 192.0.2.1,123456\n```\n\n", + "description": "Provides a resource for assigning an existing DigitalOcean reserved IP to a Droplet. This\nmakes it easy to provision reserved IP addresses that are not tied to the lifecycle of your\nDroplet.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleReservedIp = new digitalocean.ReservedIp(\"exampleReservedIp\", {region: \"nyc3\"});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-22-04-x64\",\n region: digitalocean.Region.NYC3,\n ipv6: true,\n privateNetworking: true,\n});\nconst exampleReservedIpAssignment = new digitalocean.ReservedIpAssignment(\"exampleReservedIpAssignment\", {\n ipAddress: exampleReservedIp.ipAddress,\n dropletId: exampleDroplet.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_reserved_ip = digitalocean.ReservedIp(\"exampleReservedIp\", region=\"nyc3\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-22-04-x64\",\n region=digitalocean.Region.NYC3,\n ipv6=True,\n private_networking=True)\nexample_reserved_ip_assignment = digitalocean.ReservedIpAssignment(\"exampleReservedIpAssignment\",\n ip_address=example_reserved_ip.ip_address,\n droplet_id=example_droplet.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleReservedIp = new DigitalOcean.ReservedIp(\"exampleReservedIp\", new()\n {\n Region = \"nyc3\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-22-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n Ipv6 = true,\n PrivateNetworking = true,\n });\n\n var exampleReservedIpAssignment = new DigitalOcean.ReservedIpAssignment(\"exampleReservedIpAssignment\", new()\n {\n IpAddress = exampleReservedIp.IpAddress,\n DropletId = exampleDroplet.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleReservedIp, err := digitalocean.NewReservedIp(ctx, \"exampleReservedIp\", \u0026digitalocean.ReservedIpArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDroplet, err := digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-22-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tIpv6: pulumi.Bool(true),\n\t\t\tPrivateNetworking: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewReservedIpAssignment(ctx, \"exampleReservedIpAssignment\", \u0026digitalocean.ReservedIpAssignmentArgs{\n\t\t\tIpAddress: exampleReservedIp.IpAddress,\n\t\t\tDropletId: exampleDroplet.ID(),\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.digitalocean.ReservedIp;\nimport com.pulumi.digitalocean.ReservedIpArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.ReservedIpAssignment;\nimport com.pulumi.digitalocean.ReservedIpAssignmentArgs;\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 exampleReservedIp = new ReservedIp(\"exampleReservedIp\", ReservedIpArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-22-04-x64\")\n .region(\"nyc3\")\n .ipv6(true)\n .privateNetworking(true)\n .build());\n\n var exampleReservedIpAssignment = new ReservedIpAssignment(\"exampleReservedIpAssignment\", ReservedIpAssignmentArgs.builder() \n .ipAddress(exampleReservedIp.ipAddress())\n .dropletId(exampleDroplet.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleReservedIp:\n type: digitalocean:ReservedIp\n properties:\n region: nyc3\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-22-04-x64\n region: nyc3\n ipv6: true\n privateNetworking: true\n exampleReservedIpAssignment:\n type: digitalocean:ReservedIpAssignment\n properties:\n ipAddress: ${exampleReservedIp.ipAddress}\n dropletId: ${exampleDroplet.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nReserved IP assignments can be imported using the reserved IP itself and the `id` of\n\nthe Droplet joined with a comma. For example:\n\n```sh\n$ pulumi import digitalocean:index/reservedIpAssignment:ReservedIpAssignment foobar 192.0.2.1,123456\n```\n\n", "properties": { "dropletId": { "type": "integer", @@ -12063,7 +12063,7 @@ } }, "digitalocean:index/spacesBucket:SpacesBucket": { - "description": "Provides a bucket resource for Spaces, DigitalOcean's object storage product.\n\nThe [Spaces API](https://docs.digitalocean.com/reference/api/spaces-api/) was\ndesigned to be interoperable with Amazon's AWS S3 API. This allows users to\ninteract with the service while using the tools they already know. Spaces\nmirrors S3's authentication framework and requests to Spaces require a key pair\nsimilar to Amazon's Access ID and Secret Key.\n\nThe authentication requirement can be met by either setting the\n`SPACES_ACCESS_KEY_ID` and `SPACES_SECRET_ACCESS_KEY` environment variables or\nthe provider's `spaces_access_id` and `spaces_secret_key` arguments to the\naccess ID and secret you generate via the DigitalOcean control panel. For\nexample:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst static_assets = new digitalocean.SpacesBucket(\"static-assets\", {});\n// ...\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nstatic_assets = digitalocean.SpacesBucket(\"static-assets\")\n# ...\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var static_assets = new DigitalOcean.SpacesBucket(\"static-assets\");\n\n // ...\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewSpacesBucket(ctx, \"static-assets\", nil)\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.digitalocean.SpacesBucket;\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 static_assets = new SpacesBucket(\"static-assets\");\n\n }\n}\n```\n```yaml\nresources:\n static-assets:\n type: digitalocean:SpacesBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor more information, See [An Introduction to DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces)\n\n## Example Usage\n\n### Create a New Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.SpacesBucket(\"foobar\", {region: \"nyc3\"});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.SpacesBucket(\"foobar\", region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.SpacesBucket(\"foobar\", new()\n {\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewSpacesBucket(ctx, \"foobar\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\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 foobar = new SpacesBucket(\"foobar\", SpacesBucketArgs.builder() \n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:SpacesBucket\n properties:\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a New Bucket With CORS Rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.SpacesBucket(\"foobar\", {\n corsRules: [\n {\n allowedHeaders: [\"*\"],\n allowedMethods: [\"GET\"],\n allowedOrigins: [\"*\"],\n maxAgeSeconds: 3000,\n },\n {\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n \"DELETE\",\n ],\n allowedOrigins: [\"https://www.example.com\"],\n maxAgeSeconds: 3000,\n },\n ],\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.SpacesBucket(\"foobar\",\n cors_rules=[\n digitalocean.SpacesBucketCorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\"GET\"],\n allowed_origins=[\"*\"],\n max_age_seconds=3000,\n ),\n digitalocean.SpacesBucketCorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n \"DELETE\",\n ],\n allowed_origins=[\"https://www.example.com\"],\n max_age_seconds=3000,\n ),\n ],\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.SpacesBucket(\"foobar\", new()\n {\n CorsRules = new[]\n {\n new DigitalOcean.Inputs.SpacesBucketCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"GET\",\n },\n AllowedOrigins = new[]\n {\n \"*\",\n },\n MaxAgeSeconds = 3000,\n },\n new DigitalOcean.Inputs.SpacesBucketCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n \"DELETE\",\n },\n AllowedOrigins = new[]\n {\n \"https://www.example.com\",\n },\n MaxAgeSeconds = 3000,\n },\n },\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewSpacesBucket(ctx, \"foobar\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tCorsRules: digitalocean.SpacesBucketCorsRuleArray{\n\t\t\t\t\u0026digitalocean.SpacesBucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.SpacesBucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://www.example.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion: pulumi.String(\"nyc3\"),\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.inputs.SpacesBucketCorsRuleArgs;\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 foobar = new SpacesBucket(\"foobar\", SpacesBucketArgs.builder() \n .corsRules( \n SpacesBucketCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods(\"GET\")\n .allowedOrigins(\"*\")\n .maxAgeSeconds(3000)\n .build(),\n SpacesBucketCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\",\n \"DELETE\")\n .allowedOrigins(\"https://www.example.com\")\n .maxAgeSeconds(3000)\n .build())\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:SpacesBucket\n properties:\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - GET\n allowedOrigins:\n - '*'\n maxAgeSeconds: 3000\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n - DELETE\n allowedOrigins:\n - https://www.example.com\n maxAgeSeconds: 3000\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBuckets can be imported using the `region` and `name` attributes (delimited by a comma):\n\n```sh\n$ pulumi import digitalocean:index/spacesBucket:SpacesBucket foobar `region`,`name`\n```\n\n", + "description": "Provides a bucket resource for Spaces, DigitalOcean's object storage product.\n\nThe [Spaces API](https://docs.digitalocean.com/reference/api/spaces-api/) was\ndesigned to be interoperable with Amazon's AWS S3 API. This allows users to\ninteract with the service while using the tools they already know. Spaces\nmirrors S3's authentication framework and requests to Spaces require a key pair\nsimilar to Amazon's Access ID and Secret Key.\n\nThe authentication requirement can be met by either setting the\n`SPACES_ACCESS_KEY_ID` and `SPACES_SECRET_ACCESS_KEY` environment variables or\nthe provider's `spaces_access_id` and `spaces_secret_key` arguments to the\naccess ID and secret you generate via the DigitalOcean control panel. For\nexample:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst static_assets = new digitalocean.SpacesBucket(\"static-assets\", {});\n// ...\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nstatic_assets = digitalocean.SpacesBucket(\"static-assets\")\n# ...\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var static_assets = new DigitalOcean.SpacesBucket(\"static-assets\");\n\n // ...\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewSpacesBucket(ctx, \"static-assets\", nil)\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.digitalocean.SpacesBucket;\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 static_assets = new SpacesBucket(\"static-assets\");\n\n }\n}\n```\n```yaml\nresources:\n static-assets:\n type: digitalocean:SpacesBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor more information, See [An Introduction to DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces)\n\n## Example Usage\n\n### Create a New Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.SpacesBucket(\"foobar\", {region: digitalocean.Region.NYC3});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.SpacesBucket(\"foobar\", region=digitalocean.Region.NYC3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.SpacesBucket(\"foobar\", new()\n {\n Region = DigitalOcean.Region.NYC3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewSpacesBucket(ctx, \"foobar\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\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 foobar = new SpacesBucket(\"foobar\", SpacesBucketArgs.builder() \n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:SpacesBucket\n properties:\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a New Bucket With CORS Rules\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.SpacesBucket(\"foobar\", {\n corsRules: [\n {\n allowedHeaders: [\"*\"],\n allowedMethods: [\"GET\"],\n allowedOrigins: [\"*\"],\n maxAgeSeconds: 3000,\n },\n {\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n \"DELETE\",\n ],\n allowedOrigins: [\"https://www.example.com\"],\n maxAgeSeconds: 3000,\n },\n ],\n region: digitalocean.Region.NYC3,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.SpacesBucket(\"foobar\",\n cors_rules=[\n digitalocean.SpacesBucketCorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\"GET\"],\n allowed_origins=[\"*\"],\n max_age_seconds=3000,\n ),\n digitalocean.SpacesBucketCorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n \"DELETE\",\n ],\n allowed_origins=[\"https://www.example.com\"],\n max_age_seconds=3000,\n ),\n ],\n region=digitalocean.Region.NYC3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.SpacesBucket(\"foobar\", new()\n {\n CorsRules = new[]\n {\n new DigitalOcean.Inputs.SpacesBucketCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"GET\",\n },\n AllowedOrigins = new[]\n {\n \"*\",\n },\n MaxAgeSeconds = 3000,\n },\n new DigitalOcean.Inputs.SpacesBucketCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n \"DELETE\",\n },\n AllowedOrigins = new[]\n {\n \"https://www.example.com\",\n },\n MaxAgeSeconds = 3000,\n },\n },\n Region = DigitalOcean.Region.NYC3,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewSpacesBucket(ctx, \"foobar\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tCorsRules: digitalocean.SpacesBucketCorsRuleArray{\n\t\t\t\t\u0026digitalocean.SpacesBucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\n\t\t\t\t},\n\t\t\t\t\u0026digitalocean.SpacesBucketCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://www.example.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.inputs.SpacesBucketCorsRuleArgs;\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 foobar = new SpacesBucket(\"foobar\", SpacesBucketArgs.builder() \n .corsRules( \n SpacesBucketCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods(\"GET\")\n .allowedOrigins(\"*\")\n .maxAgeSeconds(3000)\n .build(),\n SpacesBucketCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\",\n \"DELETE\")\n .allowedOrigins(\"https://www.example.com\")\n .maxAgeSeconds(3000)\n .build())\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:SpacesBucket\n properties:\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - GET\n allowedOrigins:\n - '*'\n maxAgeSeconds: 3000\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n - DELETE\n allowedOrigins:\n - https://www.example.com\n maxAgeSeconds: 3000\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBuckets can be imported using the `region` and `name` attributes (delimited by a comma):\n\n```sh\n$ pulumi import digitalocean:index/spacesBucket:SpacesBucket foobar `region`,`name`\n```\n\n", "properties": { "acl": { "type": "string", @@ -12083,7 +12083,7 @@ "$ref": "#/types/digitalocean:index/SpacesBucketCorsRule:SpacesBucketCorsRule" }, "description": "A rule of Cross-Origin Resource Sharing (documented below).\n", - "deprecationMessage": "Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead." + "deprecationMessage": "Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead." }, "endpoint": { "type": "string", @@ -12130,7 +12130,7 @@ "$ref": "#/types/digitalocean:index/SpacesBucketCorsRule:SpacesBucketCorsRule" }, "description": "A rule of Cross-Origin Resource Sharing (documented below).\n", - "deprecationMessage": "Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead." + "deprecationMessage": "Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead." }, "forceDestroy": { "type": "boolean", @@ -12187,7 +12187,7 @@ "$ref": "#/types/digitalocean:index/SpacesBucketCorsRule:SpacesBucketCorsRule" }, "description": "A rule of Cross-Origin Resource Sharing (documented below).\n", - "deprecationMessage": "Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead." + "deprecationMessage": "Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead." }, "endpoint": { "type": "string", @@ -12231,7 +12231,7 @@ } }, "digitalocean:index/spacesBucketCorsConfiguration:SpacesBucketCorsConfiguration": { - "description": "## Example Usage\n\n### Create a Key in a Spaces Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.SpacesBucket(\"foobar\", {region: \"nyc3\"});\nconst test = new digitalocean.SpacesBucketCorsConfiguration(\"test\", {\n bucket: foobar.id,\n region: \"nyc3\",\n corsRules: [{\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedOrigins: [\"https://s3-website-test.hashicorp.com\"],\n exposeHeaders: [\"ETag\"],\n maxAgeSeconds: 3000,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.SpacesBucket(\"foobar\", region=\"nyc3\")\ntest = digitalocean.SpacesBucketCorsConfiguration(\"test\",\n bucket=foobar.id,\n region=\"nyc3\",\n cors_rules=[digitalocean.SpacesBucketCorsConfigurationCorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_origins=[\"https://s3-website-test.hashicorp.com\"],\n expose_headers=[\"ETag\"],\n max_age_seconds=3000,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.SpacesBucket(\"foobar\", new()\n {\n Region = \"nyc3\",\n });\n\n var test = new DigitalOcean.SpacesBucketCorsConfiguration(\"test\", new()\n {\n Bucket = foobar.Id,\n Region = \"nyc3\",\n CorsRules = new[]\n {\n new DigitalOcean.Inputs.SpacesBucketCorsConfigurationCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedOrigins = new[]\n {\n \"https://s3-website-test.hashicorp.com\",\n },\n ExposeHeaders = new[]\n {\n \"ETag\",\n },\n MaxAgeSeconds = 3000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := digitalocean.NewSpacesBucket(ctx, \"foobar\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewSpacesBucketCorsConfiguration(ctx, \"test\", \u0026digitalocean.SpacesBucketCorsConfigurationArgs{\n\t\t\tBucket: foobar.ID(),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tCorsRules: digitalocean.SpacesBucketCorsConfigurationCorsRuleArray{\n\t\t\t\t\u0026digitalocean.SpacesBucketCorsConfigurationCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.hashicorp.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.SpacesBucketCorsConfiguration;\nimport com.pulumi.digitalocean.SpacesBucketCorsConfigurationArgs;\nimport com.pulumi.digitalocean.inputs.SpacesBucketCorsConfigurationCorsRuleArgs;\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 foobar = new SpacesBucket(\"foobar\", SpacesBucketArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var test = new SpacesBucketCorsConfiguration(\"test\", SpacesBucketCorsConfigurationArgs.builder() \n .bucket(foobar.id())\n .region(\"nyc3\")\n .corsRules(SpacesBucketCorsConfigurationCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedOrigins(\"https://s3-website-test.hashicorp.com\")\n .exposeHeaders(\"ETag\")\n .maxAgeSeconds(3000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:SpacesBucket\n properties:\n region: nyc3\n test:\n type: digitalocean:SpacesBucketCorsConfiguration\n properties:\n bucket: ${foobar.id}\n region: nyc3\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n allowedOrigins:\n - https://s3-website-test.hashicorp.com\n exposeHeaders:\n - ETag\n maxAgeSeconds: 3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma):\n\n```sh\n$ pulumi import digitalocean:index/spacesBucketCorsConfiguration:SpacesBucketCorsConfiguration foobar `region`,`bucket`\n```\n\n", + "description": "## Example Usage\n\n### Create a Key in a Spaces Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.SpacesBucket(\"foobar\", {region: digitalocean.Region.NYC3});\nconst test = new digitalocean.SpacesBucketCorsConfiguration(\"test\", {\n bucket: foobar.id,\n region: \"nyc3\",\n corsRules: [{\n allowedHeaders: [\"*\"],\n allowedMethods: [\n \"PUT\",\n \"POST\",\n ],\n allowedOrigins: [\"https://s3-website-test.hashicorp.com\"],\n exposeHeaders: [\"ETag\"],\n maxAgeSeconds: 3000,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.SpacesBucket(\"foobar\", region=digitalocean.Region.NYC3)\ntest = digitalocean.SpacesBucketCorsConfiguration(\"test\",\n bucket=foobar.id,\n region=\"nyc3\",\n cors_rules=[digitalocean.SpacesBucketCorsConfigurationCorsRuleArgs(\n allowed_headers=[\"*\"],\n allowed_methods=[\n \"PUT\",\n \"POST\",\n ],\n allowed_origins=[\"https://s3-website-test.hashicorp.com\"],\n expose_headers=[\"ETag\"],\n max_age_seconds=3000,\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.SpacesBucket(\"foobar\", new()\n {\n Region = DigitalOcean.Region.NYC3,\n });\n\n var test = new DigitalOcean.SpacesBucketCorsConfiguration(\"test\", new()\n {\n Bucket = foobar.Id,\n Region = \"nyc3\",\n CorsRules = new[]\n {\n new DigitalOcean.Inputs.SpacesBucketCorsConfigurationCorsRuleArgs\n {\n AllowedHeaders = new[]\n {\n \"*\",\n },\n AllowedMethods = new[]\n {\n \"PUT\",\n \"POST\",\n },\n AllowedOrigins = new[]\n {\n \"https://s3-website-test.hashicorp.com\",\n },\n ExposeHeaders = new[]\n {\n \"ETag\",\n },\n MaxAgeSeconds = 3000,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := digitalocean.NewSpacesBucket(ctx, \"foobar\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewSpacesBucketCorsConfiguration(ctx, \"test\", \u0026digitalocean.SpacesBucketCorsConfigurationArgs{\n\t\t\tBucket: foobar.ID(),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tCorsRules: digitalocean.SpacesBucketCorsConfigurationCorsRuleArray{\n\t\t\t\t\u0026digitalocean.SpacesBucketCorsConfigurationCorsRuleArgs{\n\t\t\t\t\tAllowedHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedMethods: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"PUT\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t\tAllowedOrigins: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"https://s3-website-test.hashicorp.com\"),\n\t\t\t\t\t},\n\t\t\t\t\tExposeHeaders: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ETag\"),\n\t\t\t\t\t},\n\t\t\t\t\tMaxAgeSeconds: pulumi.Int(3000),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.SpacesBucketCorsConfiguration;\nimport com.pulumi.digitalocean.SpacesBucketCorsConfigurationArgs;\nimport com.pulumi.digitalocean.inputs.SpacesBucketCorsConfigurationCorsRuleArgs;\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 foobar = new SpacesBucket(\"foobar\", SpacesBucketArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var test = new SpacesBucketCorsConfiguration(\"test\", SpacesBucketCorsConfigurationArgs.builder() \n .bucket(foobar.id())\n .region(\"nyc3\")\n .corsRules(SpacesBucketCorsConfigurationCorsRuleArgs.builder()\n .allowedHeaders(\"*\")\n .allowedMethods( \n \"PUT\",\n \"POST\")\n .allowedOrigins(\"https://s3-website-test.hashicorp.com\")\n .exposeHeaders(\"ETag\")\n .maxAgeSeconds(3000)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:SpacesBucket\n properties:\n region: nyc3\n test:\n type: digitalocean:SpacesBucketCorsConfiguration\n properties:\n bucket: ${foobar.id}\n region: nyc3\n corsRules:\n - allowedHeaders:\n - '*'\n allowedMethods:\n - PUT\n - POST\n allowedOrigins:\n - https://s3-website-test.hashicorp.com\n exposeHeaders:\n - ETag\n maxAgeSeconds: 3000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nBucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma):\n\n```sh\n$ pulumi import digitalocean:index/spacesBucketCorsConfiguration:SpacesBucketCorsConfiguration foobar `region`,`bucket`\n```\n\n", "properties": { "bucket": { "type": "string", @@ -12301,7 +12301,7 @@ } }, "digitalocean:index/spacesBucketObject:SpacesBucketObject": { - "description": "Provides a bucket object resource for Spaces, DigitalOcean's object storage product.\nThe `digitalocean.SpacesBucketObject` resource allows the provider to upload content\nto Spaces.\n\nThe [Spaces API](https://docs.digitalocean.com/reference/api/spaces-api/) was\ndesigned to be interoperable with Amazon's AWS S3 API. This allows users to\ninteract with the service while using the tools they already know. Spaces\nmirrors S3's authentication framework and requests to Spaces require a key pair\nsimilar to Amazon's Access ID and Secret Key.\n\nThe authentication requirement can be met by either setting the\n`SPACES_ACCESS_KEY_ID` and `SPACES_SECRET_ACCESS_KEY` environment variables or\nthe provider's `spaces_access_id` and `spaces_secret_key` arguments to the\naccess ID and secret you generate via the DigitalOcean control panel. For\nexample:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst static_assets = new digitalocean.SpacesBucket(\"static-assets\", {});\n// ...\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nstatic_assets = digitalocean.SpacesBucket(\"static-assets\")\n# ...\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var static_assets = new DigitalOcean.SpacesBucket(\"static-assets\");\n\n // ...\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewSpacesBucket(ctx, \"static-assets\", nil)\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.digitalocean.SpacesBucket;\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 static_assets = new SpacesBucket(\"static-assets\");\n\n }\n}\n```\n```yaml\nresources:\n static-assets:\n type: digitalocean:SpacesBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor more information, See [An Introduction to DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces)\n\n## Example Usage\n\n### Create a Key in a Spaces Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.SpacesBucket(\"foobar\", {region: \"nyc3\"});\nconst index = new digitalocean.SpacesBucketObject(\"index\", {\n region: foobar.region,\n bucket: foobar.name,\n key: \"index.html\",\n content: \"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\",\n contentType: \"text/html\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.SpacesBucket(\"foobar\", region=\"nyc3\")\nindex = digitalocean.SpacesBucketObject(\"index\",\n region=foobar.region,\n bucket=foobar.name,\n key=\"index.html\",\n content=\"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\",\n content_type=\"text/html\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.SpacesBucket(\"foobar\", new()\n {\n Region = \"nyc3\",\n });\n\n var index = new DigitalOcean.SpacesBucketObject(\"index\", new()\n {\n Region = foobar.Region,\n Bucket = foobar.Name,\n Key = \"index.html\",\n Content = \"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\",\n ContentType = \"text/html\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := digitalocean.NewSpacesBucket(ctx, \"foobar\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewSpacesBucketObject(ctx, \"index\", \u0026digitalocean.SpacesBucketObjectArgs{\n\t\t\tRegion: foobar.Region,\n\t\t\tBucket: foobar.Name,\n\t\t\tKey: pulumi.String(\"index.html\"),\n\t\t\tContent: pulumi.String(\"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\"),\n\t\t\tContentType: pulumi.String(\"text/html\"),\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.SpacesBucketObject;\nimport com.pulumi.digitalocean.SpacesBucketObjectArgs;\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 foobar = new SpacesBucket(\"foobar\", SpacesBucketArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var index = new SpacesBucketObject(\"index\", SpacesBucketObjectArgs.builder() \n .region(foobar.region())\n .bucket(foobar.name())\n .key(\"index.html\")\n .content(\"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\")\n .contentType(\"text/html\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:SpacesBucket\n properties:\n region: nyc3\n index:\n type: digitalocean:SpacesBucketObject\n properties:\n region: ${foobar.region}\n bucket: ${foobar.name}\n key: index.html\n content: \u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\n contentType: text/html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImporting this resource is not supported.\n\n", + "description": "Provides a bucket object resource for Spaces, DigitalOcean's object storage product.\nThe `digitalocean.SpacesBucketObject` resource allows the provider to upload content\nto Spaces.\n\nThe [Spaces API](https://docs.digitalocean.com/reference/api/spaces-api/) was\ndesigned to be interoperable with Amazon's AWS S3 API. This allows users to\ninteract with the service while using the tools they already know. Spaces\nmirrors S3's authentication framework and requests to Spaces require a key pair\nsimilar to Amazon's Access ID and Secret Key.\n\nThe authentication requirement can be met by either setting the\n`SPACES_ACCESS_KEY_ID` and `SPACES_SECRET_ACCESS_KEY` environment variables or\nthe provider's `spaces_access_id` and `spaces_secret_key` arguments to the\naccess ID and secret you generate via the DigitalOcean control panel. For\nexample:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst static_assets = new digitalocean.SpacesBucket(\"static-assets\", {});\n// ...\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nstatic_assets = digitalocean.SpacesBucket(\"static-assets\")\n# ...\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var static_assets = new DigitalOcean.SpacesBucket(\"static-assets\");\n\n // ...\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewSpacesBucket(ctx, \"static-assets\", nil)\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.digitalocean.SpacesBucket;\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 static_assets = new SpacesBucket(\"static-assets\");\n\n }\n}\n```\n```yaml\nresources:\n static-assets:\n type: digitalocean:SpacesBucket\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nFor more information, See [An Introduction to DigitalOcean Spaces](https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces)\n\n## Example Usage\n\n### Create a Key in a Spaces Bucket\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobar = new digitalocean.SpacesBucket(\"foobar\", {region: digitalocean.Region.NYC3});\nconst index = new digitalocean.SpacesBucketObject(\"index\", {\n region: foobar.region,\n bucket: foobar.name,\n key: \"index.html\",\n content: \"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\",\n contentType: \"text/html\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar = digitalocean.SpacesBucket(\"foobar\", region=digitalocean.Region.NYC3)\nindex = digitalocean.SpacesBucketObject(\"index\",\n region=foobar.region,\n bucket=foobar.name,\n key=\"index.html\",\n content=\"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\",\n content_type=\"text/html\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobar = new DigitalOcean.SpacesBucket(\"foobar\", new()\n {\n Region = DigitalOcean.Region.NYC3,\n });\n\n var index = new DigitalOcean.SpacesBucketObject(\"index\", new()\n {\n Region = foobar.Region,\n Bucket = foobar.Name,\n Key = \"index.html\",\n Content = \"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\",\n ContentType = \"text/html\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobar, err := digitalocean.NewSpacesBucket(ctx, \"foobar\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewSpacesBucketObject(ctx, \"index\", \u0026digitalocean.SpacesBucketObjectArgs{\n\t\t\tRegion: foobar.Region,\n\t\t\tBucket: foobar.Name,\n\t\t\tKey: pulumi.String(\"index.html\"),\n\t\t\tContent: pulumi.String(\"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\"),\n\t\t\tContentType: pulumi.String(\"text/html\"),\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.SpacesBucketObject;\nimport com.pulumi.digitalocean.SpacesBucketObjectArgs;\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 foobar = new SpacesBucket(\"foobar\", SpacesBucketArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var index = new SpacesBucketObject(\"index\", SpacesBucketObjectArgs.builder() \n .region(foobar.region())\n .bucket(foobar.name())\n .key(\"index.html\")\n .content(\"\u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\")\n .contentType(\"text/html\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:SpacesBucket\n properties:\n region: nyc3\n index:\n type: digitalocean:SpacesBucketObject\n properties:\n region: ${foobar.region}\n bucket: ${foobar.name}\n key: index.html\n content: \u003chtml\u003e\u003cbody\u003e\u003cp\u003eThis page is empty.\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\n contentType: text/html\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImporting this resource is not supported.\n\n", "properties": { "acl": { "type": "string", @@ -12542,7 +12542,7 @@ } }, "digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy": { - "description": "## Example Usage\n\n### Limiting access to specific IP addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarSpacesBucket = new digitalocean.SpacesBucket(\"foobarSpacesBucket\", {region: \"nyc3\"});\nconst foobarSpacesBucketPolicy = new digitalocean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\", {\n region: foobarSpacesBucket.region,\n bucket: foobarSpacesBucket.name,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"IPAllow\",\n Effect: \"Deny\",\n Principal: \"*\",\n Action: \"s3:*\",\n Resource: [\n pulumi.interpolate`arn:aws:s3:::${foobarSpacesBucket.name}`,\n pulumi.interpolate`arn:aws:s3:::${foobarSpacesBucket.name}/*`,\n ],\n Condition: {\n NotIpAddress: {\n \"aws:SourceIp\": \"54.240.143.0/24\",\n },\n },\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_digitalocean as digitalocean\n\nfoobar_spaces_bucket = digitalocean.SpacesBucket(\"foobarSpacesBucket\", region=\"nyc3\")\nfoobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\",\n region=foobar_spaces_bucket.region,\n bucket=foobar_spaces_bucket.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"IPAllow\",\n \"Effect\": \"Deny\",\n \"Principal\": \"*\",\n \"Action\": \"s3:*\",\n \"Resource\": [\n foobar_spaces_bucket.name.apply(lambda name: f\"arn:aws:s3:::{name}\"),\n foobar_spaces_bucket.name.apply(lambda name: f\"arn:aws:s3:::{name}/*\"),\n ],\n \"Condition\": {\n \"NotIpAddress\": {\n \"aws:SourceIp\": \"54.240.143.0/24\",\n },\n },\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarSpacesBucket = new DigitalOcean.SpacesBucket(\"foobarSpacesBucket\", new()\n {\n Region = \"nyc3\",\n });\n\n var foobarSpacesBucketPolicy = new DigitalOcean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\", new()\n {\n Region = foobarSpacesBucket.Region,\n Bucket = foobarSpacesBucket.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"IPAllow\",\n [\"Effect\"] = \"Deny\",\n [\"Principal\"] = \"*\",\n [\"Action\"] = \"s3:*\",\n [\"Resource\"] = new[]\n {\n foobarSpacesBucket.Name.Apply(name =\u003e $\"arn:aws:s3:::{name}\"),\n foobarSpacesBucket.Name.Apply(name =\u003e $\"arn:aws:s3:::{name}/*\"),\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NotIpAddress\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceIp\"] = \"54.240.143.0/24\",\n },\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarSpacesBucket, err := digitalocean.NewSpacesBucket(ctx, \"foobarSpacesBucket\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewSpacesBucketPolicy(ctx, \"foobarSpacesBucketPolicy\", \u0026digitalocean.SpacesBucketPolicyArgs{\n\t\t\tRegion: foobarSpacesBucket.Region,\n\t\t\tBucket: foobarSpacesBucket.Name,\n\t\t\tPolicy: pulumi.All(foobarSpacesBucket.Name, foobarSpacesBucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tfoobarSpacesBucketName := _args[0].(string)\n\t\t\t\tfoobarSpacesBucketName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"IPAllow\",\n\t\t\t\t\t\t\t\"Effect\": \"Deny\",\n\t\t\t\t\t\t\t\"Principal\": \"*\",\n\t\t\t\t\t\t\t\"Action\": \"s3:*\",\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v\", foobarSpacesBucketName),\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/*\", foobarSpacesBucketName1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"NotIpAddress\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"aws:SourceIp\": \"54.240.143.0/24\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.SpacesBucketPolicy;\nimport com.pulumi.digitalocean.SpacesBucketPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\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 foobarSpacesBucket = new SpacesBucket(\"foobarSpacesBucket\", SpacesBucketArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var foobarSpacesBucketPolicy = new SpacesBucketPolicy(\"foobarSpacesBucketPolicy\", SpacesBucketPolicyArgs.builder() \n .region(foobarSpacesBucket.region())\n .bucket(foobarSpacesBucket.name())\n .policy(Output.tuple(foobarSpacesBucket.name(), foobarSpacesBucket.name()).applyValue(values -\u003e {\n var foobarSpacesBucketName = values.t1;\n var foobarSpacesBucketName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"IPAllow\"),\n jsonProperty(\"Effect\", \"Deny\"),\n jsonProperty(\"Principal\", \"*\"),\n jsonProperty(\"Action\", \"s3:*\"),\n jsonProperty(\"Resource\", jsonArray(\n String.format(\"arn:aws:s3:::%s\", foobarSpacesBucketName), \n String.format(\"arn:aws:s3:::%s/*\", foobarSpacesBucketName1)\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"NotIpAddress\", jsonObject(\n jsonProperty(\"aws:SourceIp\", \"54.240.143.0/24\")\n ))\n ))\n )))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarSpacesBucket:\n type: digitalocean:SpacesBucket\n properties:\n region: nyc3\n foobarSpacesBucketPolicy:\n type: digitalocean:SpacesBucketPolicy\n properties:\n region: ${foobarSpacesBucket.region}\n bucket: ${foobarSpacesBucket.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: IPAllow\n Effect: Deny\n Principal: '*'\n Action: s3:*\n Resource:\n - arn:aws:s3:::${foobarSpacesBucket.name}\n - arn:aws:s3:::${foobarSpacesBucket.name}/*\n Condition:\n NotIpAddress:\n aws:SourceIp: 54.240.143.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n!\u003e **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket.\n\n## Import\n\nBucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma):\n\n```sh\n$ pulumi import digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy foobar `region`,`bucket`\n```\n\n", + "description": "## Example Usage\n\n### Limiting access to specific IP addresses\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarSpacesBucket = new digitalocean.SpacesBucket(\"foobarSpacesBucket\", {region: digitalocean.Region.NYC3});\nconst foobarSpacesBucketPolicy = new digitalocean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\", {\n region: foobarSpacesBucket.region,\n bucket: foobarSpacesBucket.name,\n policy: pulumi.jsonStringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"IPAllow\",\n Effect: \"Deny\",\n Principal: \"*\",\n Action: \"s3:*\",\n Resource: [\n pulumi.interpolate`arn:aws:s3:::${foobarSpacesBucket.name}`,\n pulumi.interpolate`arn:aws:s3:::${foobarSpacesBucket.name}/*`,\n ],\n Condition: {\n NotIpAddress: {\n \"aws:SourceIp\": \"54.240.143.0/24\",\n },\n },\n }],\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_digitalocean as digitalocean\n\nfoobar_spaces_bucket = digitalocean.SpacesBucket(\"foobarSpacesBucket\", region=digitalocean.Region.NYC3)\nfoobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\",\n region=foobar_spaces_bucket.region,\n bucket=foobar_spaces_bucket.name,\n policy=pulumi.Output.json_dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"IPAllow\",\n \"Effect\": \"Deny\",\n \"Principal\": \"*\",\n \"Action\": \"s3:*\",\n \"Resource\": [\n foobar_spaces_bucket.name.apply(lambda name: f\"arn:aws:s3:::{name}\"),\n foobar_spaces_bucket.name.apply(lambda name: f\"arn:aws:s3:::{name}/*\"),\n ],\n \"Condition\": {\n \"NotIpAddress\": {\n \"aws:SourceIp\": \"54.240.143.0/24\",\n },\n },\n }],\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarSpacesBucket = new DigitalOcean.SpacesBucket(\"foobarSpacesBucket\", new()\n {\n Region = DigitalOcean.Region.NYC3,\n });\n\n var foobarSpacesBucketPolicy = new DigitalOcean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\", new()\n {\n Region = foobarSpacesBucket.Region,\n Bucket = foobarSpacesBucket.Name,\n Policy = Output.JsonSerialize(Output.Create(new Dictionary\u003cstring, object?\u003e\n {\n [\"Version\"] = \"2012-10-17\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Sid\"] = \"IPAllow\",\n [\"Effect\"] = \"Deny\",\n [\"Principal\"] = \"*\",\n [\"Action\"] = \"s3:*\",\n [\"Resource\"] = new[]\n {\n foobarSpacesBucket.Name.Apply(name =\u003e $\"arn:aws:s3:::{name}\"),\n foobarSpacesBucket.Name.Apply(name =\u003e $\"arn:aws:s3:::{name}/*\"),\n },\n [\"Condition\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"NotIpAddress\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"aws:SourceIp\"] = \"54.240.143.0/24\",\n },\n },\n },\n },\n })),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarSpacesBucket, err := digitalocean.NewSpacesBucket(ctx, \"foobarSpacesBucket\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewSpacesBucketPolicy(ctx, \"foobarSpacesBucketPolicy\", \u0026digitalocean.SpacesBucketPolicyArgs{\n\t\t\tRegion: foobarSpacesBucket.Region,\n\t\t\tBucket: foobarSpacesBucket.Name,\n\t\t\tPolicy: pulumi.All(foobarSpacesBucket.Name, foobarSpacesBucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tfoobarSpacesBucketName := _args[0].(string)\n\t\t\t\tfoobarSpacesBucketName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"IPAllow\",\n\t\t\t\t\t\t\t\"Effect\": \"Deny\",\n\t\t\t\t\t\t\t\"Principal\": \"*\",\n\t\t\t\t\t\t\t\"Action\": \"s3:*\",\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v\", foobarSpacesBucketName),\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"arn:aws:s3:::%v/*\", foobarSpacesBucketName1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"NotIpAddress\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"aws:SourceIp\": \"54.240.143.0/24\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\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.digitalocean.SpacesBucket;\nimport com.pulumi.digitalocean.SpacesBucketArgs;\nimport com.pulumi.digitalocean.SpacesBucketPolicy;\nimport com.pulumi.digitalocean.SpacesBucketPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\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 foobarSpacesBucket = new SpacesBucket(\"foobarSpacesBucket\", SpacesBucketArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var foobarSpacesBucketPolicy = new SpacesBucketPolicy(\"foobarSpacesBucketPolicy\", SpacesBucketPolicyArgs.builder() \n .region(foobarSpacesBucket.region())\n .bucket(foobarSpacesBucket.name())\n .policy(Output.tuple(foobarSpacesBucket.name(), foobarSpacesBucket.name()).applyValue(values -\u003e {\n var foobarSpacesBucketName = values.t1;\n var foobarSpacesBucketName1 = values.t2;\n return serializeJson(\n jsonObject(\n jsonProperty(\"Version\", \"2012-10-17\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"Sid\", \"IPAllow\"),\n jsonProperty(\"Effect\", \"Deny\"),\n jsonProperty(\"Principal\", \"*\"),\n jsonProperty(\"Action\", \"s3:*\"),\n jsonProperty(\"Resource\", jsonArray(\n String.format(\"arn:aws:s3:::%s\", foobarSpacesBucketName), \n String.format(\"arn:aws:s3:::%s/*\", foobarSpacesBucketName1)\n )),\n jsonProperty(\"Condition\", jsonObject(\n jsonProperty(\"NotIpAddress\", jsonObject(\n jsonProperty(\"aws:SourceIp\", \"54.240.143.0/24\")\n ))\n ))\n )))\n ));\n }))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarSpacesBucket:\n type: digitalocean:SpacesBucket\n properties:\n region: nyc3\n foobarSpacesBucketPolicy:\n type: digitalocean:SpacesBucketPolicy\n properties:\n region: ${foobarSpacesBucket.region}\n bucket: ${foobarSpacesBucket.name}\n policy:\n fn::toJSON:\n Version: 2012-10-17\n Statement:\n - Sid: IPAllow\n Effect: Deny\n Principal: '*'\n Action: s3:*\n Resource:\n - arn:aws:s3:::${foobarSpacesBucket.name}\n - arn:aws:s3:::${foobarSpacesBucket.name}/*\n Condition:\n NotIpAddress:\n aws:SourceIp: 54.240.143.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n!\u003e **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket.\n\n## Import\n\nBucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma):\n\n```sh\n$ pulumi import digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy foobar `region`,`bucket`\n```\n\n", "properties": { "bucket": { "type": "string", @@ -12605,7 +12605,7 @@ } }, "digitalocean:index/sshKey:SshKey": { - "description": "Provides a DigitalOcean SSH key resource to allow you to manage SSH\nkeys for Droplet access. Keys created with this resource\ncan be referenced in your Droplet configuration via their ID or\nfingerprint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\nimport * as fs from \"fs\";\n\n// Create a new SSH key\nconst _default = new digitalocean.SshKey(\"default\", {publicKey: fs.readFileSync(\"/Users/myuser/.ssh/id_rsa.pub\", \"utf8\")});\n// Create a new Droplet using the SSH key\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n size: \"s-1vcpu-1gb\",\n sshKeys: [_default.fingerprint],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new SSH key\ndefault = digitalocean.SshKey(\"default\", public_key=(lambda path: open(path).read())(\"/Users/myuser/.ssh/id_rsa.pub\"))\n# Create a new Droplet using the SSH key\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\",\n size=\"s-1vcpu-1gb\",\n ssh_keys=[default.fingerprint])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new SSH key\n var @default = new DigitalOcean.SshKey(\"default\", new()\n {\n PublicKey = File.ReadAllText(\"/Users/myuser/.ssh/id_rsa.pub\"),\n });\n\n // Create a new Droplet using the SSH key\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n Size = \"s-1vcpu-1gb\",\n SshKeys = new[]\n {\n @default.Fingerprint,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new SSH key\n\t\t_, err := digitalocean.NewSshKey(ctx, \"default\", \u0026digitalocean.SshKeyArgs{\n\t\t\tPublicKey: readFileOrPanic(\"/Users/myuser/.ssh/id_rsa.pub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Droplet using the SSH key\n\t\t_, err = digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tSshKeys: pulumi.StringArray{\n\t\t\t\t_default.Fingerprint,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.SshKey;\nimport com.pulumi.digitalocean.SshKeyArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 default_ = new SshKey(\"default\", SshKeyArgs.builder() \n .publicKey(Files.readString(Paths.get(\"/Users/myuser/.ssh/id_rsa.pub\")))\n .build());\n\n var web = new Droplet(\"web\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .size(\"s-1vcpu-1gb\")\n .sshKeys(default_.fingerprint())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new SSH key\n default:\n type: digitalocean:SshKey\n properties:\n publicKey:\n fn::readFile: /Users/myuser/.ssh/id_rsa.pub\n # Create a new Droplet using the SSH key\n web:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc3\n size: s-1vcpu-1gb\n sshKeys:\n - ${default.fingerprint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSSH Keys can be imported using the `ssh key id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/sshKey:SshKey mykey 263654\n```\n\n", + "description": "Provides a DigitalOcean SSH key resource to allow you to manage SSH\nkeys for Droplet access. Keys created with this resource\ncan be referenced in your Droplet configuration via their ID or\nfingerprint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\nimport * as fs from \"fs\";\n\n// Create a new SSH key\nconst _default = new digitalocean.SshKey(\"default\", {publicKey: fs.readFileSync(\"/Users/myuser/.ssh/id_rsa.pub\", \"utf8\")});\n// Create a new Droplet using the SSH key\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC3,\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n sshKeys: [_default.fingerprint],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new SSH key\ndefault = digitalocean.SshKey(\"default\", public_key=(lambda path: open(path).read())(\"/Users/myuser/.ssh/id_rsa.pub\"))\n# Create a new Droplet using the SSH key\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC3,\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n ssh_keys=[default.fingerprint])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new SSH key\n var @default = new DigitalOcean.SshKey(\"default\", new()\n {\n PublicKey = File.ReadAllText(\"/Users/myuser/.ssh/id_rsa.pub\"),\n });\n\n // Create a new Droplet using the SSH key\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n SshKeys = new[]\n {\n @default.Fingerprint,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new SSH key\n\t\t_, err := digitalocean.NewSshKey(ctx, \"default\", \u0026digitalocean.SshKeyArgs{\n\t\t\tPublicKey: readFileOrPanic(\"/Users/myuser/.ssh/id_rsa.pub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Droplet using the SSH key\n\t\t_, err = digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tSshKeys: pulumi.StringArray{\n\t\t\t\t_default.Fingerprint,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.SshKey;\nimport com.pulumi.digitalocean.SshKeyArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 default_ = new SshKey(\"default\", SshKeyArgs.builder() \n .publicKey(Files.readString(Paths.get(\"/Users/myuser/.ssh/id_rsa.pub\")))\n .build());\n\n var web = new Droplet(\"web\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .size(\"s-1vcpu-1gb\")\n .sshKeys(default_.fingerprint())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new SSH key\n default:\n type: digitalocean:SshKey\n properties:\n publicKey:\n fn::readFile: /Users/myuser/.ssh/id_rsa.pub\n # Create a new Droplet using the SSH key\n web:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc3\n size: s-1vcpu-1gb\n sshKeys:\n - ${default.fingerprint}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nSSH Keys can be imported using the `ssh key id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/sshKey:SshKey mykey 263654\n```\n\n", "properties": { "fingerprint": { "type": "string", @@ -12660,7 +12660,7 @@ } }, "digitalocean:index/tag:Tag": { - "description": "Provides a DigitalOcean Tag resource. A Tag is a label that can be applied to a\nDroplet resource in order to better organize or facilitate the lookups and\nactions on it. Tags created with this resource can be referenced in your Droplet\nconfiguration via their ID or name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new tag\nconst foobar = new digitalocean.Tag(\"foobar\", {});\n// Create a new Droplet in nyc3 with the foobar tag\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n size: \"s-1vcpu-1gb\",\n tags: [foobar.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new tag\nfoobar = digitalocean.Tag(\"foobar\")\n# Create a new Droplet in nyc3 with the foobar tag\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\",\n size=\"s-1vcpu-1gb\",\n tags=[foobar.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new tag\n var foobar = new DigitalOcean.Tag(\"foobar\");\n\n // Create a new Droplet in nyc3 with the foobar tag\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n Size = \"s-1vcpu-1gb\",\n Tags = new[]\n {\n foobar.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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// Create a new tag\n\t\tfoobar, err := digitalocean.NewTag(ctx, \"foobar\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Droplet in nyc3 with the foobar tag\n\t\t_, err = digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tfoobar.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Tag;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 foobar = new Tag(\"foobar\");\n\n var web = new Droplet(\"web\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .size(\"s-1vcpu-1gb\")\n .tags(foobar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new tag\n foobar:\n type: digitalocean:Tag\n # Create a new Droplet in nyc3 with the foobar tag\n web:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc3\n size: s-1vcpu-1gb\n tags:\n - ${foobar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTags can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/tag:Tag mytag tagname\n```\n\n", + "description": "Provides a DigitalOcean Tag resource. A Tag is a label that can be applied to a\nDroplet resource in order to better organize or facilitate the lookups and\nactions on it. Tags created with this resource can be referenced in your Droplet\nconfiguration via their ID or name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new tag\nconst foobar = new digitalocean.Tag(\"foobar\", {});\n// Create a new Droplet in nyc3 with the foobar tag\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC3,\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n tags: [foobar.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new tag\nfoobar = digitalocean.Tag(\"foobar\")\n# Create a new Droplet in nyc3 with the foobar tag\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC3,\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n tags=[foobar.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new tag\n var foobar = new DigitalOcean.Tag(\"foobar\");\n\n // Create a new Droplet in nyc3 with the foobar tag\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Tags = new[]\n {\n foobar.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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// Create a new tag\n\t\tfoobar, err := digitalocean.NewTag(ctx, \"foobar\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Droplet in nyc3 with the foobar tag\n\t\t_, err = digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tfoobar.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.Tag;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 foobar = new Tag(\"foobar\");\n\n var web = new Droplet(\"web\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .size(\"s-1vcpu-1gb\")\n .tags(foobar.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new tag\n foobar:\n type: digitalocean:Tag\n # Create a new Droplet in nyc3 with the foobar tag\n web:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc3\n size: s-1vcpu-1gb\n tags:\n - ${foobar.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nTags can be imported using the `name`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/tag:Tag mytag tagname\n```\n\n", "properties": { "databasesCount": { "type": "integer", @@ -12950,7 +12950,7 @@ } }, "digitalocean:index/volume:Volume": { - "description": "Provides a DigitalOcean Block Storage volume which can be attached to a Droplet in order to provide expanded storage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarVolume = new digitalocean.Volume(\"foobarVolume\", {\n region: \"nyc1\",\n size: 100,\n initialFilesystemType: \"ext4\",\n description: \"an example volume\",\n});\nconst foobarDroplet = new digitalocean.Droplet(\"foobarDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"nyc1\",\n});\nconst foobarVolumeAttachment = new digitalocean.VolumeAttachment(\"foobarVolumeAttachment\", {\n dropletId: foobarDroplet.id,\n volumeId: foobarVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_volume = digitalocean.Volume(\"foobarVolume\",\n region=\"nyc1\",\n size=100,\n initial_filesystem_type=\"ext4\",\n description=\"an example volume\")\nfoobar_droplet = digitalocean.Droplet(\"foobarDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc1\")\nfoobar_volume_attachment = digitalocean.VolumeAttachment(\"foobarVolumeAttachment\",\n droplet_id=foobar_droplet.id,\n volume_id=foobar_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarVolume = new DigitalOcean.Volume(\"foobarVolume\", new()\n {\n Region = \"nyc1\",\n Size = 100,\n InitialFilesystemType = \"ext4\",\n Description = \"an example volume\",\n });\n\n var foobarDroplet = new DigitalOcean.Droplet(\"foobarDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc1\",\n });\n\n var foobarVolumeAttachment = new DigitalOcean.VolumeAttachment(\"foobarVolumeAttachment\", new()\n {\n DropletId = foobarDroplet.Id,\n VolumeId = foobarVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarVolume, err := digitalocean.NewVolume(ctx, \"foobarVolume\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tSize: pulumi.Int(100),\n\t\t\tInitialFilesystemType: pulumi.String(\"ext4\"),\n\t\t\tDescription: pulumi.String(\"an example volume\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoobarDroplet, err := digitalocean.NewDroplet(ctx, \"foobarDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolumeAttachment(ctx, \"foobarVolumeAttachment\", \u0026digitalocean.VolumeAttachmentArgs{\n\t\t\tDropletId: foobarDroplet.ID(),\n\t\t\tVolumeId: foobarVolume.ID(),\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.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.VolumeAttachment;\nimport com.pulumi.digitalocean.VolumeAttachmentArgs;\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 foobarVolume = new Volume(\"foobarVolume\", VolumeArgs.builder() \n .region(\"nyc1\")\n .size(100)\n .initialFilesystemType(\"ext4\")\n .description(\"an example volume\")\n .build());\n\n var foobarDroplet = new Droplet(\"foobarDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc1\")\n .build());\n\n var foobarVolumeAttachment = new VolumeAttachment(\"foobarVolumeAttachment\", VolumeAttachmentArgs.builder() \n .dropletId(foobarDroplet.id())\n .volumeId(foobarVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarVolume:\n type: digitalocean:Volume\n properties:\n region: nyc1\n size: 100\n initialFilesystemType: ext4\n description: an example volume\n foobarDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc1\n foobarVolumeAttachment:\n type: digitalocean:VolumeAttachment\n properties:\n dropletId: ${foobarDroplet.id}\n volumeId: ${foobarVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also create a volume from an existing snapshot.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarVolumeSnapshot = digitalocean.getVolumeSnapshot({\n name: \"baz\",\n});\nconst foobarVolume = new digitalocean.Volume(\"foobarVolume\", {\n region: \"lon1\",\n size: foobarVolumeSnapshot.then(foobarVolumeSnapshot =\u003e foobarVolumeSnapshot.minDiskSize),\n snapshotId: foobarVolumeSnapshot.then(foobarVolumeSnapshot =\u003e foobarVolumeSnapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_volume_snapshot = digitalocean.get_volume_snapshot(name=\"baz\")\nfoobar_volume = digitalocean.Volume(\"foobarVolume\",\n region=\"lon1\",\n size=foobar_volume_snapshot.min_disk_size,\n snapshot_id=foobar_volume_snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarVolumeSnapshot = DigitalOcean.GetVolumeSnapshot.Invoke(new()\n {\n Name = \"baz\",\n });\n\n var foobarVolume = new DigitalOcean.Volume(\"foobarVolume\", new()\n {\n Region = \"lon1\",\n Size = foobarVolumeSnapshot.Apply(getVolumeSnapshotResult =\u003e getVolumeSnapshotResult.MinDiskSize),\n SnapshotId = foobarVolumeSnapshot.Apply(getVolumeSnapshotResult =\u003e getVolumeSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarVolumeSnapshot, err := digitalocean.LookupVolumeSnapshot(ctx, \u0026digitalocean.LookupVolumeSnapshotArgs{\n\t\t\tName: pulumi.StringRef(\"baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolume(ctx, \"foobarVolume\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(\"lon1\"),\n\t\t\tSize: *pulumi.Int(foobarVolumeSnapshot.MinDiskSize),\n\t\t\tSnapshotId: *pulumi.String(foobarVolumeSnapshot.Id),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeSnapshotArgs;\nimport com.pulumi.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\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 foobarVolumeSnapshot = DigitaloceanFunctions.getVolumeSnapshot(GetVolumeSnapshotArgs.builder()\n .name(\"baz\")\n .build());\n\n var foobarVolume = new Volume(\"foobarVolume\", VolumeArgs.builder() \n .region(\"lon1\")\n .size(foobarVolumeSnapshot.applyValue(getVolumeSnapshotResult -\u003e getVolumeSnapshotResult.minDiskSize()))\n .snapshotId(foobarVolumeSnapshot.applyValue(getVolumeSnapshotResult -\u003e getVolumeSnapshotResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarVolume:\n type: digitalocean:Volume\n properties:\n region: lon1\n size: ${foobarVolumeSnapshot.minDiskSize}\n snapshotId: ${foobarVolumeSnapshot.id}\nvariables:\n foobarVolumeSnapshot:\n fn::invoke:\n Function: digitalocean:getVolumeSnapshot\n Arguments:\n name: baz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolumes can be imported using the `volume id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/volume:Volume volume 506f78a4-e098-11e5-ad9f-000f53306ae1\n```\n\n", + "description": "Provides a DigitalOcean Block Storage volume which can be attached to a Droplet in order to provide expanded storage.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarVolume = new digitalocean.Volume(\"foobarVolume\", {\n region: digitalocean.Region.NYC1,\n size: 100,\n initialFilesystemType: digitalocean.FileSystemType.EXT4,\n description: \"an example volume\",\n});\nconst foobarDroplet = new digitalocean.Droplet(\"foobarDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC1,\n});\nconst foobarVolumeAttachment = new digitalocean.VolumeAttachment(\"foobarVolumeAttachment\", {\n dropletId: foobarDroplet.id,\n volumeId: foobarVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_volume = digitalocean.Volume(\"foobarVolume\",\n region=digitalocean.Region.NYC1,\n size=100,\n initial_filesystem_type=digitalocean.FileSystemType.EXT4,\n description=\"an example volume\")\nfoobar_droplet = digitalocean.Droplet(\"foobarDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC1)\nfoobar_volume_attachment = digitalocean.VolumeAttachment(\"foobarVolumeAttachment\",\n droplet_id=foobar_droplet.id,\n volume_id=foobar_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarVolume = new DigitalOcean.Volume(\"foobarVolume\", new()\n {\n Region = DigitalOcean.Region.NYC1,\n Size = 100,\n InitialFilesystemType = DigitalOcean.FileSystemType.EXT4,\n Description = \"an example volume\",\n });\n\n var foobarDroplet = new DigitalOcean.Droplet(\"foobarDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC1,\n });\n\n var foobarVolumeAttachment = new DigitalOcean.VolumeAttachment(\"foobarVolumeAttachment\", new()\n {\n DropletId = foobarDroplet.Id,\n VolumeId = foobarVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarVolume, err := digitalocean.NewVolume(ctx, \"foobarVolume\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tSize: pulumi.Int(100),\n\t\t\tInitialFilesystemType: pulumi.String(digitalocean.FileSystemTypeEXT4),\n\t\t\tDescription: pulumi.String(\"an example volume\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoobarDroplet, err := digitalocean.NewDroplet(ctx, \"foobarDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolumeAttachment(ctx, \"foobarVolumeAttachment\", \u0026digitalocean.VolumeAttachmentArgs{\n\t\t\tDropletId: foobarDroplet.ID(),\n\t\t\tVolumeId: foobarVolume.ID(),\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.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.VolumeAttachment;\nimport com.pulumi.digitalocean.VolumeAttachmentArgs;\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 foobarVolume = new Volume(\"foobarVolume\", VolumeArgs.builder() \n .region(\"nyc1\")\n .size(100)\n .initialFilesystemType(\"ext4\")\n .description(\"an example volume\")\n .build());\n\n var foobarDroplet = new Droplet(\"foobarDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc1\")\n .build());\n\n var foobarVolumeAttachment = new VolumeAttachment(\"foobarVolumeAttachment\", VolumeAttachmentArgs.builder() \n .dropletId(foobarDroplet.id())\n .volumeId(foobarVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarVolume:\n type: digitalocean:Volume\n properties:\n region: nyc1\n size: 100\n initialFilesystemType: ext4\n description: an example volume\n foobarDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc1\n foobarVolumeAttachment:\n type: digitalocean:VolumeAttachment\n properties:\n dropletId: ${foobarDroplet.id}\n volumeId: ${foobarVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also create a volume from an existing snapshot.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarVolumeSnapshot = digitalocean.getVolumeSnapshot({\n name: \"baz\",\n});\nconst foobarVolume = new digitalocean.Volume(\"foobarVolume\", {\n region: digitalocean.Region.LON1,\n size: foobarVolumeSnapshot.then(foobarVolumeSnapshot =\u003e foobarVolumeSnapshot.minDiskSize),\n snapshotId: foobarVolumeSnapshot.then(foobarVolumeSnapshot =\u003e foobarVolumeSnapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_volume_snapshot = digitalocean.get_volume_snapshot(name=\"baz\")\nfoobar_volume = digitalocean.Volume(\"foobarVolume\",\n region=digitalocean.Region.LON1,\n size=foobar_volume_snapshot.min_disk_size,\n snapshot_id=foobar_volume_snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarVolumeSnapshot = DigitalOcean.GetVolumeSnapshot.Invoke(new()\n {\n Name = \"baz\",\n });\n\n var foobarVolume = new DigitalOcean.Volume(\"foobarVolume\", new()\n {\n Region = DigitalOcean.Region.LON1,\n Size = foobarVolumeSnapshot.Apply(getVolumeSnapshotResult =\u003e getVolumeSnapshotResult.MinDiskSize),\n SnapshotId = foobarVolumeSnapshot.Apply(getVolumeSnapshotResult =\u003e getVolumeSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarVolumeSnapshot, err := digitalocean.LookupVolumeSnapshot(ctx, \u0026digitalocean.LookupVolumeSnapshotArgs{\n\t\t\tName: pulumi.StringRef(\"baz\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolume(ctx, \"foobarVolume\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionLON1),\n\t\t\tSize: pulumi.Int(foobarVolumeSnapshot.MinDiskSize),\n\t\t\tSnapshotId: pulumi.String(foobarVolumeSnapshot.Id),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeSnapshotArgs;\nimport com.pulumi.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\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 foobarVolumeSnapshot = DigitaloceanFunctions.getVolumeSnapshot(GetVolumeSnapshotArgs.builder()\n .name(\"baz\")\n .build());\n\n var foobarVolume = new Volume(\"foobarVolume\", VolumeArgs.builder() \n .region(\"lon1\")\n .size(foobarVolumeSnapshot.applyValue(getVolumeSnapshotResult -\u003e getVolumeSnapshotResult.minDiskSize()))\n .snapshotId(foobarVolumeSnapshot.applyValue(getVolumeSnapshotResult -\u003e getVolumeSnapshotResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarVolume:\n type: digitalocean:Volume\n properties:\n region: lon1\n size: ${foobarVolumeSnapshot.minDiskSize}\n snapshotId: ${foobarVolumeSnapshot.id}\nvariables:\n foobarVolumeSnapshot:\n fn::invoke:\n Function: digitalocean:getVolumeSnapshot\n Arguments:\n name: baz\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolumes can be imported using the `volume id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/volume:Volume volume 506f78a4-e098-11e5-ad9f-000f53306ae1\n```\n\n", "properties": { "description": { "type": "string", @@ -13174,7 +13174,7 @@ } }, "digitalocean:index/volumeAttachment:VolumeAttachment": { - "description": "Manages attaching a Volume to a Droplet.\n\n\u003e **NOTE:** Volumes can be attached either directly on the `digitalocean.Droplet` resource, or using the `digitalocean.VolumeAttachment` resource - but the two cannot be used together. If both are used against the same Droplet, the volume attachments will constantly drift.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarVolume = new digitalocean.Volume(\"foobarVolume\", {\n region: \"nyc1\",\n size: 100,\n initialFilesystemType: \"ext4\",\n description: \"an example volume\",\n});\nconst foobarDroplet = new digitalocean.Droplet(\"foobarDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"nyc1\",\n});\nconst foobarVolumeAttachment = new digitalocean.VolumeAttachment(\"foobarVolumeAttachment\", {\n dropletId: foobarDroplet.id,\n volumeId: foobarVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_volume = digitalocean.Volume(\"foobarVolume\",\n region=\"nyc1\",\n size=100,\n initial_filesystem_type=\"ext4\",\n description=\"an example volume\")\nfoobar_droplet = digitalocean.Droplet(\"foobarDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc1\")\nfoobar_volume_attachment = digitalocean.VolumeAttachment(\"foobarVolumeAttachment\",\n droplet_id=foobar_droplet.id,\n volume_id=foobar_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarVolume = new DigitalOcean.Volume(\"foobarVolume\", new()\n {\n Region = \"nyc1\",\n Size = 100,\n InitialFilesystemType = \"ext4\",\n Description = \"an example volume\",\n });\n\n var foobarDroplet = new DigitalOcean.Droplet(\"foobarDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc1\",\n });\n\n var foobarVolumeAttachment = new DigitalOcean.VolumeAttachment(\"foobarVolumeAttachment\", new()\n {\n DropletId = foobarDroplet.Id,\n VolumeId = foobarVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarVolume, err := digitalocean.NewVolume(ctx, \"foobarVolume\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tSize: pulumi.Int(100),\n\t\t\tInitialFilesystemType: pulumi.String(\"ext4\"),\n\t\t\tDescription: pulumi.String(\"an example volume\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoobarDroplet, err := digitalocean.NewDroplet(ctx, \"foobarDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolumeAttachment(ctx, \"foobarVolumeAttachment\", \u0026digitalocean.VolumeAttachmentArgs{\n\t\t\tDropletId: foobarDroplet.ID(),\n\t\t\tVolumeId: foobarVolume.ID(),\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.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.VolumeAttachment;\nimport com.pulumi.digitalocean.VolumeAttachmentArgs;\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 foobarVolume = new Volume(\"foobarVolume\", VolumeArgs.builder() \n .region(\"nyc1\")\n .size(100)\n .initialFilesystemType(\"ext4\")\n .description(\"an example volume\")\n .build());\n\n var foobarDroplet = new Droplet(\"foobarDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc1\")\n .build());\n\n var foobarVolumeAttachment = new VolumeAttachment(\"foobarVolumeAttachment\", VolumeAttachmentArgs.builder() \n .dropletId(foobarDroplet.id())\n .volumeId(foobarVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarVolume:\n type: digitalocean:Volume\n properties:\n region: nyc1\n size: 100\n initialFilesystemType: ext4\n description: an example volume\n foobarDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc1\n foobarVolumeAttachment:\n type: digitalocean:VolumeAttachment\n properties:\n dropletId: ${foobarDroplet.id}\n volumeId: ${foobarVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Manages attaching a Volume to a Droplet.\n\n\u003e **NOTE:** Volumes can be attached either directly on the `digitalocean.Droplet` resource, or using the `digitalocean.VolumeAttachment` resource - but the two cannot be used together. If both are used against the same Droplet, the volume attachments will constantly drift.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarVolume = new digitalocean.Volume(\"foobarVolume\", {\n region: digitalocean.Region.NYC1,\n size: 100,\n initialFilesystemType: digitalocean.FileSystemType.EXT4,\n description: \"an example volume\",\n});\nconst foobarDroplet = new digitalocean.Droplet(\"foobarDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC1,\n});\nconst foobarVolumeAttachment = new digitalocean.VolumeAttachment(\"foobarVolumeAttachment\", {\n dropletId: foobarDroplet.id,\n volumeId: foobarVolume.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_volume = digitalocean.Volume(\"foobarVolume\",\n region=digitalocean.Region.NYC1,\n size=100,\n initial_filesystem_type=digitalocean.FileSystemType.EXT4,\n description=\"an example volume\")\nfoobar_droplet = digitalocean.Droplet(\"foobarDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC1)\nfoobar_volume_attachment = digitalocean.VolumeAttachment(\"foobarVolumeAttachment\",\n droplet_id=foobar_droplet.id,\n volume_id=foobar_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarVolume = new DigitalOcean.Volume(\"foobarVolume\", new()\n {\n Region = DigitalOcean.Region.NYC1,\n Size = 100,\n InitialFilesystemType = DigitalOcean.FileSystemType.EXT4,\n Description = \"an example volume\",\n });\n\n var foobarDroplet = new DigitalOcean.Droplet(\"foobarDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC1,\n });\n\n var foobarVolumeAttachment = new DigitalOcean.VolumeAttachment(\"foobarVolumeAttachment\", new()\n {\n DropletId = foobarDroplet.Id,\n VolumeId = foobarVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarVolume, err := digitalocean.NewVolume(ctx, \"foobarVolume\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tSize: pulumi.Int(100),\n\t\t\tInitialFilesystemType: pulumi.String(digitalocean.FileSystemTypeEXT4),\n\t\t\tDescription: pulumi.String(\"an example volume\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfoobarDroplet, err := digitalocean.NewDroplet(ctx, \"foobarDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolumeAttachment(ctx, \"foobarVolumeAttachment\", \u0026digitalocean.VolumeAttachmentArgs{\n\t\t\tDropletId: foobarDroplet.ID(),\n\t\t\tVolumeId: foobarVolume.ID(),\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.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.VolumeAttachment;\nimport com.pulumi.digitalocean.VolumeAttachmentArgs;\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 foobarVolume = new Volume(\"foobarVolume\", VolumeArgs.builder() \n .region(\"nyc1\")\n .size(100)\n .initialFilesystemType(\"ext4\")\n .description(\"an example volume\")\n .build());\n\n var foobarDroplet = new Droplet(\"foobarDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc1\")\n .build());\n\n var foobarVolumeAttachment = new VolumeAttachment(\"foobarVolumeAttachment\", VolumeAttachmentArgs.builder() \n .dropletId(foobarDroplet.id())\n .volumeId(foobarVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarVolume:\n type: digitalocean:Volume\n properties:\n region: nyc1\n size: 100\n initialFilesystemType: ext4\n description: an example volume\n foobarDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc1\n foobarVolumeAttachment:\n type: digitalocean:VolumeAttachment\n properties:\n dropletId: ${foobarDroplet.id}\n volumeId: ${foobarVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "dropletId": { "type": "integer", @@ -13223,7 +13223,7 @@ } }, "digitalocean:index/volumeSnapshot:VolumeSnapshot": { - "description": "Provides a DigitalOcean Volume Snapshot which can be used to create a snapshot from an existing volume.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarVolume = new digitalocean.Volume(\"foobarVolume\", {\n region: \"nyc1\",\n size: 100,\n description: \"an example volume\",\n});\nconst foobarVolumeSnapshot = new digitalocean.VolumeSnapshot(\"foobarVolumeSnapshot\", {volumeId: foobarVolume.id});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_volume = digitalocean.Volume(\"foobarVolume\",\n region=\"nyc1\",\n size=100,\n description=\"an example volume\")\nfoobar_volume_snapshot = digitalocean.VolumeSnapshot(\"foobarVolumeSnapshot\", volume_id=foobar_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarVolume = new DigitalOcean.Volume(\"foobarVolume\", new()\n {\n Region = \"nyc1\",\n Size = 100,\n Description = \"an example volume\",\n });\n\n var foobarVolumeSnapshot = new DigitalOcean.VolumeSnapshot(\"foobarVolumeSnapshot\", new()\n {\n VolumeId = foobarVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarVolume, err := digitalocean.NewVolume(ctx, \"foobarVolume\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(\"nyc1\"),\n\t\t\tSize: pulumi.Int(100),\n\t\t\tDescription: pulumi.String(\"an example volume\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolumeSnapshot(ctx, \"foobarVolumeSnapshot\", \u0026digitalocean.VolumeSnapshotArgs{\n\t\t\tVolumeId: foobarVolume.ID(),\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.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\nimport com.pulumi.digitalocean.VolumeSnapshot;\nimport com.pulumi.digitalocean.VolumeSnapshotArgs;\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 foobarVolume = new Volume(\"foobarVolume\", VolumeArgs.builder() \n .region(\"nyc1\")\n .size(100)\n .description(\"an example volume\")\n .build());\n\n var foobarVolumeSnapshot = new VolumeSnapshot(\"foobarVolumeSnapshot\", VolumeSnapshotArgs.builder() \n .volumeId(foobarVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarVolume:\n type: digitalocean:Volume\n properties:\n region: nyc1\n size: 100\n description: an example volume\n foobarVolumeSnapshot:\n type: digitalocean:VolumeSnapshot\n properties:\n volumeId: ${foobarVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolume Snapshots can be imported using the `snapshot id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/volumeSnapshot:VolumeSnapshot snapshot 506f78a4-e098-11e5-ad9f-000f53306ae1\n```\n\n", + "description": "Provides a DigitalOcean Volume Snapshot which can be used to create a snapshot from an existing volume.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarVolume = new digitalocean.Volume(\"foobarVolume\", {\n region: digitalocean.Region.NYC1,\n size: 100,\n description: \"an example volume\",\n});\nconst foobarVolumeSnapshot = new digitalocean.VolumeSnapshot(\"foobarVolumeSnapshot\", {volumeId: foobarVolume.id});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nfoobar_volume = digitalocean.Volume(\"foobarVolume\",\n region=digitalocean.Region.NYC1,\n size=100,\n description=\"an example volume\")\nfoobar_volume_snapshot = digitalocean.VolumeSnapshot(\"foobarVolumeSnapshot\", volume_id=foobar_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foobarVolume = new DigitalOcean.Volume(\"foobarVolume\", new()\n {\n Region = DigitalOcean.Region.NYC1,\n Size = 100,\n Description = \"an example volume\",\n });\n\n var foobarVolumeSnapshot = new DigitalOcean.VolumeSnapshot(\"foobarVolumeSnapshot\", new()\n {\n VolumeId = foobarVolume.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarVolume, err := digitalocean.NewVolume(ctx, \"foobarVolume\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC1),\n\t\t\tSize: pulumi.Int(100),\n\t\t\tDescription: pulumi.String(\"an example volume\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolumeSnapshot(ctx, \"foobarVolumeSnapshot\", \u0026digitalocean.VolumeSnapshotArgs{\n\t\t\tVolumeId: foobarVolume.ID(),\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.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\nimport com.pulumi.digitalocean.VolumeSnapshot;\nimport com.pulumi.digitalocean.VolumeSnapshotArgs;\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 foobarVolume = new Volume(\"foobarVolume\", VolumeArgs.builder() \n .region(\"nyc1\")\n .size(100)\n .description(\"an example volume\")\n .build());\n\n var foobarVolumeSnapshot = new VolumeSnapshot(\"foobarVolumeSnapshot\", VolumeSnapshotArgs.builder() \n .volumeId(foobarVolume.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobarVolume:\n type: digitalocean:Volume\n properties:\n region: nyc1\n size: 100\n description: an example volume\n foobarVolumeSnapshot:\n type: digitalocean:VolumeSnapshot\n properties:\n volumeId: ${foobarVolume.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVolume Snapshots can be imported using the `snapshot id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/volumeSnapshot:VolumeSnapshot snapshot 506f78a4-e098-11e5-ad9f-000f53306ae1\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -13334,7 +13334,7 @@ } }, "digitalocean:index/vpc:Vpc": { - "description": "Provides a [DigitalOcean VPC](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPCs) resource.\n\nVPCs are virtual networks containing resources that can communicate with each\nother in full isolation, using private IP addresses.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = new digitalocean.Vpc(\"example\", {\n ipRange: \"10.10.10.0/24\",\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.Vpc(\"example\",\n ip_range=\"10.10.10.0/24\",\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new DigitalOcean.Vpc(\"example\", new()\n {\n IpRange = \"10.10.10.0/24\",\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewVpc(ctx, \"example\", \u0026digitalocean.VpcArgs{\n\t\t\tIpRange: pulumi.String(\"10.10.10.0/24\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\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.digitalocean.Vpc;\nimport com.pulumi.digitalocean.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Vpc(\"example\", VpcArgs.builder() \n .ipRange(\"10.10.10.0/24\")\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: digitalocean:Vpc\n properties:\n ipRange: 10.10.10.0/24\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Resource Assignment\n\n`digitalocean.Droplet`, `digitalocean.KubernetesCluster`,\n`digitalocean_load_balancer`, and `digitalocean.DatabaseCluster` resources\nmay be assigned to a VPC by referencing its `id`. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleVpc = new digitalocean.Vpc(\"exampleVpc\", {region: \"nyc3\"});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n vpcUuid: exampleVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_vpc = digitalocean.Vpc(\"exampleVpc\", region=\"nyc3\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\",\n vpc_uuid=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = new DigitalOcean.Vpc(\"exampleVpc\", new()\n {\n Region = \"nyc3\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n VpcUuid = exampleVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := digitalocean.NewVpc(ctx, \"exampleVpc\", \u0026digitalocean.VpcArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tVpcUuid: exampleVpc.ID(),\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.digitalocean.Vpc;\nimport com.pulumi.digitalocean.VpcArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .vpcUuid(exampleVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: digitalocean:Vpc\n properties:\n region: nyc3\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n vpcUuid: ${exampleVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA VPC can be imported using its `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/vpc:Vpc example 506f78a4-e098-11e5-ad9f-000f53306ae1\n```\n\n", + "description": "Provides a [DigitalOcean VPC](https://docs.digitalocean.com/reference/api/api-reference/#tag/VPCs) resource.\n\nVPCs are virtual networks containing resources that can communicate with each\nother in full isolation, using private IP addresses.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = new digitalocean.Vpc(\"example\", {\n ipRange: \"10.10.10.0/24\",\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.Vpc(\"example\",\n ip_range=\"10.10.10.0/24\",\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new DigitalOcean.Vpc(\"example\", new()\n {\n IpRange = \"10.10.10.0/24\",\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.NewVpc(ctx, \"example\", \u0026digitalocean.VpcArgs{\n\t\t\tIpRange: pulumi.String(\"10.10.10.0/24\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\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.digitalocean.Vpc;\nimport com.pulumi.digitalocean.VpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Vpc(\"example\", VpcArgs.builder() \n .ipRange(\"10.10.10.0/24\")\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: digitalocean:Vpc\n properties:\n ipRange: 10.10.10.0/24\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Resource Assignment\n\n`digitalocean.Droplet`, `digitalocean.KubernetesCluster`,\n`digitalocean_load_balancer`, and `digitalocean.DatabaseCluster` resources\nmay be assigned to a VPC by referencing its `id`. For example:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleVpc = new digitalocean.Vpc(\"exampleVpc\", {region: \"nyc3\"});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC3,\n vpcUuid: exampleVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_vpc = digitalocean.Vpc(\"exampleVpc\", region=\"nyc3\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC3,\n vpc_uuid=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = new DigitalOcean.Vpc(\"exampleVpc\", new()\n {\n Region = \"nyc3\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n VpcUuid = exampleVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := digitalocean.NewVpc(ctx, \"exampleVpc\", \u0026digitalocean.VpcArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tVpcUuid: exampleVpc.ID(),\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.digitalocean.Vpc;\nimport com.pulumi.digitalocean.VpcArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleVpc = new Vpc(\"exampleVpc\", VpcArgs.builder() \n .region(\"nyc3\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .vpcUuid(exampleVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleVpc:\n type: digitalocean:Vpc\n properties:\n region: nyc3\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n vpcUuid: ${exampleVpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA VPC can be imported using its `id`, e.g.\n\n```sh\n$ pulumi import digitalocean:index/vpc:Vpc example 506f78a4-e098-11e5-ad9f-000f53306ae1\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -14427,7 +14427,7 @@ } }, "digitalocean:index/getDropletSnapshot:getDropletSnapshot": { - "description": "Droplet snapshots are saved instances of a Droplet. Use this data\nsource to retrieve the ID of a DigitalOcean Droplet snapshot for use in other\nresources.\n\n## Example Usage\n\nGet the Droplet snapshot:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web-snapshot = digitalocean.getDropletSnapshot({\n mostRecent: true,\n nameRegex: \"^web\",\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb_snapshot = digitalocean.get_droplet_snapshot(most_recent=True,\n name_regex=\"^web\",\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web_snapshot = DigitalOcean.GetDropletSnapshot.Invoke(new()\n {\n MostRecent = true,\n NameRegex = \"^web\",\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.LookupDropletSnapshot(ctx, \u0026digitalocean.LookupDropletSnapshotArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tNameRegex: pulumi.StringRef(\"^web\"),\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetDropletSnapshotArgs;\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 web-snapshot = DigitaloceanFunctions.getDropletSnapshot(GetDropletSnapshotArgs.builder()\n .mostRecent(true)\n .nameRegex(\"^web\")\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n web-snapshot:\n fn::invoke:\n Function: digitalocean:getDropletSnapshot\n Arguments:\n mostRecent: true\n nameRegex: ^web\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate image from snapshot:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web-snapshot = digitalocean.getDropletSnapshot({\n nameRegex: \"^web\",\n region: \"nyc3\",\n mostRecent: true,\n});\nconst from_snapshot = new digitalocean.Droplet(\"from-snapshot\", {\n image: web_snapshot.then(web_snapshot =\u003e web_snapshot.id),\n region: \"nyc3\",\n size: \"s-2vcpu-4gb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb_snapshot = digitalocean.get_droplet_snapshot(name_regex=\"^web\",\n region=\"nyc3\",\n most_recent=True)\nfrom_snapshot = digitalocean.Droplet(\"from-snapshot\",\n image=web_snapshot.id,\n region=\"nyc3\",\n size=\"s-2vcpu-4gb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web_snapshot = DigitalOcean.GetDropletSnapshot.Invoke(new()\n {\n NameRegex = \"^web\",\n Region = \"nyc3\",\n MostRecent = true,\n });\n\n var from_snapshot = new DigitalOcean.Droplet(\"from-snapshot\", new()\n {\n Image = web_snapshot.Apply(web_snapshot =\u003e web_snapshot.Apply(getDropletSnapshotResult =\u003e getDropletSnapshotResult.Id)),\n Region = \"nyc3\",\n Size = \"s-2vcpu-4gb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb_snapshot, err := digitalocean.LookupDropletSnapshot(ctx, \u0026digitalocean.LookupDropletSnapshotArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^web\"),\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"from-snapshot\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: *pulumi.String(web_snapshot.Id),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tSize: pulumi.String(\"s-2vcpu-4gb\"),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetDropletSnapshotArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 web-snapshot = DigitaloceanFunctions.getDropletSnapshot(GetDropletSnapshotArgs.builder()\n .nameRegex(\"^web\")\n .region(\"nyc3\")\n .mostRecent(true)\n .build());\n\n var from_snapshot = new Droplet(\"from-snapshot\", DropletArgs.builder() \n .image(web_snapshot.id())\n .region(\"nyc3\")\n .size(\"s-2vcpu-4gb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n from-snapshot:\n type: digitalocean:Droplet\n properties:\n image: ${[\"web-snapshot\"].id}\n region: nyc3\n size: s-2vcpu-4gb\nvariables:\n web-snapshot:\n fn::invoke:\n Function: digitalocean:getDropletSnapshot\n Arguments:\n nameRegex: ^web\n region: nyc3\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Droplet snapshots are saved instances of a Droplet. Use this data\nsource to retrieve the ID of a DigitalOcean Droplet snapshot for use in other\nresources.\n\n## Example Usage\n\nGet the Droplet snapshot:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web-snapshot = digitalocean.getDropletSnapshot({\n mostRecent: true,\n nameRegex: \"^web\",\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb_snapshot = digitalocean.get_droplet_snapshot(most_recent=True,\n name_regex=\"^web\",\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web_snapshot = DigitalOcean.GetDropletSnapshot.Invoke(new()\n {\n MostRecent = true,\n NameRegex = \"^web\",\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.LookupDropletSnapshot(ctx, \u0026digitalocean.LookupDropletSnapshotArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tNameRegex: pulumi.StringRef(\"^web\"),\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetDropletSnapshotArgs;\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 web-snapshot = DigitaloceanFunctions.getDropletSnapshot(GetDropletSnapshotArgs.builder()\n .mostRecent(true)\n .nameRegex(\"^web\")\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n web-snapshot:\n fn::invoke:\n Function: digitalocean:getDropletSnapshot\n Arguments:\n mostRecent: true\n nameRegex: ^web\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreate image from snapshot:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst web-snapshot = digitalocean.getDropletSnapshot({\n nameRegex: \"^web\",\n region: \"nyc3\",\n mostRecent: true,\n});\nconst from_snapshot = new digitalocean.Droplet(\"from-snapshot\", {\n image: web_snapshot.then(web_snapshot =\u003e web_snapshot.id),\n region: digitalocean.Region.NYC3,\n size: digitalocean.DropletSlug.DropletS2VCPU4GB,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nweb_snapshot = digitalocean.get_droplet_snapshot(name_regex=\"^web\",\n region=\"nyc3\",\n most_recent=True)\nfrom_snapshot = digitalocean.Droplet(\"from-snapshot\",\n image=web_snapshot.id,\n region=digitalocean.Region.NYC3,\n size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var web_snapshot = DigitalOcean.GetDropletSnapshot.Invoke(new()\n {\n NameRegex = \"^web\",\n Region = \"nyc3\",\n MostRecent = true,\n });\n\n var from_snapshot = new DigitalOcean.Droplet(\"from-snapshot\", new()\n {\n Image = web_snapshot.Apply(web_snapshot =\u003e web_snapshot.Apply(getDropletSnapshotResult =\u003e getDropletSnapshotResult.Id)),\n Region = DigitalOcean.Region.NYC3,\n Size = DigitalOcean.DropletSlug.DropletS2VCPU4GB,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tweb_snapshot, err := digitalocean.LookupDropletSnapshot(ctx, \u0026digitalocean.LookupDropletSnapshotArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^web\"),\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"from-snapshot\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(web_snapshot.Id),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS2VCPU4GB),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetDropletSnapshotArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 web-snapshot = DigitaloceanFunctions.getDropletSnapshot(GetDropletSnapshotArgs.builder()\n .nameRegex(\"^web\")\n .region(\"nyc3\")\n .mostRecent(true)\n .build());\n\n var from_snapshot = new Droplet(\"from-snapshot\", DropletArgs.builder() \n .image(web_snapshot.id())\n .region(\"nyc3\")\n .size(\"s-2vcpu-4gb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n from-snapshot:\n type: digitalocean:Droplet\n properties:\n image: ${[\"web-snapshot\"].id}\n region: nyc3\n size: s-2vcpu-4gb\nvariables:\n web-snapshot:\n fn::invoke:\n Function: digitalocean:getDropletSnapshot\n Arguments:\n nameRegex: ^web\n region: nyc3\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getDropletSnapshot.\n", "properties": { @@ -14721,7 +14721,7 @@ } }, "digitalocean:index/getImage:getImage": { - "description": "Get information on an image for use in other resources (e.g. creating a Droplet\nbased on snapshot). This data source provides all of the image properties as\nconfigured on your DigitalOcean account. This is useful if the image in question\nis not managed by the provider or you need to utilize any of the image's data.\n\nAn error is triggered if zero or more than one result is returned by the query.\n\n## Example Usage\n\nGet the data about a snapshot:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example1 = digitalocean.getImage({\n name: \"example-1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample1 = digitalocean.get_image(name=\"example-1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example1 = DigitalOcean.GetImage.Invoke(new()\n {\n Name = \"example-1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.GetImage(ctx, \u0026digitalocean.GetImageArgs{\n\t\t\tName: pulumi.StringRef(\"example-1.0.0\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetImageArgs;\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 example1 = DigitaloceanFunctions.getImage(GetImageArgs.builder()\n .name(\"example-1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example1:\n fn::invoke:\n Function: digitalocean:getImage\n Arguments:\n name: example-1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReuse the data about a snapshot to create a Droplet:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleImage = digitalocean.getImage({\n name: \"example-1.0.0\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n image: exampleImage.then(exampleImage =\u003e exampleImage.id),\n region: \"nyc2\",\n size: \"s-1vcpu-1gb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_image = digitalocean.get_image(name=\"example-1.0.0\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n image=example_image.id,\n region=\"nyc2\",\n size=\"s-1vcpu-1gb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleImage = DigitalOcean.GetImage.Invoke(new()\n {\n Name = \"example-1.0.0\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Image = exampleImage.Apply(getImageResult =\u003e getImageResult.Id),\n Region = \"nyc2\",\n Size = \"s-1vcpu-1gb\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleImage, err := digitalocean.GetImage(ctx, \u0026digitalocean.GetImageArgs{\n\t\t\tName: pulumi.StringRef(\"example-1.0.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: *pulumi.Int(exampleImage.Id),\n\t\t\tRegion: pulumi.String(\"nyc2\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetImageArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleImage = DigitaloceanFunctions.getImage(GetImageArgs.builder()\n .name(\"example-1.0.0\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .image(exampleImage.applyValue(getImageResult -\u003e getImageResult.id()))\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n image: ${exampleImage.id}\n region: nyc2\n size: s-1vcpu-1gb\nvariables:\n exampleImage:\n fn::invoke:\n Function: digitalocean:getImage\n Arguments:\n name: example-1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nGet the data about an official image:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example2 = digitalocean.getImage({\n slug: \"ubuntu-18-04-x64\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample2 = digitalocean.get_image(slug=\"ubuntu-18-04-x64\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example2 = DigitalOcean.GetImage.Invoke(new()\n {\n Slug = \"ubuntu-18-04-x64\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.GetImage(ctx, \u0026digitalocean.GetImageArgs{\n\t\t\tSlug: pulumi.StringRef(\"ubuntu-18-04-x64\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetImageArgs;\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 example2 = DigitaloceanFunctions.getImage(GetImageArgs.builder()\n .slug(\"ubuntu-18-04-x64\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example2:\n fn::invoke:\n Function: digitalocean:getImage\n Arguments:\n slug: ubuntu-18-04-x64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on an image for use in other resources (e.g. creating a Droplet\nbased on snapshot). This data source provides all of the image properties as\nconfigured on your DigitalOcean account. This is useful if the image in question\nis not managed by the provider or you need to utilize any of the image's data.\n\nAn error is triggered if zero or more than one result is returned by the query.\n\n## Example Usage\n\nGet the data about a snapshot:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example1 = digitalocean.getImage({\n name: \"example-1.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample1 = digitalocean.get_image(name=\"example-1.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example1 = DigitalOcean.GetImage.Invoke(new()\n {\n Name = \"example-1.0.0\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.GetImage(ctx, \u0026digitalocean.GetImageArgs{\n\t\t\tName: pulumi.StringRef(\"example-1.0.0\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetImageArgs;\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 example1 = DigitaloceanFunctions.getImage(GetImageArgs.builder()\n .name(\"example-1.0.0\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example1:\n fn::invoke:\n Function: digitalocean:getImage\n Arguments:\n name: example-1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReuse the data about a snapshot to create a Droplet:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleImage = digitalocean.getImage({\n name: \"example-1.0.0\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n image: exampleImage.then(exampleImage =\u003e exampleImage.id),\n region: digitalocean.Region.NYC2,\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_image = digitalocean.get_image(name=\"example-1.0.0\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n image=example_image.id,\n region=digitalocean.Region.NYC2,\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleImage = DigitalOcean.GetImage.Invoke(new()\n {\n Name = \"example-1.0.0\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Image = exampleImage.Apply(getImageResult =\u003e getImageResult.Id),\n Region = DigitalOcean.Region.NYC2,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleImage, err := digitalocean.GetImage(ctx, \u0026digitalocean.GetImageArgs{\n\t\t\tName: pulumi.StringRef(\"example-1.0.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.Int(exampleImage.Id),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC2),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetImageArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleImage = DigitaloceanFunctions.getImage(GetImageArgs.builder()\n .name(\"example-1.0.0\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .image(exampleImage.applyValue(getImageResult -\u003e getImageResult.id()))\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n image: ${exampleImage.id}\n region: nyc2\n size: s-1vcpu-1gb\nvariables:\n exampleImage:\n fn::invoke:\n Function: digitalocean:getImage\n Arguments:\n name: example-1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nGet the data about an official image:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example2 = digitalocean.getImage({\n slug: \"ubuntu-18-04-x64\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample2 = digitalocean.get_image(slug=\"ubuntu-18-04-x64\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example2 = DigitalOcean.GetImage.Invoke(new()\n {\n Slug = \"ubuntu-18-04-x64\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.GetImage(ctx, \u0026digitalocean.GetImageArgs{\n\t\t\tSlug: pulumi.StringRef(\"ubuntu-18-04-x64\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetImageArgs;\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 example2 = DigitaloceanFunctions.getImage(GetImageArgs.builder()\n .slug(\"ubuntu-18-04-x64\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example2:\n fn::invoke:\n Function: digitalocean:getImage\n Arguments:\n slug: ubuntu-18-04-x64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getImage.\n", "properties": { @@ -15033,7 +15033,7 @@ } }, "digitalocean:index/getKubernetesVersions:getKubernetesVersions": { - "description": "Provides access to the available DigitalOcean Kubernetes Service versions.\n\n## Example Usage\n\n### Output a list of all available versions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nexport = async () =\u003e {\n const example = await digitalocean.getKubernetesVersions({});\n return {\n \"k8s-versions\": example.validVersions,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_kubernetes_versions()\npulumi.export(\"k8s-versions\", example.valid_versions)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetKubernetesVersions.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"k8s-versions\"] = example.Apply(getKubernetesVersionsResult =\u003e getKubernetesVersionsResult.ValidVersions),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := digitalocean.GetKubernetesVersions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"k8s-versions\", example.ValidVersions)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;\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 example = DigitaloceanFunctions.getKubernetesVersions();\n\n ctx.export(\"k8s-versions\", example.applyValue(getKubernetesVersionsResult -\u003e getKubernetesVersionsResult.validVersions()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getKubernetesVersions\n Arguments: {}\noutputs:\n k8s-versions: ${example.validVersions}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a Kubernetes cluster using the most recent version available\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = digitalocean.getKubernetesVersions({});\nconst example_cluster = new digitalocean.KubernetesCluster(\"example-cluster\", {\n region: \"lon1\",\n version: example.then(example =\u003e example.latestVersion),\n nodePool: {\n name: \"default\",\n size: \"s-1vcpu-2gb\",\n nodeCount: 3,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_kubernetes_versions()\nexample_cluster = digitalocean.KubernetesCluster(\"example-cluster\",\n region=\"lon1\",\n version=example.latest_version,\n node_pool=digitalocean.KubernetesClusterNodePoolArgs(\n name=\"default\",\n size=\"s-1vcpu-2gb\",\n node_count=3,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetKubernetesVersions.Invoke();\n\n var example_cluster = new DigitalOcean.KubernetesCluster(\"example-cluster\", new()\n {\n Region = \"lon1\",\n Version = example.Apply(getKubernetesVersionsResult =\u003e getKubernetesVersionsResult.LatestVersion),\n NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs\n {\n Name = \"default\",\n Size = \"s-1vcpu-2gb\",\n NodeCount = 3,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := digitalocean.GetKubernetesVersions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewKubernetesCluster(ctx, \"example-cluster\", \u0026digitalocean.KubernetesClusterArgs{\n\t\t\tRegion: pulumi.String(\"lon1\"),\n\t\t\tVersion: *pulumi.String(example.LatestVersion),\n\t\t\tNodePool: \u0026digitalocean.KubernetesClusterNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\tSize: pulumi.String(\"s-1vcpu-2gb\"),\n\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;\nimport com.pulumi.digitalocean.KubernetesCluster;\nimport com.pulumi.digitalocean.KubernetesClusterArgs;\nimport com.pulumi.digitalocean.inputs.KubernetesClusterNodePoolArgs;\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 example = DigitaloceanFunctions.getKubernetesVersions();\n\n var example_cluster = new KubernetesCluster(\"example-cluster\", KubernetesClusterArgs.builder() \n .region(\"lon1\")\n .version(example.applyValue(getKubernetesVersionsResult -\u003e getKubernetesVersionsResult.latestVersion()))\n .nodePool(KubernetesClusterNodePoolArgs.builder()\n .name(\"default\")\n .size(\"s-1vcpu-2gb\")\n .nodeCount(3)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-cluster:\n type: digitalocean:KubernetesCluster\n properties:\n region: lon1\n version: ${example.latestVersion}\n nodePool:\n name: default\n size: s-1vcpu-2gb\n nodeCount: 3\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getKubernetesVersions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Pin a Kubernetes cluster to a specific minor version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = digitalocean.getKubernetesVersions({\n versionPrefix: \"1.22.\",\n});\nconst example_cluster = new digitalocean.KubernetesCluster(\"example-cluster\", {\n region: \"lon1\",\n version: example.then(example =\u003e example.latestVersion),\n nodePool: {\n name: \"default\",\n size: \"s-1vcpu-2gb\",\n nodeCount: 3,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_kubernetes_versions(version_prefix=\"1.22.\")\nexample_cluster = digitalocean.KubernetesCluster(\"example-cluster\",\n region=\"lon1\",\n version=example.latest_version,\n node_pool=digitalocean.KubernetesClusterNodePoolArgs(\n name=\"default\",\n size=\"s-1vcpu-2gb\",\n node_count=3,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetKubernetesVersions.Invoke(new()\n {\n VersionPrefix = \"1.22.\",\n });\n\n var example_cluster = new DigitalOcean.KubernetesCluster(\"example-cluster\", new()\n {\n Region = \"lon1\",\n Version = example.Apply(getKubernetesVersionsResult =\u003e getKubernetesVersionsResult.LatestVersion),\n NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs\n {\n Name = \"default\",\n Size = \"s-1vcpu-2gb\",\n NodeCount = 3,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := digitalocean.GetKubernetesVersions(ctx, \u0026digitalocean.GetKubernetesVersionsArgs{\n\t\t\tVersionPrefix: pulumi.StringRef(\"1.22.\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewKubernetesCluster(ctx, \"example-cluster\", \u0026digitalocean.KubernetesClusterArgs{\n\t\t\tRegion: pulumi.String(\"lon1\"),\n\t\t\tVersion: *pulumi.String(example.LatestVersion),\n\t\t\tNodePool: \u0026digitalocean.KubernetesClusterNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\tSize: pulumi.String(\"s-1vcpu-2gb\"),\n\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;\nimport com.pulumi.digitalocean.KubernetesCluster;\nimport com.pulumi.digitalocean.KubernetesClusterArgs;\nimport com.pulumi.digitalocean.inputs.KubernetesClusterNodePoolArgs;\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 example = DigitaloceanFunctions.getKubernetesVersions(GetKubernetesVersionsArgs.builder()\n .versionPrefix(\"1.22.\")\n .build());\n\n var example_cluster = new KubernetesCluster(\"example-cluster\", KubernetesClusterArgs.builder() \n .region(\"lon1\")\n .version(example.applyValue(getKubernetesVersionsResult -\u003e getKubernetesVersionsResult.latestVersion()))\n .nodePool(KubernetesClusterNodePoolArgs.builder()\n .name(\"default\")\n .size(\"s-1vcpu-2gb\")\n .nodeCount(3)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-cluster:\n type: digitalocean:KubernetesCluster\n properties:\n region: lon1\n version: ${example.latestVersion}\n nodePool:\n name: default\n size: s-1vcpu-2gb\n nodeCount: 3\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getKubernetesVersions\n Arguments:\n versionPrefix: 1.22.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides access to the available DigitalOcean Kubernetes Service versions.\n\n## Example Usage\n\n### Output a list of all available versions\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nexport = async () =\u003e {\n const example = await digitalocean.getKubernetesVersions({});\n return {\n \"k8s-versions\": example.validVersions,\n };\n}\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_kubernetes_versions()\npulumi.export(\"k8s-versions\", example.valid_versions)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetKubernetesVersions.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"k8s-versions\"] = example.Apply(getKubernetesVersionsResult =\u003e getKubernetesVersionsResult.ValidVersions),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := digitalocean.GetKubernetesVersions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"k8s-versions\", example.ValidVersions)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;\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 example = DigitaloceanFunctions.getKubernetesVersions();\n\n ctx.export(\"k8s-versions\", example.applyValue(getKubernetesVersionsResult -\u003e getKubernetesVersionsResult.validVersions()));\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getKubernetesVersions\n Arguments: {}\noutputs:\n k8s-versions: ${example.validVersions}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create a Kubernetes cluster using the most recent version available\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = digitalocean.getKubernetesVersions({});\nconst example_cluster = new digitalocean.KubernetesCluster(\"example-cluster\", {\n region: digitalocean.Region.LON1,\n version: example.then(example =\u003e example.latestVersion),\n nodePool: {\n name: \"default\",\n size: \"s-1vcpu-2gb\",\n nodeCount: 3,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_kubernetes_versions()\nexample_cluster = digitalocean.KubernetesCluster(\"example-cluster\",\n region=digitalocean.Region.LON1,\n version=example.latest_version,\n node_pool=digitalocean.KubernetesClusterNodePoolArgs(\n name=\"default\",\n size=\"s-1vcpu-2gb\",\n node_count=3,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetKubernetesVersions.Invoke();\n\n var example_cluster = new DigitalOcean.KubernetesCluster(\"example-cluster\", new()\n {\n Region = DigitalOcean.Region.LON1,\n Version = example.Apply(getKubernetesVersionsResult =\u003e getKubernetesVersionsResult.LatestVersion),\n NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs\n {\n Name = \"default\",\n Size = \"s-1vcpu-2gb\",\n NodeCount = 3,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := digitalocean.GetKubernetesVersions(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewKubernetesCluster(ctx, \"example-cluster\", \u0026digitalocean.KubernetesClusterArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionLON1),\n\t\t\tVersion: pulumi.String(example.LatestVersion),\n\t\t\tNodePool: \u0026digitalocean.KubernetesClusterNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\tSize: pulumi.String(\"s-1vcpu-2gb\"),\n\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;\nimport com.pulumi.digitalocean.KubernetesCluster;\nimport com.pulumi.digitalocean.KubernetesClusterArgs;\nimport com.pulumi.digitalocean.inputs.KubernetesClusterNodePoolArgs;\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 example = DigitaloceanFunctions.getKubernetesVersions();\n\n var example_cluster = new KubernetesCluster(\"example-cluster\", KubernetesClusterArgs.builder() \n .region(\"lon1\")\n .version(example.applyValue(getKubernetesVersionsResult -\u003e getKubernetesVersionsResult.latestVersion()))\n .nodePool(KubernetesClusterNodePoolArgs.builder()\n .name(\"default\")\n .size(\"s-1vcpu-2gb\")\n .nodeCount(3)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-cluster:\n type: digitalocean:KubernetesCluster\n properties:\n region: lon1\n version: ${example.latestVersion}\n nodePool:\n name: default\n size: s-1vcpu-2gb\n nodeCount: 3\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getKubernetesVersions\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Pin a Kubernetes cluster to a specific minor version\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = digitalocean.getKubernetesVersions({\n versionPrefix: \"1.22.\",\n});\nconst example_cluster = new digitalocean.KubernetesCluster(\"example-cluster\", {\n region: digitalocean.Region.LON1,\n version: example.then(example =\u003e example.latestVersion),\n nodePool: {\n name: \"default\",\n size: \"s-1vcpu-2gb\",\n nodeCount: 3,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_kubernetes_versions(version_prefix=\"1.22.\")\nexample_cluster = digitalocean.KubernetesCluster(\"example-cluster\",\n region=digitalocean.Region.LON1,\n version=example.latest_version,\n node_pool=digitalocean.KubernetesClusterNodePoolArgs(\n name=\"default\",\n size=\"s-1vcpu-2gb\",\n node_count=3,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetKubernetesVersions.Invoke(new()\n {\n VersionPrefix = \"1.22.\",\n });\n\n var example_cluster = new DigitalOcean.KubernetesCluster(\"example-cluster\", new()\n {\n Region = DigitalOcean.Region.LON1,\n Version = example.Apply(getKubernetesVersionsResult =\u003e getKubernetesVersionsResult.LatestVersion),\n NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs\n {\n Name = \"default\",\n Size = \"s-1vcpu-2gb\",\n NodeCount = 3,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := digitalocean.GetKubernetesVersions(ctx, \u0026digitalocean.GetKubernetesVersionsArgs{\n\t\t\tVersionPrefix: pulumi.StringRef(\"1.22.\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewKubernetesCluster(ctx, \"example-cluster\", \u0026digitalocean.KubernetesClusterArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionLON1),\n\t\t\tVersion: pulumi.String(example.LatestVersion),\n\t\t\tNodePool: \u0026digitalocean.KubernetesClusterNodePoolArgs{\n\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\tSize: pulumi.String(\"s-1vcpu-2gb\"),\n\t\t\t\tNodeCount: pulumi.Int(3),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetKubernetesVersionsArgs;\nimport com.pulumi.digitalocean.KubernetesCluster;\nimport com.pulumi.digitalocean.KubernetesClusterArgs;\nimport com.pulumi.digitalocean.inputs.KubernetesClusterNodePoolArgs;\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 example = DigitaloceanFunctions.getKubernetesVersions(GetKubernetesVersionsArgs.builder()\n .versionPrefix(\"1.22.\")\n .build());\n\n var example_cluster = new KubernetesCluster(\"example-cluster\", KubernetesClusterArgs.builder() \n .region(\"lon1\")\n .version(example.applyValue(getKubernetesVersionsResult -\u003e getKubernetesVersionsResult.latestVersion()))\n .nodePool(KubernetesClusterNodePoolArgs.builder()\n .name(\"default\")\n .size(\"s-1vcpu-2gb\")\n .nodeCount(3)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-cluster:\n type: digitalocean:KubernetesCluster\n properties:\n region: lon1\n version: ${example.latestVersion}\n nodePool:\n name: default\n size: s-1vcpu-2gb\n nodeCount: 3\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getKubernetesVersions\n Arguments:\n versionPrefix: 1.22.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getKubernetesVersions.\n", "properties": { @@ -15771,7 +15771,7 @@ } }, "digitalocean:index/getSpacesBucketObject:getSpacesBucketObject": { - "description": "The Spaces object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside a Spaces bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable\n`Content-Type` (`text/*` and `application/json`). This is to prevent printing unsafe characters and potentially\ndownloading large amount of data which would be thrown away in favor of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for a Droplet:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst bootstrapScript = digitalocean.getSpacesBucketObject({\n bucket: \"ourcorp-deploy-config\",\n region: \"nyc3\",\n key: \"droplet-bootstrap-script.sh\",\n});\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-18-04-x64\",\n region: \"nyc2\",\n size: \"s-1vcpu-1gb\",\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nbootstrap_script = digitalocean.get_spaces_bucket_object(bucket=\"ourcorp-deploy-config\",\n region=\"nyc3\",\n key=\"droplet-bootstrap-script.sh\")\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc2\",\n size=\"s-1vcpu-1gb\",\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = DigitalOcean.GetSpacesBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Region = \"nyc3\",\n Key = \"droplet-bootstrap-script.sh\",\n });\n\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc2\",\n Size = \"s-1vcpu-1gb\",\n UserData = bootstrapScript.Apply(getSpacesBucketObjectResult =\u003e getSpacesBucketObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := digitalocean.LookupSpacesBucketObject(ctx, \u0026digitalocean.LookupSpacesBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tRegion: \"nyc3\",\n\t\t\tKey: \"droplet-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc2\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tUserData: *pulumi.String(bootstrapScript.Body),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetSpacesBucketObjectArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 bootstrapScript = DigitaloceanFunctions.getSpacesBucketObject(GetSpacesBucketObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .region(\"nyc3\")\n .key(\"droplet-bootstrap-script.sh\")\n .build());\n\n var web = new Droplet(\"web\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .userData(bootstrapScript.applyValue(getSpacesBucketObjectResult -\u003e getSpacesBucketObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc2\n size: s-1vcpu-1gb\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n Function: digitalocean:getSpacesBucketObject\n Arguments:\n bucket: ourcorp-deploy-config\n region: nyc3\n key: droplet-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "The Spaces object data source allows access to the metadata and\n_optionally_ (see below) content of an object stored inside a Spaces bucket.\n\n\u003e **Note:** The content of an object (`body` field) is available only for objects which have a human-readable\n`Content-Type` (`text/*` and `application/json`). This is to prevent printing unsafe characters and potentially\ndownloading large amount of data which would be thrown away in favor of metadata.\n\n## Example Usage\n\nThe following example retrieves a text object (which must have a `Content-Type`\nvalue starting with `text/`) and uses it as the `user_data` for a Droplet:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst bootstrapScript = digitalocean.getSpacesBucketObject({\n bucket: \"ourcorp-deploy-config\",\n region: \"nyc3\",\n key: \"droplet-bootstrap-script.sh\",\n});\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC2,\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n userData: bootstrapScript.then(bootstrapScript =\u003e bootstrapScript.body),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nbootstrap_script = digitalocean.get_spaces_bucket_object(bucket=\"ourcorp-deploy-config\",\n region=\"nyc3\",\n key=\"droplet-bootstrap-script.sh\")\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC2,\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n user_data=bootstrap_script.body)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bootstrapScript = DigitalOcean.GetSpacesBucketObject.Invoke(new()\n {\n Bucket = \"ourcorp-deploy-config\",\n Region = \"nyc3\",\n Key = \"droplet-bootstrap-script.sh\",\n });\n\n var web = new DigitalOcean.Droplet(\"web\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC2,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n UserData = bootstrapScript.Apply(getSpacesBucketObjectResult =\u003e getSpacesBucketObjectResult.Body),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbootstrapScript, err := digitalocean.LookupSpacesBucketObject(ctx, \u0026digitalocean.LookupSpacesBucketObjectArgs{\n\t\t\tBucket: \"ourcorp-deploy-config\",\n\t\t\tRegion: \"nyc3\",\n\t\t\tKey: \"droplet-bootstrap-script.sh\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC2),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tUserData: pulumi.String(bootstrapScript.Body),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetSpacesBucketObjectArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 bootstrapScript = DigitaloceanFunctions.getSpacesBucketObject(GetSpacesBucketObjectArgs.builder()\n .bucket(\"ourcorp-deploy-config\")\n .region(\"nyc3\")\n .key(\"droplet-bootstrap-script.sh\")\n .build());\n\n var web = new Droplet(\"web\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .userData(bootstrapScript.applyValue(getSpacesBucketObjectResult -\u003e getSpacesBucketObjectResult.body()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n web:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc2\n size: s-1vcpu-1gb\n userData: ${bootstrapScript.body}\nvariables:\n bootstrapScript:\n fn::invoke:\n Function: digitalocean:getSpacesBucketObject\n Arguments:\n bucket: ourcorp-deploy-config\n region: nyc3\n key: droplet-bootstrap-script.sh\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSpacesBucketObject.\n", "properties": { @@ -16055,7 +16055,7 @@ } }, "digitalocean:index/getSshKey:getSshKey": { - "description": "Get information on a ssh key. This data source provides the name, public key,\nand fingerprint as configured on your DigitalOcean account. This is useful if\nthe ssh key in question is not managed by the provider or you need to utilize any\nof the keys data.\n\nAn error is triggered if the provided ssh key name does not exist.\n\n## Example Usage\n\nGet the ssh key:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleSshKey = digitalocean.getSshKey({\n name: \"example\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n image: \"ubuntu-18-04-x64\",\n region: \"nyc2\",\n size: \"s-1vcpu-1gb\",\n sshKeys: [exampleSshKey.then(exampleSshKey =\u003e exampleSshKey.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_ssh_key = digitalocean.get_ssh_key(name=\"example\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc2\",\n size=\"s-1vcpu-1gb\",\n ssh_keys=[example_ssh_key.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSshKey = DigitalOcean.GetSshKey.Invoke(new()\n {\n Name = \"example\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc2\",\n Size = \"s-1vcpu-1gb\",\n SshKeys = new[]\n {\n exampleSshKey.Apply(getSshKeyResult =\u003e getSshKeyResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSshKey, err := digitalocean.LookupSshKey(ctx, \u0026digitalocean.LookupSshKeyArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc2\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tSshKeys: pulumi.StringArray{\n\t\t\t\t*pulumi.Int(exampleSshKey.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetSshKeyArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleSshKey = DigitaloceanFunctions.getSshKey(GetSshKeyArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .sshKeys(exampleSshKey.applyValue(getSshKeyResult -\u003e getSshKeyResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc2\n size: s-1vcpu-1gb\n sshKeys:\n - ${exampleSshKey.id}\nvariables:\n exampleSshKey:\n fn::invoke:\n Function: digitalocean:getSshKey\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on a ssh key. This data source provides the name, public key,\nand fingerprint as configured on your DigitalOcean account. This is useful if\nthe ssh key in question is not managed by the provider or you need to utilize any\nof the keys data.\n\nAn error is triggered if the provided ssh key name does not exist.\n\n## Example Usage\n\nGet the ssh key:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleSshKey = digitalocean.getSshKey({\n name: \"example\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC2,\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n sshKeys: [exampleSshKey.then(exampleSshKey =\u003e exampleSshKey.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_ssh_key = digitalocean.get_ssh_key(name=\"example\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC2,\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n ssh_keys=[example_ssh_key.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleSshKey = DigitalOcean.GetSshKey.Invoke(new()\n {\n Name = \"example\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC2,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n SshKeys = new[]\n {\n exampleSshKey.Apply(getSshKeyResult =\u003e getSshKeyResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleSshKey, err := digitalocean.LookupSshKey(ctx, \u0026digitalocean.LookupSshKeyArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC2),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tSshKeys: pulumi.StringArray{\n\t\t\t\tpulumi.Int(exampleSshKey.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetSshKeyArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleSshKey = DigitaloceanFunctions.getSshKey(GetSshKeyArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .sshKeys(exampleSshKey.applyValue(getSshKeyResult -\u003e getSshKeyResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc2\n size: s-1vcpu-1gb\n sshKeys:\n - ${exampleSshKey.id}\nvariables:\n exampleSshKey:\n fn::invoke:\n Function: digitalocean:getSshKey\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getSshKey.\n", "properties": { @@ -16154,7 +16154,7 @@ } }, "digitalocean:index/getTag:getTag": { - "description": "Get information on a tag. This data source provides the name as configured on\nyour DigitalOcean account. This is useful if the tag name in question is not\nmanaged by the provider or you need validate if the tag exists in the account.\n\nAn error is triggered if the provided tag name does not exist.\n\n## Example Usage\n\nGet the tag:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleTag = digitalocean.getTag({\n name: \"example\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n image: \"ubuntu-18-04-x64\",\n region: \"nyc2\",\n size: \"s-1vcpu-1gb\",\n tags: [exampleTag.then(exampleTag =\u003e exampleTag.name)],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_tag = digitalocean.get_tag(name=\"example\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc2\",\n size=\"s-1vcpu-1gb\",\n tags=[example_tag.name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTag = DigitalOcean.GetTag.Invoke(new()\n {\n Name = \"example\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc2\",\n Size = \"s-1vcpu-1gb\",\n Tags = new[]\n {\n exampleTag.Apply(getTagResult =\u003e getTagResult.Name),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTag, err := digitalocean.LookupTag(ctx, \u0026digitalocean.LookupTagArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc2\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\t*pulumi.String(exampleTag.Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetTagArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleTag = DigitaloceanFunctions.getTag(GetTagArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .tags(exampleTag.applyValue(getTagResult -\u003e getTagResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc2\n size: s-1vcpu-1gb\n tags:\n - ${exampleTag.name}\nvariables:\n exampleTag:\n fn::invoke:\n Function: digitalocean:getTag\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on a tag. This data source provides the name as configured on\nyour DigitalOcean account. This is useful if the tag name in question is not\nmanaged by the provider or you need validate if the tag exists in the account.\n\nAn error is triggered if the provided tag name does not exist.\n\n## Example Usage\n\nGet the tag:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleTag = digitalocean.getTag({\n name: \"example\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC2,\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n tags: [exampleTag.then(exampleTag =\u003e exampleTag.name)],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_tag = digitalocean.get_tag(name=\"example\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC2,\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n tags=[example_tag.name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTag = DigitalOcean.GetTag.Invoke(new()\n {\n Name = \"example\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC2,\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Tags = new[]\n {\n exampleTag.Apply(getTagResult =\u003e getTagResult.Name),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTag, err := digitalocean.LookupTag(ctx, \u0026digitalocean.LookupTagArgs{\n\t\t\tName: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC2),\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(exampleTag.Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetTagArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleTag = DigitaloceanFunctions.getTag(GetTagArgs.builder()\n .name(\"example\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc2\")\n .size(\"s-1vcpu-1gb\")\n .tags(exampleTag.applyValue(getTagResult -\u003e getTagResult.name()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n image: ubuntu-18-04-x64\n region: nyc2\n size: s-1vcpu-1gb\n tags:\n - ${exampleTag.name}\nvariables:\n exampleTag:\n fn::invoke:\n Function: digitalocean:getTag\n Arguments:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getTag.\n", "properties": { @@ -16272,7 +16272,7 @@ } }, "digitalocean:index/getVolume:getVolume": { - "description": "Get information on a volume for use in other resources. This data source provides\nall of the volumes properties as configured on your DigitalOcean account. This is\nuseful if the volume in question is not managed by the provider or you need to utilize\nany of the volumes data.\n\nAn error is triggered if the provided volume name does not exist.\n\n## Example Usage\n\nGet the volume:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = digitalocean.getVolume({\n name: \"app-data\",\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_volume(name=\"app-data\",\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetVolume.Invoke(new()\n {\n Name = \"app-data\",\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.LookupVolume(ctx, \u0026digitalocean.LookupVolumeArgs{\n\t\t\tName: \"app-data\",\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeArgs;\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 example = DigitaloceanFunctions.getVolume(GetVolumeArgs.builder()\n .name(\"app-data\")\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getVolume\n Arguments:\n name: app-data\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReuse the data about a volume to attach it to a Droplet:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleVolume = digitalocean.getVolume({\n name: \"app-data\",\n region: \"nyc3\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n});\nconst foobar = new digitalocean.VolumeAttachment(\"foobar\", {\n dropletId: exampleDroplet.id,\n volumeId: exampleVolume.then(exampleVolume =\u003e exampleVolume.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_volume = digitalocean.get_volume(name=\"app-data\",\n region=\"nyc3\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\")\nfoobar = digitalocean.VolumeAttachment(\"foobar\",\n droplet_id=example_droplet.id,\n volume_id=example_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVolume = DigitalOcean.GetVolume.Invoke(new()\n {\n Name = \"app-data\",\n Region = \"nyc3\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n });\n\n var foobar = new DigitalOcean.VolumeAttachment(\"foobar\", new()\n {\n DropletId = exampleDroplet.Id,\n VolumeId = exampleVolume.Apply(getVolumeResult =\u003e getVolumeResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVolume, err := digitalocean.LookupVolume(ctx, \u0026digitalocean.LookupVolumeArgs{\n\t\t\tName: \"app-data\",\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDroplet, err := digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolumeAttachment(ctx, \"foobar\", \u0026digitalocean.VolumeAttachmentArgs{\n\t\t\tDropletId: exampleDroplet.ID(),\n\t\t\tVolumeId: *pulumi.String(exampleVolume.Id),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.VolumeAttachment;\nimport com.pulumi.digitalocean.VolumeAttachmentArgs;\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 exampleVolume = DigitaloceanFunctions.getVolume(GetVolumeArgs.builder()\n .name(\"app-data\")\n .region(\"nyc3\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var foobar = new VolumeAttachment(\"foobar\", VolumeAttachmentArgs.builder() \n .dropletId(exampleDroplet.id())\n .volumeId(exampleVolume.applyValue(getVolumeResult -\u003e getVolumeResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n foobar:\n type: digitalocean:VolumeAttachment\n properties:\n dropletId: ${exampleDroplet.id}\n volumeId: ${exampleVolume.id}\nvariables:\n exampleVolume:\n fn::invoke:\n Function: digitalocean:getVolume\n Arguments:\n name: app-data\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Get information on a volume for use in other resources. This data source provides\nall of the volumes properties as configured on your DigitalOcean account. This is\nuseful if the volume in question is not managed by the provider or you need to utilize\nany of the volumes data.\n\nAn error is triggered if the provided volume name does not exist.\n\n## Example Usage\n\nGet the volume:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = digitalocean.getVolume({\n name: \"app-data\",\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_volume(name=\"app-data\",\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetVolume.Invoke(new()\n {\n Name = \"app-data\",\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.LookupVolume(ctx, \u0026digitalocean.LookupVolumeArgs{\n\t\t\tName: \"app-data\",\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeArgs;\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 example = DigitaloceanFunctions.getVolume(GetVolumeArgs.builder()\n .name(\"app-data\")\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getVolume\n Arguments:\n name: app-data\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReuse the data about a volume to attach it to a Droplet:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleVolume = digitalocean.getVolume({\n name: \"app-data\",\n region: \"nyc3\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC3,\n});\nconst foobar = new digitalocean.VolumeAttachment(\"foobar\", {\n dropletId: exampleDroplet.id,\n volumeId: exampleVolume.then(exampleVolume =\u003e exampleVolume.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_volume = digitalocean.get_volume(name=\"app-data\",\n region=\"nyc3\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC3)\nfoobar = digitalocean.VolumeAttachment(\"foobar\",\n droplet_id=example_droplet.id,\n volume_id=example_volume.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVolume = DigitalOcean.GetVolume.Invoke(new()\n {\n Name = \"app-data\",\n Region = \"nyc3\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n });\n\n var foobar = new DigitalOcean.VolumeAttachment(\"foobar\", new()\n {\n DropletId = exampleDroplet.Id,\n VolumeId = exampleVolume.Apply(getVolumeResult =\u003e getVolumeResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVolume, err := digitalocean.LookupVolume(ctx, \u0026digitalocean.LookupVolumeArgs{\n\t\t\tName: \"app-data\",\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDroplet, err := digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolumeAttachment(ctx, \"foobar\", \u0026digitalocean.VolumeAttachmentArgs{\n\t\t\tDropletId: exampleDroplet.ID(),\n\t\t\tVolumeId: pulumi.String(exampleVolume.Id),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\nimport com.pulumi.digitalocean.VolumeAttachment;\nimport com.pulumi.digitalocean.VolumeAttachmentArgs;\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 exampleVolume = DigitaloceanFunctions.getVolume(GetVolumeArgs.builder()\n .name(\"app-data\")\n .region(\"nyc3\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .build());\n\n var foobar = new VolumeAttachment(\"foobar\", VolumeAttachmentArgs.builder() \n .dropletId(exampleDroplet.id())\n .volumeId(exampleVolume.applyValue(getVolumeResult -\u003e getVolumeResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n foobar:\n type: digitalocean:VolumeAttachment\n properties:\n dropletId: ${exampleDroplet.id}\n volumeId: ${exampleVolume.id}\nvariables:\n exampleVolume:\n fn::invoke:\n Function: digitalocean:getVolume\n Arguments:\n name: app-data\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVolume.\n", "properties": { @@ -16356,7 +16356,7 @@ } }, "digitalocean:index/getVolumeSnapshot:getVolumeSnapshot": { - "description": "Volume snapshots are saved instances of a block storage volume. Use this data\nsource to retrieve the ID of a DigitalOcean volume snapshot for use in other\nresources.\n\n## Example Usage\n\nGet the volume snapshot:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst snapshot = digitalocean.getVolumeSnapshot({\n mostRecent: true,\n nameRegex: \"^web\",\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nsnapshot = digitalocean.get_volume_snapshot(most_recent=True,\n name_regex=\"^web\",\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snapshot = DigitalOcean.GetVolumeSnapshot.Invoke(new()\n {\n MostRecent = true,\n NameRegex = \"^web\",\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.LookupVolumeSnapshot(ctx, \u0026digitalocean.LookupVolumeSnapshotArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tNameRegex: pulumi.StringRef(\"^web\"),\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeSnapshotArgs;\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 snapshot = DigitaloceanFunctions.getVolumeSnapshot(GetVolumeSnapshotArgs.builder()\n .mostRecent(true)\n .nameRegex(\"^web\")\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n snapshot:\n fn::invoke:\n Function: digitalocean:getVolumeSnapshot\n Arguments:\n mostRecent: true\n nameRegex: ^web\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReuse the data about a volume snapshot to create a new volume based on it:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst snapshot = digitalocean.getVolumeSnapshot({\n nameRegex: \"^web\",\n region: \"nyc3\",\n mostRecent: true,\n});\nconst foobar = new digitalocean.Volume(\"foobar\", {\n region: \"nyc3\",\n size: 100,\n snapshotId: snapshot.then(snapshot =\u003e snapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nsnapshot = digitalocean.get_volume_snapshot(name_regex=\"^web\",\n region=\"nyc3\",\n most_recent=True)\nfoobar = digitalocean.Volume(\"foobar\",\n region=\"nyc3\",\n size=100,\n snapshot_id=snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snapshot = DigitalOcean.GetVolumeSnapshot.Invoke(new()\n {\n NameRegex = \"^web\",\n Region = \"nyc3\",\n MostRecent = true,\n });\n\n var foobar = new DigitalOcean.Volume(\"foobar\", new()\n {\n Region = \"nyc3\",\n Size = 100,\n SnapshotId = snapshot.Apply(getVolumeSnapshotResult =\u003e getVolumeSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsnapshot, err := digitalocean.LookupVolumeSnapshot(ctx, \u0026digitalocean.LookupVolumeSnapshotArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^web\"),\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolume(ctx, \"foobar\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tSize: pulumi.Int(100),\n\t\t\tSnapshotId: *pulumi.String(snapshot.Id),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeSnapshotArgs;\nimport com.pulumi.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\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 snapshot = DigitaloceanFunctions.getVolumeSnapshot(GetVolumeSnapshotArgs.builder()\n .nameRegex(\"^web\")\n .region(\"nyc3\")\n .mostRecent(true)\n .build());\n\n var foobar = new Volume(\"foobar\", VolumeArgs.builder() \n .region(\"nyc3\")\n .size(100)\n .snapshotId(snapshot.applyValue(getVolumeSnapshotResult -\u003e getVolumeSnapshotResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:Volume\n properties:\n region: nyc3\n size: 100\n snapshotId: ${snapshot.id}\nvariables:\n snapshot:\n fn::invoke:\n Function: digitalocean:getVolumeSnapshot\n Arguments:\n nameRegex: ^web\n region: nyc3\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Volume snapshots are saved instances of a block storage volume. Use this data\nsource to retrieve the ID of a DigitalOcean volume snapshot for use in other\nresources.\n\n## Example Usage\n\nGet the volume snapshot:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst snapshot = digitalocean.getVolumeSnapshot({\n mostRecent: true,\n nameRegex: \"^web\",\n region: \"nyc3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nsnapshot = digitalocean.get_volume_snapshot(most_recent=True,\n name_regex=\"^web\",\n region=\"nyc3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snapshot = DigitalOcean.GetVolumeSnapshot.Invoke(new()\n {\n MostRecent = true,\n NameRegex = \"^web\",\n Region = \"nyc3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.LookupVolumeSnapshot(ctx, \u0026digitalocean.LookupVolumeSnapshotArgs{\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t\tNameRegex: pulumi.StringRef(\"^web\"),\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeSnapshotArgs;\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 snapshot = DigitaloceanFunctions.getVolumeSnapshot(GetVolumeSnapshotArgs.builder()\n .mostRecent(true)\n .nameRegex(\"^web\")\n .region(\"nyc3\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n snapshot:\n fn::invoke:\n Function: digitalocean:getVolumeSnapshot\n Arguments:\n mostRecent: true\n nameRegex: ^web\n region: nyc3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReuse the data about a volume snapshot to create a new volume based on it:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst snapshot = digitalocean.getVolumeSnapshot({\n nameRegex: \"^web\",\n region: \"nyc3\",\n mostRecent: true,\n});\nconst foobar = new digitalocean.Volume(\"foobar\", {\n region: digitalocean.Region.NYC3,\n size: 100,\n snapshotId: snapshot.then(snapshot =\u003e snapshot.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nsnapshot = digitalocean.get_volume_snapshot(name_regex=\"^web\",\n region=\"nyc3\",\n most_recent=True)\nfoobar = digitalocean.Volume(\"foobar\",\n region=digitalocean.Region.NYC3,\n size=100,\n snapshot_id=snapshot.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var snapshot = DigitalOcean.GetVolumeSnapshot.Invoke(new()\n {\n NameRegex = \"^web\",\n Region = \"nyc3\",\n MostRecent = true,\n });\n\n var foobar = new DigitalOcean.Volume(\"foobar\", new()\n {\n Region = DigitalOcean.Region.NYC3,\n Size = 100,\n SnapshotId = snapshot.Apply(getVolumeSnapshotResult =\u003e getVolumeSnapshotResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsnapshot, err := digitalocean.LookupVolumeSnapshot(ctx, \u0026digitalocean.LookupVolumeSnapshotArgs{\n\t\t\tNameRegex: pulumi.StringRef(\"^web\"),\n\t\t\tRegion: pulumi.StringRef(\"nyc3\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewVolume(ctx, \"foobar\", \u0026digitalocean.VolumeArgs{\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tSize: pulumi.Int(100),\n\t\t\tSnapshotId: pulumi.String(snapshot.Id),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVolumeSnapshotArgs;\nimport com.pulumi.digitalocean.Volume;\nimport com.pulumi.digitalocean.VolumeArgs;\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 snapshot = DigitaloceanFunctions.getVolumeSnapshot(GetVolumeSnapshotArgs.builder()\n .nameRegex(\"^web\")\n .region(\"nyc3\")\n .mostRecent(true)\n .build());\n\n var foobar = new Volume(\"foobar\", VolumeArgs.builder() \n .region(\"nyc3\")\n .size(100)\n .snapshotId(snapshot.applyValue(getVolumeSnapshotResult -\u003e getVolumeSnapshotResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foobar:\n type: digitalocean:Volume\n properties:\n region: nyc3\n size: 100\n snapshotId: ${snapshot.id}\nvariables:\n snapshot:\n fn::invoke:\n Function: digitalocean:getVolumeSnapshot\n Arguments:\n nameRegex: ^web\n region: nyc3\n mostRecent: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVolumeSnapshot.\n", "properties": { @@ -16442,7 +16442,7 @@ } }, "digitalocean:index/getVpc:getVpc": { - "description": "Retrieve information about a VPC for use in other resources.\n\nThis data source provides all of the VPC's properties as configured on your\nDigitalOcean account. This is useful if the VPC in question is not managed by\nthe provider or you need to utilize any of the VPC's data.\n\nVPCs may be looked up by `id` or `name`. Specifying a `region` will\nreturn that that region's default VPC.\n\n## Example Usage\n\n### VPC By Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = digitalocean.getVpc({\n name: \"example-network\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_vpc(name=\"example-network\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetVpc.Invoke(new()\n {\n Name = \"example-network\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.LookupVpc(ctx, \u0026digitalocean.LookupVpcArgs{\n\t\t\tName: pulumi.StringRef(\"example-network\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVpcArgs;\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 example = DigitaloceanFunctions.getVpc(GetVpcArgs.builder()\n .name(\"example-network\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getVpc\n Arguments:\n name: example-network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReuse the data about a VPC to assign a Droplet to it:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleVpc = digitalocean.getVpc({\n name: \"example-network\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: \"s-1vcpu-1gb\",\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n vpcUuid: exampleVpc.then(exampleVpc =\u003e exampleVpc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_vpc = digitalocean.get_vpc(name=\"example-network\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=\"s-1vcpu-1gb\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\",\n vpc_uuid=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = DigitalOcean.GetVpc.Invoke(new()\n {\n Name = \"example-network\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = \"s-1vcpu-1gb\",\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n VpcUuid = exampleVpc.Apply(getVpcResult =\u003e getVpcResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := digitalocean.LookupVpc(ctx, \u0026digitalocean.LookupVpcArgs{\n\t\t\tName: pulumi.StringRef(\"example-network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tVpcUuid: *pulumi.String(exampleVpc.Id),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVpcArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleVpc = DigitaloceanFunctions.getVpc(GetVpcArgs.builder()\n .name(\"example-network\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .vpcUuid(exampleVpc.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n vpcUuid: ${exampleVpc.id}\nvariables:\n exampleVpc:\n fn::invoke:\n Function: digitalocean:getVpc\n Arguments:\n name: example-network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Retrieve information about a VPC for use in other resources.\n\nThis data source provides all of the VPC's properties as configured on your\nDigitalOcean account. This is useful if the VPC in question is not managed by\nthe provider or you need to utilize any of the VPC's data.\n\nVPCs may be looked up by `id` or `name`. Specifying a `region` will\nreturn that that region's default VPC.\n\n## Example Usage\n\n### VPC By Name\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst example = digitalocean.getVpc({\n name: \"example-network\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample = digitalocean.get_vpc(name=\"example-network\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = DigitalOcean.GetVpc.Invoke(new()\n {\n Name = \"example-network\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\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 := digitalocean.LookupVpc(ctx, \u0026digitalocean.LookupVpcArgs{\n\t\t\tName: pulumi.StringRef(\"example-network\"),\n\t\t}, nil)\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVpcArgs;\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 example = DigitaloceanFunctions.getVpc(GetVpcArgs.builder()\n .name(\"example-network\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: digitalocean:getVpc\n Arguments:\n name: example-network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nReuse the data about a VPC to assign a Droplet to it:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst exampleVpc = digitalocean.getVpc({\n name: \"example-network\",\n});\nconst exampleDroplet = new digitalocean.Droplet(\"exampleDroplet\", {\n size: digitalocean.DropletSlug.DropletS1VCPU1GB,\n image: \"ubuntu-18-04-x64\",\n region: digitalocean.Region.NYC3,\n vpcUuid: exampleVpc.then(exampleVpc =\u003e exampleVpc.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nexample_vpc = digitalocean.get_vpc(name=\"example-network\")\nexample_droplet = digitalocean.Droplet(\"exampleDroplet\",\n size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB,\n image=\"ubuntu-18-04-x64\",\n region=digitalocean.Region.NYC3,\n vpc_uuid=example_vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleVpc = DigitalOcean.GetVpc.Invoke(new()\n {\n Name = \"example-network\",\n });\n\n var exampleDroplet = new DigitalOcean.Droplet(\"exampleDroplet\", new()\n {\n Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB,\n Image = \"ubuntu-18-04-x64\",\n Region = DigitalOcean.Region.NYC3,\n VpcUuid = exampleVpc.Apply(getVpcResult =\u003e getVpcResult.Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := digitalocean.LookupVpc(ctx, \u0026digitalocean.LookupVpcArgs{\n\t\t\tName: pulumi.StringRef(\"example-network\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"exampleDroplet\", \u0026digitalocean.DropletArgs{\n\t\t\tSize: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB),\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(digitalocean.RegionNYC3),\n\t\t\tVpcUuid: pulumi.String(exampleVpc.Id),\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.digitalocean.DigitaloceanFunctions;\nimport com.pulumi.digitalocean.inputs.GetVpcArgs;\nimport com.pulumi.digitalocean.Droplet;\nimport com.pulumi.digitalocean.DropletArgs;\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 exampleVpc = DigitaloceanFunctions.getVpc(GetVpcArgs.builder()\n .name(\"example-network\")\n .build());\n\n var exampleDroplet = new Droplet(\"exampleDroplet\", DropletArgs.builder() \n .size(\"s-1vcpu-1gb\")\n .image(\"ubuntu-18-04-x64\")\n .region(\"nyc3\")\n .vpcUuid(exampleVpc.applyValue(getVpcResult -\u003e getVpcResult.id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDroplet:\n type: digitalocean:Droplet\n properties:\n size: s-1vcpu-1gb\n image: ubuntu-18-04-x64\n region: nyc3\n vpcUuid: ${exampleVpc.id}\nvariables:\n exampleVpc:\n fn::invoke:\n Function: digitalocean:getVpc\n Arguments:\n name: example-network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getVpc.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index c46c8a5d..6de97176 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -4,9 +4,9 @@ go 1.21 require ( github.com/digitalocean/terraform-provider-digitalocean v0.0.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.77.0 - github.com/pulumi/pulumi/pkg/v3 v3.108.1 - github.com/pulumi/pulumi/sdk/v3 v3.108.1 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.78.0 + github.com/pulumi/pulumi/pkg/v3 v3.111.1 + github.com/pulumi/pulumi/sdk/v3 v3.111.1 ) replace ( @@ -188,7 +188,7 @@ require ( github.com/pulumi/esc v0.6.2 // indirect github.com/pulumi/pulumi-java/pkg v0.9.9 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect - github.com/pulumi/pulumi-yaml v1.5.0 // indirect + github.com/pulumi/pulumi-yaml v1.6.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect diff --git a/provider/go.sum b/provider/go.sum index a439bb76..635c374a 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2804,16 +2804,16 @@ github.com/pulumi/providertest v0.0.11 h1:mg8MQ7Cq7+9XlHIkBD+aCqQO4mwAJEISngZgVd github.com/pulumi/providertest v0.0.11/go.mod h1:HsxjVsytcMIuNj19w1lT2W0QXY0oReXl1+h6eD2JXP8= github.com/pulumi/pulumi-java/pkg v0.9.9 h1:F3xJUtMFDVrTGCxb7Rh2Q8s6tj7gMfM5pcoUthz7vFY= github.com/pulumi/pulumi-java/pkg v0.9.9/go.mod h1:LVF1zeg3UkToHWxb67V+zEIxQc3EdMnlot5NWSt+FpA= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.77.0 h1:BZhD7yNZz7O5MWeM4WofY6XBLjtiA3qH2UJJTg8+Nts= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.77.0/go.mod h1:OCfjEGPU2fbBlda8UZhN/N3FljW6R08SK6lXPXzahwA= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.78.0 h1:zl1nXrx02X7u/w5kNjIVGVUzccEILcMWsIpg4QQanCI= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.78.0/go.mod h1:WpkN/lgtBrDYGrMyG9cmncy5pN95lnowbmjILHWcm0M= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 h1:mav2tSitA9BPJPLLahKgepHyYsMzwaTm4cvp0dcTMYw= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8/go.mod h1:qUYk2c9i/yqMGNj9/bQyXpS39BxNDSXYjVN1njnq0zY= -github.com/pulumi/pulumi-yaml v1.5.0 h1:HfXu+WSFNpycref9CK935cViYJzXwSgHGWM/RepyrW0= -github.com/pulumi/pulumi-yaml v1.5.0/go.mod h1:AvKSmEQv2EkPbpvAQroR1eP1LkJGC8z5NDM34rVWOtg= -github.com/pulumi/pulumi/pkg/v3 v3.108.1 h1:K1UK40v5IpEPIaJ2un3WNOTBbLQaKR26HbLLh5EmMHY= -github.com/pulumi/pulumi/pkg/v3 v3.108.1/go.mod h1:48uCfxkPXUq/XTBqei9VuR0CRWObnSVlqcLkD6DhII8= -github.com/pulumi/pulumi/sdk/v3 v3.108.1 h1:5idjc3JmzToYVizRPbFyjJ5UU4AbExd04pcSP9AhPEc= -github.com/pulumi/pulumi/sdk/v3 v3.108.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= +github.com/pulumi/pulumi-yaml v1.6.0 h1:mb/QkebWXTa1fR+P3ZkCCHGXOYC6iTN8X8By9eNz8xM= +github.com/pulumi/pulumi-yaml v1.6.0/go.mod h1:RyEPo4MhL363sbAiFMVKRsQmXpQPDCY1S8pGv3E6Ij0= +github.com/pulumi/pulumi/pkg/v3 v3.111.1 h1:SrVgQE96T7YlZx/AZoFSlXYwur7ZmQUHyjbPI8sH96Q= +github.com/pulumi/pulumi/pkg/v3 v3.111.1/go.mod h1:ZWsq8Y0EMHZ5E2ju92jC+POz97TEXs3BbQ6r2o0U4SA= +github.com/pulumi/pulumi/sdk/v3 v3.111.1 h1:uOeG/b6YxBuL59xHtmFPspMa8BB6ovjHelL7sVCGJZw= +github.com/pulumi/pulumi/sdk/v3 v3.111.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= diff --git a/sdk/dotnet/Cdn.cs b/sdk/dotnet/Cdn.cs index ab836083..279e4d75 100644 --- a/sdk/dotnet/Cdn.cs +++ b/sdk/dotnet/Cdn.cs @@ -28,7 +28,7 @@ namespace Pulumi.DigitalOcean /// // Create a new Spaces Bucket /// var mybucket = new DigitalOcean.SpacesBucket("mybucket", new() /// { - /// Region = "sfo2", + /// Region = DigitalOcean.Region.SFO2, /// Acl = "public-read", /// }); /// @@ -60,14 +60,14 @@ namespace Pulumi.DigitalOcean /// // Create a new Spaces Bucket /// var mybucket = new DigitalOcean.SpacesBucket("mybucket", new() /// { - /// Region = "sfo2", + /// Region = DigitalOcean.Region.SFO2, /// Acl = "public-read", /// }); /// /// // Create a DigitalOcean managed Let's Encrypt Certificate /// var cert = new DigitalOcean.Certificate("cert", new() /// { - /// Type = "lets_encrypt", + /// Type = DigitalOcean.CertificateType.LetsEncrypt, /// Domains = new[] /// { /// "static.example.com", diff --git a/sdk/dotnet/Certificate.cs b/sdk/dotnet/Certificate.cs index 68de16bf..6edb7a6a 100644 --- a/sdk/dotnet/Certificate.cs +++ b/sdk/dotnet/Certificate.cs @@ -33,7 +33,7 @@ namespace Pulumi.DigitalOcean /// { /// var cert = new DigitalOcean.Certificate("cert", new() /// { - /// Type = "custom", + /// Type = DigitalOcean.CertificateType.Custom, /// PrivateKey = File.ReadAllText("/Users/myuser/certs/privkey.pem"), /// LeafCertificate = File.ReadAllText("/Users/myuser/certs/cert.pem"), /// CertificateChain = File.ReadAllText("/Users/myuser/certs/fullchain.pem"), @@ -60,7 +60,7 @@ namespace Pulumi.DigitalOcean /// { /// "example.com", /// }, - /// Type = "lets_encrypt", + /// Type = DigitalOcean.CertificateType.LetsEncrypt, /// }); /// /// }); @@ -83,7 +83,7 @@ namespace Pulumi.DigitalOcean /// { /// var cert = new DigitalOcean.Certificate("cert", new() /// { - /// Type = "lets_encrypt", + /// Type = DigitalOcean.CertificateType.LetsEncrypt, /// Domains = new[] /// { /// "example.com", @@ -93,7 +93,7 @@ namespace Pulumi.DigitalOcean /// // Create a new Load Balancer with TLS termination /// var @public = new DigitalOcean.LoadBalancer("public", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// DropletTag = "backend", /// ForwardingRules = new[] /// { diff --git a/sdk/dotnet/CustomImage.cs b/sdk/dotnet/CustomImage.cs index ff6a34dd..8b334ab2 100644 --- a/sdk/dotnet/CustomImage.cs +++ b/sdk/dotnet/CustomImage.cs @@ -45,8 +45,8 @@ namespace Pulumi.DigitalOcean /// var example = new DigitalOcean.Droplet("example", new() /// { /// Image = flatcar.Id, - /// Region = "nyc3", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC3, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// SshKeys = new[] /// { /// "12345", diff --git a/sdk/dotnet/DatabaseCluster.cs b/sdk/dotnet/DatabaseCluster.cs index d23968e3..20f200cd 100644 --- a/sdk/dotnet/DatabaseCluster.cs +++ b/sdk/dotnet/DatabaseCluster.cs @@ -28,8 +28,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// NodeCount = 1, - /// Region = "nyc1", - /// Size = "db-s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC1, + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, /// Version = "15", /// }); /// @@ -51,8 +51,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "mysql", /// NodeCount = 1, - /// Region = "nyc1", - /// Size = "db-s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC1, + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, /// Version = "8", /// }); /// @@ -74,8 +74,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "redis", /// NodeCount = 1, - /// Region = "nyc1", - /// Size = "db-s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC1, + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, /// Version = "7", /// }); /// @@ -97,7 +97,7 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "kafka", /// NodeCount = 3, - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// Size = "db-s-2vcpu-2gb", /// Version = "3.5", /// }); @@ -120,8 +120,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "mongodb", /// NodeCount = 1, - /// Region = "nyc3", - /// Size = "db-s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC3, + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, /// Version = "6", /// }); /// @@ -144,8 +144,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-2gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU2GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// Tags = new[] /// { @@ -157,8 +157,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-2gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU2GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// Tags = new[] /// { diff --git a/sdk/dotnet/DatabaseConnectionPool.cs b/sdk/dotnet/DatabaseConnectionPool.cs index 50ccff5e..362fa704 100644 --- a/sdk/dotnet/DatabaseConnectionPool.cs +++ b/sdk/dotnet/DatabaseConnectionPool.cs @@ -28,8 +28,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// diff --git a/sdk/dotnet/DatabaseDb.cs b/sdk/dotnet/DatabaseDb.cs index f19645a0..610ac3ac 100644 --- a/sdk/dotnet/DatabaseDb.cs +++ b/sdk/dotnet/DatabaseDb.cs @@ -28,8 +28,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// diff --git a/sdk/dotnet/DatabaseFirewall.cs b/sdk/dotnet/DatabaseFirewall.cs index e222c704..10f9da16 100644 --- a/sdk/dotnet/DatabaseFirewall.cs +++ b/sdk/dotnet/DatabaseFirewall.cs @@ -31,8 +31,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// @@ -71,17 +71,17 @@ namespace Pulumi.DigitalOcean /// { /// var web = new DigitalOcean.Droplet("web", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-22-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var postgres_example = new DigitalOcean.DatabaseCluster("postgres-example", new() /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// @@ -117,16 +117,16 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// /// var replica_example = new DigitalOcean.DatabaseReplica("replica-example", new() /// { /// ClusterId = postgres_example.Id, - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// }); /// /// // Create firewall rule for database replica diff --git a/sdk/dotnet/DatabaseKafkaTopic.cs b/sdk/dotnet/DatabaseKafkaTopic.cs index d407437c..574674c6 100644 --- a/sdk/dotnet/DatabaseKafkaTopic.cs +++ b/sdk/dotnet/DatabaseKafkaTopic.cs @@ -29,7 +29,7 @@ namespace Pulumi.DigitalOcean /// Engine = "kafka", /// Version = "3.5", /// Size = "db-s-2vcpu-2gb", - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 3, /// Tags = new[] /// { diff --git a/sdk/dotnet/DatabaseMysqlConfig.cs b/sdk/dotnet/DatabaseMysqlConfig.cs index aae795a9..76558eca 100644 --- a/sdk/dotnet/DatabaseMysqlConfig.cs +++ b/sdk/dotnet/DatabaseMysqlConfig.cs @@ -30,8 +30,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "mysql", /// Version = "8", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// diff --git a/sdk/dotnet/DatabaseRedisConfig.cs b/sdk/dotnet/DatabaseRedisConfig.cs index 329f322f..cec0fbca 100644 --- a/sdk/dotnet/DatabaseRedisConfig.cs +++ b/sdk/dotnet/DatabaseRedisConfig.cs @@ -30,8 +30,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "redis", /// Version = "7", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// diff --git a/sdk/dotnet/DatabaseReplica.cs b/sdk/dotnet/DatabaseReplica.cs index 00ffdab5..b428e1dd 100644 --- a/sdk/dotnet/DatabaseReplica.cs +++ b/sdk/dotnet/DatabaseReplica.cs @@ -28,16 +28,16 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// /// var replica_example = new DigitalOcean.DatabaseReplica("replica-example", new() /// { /// ClusterId = postgres_example.Id, - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// }); /// /// // Create firewall rule for database replica diff --git a/sdk/dotnet/DatabaseUser.cs b/sdk/dotnet/DatabaseUser.cs index 49465021..2a9dd7c8 100644 --- a/sdk/dotnet/DatabaseUser.cs +++ b/sdk/dotnet/DatabaseUser.cs @@ -30,8 +30,8 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// @@ -58,16 +58,16 @@ namespace Pulumi.DigitalOcean /// { /// Engine = "pg", /// Version = "11", - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 1, /// }); /// /// var replica_example = new DigitalOcean.DatabaseReplica("replica-example", new() /// { /// ClusterId = postgres_example.Id, - /// Size = "db-s-1vcpu-1gb", - /// Region = "nyc1", + /// Size = DigitalOcean.DatabaseSlug.DB_1VPCU1GB, + /// Region = DigitalOcean.Region.NYC1, /// }); /// /// var user_example = new DigitalOcean.DatabaseUser("user-example", new() @@ -94,7 +94,7 @@ namespace Pulumi.DigitalOcean /// Engine = "kafka", /// Version = "3.5", /// Size = "db-s-2vcpu-2gb", - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// NodeCount = 3, /// }); /// diff --git a/sdk/dotnet/DnsRecord.cs b/sdk/dotnet/DnsRecord.cs index f0b6dde5..897db7bf 100644 --- a/sdk/dotnet/DnsRecord.cs +++ b/sdk/dotnet/DnsRecord.cs @@ -32,7 +32,7 @@ namespace Pulumi.DigitalOcean /// var www = new DigitalOcean.DnsRecord("www", new() /// { /// Domain = @default.Id, - /// Type = "A", + /// Type = DigitalOcean.RecordType.A, /// Value = "192.168.0.11", /// }); /// @@ -40,7 +40,7 @@ namespace Pulumi.DigitalOcean /// var mx = new DigitalOcean.DnsRecord("mx", new() /// { /// Domain = @default.Id, - /// Type = "MX", + /// Type = DigitalOcean.RecordType.MX, /// Priority = 10, /// Value = "mail.example.com.", /// }); diff --git a/sdk/dotnet/Droplet.cs b/sdk/dotnet/Droplet.cs index 089bdfde..d0bdcdd6 100644 --- a/sdk/dotnet/Droplet.cs +++ b/sdk/dotnet/Droplet.cs @@ -28,8 +28,8 @@ namespace Pulumi.DigitalOcean /// var web = new DigitalOcean.Droplet("web", new() /// { /// Image = "ubuntu-20-04-x64", - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// }); /// /// }); diff --git a/sdk/dotnet/DropletSnapshot.cs b/sdk/dotnet/DropletSnapshot.cs index 45563157..960d6d67 100644 --- a/sdk/dotnet/DropletSnapshot.cs +++ b/sdk/dotnet/DropletSnapshot.cs @@ -25,9 +25,9 @@ namespace Pulumi.DigitalOcean /// { /// var web = new DigitalOcean.Droplet("web", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-22-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var web_snapshot = new DigitalOcean.DropletSnapshot("web-snapshot", new() @@ -38,8 +38,8 @@ namespace Pulumi.DigitalOcean /// var from_snapshot = new DigitalOcean.Droplet("from-snapshot", new() /// { /// Image = web_snapshot.Id, - /// Region = "nyc3", - /// Size = "s-2vcpu-4gb", + /// Region = DigitalOcean.Region.NYC3, + /// Size = DigitalOcean.DropletSlug.DropletS2VCPU4GB, /// }); /// /// }); diff --git a/sdk/dotnet/Firewall.cs b/sdk/dotnet/Firewall.cs index 3615c45e..1c8d35d5 100644 --- a/sdk/dotnet/Firewall.cs +++ b/sdk/dotnet/Firewall.cs @@ -26,9 +26,9 @@ namespace Pulumi.DigitalOcean /// { /// var webDroplet = new DigitalOcean.Droplet("webDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var webFirewall = new DigitalOcean.Firewall("webFirewall", new() diff --git a/sdk/dotnet/FloatingIp.cs b/sdk/dotnet/FloatingIp.cs index e4c95699..bb438087 100644 --- a/sdk/dotnet/FloatingIp.cs +++ b/sdk/dotnet/FloatingIp.cs @@ -29,9 +29,9 @@ namespace Pulumi.DigitalOcean /// { /// var foobarDroplet = new DigitalOcean.Droplet("foobarDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "sgp1", + /// Region = DigitalOcean.Region.SGP1, /// Ipv6 = true, /// PrivateNetworking = true, /// }); diff --git a/sdk/dotnet/FloatingIpAssignment.cs b/sdk/dotnet/FloatingIpAssignment.cs index a8a25b65..07dfa98f 100644 --- a/sdk/dotnet/FloatingIpAssignment.cs +++ b/sdk/dotnet/FloatingIpAssignment.cs @@ -34,9 +34,9 @@ namespace Pulumi.DigitalOcean /// /// var foobarDroplet = new DigitalOcean.Droplet("foobarDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "sgp1", + /// Region = DigitalOcean.Region.SGP1, /// Ipv6 = true, /// PrivateNetworking = true, /// }); diff --git a/sdk/dotnet/GetDropletSnapshot.cs b/sdk/dotnet/GetDropletSnapshot.cs index 86145c31..e56dbfd2 100644 --- a/sdk/dotnet/GetDropletSnapshot.cs +++ b/sdk/dotnet/GetDropletSnapshot.cs @@ -61,8 +61,8 @@ public static class GetDropletSnapshot /// var from_snapshot = new DigitalOcean.Droplet("from-snapshot", new() /// { /// Image = web_snapshot.Apply(web_snapshot => web_snapshot.Apply(getDropletSnapshotResult => getDropletSnapshotResult.Id)), - /// Region = "nyc3", - /// Size = "s-2vcpu-4gb", + /// Region = DigitalOcean.Region.NYC3, + /// Size = DigitalOcean.DropletSlug.DropletS2VCPU4GB, /// }); /// /// }); @@ -122,8 +122,8 @@ public static Task InvokeAsync(GetDropletSnapshotArgs? /// var from_snapshot = new DigitalOcean.Droplet("from-snapshot", new() /// { /// Image = web_snapshot.Apply(web_snapshot => web_snapshot.Apply(getDropletSnapshotResult => getDropletSnapshotResult.Id)), - /// Region = "nyc3", - /// Size = "s-2vcpu-4gb", + /// Region = DigitalOcean.Region.NYC3, + /// Size = DigitalOcean.DropletSlug.DropletS2VCPU4GB, /// }); /// /// }); diff --git a/sdk/dotnet/GetImage.cs b/sdk/dotnet/GetImage.cs index a0dbe8e7..a0b70644 100644 --- a/sdk/dotnet/GetImage.cs +++ b/sdk/dotnet/GetImage.cs @@ -60,8 +60,8 @@ public static class GetImage /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { /// Image = exampleImage.Apply(getImageResult => getImageResult.Id), - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// }); /// /// }); @@ -140,8 +140,8 @@ public static Task InvokeAsync(GetImageArgs? args = null, Invoke /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { /// Image = exampleImage.Apply(getImageResult => getImageResult.Id), - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// }); /// /// }); diff --git a/sdk/dotnet/GetKubernetesVersions.cs b/sdk/dotnet/GetKubernetesVersions.cs index e10c92ec..889538a9 100644 --- a/sdk/dotnet/GetKubernetesVersions.cs +++ b/sdk/dotnet/GetKubernetesVersions.cs @@ -52,7 +52,7 @@ public static class GetKubernetesVersions /// /// var example_cluster = new DigitalOcean.KubernetesCluster("example-cluster", new() /// { - /// Region = "lon1", + /// Region = DigitalOcean.Region.LON1, /// Version = example.Apply(getKubernetesVersionsResult => getKubernetesVersionsResult.LatestVersion), /// NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs /// { @@ -84,7 +84,7 @@ public static class GetKubernetesVersions /// /// var example_cluster = new DigitalOcean.KubernetesCluster("example-cluster", new() /// { - /// Region = "lon1", + /// Region = DigitalOcean.Region.LON1, /// Version = example.Apply(getKubernetesVersionsResult => getKubernetesVersionsResult.LatestVersion), /// NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs /// { @@ -142,7 +142,7 @@ public static Task InvokeAsync(GetKubernetesVersion /// /// var example_cluster = new DigitalOcean.KubernetesCluster("example-cluster", new() /// { - /// Region = "lon1", + /// Region = DigitalOcean.Region.LON1, /// Version = example.Apply(getKubernetesVersionsResult => getKubernetesVersionsResult.LatestVersion), /// NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs /// { @@ -174,7 +174,7 @@ public static Task InvokeAsync(GetKubernetesVersion /// /// var example_cluster = new DigitalOcean.KubernetesCluster("example-cluster", new() /// { - /// Region = "lon1", + /// Region = DigitalOcean.Region.LON1, /// Version = example.Apply(getKubernetesVersionsResult => getKubernetesVersionsResult.LatestVersion), /// NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs /// { diff --git a/sdk/dotnet/GetSpacesBucketObject.cs b/sdk/dotnet/GetSpacesBucketObject.cs index bde6a9d7..60d57292 100644 --- a/sdk/dotnet/GetSpacesBucketObject.cs +++ b/sdk/dotnet/GetSpacesBucketObject.cs @@ -43,8 +43,8 @@ public static class GetSpacesBucketObject /// var web = new DigitalOcean.Droplet("web", new() /// { /// Image = "ubuntu-18-04-x64", - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// UserData = bootstrapScript.Apply(getSpacesBucketObjectResult => getSpacesBucketObjectResult.Body), /// }); /// @@ -87,8 +87,8 @@ public static Task InvokeAsync(GetSpacesBucketObjec /// var web = new DigitalOcean.Droplet("web", new() /// { /// Image = "ubuntu-18-04-x64", - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// UserData = bootstrapScript.Apply(getSpacesBucketObjectResult => getSpacesBucketObjectResult.Body), /// }); /// diff --git a/sdk/dotnet/GetSshKey.cs b/sdk/dotnet/GetSshKey.cs index 6a9d1948..108a8ec0 100644 --- a/sdk/dotnet/GetSshKey.cs +++ b/sdk/dotnet/GetSshKey.cs @@ -40,8 +40,8 @@ public static class GetSshKey /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { /// Image = "ubuntu-18-04-x64", - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// SshKeys = new[] /// { /// exampleSshKey.Apply(getSshKeyResult => getSshKeyResult.Id), @@ -84,8 +84,8 @@ public static Task InvokeAsync(GetSshKeyArgs args, InvokeOption /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { /// Image = "ubuntu-18-04-x64", - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// SshKeys = new[] /// { /// exampleSshKey.Apply(getSshKeyResult => getSshKeyResult.Id), diff --git a/sdk/dotnet/GetTag.cs b/sdk/dotnet/GetTag.cs index 2eb99127..79bd7295 100644 --- a/sdk/dotnet/GetTag.cs +++ b/sdk/dotnet/GetTag.cs @@ -39,8 +39,8 @@ public static class GetTag /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { /// Image = "ubuntu-18-04-x64", - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Tags = new[] /// { /// exampleTag.Apply(getTagResult => getTagResult.Name), @@ -82,8 +82,8 @@ public static Task InvokeAsync(GetTagArgs args, InvokeOptions? opt /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { /// Image = "ubuntu-18-04-x64", - /// Region = "nyc2", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC2, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Tags = new[] /// { /// exampleTag.Apply(getTagResult => getTagResult.Name), diff --git a/sdk/dotnet/GetVolume.cs b/sdk/dotnet/GetVolume.cs index 90c0ef89..93455313 100644 --- a/sdk/dotnet/GetVolume.cs +++ b/sdk/dotnet/GetVolume.cs @@ -61,9 +61,9 @@ public static class GetVolume /// /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var foobar = new DigitalOcean.VolumeAttachment("foobar", new() @@ -129,9 +129,9 @@ public static Task InvokeAsync(GetVolumeArgs args, InvokeOption /// /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var foobar = new DigitalOcean.VolumeAttachment("foobar", new() diff --git a/sdk/dotnet/GetVolumeSnapshot.cs b/sdk/dotnet/GetVolumeSnapshot.cs index af6dc444..09f82efb 100644 --- a/sdk/dotnet/GetVolumeSnapshot.cs +++ b/sdk/dotnet/GetVolumeSnapshot.cs @@ -60,7 +60,7 @@ public static class GetVolumeSnapshot /// /// var foobar = new DigitalOcean.Volume("foobar", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// Size = 100, /// SnapshotId = snapshot.Apply(getVolumeSnapshotResult => getVolumeSnapshotResult.Id), /// }); @@ -121,7 +121,7 @@ public static Task InvokeAsync(GetVolumeSnapshotArgs? a /// /// var foobar = new DigitalOcean.Volume("foobar", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// Size = 100, /// SnapshotId = snapshot.Apply(getVolumeSnapshotResult => getVolumeSnapshotResult.Id), /// }); diff --git a/sdk/dotnet/GetVpc.cs b/sdk/dotnet/GetVpc.cs index 5f1f8c35..40402075 100644 --- a/sdk/dotnet/GetVpc.cs +++ b/sdk/dotnet/GetVpc.cs @@ -61,9 +61,9 @@ public static class GetVpc /// /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// VpcUuid = exampleVpc.Apply(getVpcResult => getVpcResult.Id), /// }); /// @@ -124,9 +124,9 @@ public static Task InvokeAsync(GetVpcArgs? args = null, InvokeOpti /// /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// VpcUuid = exampleVpc.Apply(getVpcResult => getVpcResult.Id), /// }); /// diff --git a/sdk/dotnet/KubernetesNodePool.cs b/sdk/dotnet/KubernetesNodePool.cs index 50c71790..aa61e2e7 100644 --- a/sdk/dotnet/KubernetesNodePool.cs +++ b/sdk/dotnet/KubernetesNodePool.cs @@ -27,7 +27,7 @@ namespace Pulumi.DigitalOcean /// { /// var foo = new DigitalOcean.KubernetesCluster("foo", new() /// { - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// Version = "1.22.8-do.1", /// NodePool = new DigitalOcean.Inputs.KubernetesClusterNodePoolArgs /// { @@ -40,7 +40,7 @@ namespace Pulumi.DigitalOcean /// var bar = new DigitalOcean.KubernetesNodePool("bar", new() /// { /// ClusterId = foo.Id, - /// Size = "c-2", + /// Size = DigitalOcean.DropletSlug.DropletC2, /// NodeCount = 2, /// Tags = new[] /// { @@ -83,7 +83,7 @@ namespace Pulumi.DigitalOcean /// var autoscale_pool_01 = new DigitalOcean.KubernetesNodePool("autoscale-pool-01", new() /// { /// ClusterId = digitalocean_kubernetes_cluster.Foo.Id, - /// Size = "s-1vcpu-2gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU2GB, /// AutoScale = true, /// MinNodes = 1, /// MaxNodes = 5, diff --git a/sdk/dotnet/LoadBalancer.cs b/sdk/dotnet/LoadBalancer.cs index b552acbf..be37d806 100644 --- a/sdk/dotnet/LoadBalancer.cs +++ b/sdk/dotnet/LoadBalancer.cs @@ -26,14 +26,14 @@ namespace Pulumi.DigitalOcean /// { /// var web = new DigitalOcean.Droplet("web", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var @public = new DigitalOcean.LoadBalancer("public", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// ForwardingRules = new[] /// { /// new DigitalOcean.Inputs.LoadBalancerForwardingRuleArgs @@ -82,14 +82,14 @@ namespace Pulumi.DigitalOcean /// /// var web = new DigitalOcean.Droplet("web", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var @public = new DigitalOcean.LoadBalancer("public", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// ForwardingRules = new[] /// { /// new DigitalOcean.Inputs.LoadBalancerForwardingRuleArgs diff --git a/sdk/dotnet/Project.cs b/sdk/dotnet/Project.cs index 94b30a9e..adce50b8 100644 --- a/sdk/dotnet/Project.cs +++ b/sdk/dotnet/Project.cs @@ -67,9 +67,9 @@ namespace Pulumi.DigitalOcean /// { /// var foobar = new DigitalOcean.Droplet("foobar", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-22-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var playground = new DigitalOcean.Project("playground", new() diff --git a/sdk/dotnet/ProjectResources.cs b/sdk/dotnet/ProjectResources.cs index 32d0c220..08894259 100644 --- a/sdk/dotnet/ProjectResources.cs +++ b/sdk/dotnet/ProjectResources.cs @@ -45,9 +45,9 @@ namespace Pulumi.DigitalOcean /// /// var foobar = new DigitalOcean.Droplet("foobar", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-22-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var barfoo = new DigitalOcean.ProjectResources("barfoo", new() diff --git a/sdk/dotnet/ReservedIp.cs b/sdk/dotnet/ReservedIp.cs index b634d3a8..ee42cd6e 100644 --- a/sdk/dotnet/ReservedIp.cs +++ b/sdk/dotnet/ReservedIp.cs @@ -27,9 +27,9 @@ namespace Pulumi.DigitalOcean /// { /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-22-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// Ipv6 = true, /// PrivateNetworking = true, /// }); diff --git a/sdk/dotnet/ReservedIpAssignment.cs b/sdk/dotnet/ReservedIpAssignment.cs index 8b2790e2..c0b485ad 100644 --- a/sdk/dotnet/ReservedIpAssignment.cs +++ b/sdk/dotnet/ReservedIpAssignment.cs @@ -32,9 +32,9 @@ namespace Pulumi.DigitalOcean /// /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-22-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// Ipv6 = true, /// PrivateNetworking = true, /// }); diff --git a/sdk/dotnet/SpacesBucket.cs b/sdk/dotnet/SpacesBucket.cs index 9ad27a13..25c04358 100644 --- a/sdk/dotnet/SpacesBucket.cs +++ b/sdk/dotnet/SpacesBucket.cs @@ -57,7 +57,7 @@ namespace Pulumi.DigitalOcean /// { /// var foobar = new DigitalOcean.SpacesBucket("foobar", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// }); @@ -114,7 +114,7 @@ namespace Pulumi.DigitalOcean /// MaxAgeSeconds = 3000, /// }, /// }, - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// }); @@ -250,7 +250,7 @@ public sealed class SpacesBucketArgs : global::Pulumi.ResourceArgs /// /// A rule of Cross-Origin Resource Sharing (documented below). /// - [Obsolete(@"Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.")] + [Obsolete(@"Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead.")] public InputList CorsRules { get => _corsRules ?? (_corsRules = new InputList()); @@ -325,7 +325,7 @@ public sealed class SpacesBucketState : global::Pulumi.ResourceArgs /// /// A rule of Cross-Origin Resource Sharing (documented below). /// - [Obsolete(@"Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.")] + [Obsolete(@"Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead.")] public InputList CorsRules { get => _corsRules ?? (_corsRules = new InputList()); diff --git a/sdk/dotnet/SpacesBucketCorsConfiguration.cs b/sdk/dotnet/SpacesBucketCorsConfiguration.cs index 19f61f82..7b26bf84 100644 --- a/sdk/dotnet/SpacesBucketCorsConfiguration.cs +++ b/sdk/dotnet/SpacesBucketCorsConfiguration.cs @@ -25,7 +25,7 @@ namespace Pulumi.DigitalOcean /// { /// var foobar = new DigitalOcean.SpacesBucket("foobar", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var test = new DigitalOcean.SpacesBucketCorsConfiguration("test", new() diff --git a/sdk/dotnet/SpacesBucketObject.cs b/sdk/dotnet/SpacesBucketObject.cs index 079eccbd..ef180b86 100644 --- a/sdk/dotnet/SpacesBucketObject.cs +++ b/sdk/dotnet/SpacesBucketObject.cs @@ -59,7 +59,7 @@ namespace Pulumi.DigitalOcean /// { /// var foobar = new DigitalOcean.SpacesBucket("foobar", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var index = new DigitalOcean.SpacesBucketObject("index", new() diff --git a/sdk/dotnet/SpacesBucketPolicy.cs b/sdk/dotnet/SpacesBucketPolicy.cs index 73d248aa..bac97fad 100644 --- a/sdk/dotnet/SpacesBucketPolicy.cs +++ b/sdk/dotnet/SpacesBucketPolicy.cs @@ -26,7 +26,7 @@ namespace Pulumi.DigitalOcean /// { /// var foobarSpacesBucket = new DigitalOcean.SpacesBucket("foobarSpacesBucket", new() /// { - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// }); /// /// var foobarSpacesBucketPolicy = new DigitalOcean.SpacesBucketPolicy("foobarSpacesBucketPolicy", new() diff --git a/sdk/dotnet/SshKey.cs b/sdk/dotnet/SshKey.cs index e3debb34..b494c8e3 100644 --- a/sdk/dotnet/SshKey.cs +++ b/sdk/dotnet/SshKey.cs @@ -37,8 +37,8 @@ namespace Pulumi.DigitalOcean /// var web = new DigitalOcean.Droplet("web", new() /// { /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC3, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// SshKeys = new[] /// { /// @default.Fingerprint, diff --git a/sdk/dotnet/Tag.cs b/sdk/dotnet/Tag.cs index 309b8faa..ab3b7c5a 100644 --- a/sdk/dotnet/Tag.cs +++ b/sdk/dotnet/Tag.cs @@ -33,8 +33,8 @@ namespace Pulumi.DigitalOcean /// var web = new DigitalOcean.Droplet("web", new() /// { /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", - /// Size = "s-1vcpu-1gb", + /// Region = DigitalOcean.Region.NYC3, + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Tags = new[] /// { /// foobar.Id, diff --git a/sdk/dotnet/Volume.cs b/sdk/dotnet/Volume.cs index c0b58628..0034d292 100644 --- a/sdk/dotnet/Volume.cs +++ b/sdk/dotnet/Volume.cs @@ -25,17 +25,17 @@ namespace Pulumi.DigitalOcean /// { /// var foobarVolume = new DigitalOcean.Volume("foobarVolume", new() /// { - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// Size = 100, - /// InitialFilesystemType = "ext4", + /// InitialFilesystemType = DigitalOcean.FileSystemType.EXT4, /// Description = "an example volume", /// }); /// /// var foobarDroplet = new DigitalOcean.Droplet("foobarDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// }); /// /// var foobarVolumeAttachment = new DigitalOcean.VolumeAttachment("foobarVolumeAttachment", new() @@ -66,7 +66,7 @@ namespace Pulumi.DigitalOcean /// /// var foobarVolume = new DigitalOcean.Volume("foobarVolume", new() /// { - /// Region = "lon1", + /// Region = DigitalOcean.Region.LON1, /// Size = foobarVolumeSnapshot.Apply(getVolumeSnapshotResult => getVolumeSnapshotResult.MinDiskSize), /// SnapshotId = foobarVolumeSnapshot.Apply(getVolumeSnapshotResult => getVolumeSnapshotResult.Id), /// }); diff --git a/sdk/dotnet/VolumeAttachment.cs b/sdk/dotnet/VolumeAttachment.cs index ddd9d1e5..854dd025 100644 --- a/sdk/dotnet/VolumeAttachment.cs +++ b/sdk/dotnet/VolumeAttachment.cs @@ -27,17 +27,17 @@ namespace Pulumi.DigitalOcean /// { /// var foobarVolume = new DigitalOcean.Volume("foobarVolume", new() /// { - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// Size = 100, - /// InitialFilesystemType = "ext4", + /// InitialFilesystemType = DigitalOcean.FileSystemType.EXT4, /// Description = "an example volume", /// }); /// /// var foobarDroplet = new DigitalOcean.Droplet("foobarDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// }); /// /// var foobarVolumeAttachment = new DigitalOcean.VolumeAttachment("foobarVolumeAttachment", new() diff --git a/sdk/dotnet/VolumeSnapshot.cs b/sdk/dotnet/VolumeSnapshot.cs index 09b9b4a4..5334683e 100644 --- a/sdk/dotnet/VolumeSnapshot.cs +++ b/sdk/dotnet/VolumeSnapshot.cs @@ -25,7 +25,7 @@ namespace Pulumi.DigitalOcean /// { /// var foobarVolume = new DigitalOcean.Volume("foobarVolume", new() /// { - /// Region = "nyc1", + /// Region = DigitalOcean.Region.NYC1, /// Size = 100, /// Description = "an example volume", /// }); diff --git a/sdk/dotnet/Vpc.cs b/sdk/dotnet/Vpc.cs index 32300a3b..c26776e3 100644 --- a/sdk/dotnet/Vpc.cs +++ b/sdk/dotnet/Vpc.cs @@ -58,9 +58,9 @@ namespace Pulumi.DigitalOcean /// /// var exampleDroplet = new DigitalOcean.Droplet("exampleDroplet", new() /// { - /// Size = "s-1vcpu-1gb", + /// Size = DigitalOcean.DropletSlug.DropletS1VCPU1GB, /// Image = "ubuntu-18-04-x64", - /// Region = "nyc3", + /// Region = DigitalOcean.Region.NYC3, /// VpcUuid = exampleVpc.Id, /// }); /// diff --git a/sdk/go.mod b/sdk/go.mod index ac3eb0ea..4aedd919 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.108.1 + github.com/pulumi/pulumi/sdk/v3 v3.111.1 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 69dbe19d..2160100e 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -150,8 +150,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.6.2 h1:+z+l8cuwIauLSwXQS0uoI3rqB+YG4SzsZYtHfNoXBvw= github.com/pulumi/esc v0.6.2/go.mod h1:jNnYNjzsOgVTjCp0LL24NsCk8ZJxq4IoLQdCT0X7l8k= -github.com/pulumi/pulumi/sdk/v3 v3.108.1 h1:5idjc3JmzToYVizRPbFyjJ5UU4AbExd04pcSP9AhPEc= -github.com/pulumi/pulumi/sdk/v3 v3.108.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= +github.com/pulumi/pulumi/sdk/v3 v3.111.1 h1:uOeG/b6YxBuL59xHtmFPspMa8BB6ovjHelL7sVCGJZw= +github.com/pulumi/pulumi/sdk/v3 v3.111.1/go.mod h1:5A6GHUwAJlRY1SSLZh84aDIbsBShcrfcmHzI50ecSBg= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/go/digitalocean/cdn.go b/sdk/go/digitalocean/cdn.go index c6760ad3..3961c966 100644 --- a/sdk/go/digitalocean/cdn.go +++ b/sdk/go/digitalocean/cdn.go @@ -33,7 +33,7 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // // Create a new Spaces Bucket // mybucket, err := digitalocean.NewSpacesBucket(ctx, "mybucket", &digitalocean.SpacesBucketArgs{ -// Region: pulumi.String("sfo2"), +// Region: pulumi.String(digitalocean.RegionSFO2), // Acl: pulumi.String("public-read"), // }) // if err != nil { @@ -71,7 +71,7 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // // Create a new Spaces Bucket // mybucket, err := digitalocean.NewSpacesBucket(ctx, "mybucket", &digitalocean.SpacesBucketArgs{ -// Region: pulumi.String("sfo2"), +// Region: pulumi.String(digitalocean.RegionSFO2), // Acl: pulumi.String("public-read"), // }) // if err != nil { @@ -79,7 +79,7 @@ import ( // } // // Create a DigitalOcean managed Let's Encrypt Certificate // cert, err := digitalocean.NewCertificate(ctx, "cert", &digitalocean.CertificateArgs{ -// Type: pulumi.String("lets_encrypt"), +// Type: pulumi.String(digitalocean.CertificateTypeLetsEncrypt), // Domains: pulumi.StringArray{ // pulumi.String("static.example.com"), // }, diff --git a/sdk/go/digitalocean/certificate.go b/sdk/go/digitalocean/certificate.go index cd65361d..9682ced6 100644 --- a/sdk/go/digitalocean/certificate.go +++ b/sdk/go/digitalocean/certificate.go @@ -46,7 +46,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := digitalocean.NewCertificate(ctx, "cert", &digitalocean.CertificateArgs{ -// Type: pulumi.String("custom"), +// Type: pulumi.String(digitalocean.CertificateTypeCustom), // PrivateKey: readFileOrPanic("/Users/myuser/certs/privkey.pem"), // LeafCertificate: readFileOrPanic("/Users/myuser/certs/cert.pem"), // CertificateChain: readFileOrPanic("/Users/myuser/certs/fullchain.pem"), @@ -80,7 +80,7 @@ import ( // Domains: pulumi.StringArray{ // pulumi.String("example.com"), // }, -// Type: pulumi.String("lets_encrypt"), +// Type: pulumi.String(digitalocean.CertificateTypeLetsEncrypt), // }) // if err != nil { // return err @@ -111,7 +111,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // cert, err := digitalocean.NewCertificate(ctx, "cert", &digitalocean.CertificateArgs{ -// Type: pulumi.String("lets_encrypt"), +// Type: pulumi.String(digitalocean.CertificateTypeLetsEncrypt), // Domains: pulumi.StringArray{ // pulumi.String("example.com"), // }, @@ -121,7 +121,7 @@ import ( // } // // Create a new Load Balancer with TLS termination // _, err = digitalocean.NewLoadBalancer(ctx, "public", &digitalocean.LoadBalancerArgs{ -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // DropletTag: pulumi.String("backend"), // ForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{ // &digitalocean.LoadBalancerForwardingRuleArgs{ diff --git a/sdk/go/digitalocean/customImage.go b/sdk/go/digitalocean/customImage.go index d547d532..3f28f846 100644 --- a/sdk/go/digitalocean/customImage.go +++ b/sdk/go/digitalocean/customImage.go @@ -50,8 +50,8 @@ import ( // } // _, err = digitalocean.NewDroplet(ctx, "example", &digitalocean.DropletArgs{ // Image: flatcar.ID(), -// Region: pulumi.String("nyc3"), -// Size: pulumi.String("s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC3), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // SshKeys: pulumi.StringArray{ // pulumi.String("12345"), // }, diff --git a/sdk/go/digitalocean/databaseCluster.go b/sdk/go/digitalocean/databaseCluster.go index 19a519cd..13b6f10c 100644 --- a/sdk/go/digitalocean/databaseCluster.go +++ b/sdk/go/digitalocean/databaseCluster.go @@ -33,8 +33,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // NodeCount: pulumi.Int(1), -// Region: pulumi.String("nyc1"), -// Size: pulumi.String("db-s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC1), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), // Version: pulumi.String("15"), // }) // if err != nil { @@ -64,8 +64,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "mysql-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("mysql"), // NodeCount: pulumi.Int(1), -// Region: pulumi.String("nyc1"), -// Size: pulumi.String("db-s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC1), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), // Version: pulumi.String("8"), // }) // if err != nil { @@ -95,8 +95,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "redis-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("redis"), // NodeCount: pulumi.Int(1), -// Region: pulumi.String("nyc1"), -// Size: pulumi.String("db-s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC1), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), // Version: pulumi.String("7"), // }) // if err != nil { @@ -126,7 +126,7 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "kafka-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("kafka"), // NodeCount: pulumi.Int(3), -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // Size: pulumi.String("db-s-2vcpu-2gb"), // Version: pulumi.String("3.5"), // }) @@ -157,8 +157,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "mongodb-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("mongodb"), // NodeCount: pulumi.Int(1), -// Region: pulumi.String("nyc3"), -// Size: pulumi.String("db-s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC3), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), // Version: pulumi.String("6"), // }) // if err != nil { @@ -189,8 +189,8 @@ import ( // doby, err := digitalocean.NewDatabaseCluster(ctx, "doby", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-2gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU2GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // Tags: pulumi.StringArray{ // pulumi.String("production"), @@ -202,8 +202,8 @@ import ( // _, err = digitalocean.NewDatabaseCluster(ctx, "dobyBackup", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-2gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU2GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // Tags: pulumi.StringArray{ // pulumi.String("production"), diff --git a/sdk/go/digitalocean/databaseConnectionPool.go b/sdk/go/digitalocean/databaseConnectionPool.go index d57e68e0..f5c2de42 100644 --- a/sdk/go/digitalocean/databaseConnectionPool.go +++ b/sdk/go/digitalocean/databaseConnectionPool.go @@ -33,8 +33,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { diff --git a/sdk/go/digitalocean/databaseDb.go b/sdk/go/digitalocean/databaseDb.go index 36aea1a8..9076cb5d 100644 --- a/sdk/go/digitalocean/databaseDb.go +++ b/sdk/go/digitalocean/databaseDb.go @@ -33,8 +33,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { diff --git a/sdk/go/digitalocean/databaseFirewall.go b/sdk/go/digitalocean/databaseFirewall.go index 8e65461f..5bd235ef 100644 --- a/sdk/go/digitalocean/databaseFirewall.go +++ b/sdk/go/digitalocean/databaseFirewall.go @@ -36,8 +36,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { @@ -82,9 +82,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // web, err := digitalocean.NewDroplet(ctx, "web", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-22-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err @@ -92,8 +92,8 @@ import ( // _, err = digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { @@ -136,8 +136,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { @@ -145,8 +145,8 @@ import ( // } // _, err = digitalocean.NewDatabaseReplica(ctx, "replica-example", &digitalocean.DatabaseReplicaArgs{ // ClusterId: postgres_example.ID(), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/databaseKafkaTopic.go b/sdk/go/digitalocean/databaseKafkaTopic.go index a63b17aa..fc52066a 100644 --- a/sdk/go/digitalocean/databaseKafkaTopic.go +++ b/sdk/go/digitalocean/databaseKafkaTopic.go @@ -34,7 +34,7 @@ import ( // Engine: pulumi.String("kafka"), // Version: pulumi.String("3.5"), // Size: pulumi.String("db-s-2vcpu-2gb"), -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(3), // Tags: pulumi.StringArray{ // pulumi.String("production"), diff --git a/sdk/go/digitalocean/databaseMysqlConfig.go b/sdk/go/digitalocean/databaseMysqlConfig.go index 59d5d55e..997636a9 100644 --- a/sdk/go/digitalocean/databaseMysqlConfig.go +++ b/sdk/go/digitalocean/databaseMysqlConfig.go @@ -35,8 +35,8 @@ import ( // exampleDatabaseCluster, err := digitalocean.NewDatabaseCluster(ctx, "exampleDatabaseCluster", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("mysql"), // Version: pulumi.String("8"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { diff --git a/sdk/go/digitalocean/databaseRedisConfig.go b/sdk/go/digitalocean/databaseRedisConfig.go index dba7e8b9..85ebbb26 100644 --- a/sdk/go/digitalocean/databaseRedisConfig.go +++ b/sdk/go/digitalocean/databaseRedisConfig.go @@ -35,8 +35,8 @@ import ( // exampleDatabaseCluster, err := digitalocean.NewDatabaseCluster(ctx, "exampleDatabaseCluster", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("redis"), // Version: pulumi.String("7"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { diff --git a/sdk/go/digitalocean/databaseReplica.go b/sdk/go/digitalocean/databaseReplica.go index 49bac3b0..4dad6985 100644 --- a/sdk/go/digitalocean/databaseReplica.go +++ b/sdk/go/digitalocean/databaseReplica.go @@ -33,8 +33,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { @@ -42,8 +42,8 @@ import ( // } // _, err = digitalocean.NewDatabaseReplica(ctx, "replica-example", &digitalocean.DatabaseReplicaArgs{ // ClusterId: postgres_example.ID(), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/databaseUser.go b/sdk/go/digitalocean/databaseUser.go index 248c629d..5166e015 100644 --- a/sdk/go/digitalocean/databaseUser.go +++ b/sdk/go/digitalocean/databaseUser.go @@ -35,8 +35,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { @@ -72,8 +72,8 @@ import ( // _, err := digitalocean.NewDatabaseCluster(ctx, "postgres-example", &digitalocean.DatabaseClusterArgs{ // Engine: pulumi.String("pg"), // Version: pulumi.String("11"), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(1), // }) // if err != nil { @@ -81,8 +81,8 @@ import ( // } // _, err = digitalocean.NewDatabaseReplica(ctx, "replica-example", &digitalocean.DatabaseReplicaArgs{ // ClusterId: postgres_example.ID(), -// Size: pulumi.String("db-s-1vcpu-1gb"), -// Region: pulumi.String("nyc1"), +// Size: pulumi.String(digitalocean.DatabaseSlug_DB_1VPCU1GB), +// Region: pulumi.String(digitalocean.RegionNYC1), // }) // if err != nil { // return err @@ -118,7 +118,7 @@ import ( // Engine: pulumi.String("kafka"), // Version: pulumi.String("3.5"), // Size: pulumi.String("db-s-2vcpu-2gb"), -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // NodeCount: pulumi.Int(3), // }) // if err != nil { diff --git a/sdk/go/digitalocean/dnsRecord.go b/sdk/go/digitalocean/dnsRecord.go index c3009d13..e375f300 100644 --- a/sdk/go/digitalocean/dnsRecord.go +++ b/sdk/go/digitalocean/dnsRecord.go @@ -38,7 +38,7 @@ import ( // // Add an A record to the domain for www.example.com. // www, err := digitalocean.NewDnsRecord(ctx, "www", &digitalocean.DnsRecordArgs{ // Domain: _default.ID(), -// Type: pulumi.String("A"), +// Type: pulumi.String(digitalocean.RecordTypeA), // Value: pulumi.String("192.168.0.11"), // }) // if err != nil { @@ -47,7 +47,7 @@ import ( // // Add a MX record for the example.com domain itself. // mx, err := digitalocean.NewDnsRecord(ctx, "mx", &digitalocean.DnsRecordArgs{ // Domain: _default.ID(), -// Type: pulumi.String("MX"), +// Type: pulumi.String(digitalocean.RecordTypeMX), // Priority: pulumi.Int(10), // Value: pulumi.String("mail.example.com."), // }) diff --git a/sdk/go/digitalocean/droplet.go b/sdk/go/digitalocean/droplet.go index 72b942af..685238ed 100644 --- a/sdk/go/digitalocean/droplet.go +++ b/sdk/go/digitalocean/droplet.go @@ -33,8 +33,8 @@ import ( // // Create a new Web Droplet in the nyc2 region // _, err := digitalocean.NewDroplet(ctx, "web", &digitalocean.DropletArgs{ // Image: pulumi.String("ubuntu-20-04-x64"), -// Region: pulumi.String("nyc2"), -// Size: pulumi.String("s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC2), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // }) // if err != nil { // return err @@ -105,7 +105,7 @@ type Droplet struct { // **Deprecated** Boolean controlling if private networking // is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. // - // Deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + // Deprecated: This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. PrivateNetworking pulumi.BoolOutput `pulumi:"privateNetworking"` // The region where the Droplet will be created. Region pulumi.StringOutput `pulumi:"region"` @@ -222,7 +222,7 @@ type dropletState struct { // **Deprecated** Boolean controlling if private networking // is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. // - // Deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + // Deprecated: This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. PrivateNetworking *bool `pulumi:"privateNetworking"` // The region where the Droplet will be created. Region *string `pulumi:"region"` @@ -304,7 +304,7 @@ type DropletState struct { // **Deprecated** Boolean controlling if private networking // is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. // - // Deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + // Deprecated: This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. PrivateNetworking pulumi.BoolPtrInput // The region where the Droplet will be created. Region pulumi.StringPtrInput @@ -374,7 +374,7 @@ type dropletArgs struct { // **Deprecated** Boolean controlling if private networking // is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. // - // Deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + // Deprecated: This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. PrivateNetworking *bool `pulumi:"privateNetworking"` // The region where the Droplet will be created. Region *string `pulumi:"region"` @@ -437,7 +437,7 @@ type DropletArgs struct { // **Deprecated** Boolean controlling if private networking // is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. // - // Deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + // Deprecated: This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. PrivateNetworking pulumi.BoolPtrInput // The region where the Droplet will be created. Region pulumi.StringPtrInput @@ -652,7 +652,7 @@ func (o DropletOutput) PriceMonthly() pulumi.Float64Output { // **Deprecated** Boolean controlling if private networking // is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. // -// Deprecated: This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. +// Deprecated: This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. func (o DropletOutput) PrivateNetworking() pulumi.BoolOutput { return o.ApplyT(func(v *Droplet) pulumi.BoolOutput { return v.PrivateNetworking }).(pulumi.BoolOutput) } diff --git a/sdk/go/digitalocean/dropletSnapshot.go b/sdk/go/digitalocean/dropletSnapshot.go index 808b1cfe..596d010a 100644 --- a/sdk/go/digitalocean/dropletSnapshot.go +++ b/sdk/go/digitalocean/dropletSnapshot.go @@ -30,9 +30,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // web, err := digitalocean.NewDroplet(ctx, "web", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-22-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err @@ -45,8 +45,8 @@ import ( // } // _, err = digitalocean.NewDroplet(ctx, "from-snapshot", &digitalocean.DropletArgs{ // Image: web_snapshot.ID(), -// Region: pulumi.String("nyc3"), -// Size: pulumi.String("s-2vcpu-4gb"), +// Region: pulumi.String(digitalocean.RegionNYC3), +// Size: pulumi.String(digitalocean.DropletSlugDropletS2VCPU4GB), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/firewall.go b/sdk/go/digitalocean/firewall.go index c0b32c48..f303a138 100644 --- a/sdk/go/digitalocean/firewall.go +++ b/sdk/go/digitalocean/firewall.go @@ -30,9 +30,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // webDroplet, err := digitalocean.NewDroplet(ctx, "webDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/floatingIp.go b/sdk/go/digitalocean/floatingIp.go index 30784329..13e7e016 100644 --- a/sdk/go/digitalocean/floatingIp.go +++ b/sdk/go/digitalocean/floatingIp.go @@ -34,9 +34,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foobarDroplet, err := digitalocean.NewDroplet(ctx, "foobarDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("sgp1"), +// Region: pulumi.String(digitalocean.RegionSGP1), // Ipv6: pulumi.Bool(true), // PrivateNetworking: pulumi.Bool(true), // }) diff --git a/sdk/go/digitalocean/floatingIpAssignment.go b/sdk/go/digitalocean/floatingIpAssignment.go index a408dc5a..8637d1c6 100644 --- a/sdk/go/digitalocean/floatingIpAssignment.go +++ b/sdk/go/digitalocean/floatingIpAssignment.go @@ -40,9 +40,9 @@ import ( // return err // } // foobarDroplet, err := digitalocean.NewDroplet(ctx, "foobarDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("sgp1"), +// Region: pulumi.String(digitalocean.RegionSGP1), // Ipv6: pulumi.Bool(true), // PrivateNetworking: pulumi.Bool(true), // }) diff --git a/sdk/go/digitalocean/getDropletSnapshot.go b/sdk/go/digitalocean/getDropletSnapshot.go index 2c6bbd48..d2fa206e 100644 --- a/sdk/go/digitalocean/getDropletSnapshot.go +++ b/sdk/go/digitalocean/getDropletSnapshot.go @@ -71,9 +71,9 @@ import ( // return err // } // _, err = digitalocean.NewDroplet(ctx, "from-snapshot", &digitalocean.DropletArgs{ -// Image: *pulumi.String(web_snapshot.Id), -// Region: pulumi.String("nyc3"), -// Size: pulumi.String("s-2vcpu-4gb"), +// Image: pulumi.String(web_snapshot.Id), +// Region: pulumi.String(digitalocean.RegionNYC3), +// Size: pulumi.String(digitalocean.DropletSlugDropletS2VCPU4GB), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/getImage.go b/sdk/go/digitalocean/getImage.go index 3e01ab65..226ba2f3 100644 --- a/sdk/go/digitalocean/getImage.go +++ b/sdk/go/digitalocean/getImage.go @@ -70,9 +70,9 @@ import ( // return err // } // _, err = digitalocean.NewDroplet(ctx, "exampleDroplet", &digitalocean.DropletArgs{ -// Image: *pulumi.Int(exampleImage.Id), -// Region: pulumi.String("nyc2"), -// Size: pulumi.String("s-1vcpu-1gb"), +// Image: pulumi.Int(exampleImage.Id), +// Region: pulumi.String(digitalocean.RegionNYC2), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/getKubernetesVersions.go b/sdk/go/digitalocean/getKubernetesVersions.go index 82bcc6a6..3c92b6f4 100644 --- a/sdk/go/digitalocean/getKubernetesVersions.go +++ b/sdk/go/digitalocean/getKubernetesVersions.go @@ -62,8 +62,8 @@ import ( // return err // } // _, err = digitalocean.NewKubernetesCluster(ctx, "example-cluster", &digitalocean.KubernetesClusterArgs{ -// Region: pulumi.String("lon1"), -// Version: *pulumi.String(example.LatestVersion), +// Region: pulumi.String(digitalocean.RegionLON1), +// Version: pulumi.String(example.LatestVersion), // NodePool: &digitalocean.KubernetesClusterNodePoolArgs{ // Name: pulumi.String("default"), // Size: pulumi.String("s-1vcpu-2gb"), @@ -102,8 +102,8 @@ import ( // return err // } // _, err = digitalocean.NewKubernetesCluster(ctx, "example-cluster", &digitalocean.KubernetesClusterArgs{ -// Region: pulumi.String("lon1"), -// Version: *pulumi.String(example.LatestVersion), +// Region: pulumi.String(digitalocean.RegionLON1), +// Version: pulumi.String(example.LatestVersion), // NodePool: &digitalocean.KubernetesClusterNodePoolArgs{ // Name: pulumi.String("default"), // Size: pulumi.String("s-1vcpu-2gb"), diff --git a/sdk/go/digitalocean/getSpacesBucketObject.go b/sdk/go/digitalocean/getSpacesBucketObject.go index d7bfbc34..d309e93c 100644 --- a/sdk/go/digitalocean/getSpacesBucketObject.go +++ b/sdk/go/digitalocean/getSpacesBucketObject.go @@ -46,9 +46,9 @@ import ( // } // _, err = digitalocean.NewDroplet(ctx, "web", &digitalocean.DropletArgs{ // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc2"), -// Size: pulumi.String("s-1vcpu-1gb"), -// UserData: *pulumi.String(bootstrapScript.Body), +// Region: pulumi.String(digitalocean.RegionNYC2), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), +// UserData: pulumi.String(bootstrapScript.Body), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/getSshKey.go b/sdk/go/digitalocean/getSshKey.go index b963e80d..32a8c1f0 100644 --- a/sdk/go/digitalocean/getSshKey.go +++ b/sdk/go/digitalocean/getSshKey.go @@ -43,10 +43,10 @@ import ( // } // _, err = digitalocean.NewDroplet(ctx, "exampleDroplet", &digitalocean.DropletArgs{ // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc2"), -// Size: pulumi.String("s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC2), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // SshKeys: pulumi.StringArray{ -// *pulumi.Int(exampleSshKey.Id), +// pulumi.Int(exampleSshKey.Id), // }, // }) // if err != nil { diff --git a/sdk/go/digitalocean/getTag.go b/sdk/go/digitalocean/getTag.go index 8bd69b07..1673f235 100644 --- a/sdk/go/digitalocean/getTag.go +++ b/sdk/go/digitalocean/getTag.go @@ -42,10 +42,10 @@ import ( // } // _, err = digitalocean.NewDroplet(ctx, "exampleDroplet", &digitalocean.DropletArgs{ // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc2"), -// Size: pulumi.String("s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC2), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Tags: pulumi.StringArray{ -// *pulumi.String(exampleTag.Name), +// pulumi.String(exampleTag.Name), // }, // }) // if err != nil { diff --git a/sdk/go/digitalocean/getVolume.go b/sdk/go/digitalocean/getVolume.go index 3de5d984..ce4b3e88 100644 --- a/sdk/go/digitalocean/getVolume.go +++ b/sdk/go/digitalocean/getVolume.go @@ -72,16 +72,16 @@ import ( // return err // } // exampleDroplet, err := digitalocean.NewDroplet(ctx, "exampleDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err // } // _, err = digitalocean.NewVolumeAttachment(ctx, "foobar", &digitalocean.VolumeAttachmentArgs{ // DropletId: exampleDroplet.ID(), -// VolumeId: *pulumi.String(exampleVolume.Id), +// VolumeId: pulumi.String(exampleVolume.Id), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/getVolumeSnapshot.go b/sdk/go/digitalocean/getVolumeSnapshot.go index 2225473e..92290fb8 100644 --- a/sdk/go/digitalocean/getVolumeSnapshot.go +++ b/sdk/go/digitalocean/getVolumeSnapshot.go @@ -71,9 +71,9 @@ import ( // return err // } // _, err = digitalocean.NewVolume(ctx, "foobar", &digitalocean.VolumeArgs{ -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // Size: pulumi.Int(100), -// SnapshotId: *pulumi.String(snapshot.Id), +// SnapshotId: pulumi.String(snapshot.Id), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/getVpc.go b/sdk/go/digitalocean/getVpc.go index 6c3bdb52..1ab28523 100644 --- a/sdk/go/digitalocean/getVpc.go +++ b/sdk/go/digitalocean/getVpc.go @@ -72,10 +72,10 @@ import ( // return err // } // _, err = digitalocean.NewDroplet(ctx, "exampleDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc3"), -// VpcUuid: *pulumi.String(exampleVpc.Id), +// Region: pulumi.String(digitalocean.RegionNYC3), +// VpcUuid: pulumi.String(exampleVpc.Id), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/kubernetesNodePool.go b/sdk/go/digitalocean/kubernetesNodePool.go index a0d836d8..9be902c4 100644 --- a/sdk/go/digitalocean/kubernetesNodePool.go +++ b/sdk/go/digitalocean/kubernetesNodePool.go @@ -32,7 +32,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foo, err := digitalocean.NewKubernetesCluster(ctx, "foo", &digitalocean.KubernetesClusterArgs{ -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // Version: pulumi.String("1.22.8-do.1"), // NodePool: &digitalocean.KubernetesClusterNodePoolArgs{ // Name: pulumi.String("front-end-pool"), @@ -45,7 +45,7 @@ import ( // } // _, err = digitalocean.NewKubernetesNodePool(ctx, "bar", &digitalocean.KubernetesNodePoolArgs{ // ClusterId: foo.ID(), -// Size: pulumi.String("c-2"), +// Size: pulumi.String(digitalocean.DropletSlugDropletC2), // NodeCount: pulumi.Int(2), // Tags: pulumi.StringArray{ // pulumi.String("backend"), @@ -92,7 +92,7 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := digitalocean.NewKubernetesNodePool(ctx, "autoscale-pool-01", &digitalocean.KubernetesNodePoolArgs{ // ClusterId: pulumi.Any(digitalocean_kubernetes_cluster.Foo.Id), -// Size: pulumi.String("s-1vcpu-2gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU2GB), // AutoScale: pulumi.Bool(true), // MinNodes: pulumi.Int(1), // MaxNodes: pulumi.Int(5), diff --git a/sdk/go/digitalocean/loadBalancer.go b/sdk/go/digitalocean/loadBalancer.go index c01103ec..5562139d 100644 --- a/sdk/go/digitalocean/loadBalancer.go +++ b/sdk/go/digitalocean/loadBalancer.go @@ -31,15 +31,15 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // web, err := digitalocean.NewDroplet(ctx, "web", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err // } // _, err = digitalocean.NewLoadBalancer(ctx, "public", &digitalocean.LoadBalancerArgs{ -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // ForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{ // &digitalocean.LoadBalancerForwardingRuleArgs{ // EntryPort: pulumi.Int(80), @@ -93,15 +93,15 @@ import ( // return err // } // web, err := digitalocean.NewDroplet(ctx, "web", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err // } // _, err = digitalocean.NewLoadBalancer(ctx, "public", &digitalocean.LoadBalancerArgs{ -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // ForwardingRules: digitalocean.LoadBalancerForwardingRuleArray{ // &digitalocean.LoadBalancerForwardingRuleArgs{ // EntryPort: pulumi.Int(443), diff --git a/sdk/go/digitalocean/project.go b/sdk/go/digitalocean/project.go index f2bcb274..cb4c2a07 100644 --- a/sdk/go/digitalocean/project.go +++ b/sdk/go/digitalocean/project.go @@ -79,9 +79,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foobar, err := digitalocean.NewDroplet(ctx, "foobar", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-22-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/projectResources.go b/sdk/go/digitalocean/projectResources.go index d87947ad..453824b3 100644 --- a/sdk/go/digitalocean/projectResources.go +++ b/sdk/go/digitalocean/projectResources.go @@ -51,15 +51,15 @@ import ( // return err // } // foobar, err := digitalocean.NewDroplet(ctx, "foobar", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-22-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err // } // _, err = digitalocean.NewProjectResources(ctx, "barfoo", &digitalocean.ProjectResourcesArgs{ -// Project: *pulumi.String(playground.Id), +// Project: pulumi.String(playground.Id), // Resources: pulumi.StringArray{ // foobar.DropletUrn, // }, diff --git a/sdk/go/digitalocean/reservedIp.go b/sdk/go/digitalocean/reservedIp.go index 3ecc3426..f4fe67ea 100644 --- a/sdk/go/digitalocean/reservedIp.go +++ b/sdk/go/digitalocean/reservedIp.go @@ -32,9 +32,9 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // exampleDroplet, err := digitalocean.NewDroplet(ctx, "exampleDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-22-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // Ipv6: pulumi.Bool(true), // PrivateNetworking: pulumi.Bool(true), // }) diff --git a/sdk/go/digitalocean/reservedIpAssignment.go b/sdk/go/digitalocean/reservedIpAssignment.go index b4890b62..8f77d039 100644 --- a/sdk/go/digitalocean/reservedIpAssignment.go +++ b/sdk/go/digitalocean/reservedIpAssignment.go @@ -38,9 +38,9 @@ import ( // return err // } // exampleDroplet, err := digitalocean.NewDroplet(ctx, "exampleDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-22-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // Ipv6: pulumi.Bool(true), // PrivateNetworking: pulumi.Bool(true), // }) diff --git a/sdk/go/digitalocean/spacesBucket.go b/sdk/go/digitalocean/spacesBucket.go index d20ecddd..bcc1365a 100644 --- a/sdk/go/digitalocean/spacesBucket.go +++ b/sdk/go/digitalocean/spacesBucket.go @@ -69,7 +69,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := digitalocean.NewSpacesBucket(ctx, "foobar", &digitalocean.SpacesBucketArgs{ -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err @@ -125,7 +125,7 @@ import ( // MaxAgeSeconds: pulumi.Int(3000), // }, // }, -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err @@ -155,7 +155,7 @@ type SpacesBucket struct { BucketUrn pulumi.StringOutput `pulumi:"bucketUrn"` // A rule of Cross-Origin Resource Sharing (documented below). // - // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead. CorsRules SpacesBucketCorsRuleArrayOutput `pulumi:"corsRules"` // The FQDN of the bucket without the bucket name (e.g. nyc3.digitaloceanspaces.com) Endpoint pulumi.StringOutput `pulumi:"endpoint"` @@ -209,7 +209,7 @@ type spacesBucketState struct { BucketUrn *string `pulumi:"bucketUrn"` // A rule of Cross-Origin Resource Sharing (documented below). // - // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead. CorsRules []SpacesBucketCorsRule `pulumi:"corsRules"` // The FQDN of the bucket without the bucket name (e.g. nyc3.digitaloceanspaces.com) Endpoint *string `pulumi:"endpoint"` @@ -234,7 +234,7 @@ type SpacesBucketState struct { BucketUrn pulumi.StringPtrInput // A rule of Cross-Origin Resource Sharing (documented below). // - // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead. CorsRules SpacesBucketCorsRuleArrayInput // The FQDN of the bucket without the bucket name (e.g. nyc3.digitaloceanspaces.com) Endpoint pulumi.StringPtrInput @@ -259,7 +259,7 @@ type spacesBucketArgs struct { Acl *string `pulumi:"acl"` // A rule of Cross-Origin Resource Sharing (documented below). // - // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead. CorsRules []SpacesBucketCorsRule `pulumi:"corsRules"` // Unless `true`, the bucket will only be destroyed if empty (Defaults to `false`) ForceDestroy *bool `pulumi:"forceDestroy"` @@ -279,7 +279,7 @@ type SpacesBucketArgs struct { Acl pulumi.StringPtrInput // A rule of Cross-Origin Resource Sharing (documented below). // - // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + // Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead. CorsRules SpacesBucketCorsRuleArrayInput // Unless `true`, the bucket will only be destroyed if empty (Defaults to `false`) ForceDestroy pulumi.BoolPtrInput @@ -397,7 +397,7 @@ func (o SpacesBucketOutput) BucketUrn() pulumi.StringOutput { // A rule of Cross-Origin Resource Sharing (documented below). // -// Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. +// Deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead. func (o SpacesBucketOutput) CorsRules() SpacesBucketCorsRuleArrayOutput { return o.ApplyT(func(v *SpacesBucket) SpacesBucketCorsRuleArrayOutput { return v.CorsRules }).(SpacesBucketCorsRuleArrayOutput) } diff --git a/sdk/go/digitalocean/spacesBucketCorsConfiguration.go b/sdk/go/digitalocean/spacesBucketCorsConfiguration.go index da979a37..7d314378 100644 --- a/sdk/go/digitalocean/spacesBucketCorsConfiguration.go +++ b/sdk/go/digitalocean/spacesBucketCorsConfiguration.go @@ -30,7 +30,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foobar, err := digitalocean.NewSpacesBucket(ctx, "foobar", &digitalocean.SpacesBucketArgs{ -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/spacesBucketObject.go b/sdk/go/digitalocean/spacesBucketObject.go index 44b69b56..e81de6db 100644 --- a/sdk/go/digitalocean/spacesBucketObject.go +++ b/sdk/go/digitalocean/spacesBucketObject.go @@ -72,7 +72,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foobar, err := digitalocean.NewSpacesBucket(ctx, "foobar", &digitalocean.SpacesBucketArgs{ -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/spacesBucketPolicy.go b/sdk/go/digitalocean/spacesBucketPolicy.go index 2aea0a85..26da3b0d 100644 --- a/sdk/go/digitalocean/spacesBucketPolicy.go +++ b/sdk/go/digitalocean/spacesBucketPolicy.go @@ -33,7 +33,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foobarSpacesBucket, err := digitalocean.NewSpacesBucket(ctx, "foobarSpacesBucket", &digitalocean.SpacesBucketArgs{ -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/sshKey.go b/sdk/go/digitalocean/sshKey.go index 7af34b1c..55fc83a4 100644 --- a/sdk/go/digitalocean/sshKey.go +++ b/sdk/go/digitalocean/sshKey.go @@ -52,8 +52,8 @@ import ( // // Create a new Droplet using the SSH key // _, err = digitalocean.NewDroplet(ctx, "web", &digitalocean.DropletArgs{ // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc3"), -// Size: pulumi.String("s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC3), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // SshKeys: pulumi.StringArray{ // _default.Fingerprint, // }, diff --git a/sdk/go/digitalocean/tag.go b/sdk/go/digitalocean/tag.go index 3b1b63f6..72983754 100644 --- a/sdk/go/digitalocean/tag.go +++ b/sdk/go/digitalocean/tag.go @@ -39,8 +39,8 @@ import ( // // Create a new Droplet in nyc3 with the foobar tag // _, err = digitalocean.NewDroplet(ctx, "web", &digitalocean.DropletArgs{ // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc3"), -// Size: pulumi.String("s-1vcpu-1gb"), +// Region: pulumi.String(digitalocean.RegionNYC3), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Tags: pulumi.StringArray{ // foobar.ID(), // }, diff --git a/sdk/go/digitalocean/volume.go b/sdk/go/digitalocean/volume.go index 2a50ad00..e666d8d8 100644 --- a/sdk/go/digitalocean/volume.go +++ b/sdk/go/digitalocean/volume.go @@ -30,18 +30,18 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foobarVolume, err := digitalocean.NewVolume(ctx, "foobarVolume", &digitalocean.VolumeArgs{ -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // Size: pulumi.Int(100), -// InitialFilesystemType: pulumi.String("ext4"), +// InitialFilesystemType: pulumi.String(digitalocean.FileSystemTypeEXT4), // Description: pulumi.String("an example volume"), // }) // if err != nil { // return err // } // foobarDroplet, err := digitalocean.NewDroplet(ctx, "foobarDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // }) // if err != nil { // return err @@ -82,9 +82,9 @@ import ( // return err // } // _, err = digitalocean.NewVolume(ctx, "foobarVolume", &digitalocean.VolumeArgs{ -// Region: pulumi.String("lon1"), -// Size: *pulumi.Int(foobarVolumeSnapshot.MinDiskSize), -// SnapshotId: *pulumi.String(foobarVolumeSnapshot.Id), +// Region: pulumi.String(digitalocean.RegionLON1), +// Size: pulumi.Int(foobarVolumeSnapshot.MinDiskSize), +// SnapshotId: pulumi.String(foobarVolumeSnapshot.Id), // }) // if err != nil { // return err @@ -114,7 +114,7 @@ type Volume struct { FilesystemLabel pulumi.StringOutput `pulumi:"filesystemLabel"` // Filesystem type (`xfs` or `ext4`) for the block storage volume. // - // Deprecated: This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. + // Deprecated: This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. FilesystemType pulumi.StringOutput `pulumi:"filesystemType"` // Initial filesystem label for the block storage volume. InitialFilesystemLabel pulumi.StringPtrOutput `pulumi:"initialFilesystemLabel"` @@ -178,7 +178,7 @@ type volumeState struct { FilesystemLabel *string `pulumi:"filesystemLabel"` // Filesystem type (`xfs` or `ext4`) for the block storage volume. // - // Deprecated: This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. + // Deprecated: This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. FilesystemType *string `pulumi:"filesystemType"` // Initial filesystem label for the block storage volume. InitialFilesystemLabel *string `pulumi:"initialFilesystemLabel"` @@ -207,7 +207,7 @@ type VolumeState struct { FilesystemLabel pulumi.StringPtrInput // Filesystem type (`xfs` or `ext4`) for the block storage volume. // - // Deprecated: This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. + // Deprecated: This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. FilesystemType pulumi.StringPtrInput // Initial filesystem label for the block storage volume. InitialFilesystemLabel pulumi.StringPtrInput @@ -236,7 +236,7 @@ type volumeArgs struct { Description *string `pulumi:"description"` // Filesystem type (`xfs` or `ext4`) for the block storage volume. // - // Deprecated: This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. + // Deprecated: This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. FilesystemType *string `pulumi:"filesystemType"` // Initial filesystem label for the block storage volume. InitialFilesystemLabel *string `pulumi:"initialFilesystemLabel"` @@ -260,7 +260,7 @@ type VolumeArgs struct { Description pulumi.StringPtrInput // Filesystem type (`xfs` or `ext4`) for the block storage volume. // - // Deprecated: This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. + // Deprecated: This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. FilesystemType pulumi.StringPtrInput // Initial filesystem label for the block storage volume. InitialFilesystemLabel pulumi.StringPtrInput @@ -382,7 +382,7 @@ func (o VolumeOutput) FilesystemLabel() pulumi.StringOutput { // Filesystem type (`xfs` or `ext4`) for the block storage volume. // -// Deprecated: This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. +// Deprecated: This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. func (o VolumeOutput) FilesystemType() pulumi.StringOutput { return o.ApplyT(func(v *Volume) pulumi.StringOutput { return v.FilesystemType }).(pulumi.StringOutput) } diff --git a/sdk/go/digitalocean/volumeAttachment.go b/sdk/go/digitalocean/volumeAttachment.go index 9e548d92..3c4fee7f 100644 --- a/sdk/go/digitalocean/volumeAttachment.go +++ b/sdk/go/digitalocean/volumeAttachment.go @@ -32,18 +32,18 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foobarVolume, err := digitalocean.NewVolume(ctx, "foobarVolume", &digitalocean.VolumeArgs{ -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // Size: pulumi.Int(100), -// InitialFilesystemType: pulumi.String("ext4"), +// InitialFilesystemType: pulumi.String(digitalocean.FileSystemTypeEXT4), // Description: pulumi.String("an example volume"), // }) // if err != nil { // return err // } // foobarDroplet, err := digitalocean.NewDroplet(ctx, "foobarDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // }) // if err != nil { // return err diff --git a/sdk/go/digitalocean/volumeSnapshot.go b/sdk/go/digitalocean/volumeSnapshot.go index 2a1e19cf..0a3a935a 100644 --- a/sdk/go/digitalocean/volumeSnapshot.go +++ b/sdk/go/digitalocean/volumeSnapshot.go @@ -30,7 +30,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // foobarVolume, err := digitalocean.NewVolume(ctx, "foobarVolume", &digitalocean.VolumeArgs{ -// Region: pulumi.String("nyc1"), +// Region: pulumi.String(digitalocean.RegionNYC1), // Size: pulumi.Int(100), // Description: pulumi.String("an example volume"), // }) diff --git a/sdk/go/digitalocean/vpc.go b/sdk/go/digitalocean/vpc.go index e9fd8ed3..18b8ed56 100644 --- a/sdk/go/digitalocean/vpc.go +++ b/sdk/go/digitalocean/vpc.go @@ -72,9 +72,9 @@ import ( // return err // } // _, err = digitalocean.NewDroplet(ctx, "exampleDroplet", &digitalocean.DropletArgs{ -// Size: pulumi.String("s-1vcpu-1gb"), +// Size: pulumi.String(digitalocean.DropletSlugDropletS1VCPU1GB), // Image: pulumi.String("ubuntu-18-04-x64"), -// Region: pulumi.String("nyc3"), +// Region: pulumi.String(digitalocean.RegionNYC3), // VpcUuid: exampleVpc.ID(), // }) // if err != nil { diff --git a/sdk/java/src/main/java/com/pulumi/digitalocean/SpacesBucket.java b/sdk/java/src/main/java/com/pulumi/digitalocean/SpacesBucket.java index 6c313d12..6c032091 100644 --- a/sdk/java/src/main/java/com/pulumi/digitalocean/SpacesBucket.java +++ b/sdk/java/src/main/java/com/pulumi/digitalocean/SpacesBucket.java @@ -206,10 +206,10 @@ public Output bucketUrn() { * A rule of Cross-Origin Resource Sharing (documented below). * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ @Export(name="corsRules", refs={List.class,SpacesBucketCorsRule.class}, tree="[0,1]") private Output> corsRules; diff --git a/sdk/java/src/main/java/com/pulumi/digitalocean/SpacesBucketArgs.java b/sdk/java/src/main/java/com/pulumi/digitalocean/SpacesBucketArgs.java index 65221815..e260796d 100644 --- a/sdk/java/src/main/java/com/pulumi/digitalocean/SpacesBucketArgs.java +++ b/sdk/java/src/main/java/com/pulumi/digitalocean/SpacesBucketArgs.java @@ -41,10 +41,10 @@ public Optional> acl() { * A rule of Cross-Origin Resource Sharing (documented below). * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ @Import(name="corsRules") private @Nullable Output> corsRules; @@ -52,10 +52,10 @@ public Optional> acl() { * @return A rule of Cross-Origin Resource Sharing (documented below). * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public Optional>> corsRules() { return Optional.ofNullable(this.corsRules); } @@ -192,10 +192,10 @@ public Builder acl(String acl) { * @return builder * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public Builder corsRules(@Nullable Output> corsRules) { $.corsRules = corsRules; return this; @@ -207,10 +207,10 @@ public Builder corsRules(@Nullable Output> corsRu * @return builder * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public Builder corsRules(List corsRules) { return corsRules(Output.of(corsRules)); } @@ -221,10 +221,10 @@ public Builder corsRules(List corsRules) { * @return builder * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public Builder corsRules(SpacesBucketCorsRuleArgs... corsRules) { return corsRules(List.of(corsRules)); } diff --git a/sdk/java/src/main/java/com/pulumi/digitalocean/inputs/SpacesBucketState.java b/sdk/java/src/main/java/com/pulumi/digitalocean/inputs/SpacesBucketState.java index 4bf3f60a..877b6a90 100644 --- a/sdk/java/src/main/java/com/pulumi/digitalocean/inputs/SpacesBucketState.java +++ b/sdk/java/src/main/java/com/pulumi/digitalocean/inputs/SpacesBucketState.java @@ -71,10 +71,10 @@ public Optional> bucketUrn() { * A rule of Cross-Origin Resource Sharing (documented below). * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ @Import(name="corsRules") private @Nullable Output> corsRules; @@ -82,10 +82,10 @@ public Optional> bucketUrn() { * @return A rule of Cross-Origin Resource Sharing (documented below). * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public Optional>> corsRules() { return Optional.ofNullable(this.corsRules); } @@ -282,10 +282,10 @@ public Builder bucketUrn(String bucketUrn) { * @return builder * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public Builder corsRules(@Nullable Output> corsRules) { $.corsRules = corsRules; return this; @@ -297,10 +297,10 @@ public Builder corsRules(@Nullable Output> corsRu * @return builder * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public Builder corsRules(List corsRules) { return corsRules(Output.of(corsRules)); } @@ -311,10 +311,10 @@ public Builder corsRules(List corsRules) { * @return builder * * @deprecated - * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. * */ - @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. */ + @Deprecated /* Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public Builder corsRules(SpacesBucketCorsRuleArgs... corsRules) { return corsRules(List.of(corsRules)); } diff --git a/sdk/nodejs/cdn.ts b/sdk/nodejs/cdn.ts index 0008c704..27d37b78 100644 --- a/sdk/nodejs/cdn.ts +++ b/sdk/nodejs/cdn.ts @@ -18,7 +18,7 @@ import * as utilities from "./utilities"; * * // Create a new Spaces Bucket * const mybucket = new digitalocean.SpacesBucket("mybucket", { - * region: "sfo2", + * region: digitalocean.Region.SFO2, * acl: "public-read", * }); * // Add a CDN endpoint to the Spaces Bucket @@ -36,12 +36,12 @@ import * as utilities from "./utilities"; * * // Create a new Spaces Bucket * const mybucket = new digitalocean.SpacesBucket("mybucket", { - * region: "sfo2", + * region: digitalocean.Region.SFO2, * acl: "public-read", * }); * // Create a DigitalOcean managed Let's Encrypt Certificate * const cert = new digitalocean.Certificate("cert", { - * type: "lets_encrypt", + * type: digitalocean.CertificateType.LetsEncrypt, * domains: ["static.example.com"], * }); * // Add a CDN endpoint with a custom sub-domain to the Spaces Bucket diff --git a/sdk/nodejs/certificate.ts b/sdk/nodejs/certificate.ts index f859bdad..210d13a4 100644 --- a/sdk/nodejs/certificate.ts +++ b/sdk/nodejs/certificate.ts @@ -26,7 +26,7 @@ import * as utilities from "./utilities"; * import * as fs from "fs"; * * const cert = new digitalocean.Certificate("cert", { - * type: "custom", + * type: digitalocean.CertificateType.Custom, * privateKey: fs.readFileSync("/Users/myuser/certs/privkey.pem", "utf8"), * leafCertificate: fs.readFileSync("/Users/myuser/certs/cert.pem", "utf8"), * certificateChain: fs.readFileSync("/Users/myuser/certs/fullchain.pem", "utf8"), @@ -43,7 +43,7 @@ import * as utilities from "./utilities"; * * const cert = new digitalocean.Certificate("cert", { * domains: ["example.com"], - * type: "lets_encrypt", + * type: digitalocean.CertificateType.LetsEncrypt, * }); * ``` * @@ -59,12 +59,12 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const cert = new digitalocean.Certificate("cert", { - * type: "lets_encrypt", + * type: digitalocean.CertificateType.LetsEncrypt, * domains: ["example.com"], * }); * // Create a new Load Balancer with TLS termination * const _public = new digitalocean.LoadBalancer("public", { - * region: "nyc3", + * region: digitalocean.Region.NYC3, * dropletTag: "backend", * forwardingRules: [{ * entryPort: 443, diff --git a/sdk/nodejs/customImage.ts b/sdk/nodejs/customImage.ts index 52d4f84a..8815a46d 100644 --- a/sdk/nodejs/customImage.ts +++ b/sdk/nodejs/customImage.ts @@ -30,8 +30,8 @@ import * as utilities from "./utilities"; * }); * const example = new digitalocean.Droplet("example", { * image: flatcar.id, - * region: "nyc3", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC3, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * sshKeys: ["12345"], * }); * ``` diff --git a/sdk/nodejs/databaseCluster.ts b/sdk/nodejs/databaseCluster.ts index a2da7681..f3d0e6be 100644 --- a/sdk/nodejs/databaseCluster.ts +++ b/sdk/nodejs/databaseCluster.ts @@ -21,8 +21,8 @@ import * as utilities from "./utilities"; * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * nodeCount: 1, - * region: "nyc1", - * size: "db-s-1vcpu-1gb", + * region: digitalocean.Region.NYC1, + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, * version: "15", * }); * ``` @@ -37,8 +37,8 @@ import * as utilities from "./utilities"; * const mysql_example = new digitalocean.DatabaseCluster("mysql-example", { * engine: "mysql", * nodeCount: 1, - * region: "nyc1", - * size: "db-s-1vcpu-1gb", + * region: digitalocean.Region.NYC1, + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, * version: "8", * }); * ``` @@ -53,8 +53,8 @@ import * as utilities from "./utilities"; * const redis_example = new digitalocean.DatabaseCluster("redis-example", { * engine: "redis", * nodeCount: 1, - * region: "nyc1", - * size: "db-s-1vcpu-1gb", + * region: digitalocean.Region.NYC1, + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, * version: "7", * }); * ``` @@ -69,7 +69,7 @@ import * as utilities from "./utilities"; * const kafka_example = new digitalocean.DatabaseCluster("kafka-example", { * engine: "kafka", * nodeCount: 3, - * region: "nyc1", + * region: digitalocean.Region.NYC1, * size: "db-s-2vcpu-2gb", * version: "3.5", * }); @@ -85,8 +85,8 @@ import * as utilities from "./utilities"; * const mongodb_example = new digitalocean.DatabaseCluster("mongodb-example", { * engine: "mongodb", * nodeCount: 1, - * region: "nyc3", - * size: "db-s-1vcpu-1gb", + * region: digitalocean.Region.NYC3, + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, * version: "6", * }); * ``` @@ -102,16 +102,16 @@ import * as utilities from "./utilities"; * const doby = new digitalocean.DatabaseCluster("doby", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-2gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU2GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * tags: ["production"], * }); * const dobyBackup = new digitalocean.DatabaseCluster("dobyBackup", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-2gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU2GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * tags: ["production"], * backupRestore: { diff --git a/sdk/nodejs/databaseConnectionPool.ts b/sdk/nodejs/databaseConnectionPool.ts index 6b2ce41b..b128a12c 100644 --- a/sdk/nodejs/databaseConnectionPool.ts +++ b/sdk/nodejs/databaseConnectionPool.ts @@ -18,8 +18,8 @@ import * as utilities from "./utilities"; * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const pool_01 = new digitalocean.DatabaseConnectionPool("pool-01", { diff --git a/sdk/nodejs/databaseDb.ts b/sdk/nodejs/databaseDb.ts index 5cf81f60..22f40c15 100644 --- a/sdk/nodejs/databaseDb.ts +++ b/sdk/nodejs/databaseDb.ts @@ -18,8 +18,8 @@ import * as utilities from "./utilities"; * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const database_example = new digitalocean.DatabaseDb("database-example", {clusterId: postgres_example.id}); diff --git a/sdk/nodejs/databaseFirewall.ts b/sdk/nodejs/databaseFirewall.ts index 9e2495da..c6bf7998 100644 --- a/sdk/nodejs/databaseFirewall.ts +++ b/sdk/nodejs/databaseFirewall.ts @@ -24,8 +24,8 @@ import * as utilities from "./utilities"; * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const example_fw = new digitalocean.DatabaseFirewall("example-fw", { @@ -52,15 +52,15 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const web = new digitalocean.Droplet("web", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-22-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const example_fw = new digitalocean.DatabaseFirewall("example-fw", { @@ -83,14 +83,14 @@ import * as utilities from "./utilities"; * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const replica_example = new digitalocean.DatabaseReplica("replica-example", { * clusterId: postgres_example.id, - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * }); * // Create firewall rule for database replica * const example_fw = new digitalocean.DatabaseFirewall("example-fw", { diff --git a/sdk/nodejs/databaseKafkaTopic.ts b/sdk/nodejs/databaseKafkaTopic.ts index 0747ccd1..593eb51e 100644 --- a/sdk/nodejs/databaseKafkaTopic.ts +++ b/sdk/nodejs/databaseKafkaTopic.ts @@ -22,7 +22,7 @@ import * as utilities from "./utilities"; * engine: "kafka", * version: "3.5", * size: "db-s-2vcpu-2gb", - * region: "nyc1", + * region: digitalocean.Region.NYC1, * nodeCount: 3, * tags: ["production"], * }); diff --git a/sdk/nodejs/databaseMysqlConfig.ts b/sdk/nodejs/databaseMysqlConfig.ts index 9d18b859..02e42476 100644 --- a/sdk/nodejs/databaseMysqlConfig.ts +++ b/sdk/nodejs/databaseMysqlConfig.ts @@ -20,8 +20,8 @@ import * as utilities from "./utilities"; * const exampleDatabaseCluster = new digitalocean.DatabaseCluster("exampleDatabaseCluster", { * engine: "mysql", * version: "8", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const exampleDatabaseMysqlConfig = new digitalocean.DatabaseMysqlConfig("exampleDatabaseMysqlConfig", { diff --git a/sdk/nodejs/databaseRedisConfig.ts b/sdk/nodejs/databaseRedisConfig.ts index e5e15c2a..abacbd92 100644 --- a/sdk/nodejs/databaseRedisConfig.ts +++ b/sdk/nodejs/databaseRedisConfig.ts @@ -20,8 +20,8 @@ import * as utilities from "./utilities"; * const exampleDatabaseCluster = new digitalocean.DatabaseCluster("exampleDatabaseCluster", { * engine: "redis", * version: "7", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const exampleDatabaseRedisConfig = new digitalocean.DatabaseRedisConfig("exampleDatabaseRedisConfig", { diff --git a/sdk/nodejs/databaseReplica.ts b/sdk/nodejs/databaseReplica.ts index 8ac0ad77..6deeedad 100644 --- a/sdk/nodejs/databaseReplica.ts +++ b/sdk/nodejs/databaseReplica.ts @@ -21,14 +21,14 @@ import * as utilities from "./utilities"; * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const replica_example = new digitalocean.DatabaseReplica("replica-example", { * clusterId: postgres_example.id, - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * }); * export const uUID = replica_example.uuid; * // Create firewall rule for database replica diff --git a/sdk/nodejs/databaseUser.ts b/sdk/nodejs/databaseUser.ts index bd39ac68..332b6914 100644 --- a/sdk/nodejs/databaseUser.ts +++ b/sdk/nodejs/databaseUser.ts @@ -23,8 +23,8 @@ import * as utilities from "./utilities"; * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const user_example = new digitalocean.DatabaseUser("user-example", {clusterId: postgres_example.id}); @@ -40,14 +40,14 @@ import * as utilities from "./utilities"; * const postgres_example = new digitalocean.DatabaseCluster("postgres-example", { * engine: "pg", * version: "11", - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * nodeCount: 1, * }); * const replica_example = new digitalocean.DatabaseReplica("replica-example", { * clusterId: postgres_example.id, - * size: "db-s-1vcpu-1gb", - * region: "nyc1", + * size: digitalocean.DatabaseSlug.DB_1VPCU1GB, + * region: digitalocean.Region.NYC1, * }); * const user_example = new digitalocean.DatabaseUser("user-example", {clusterId: replica_example.uuid}); * ``` @@ -63,7 +63,7 @@ import * as utilities from "./utilities"; * engine: "kafka", * version: "3.5", * size: "db-s-2vcpu-2gb", - * region: "nyc1", + * region: digitalocean.Region.NYC1, * nodeCount: 3, * }); * const foobarTopic = new digitalocean.DatabaseKafkaTopic("foobarTopic", {clusterId: digitalocean_database_cluster.foobar.id}); diff --git a/sdk/nodejs/dnsRecord.ts b/sdk/nodejs/dnsRecord.ts index 84ef9f9f..6d43847e 100644 --- a/sdk/nodejs/dnsRecord.ts +++ b/sdk/nodejs/dnsRecord.ts @@ -21,13 +21,13 @@ import * as utilities from "./utilities"; * // Add an A record to the domain for www.example.com. * const www = new digitalocean.DnsRecord("www", { * domain: _default.id, - * type: "A", + * type: digitalocean.RecordType.A, * value: "192.168.0.11", * }); * // Add a MX record for the example.com domain itself. * const mx = new digitalocean.DnsRecord("mx", { * domain: _default.id, - * type: "MX", + * type: digitalocean.RecordType.MX, * priority: 10, * value: "mail.example.com.", * }); diff --git a/sdk/nodejs/droplet.ts b/sdk/nodejs/droplet.ts index bfa2a8a3..94c34072 100644 --- a/sdk/nodejs/droplet.ts +++ b/sdk/nodejs/droplet.ts @@ -21,8 +21,8 @@ import * as utilities from "./utilities"; * // Create a new Web Droplet in the nyc2 region * const web = new digitalocean.Droplet("web", { * image: "ubuntu-20-04-x64", - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * }); * ``` * @@ -143,7 +143,7 @@ export class Droplet extends pulumi.CustomResource { * **Deprecated** Boolean controlling if private networking * is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. * - * @deprecated This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + * @deprecated This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. */ public readonly privateNetworking!: pulumi.Output; /** @@ -362,7 +362,7 @@ export interface DropletState { * **Deprecated** Boolean controlling if private networking * is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. * - * @deprecated This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + * @deprecated This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. */ privateNetworking?: pulumi.Input; /** @@ -469,7 +469,7 @@ export interface DropletArgs { * **Deprecated** Boolean controlling if private networking * is enabled. This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. * - * @deprecated This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + * @deprecated This parameter has been deprecated. Use `vpcUuid` instead to specify a VPC network for the Droplet. If no `vpcUuid` is provided, the Droplet will be placed in your account's default VPC for the region. */ privateNetworking?: pulumi.Input; /** diff --git a/sdk/nodejs/dropletSnapshot.ts b/sdk/nodejs/dropletSnapshot.ts index 86f24cf6..3f142d10 100644 --- a/sdk/nodejs/dropletSnapshot.ts +++ b/sdk/nodejs/dropletSnapshot.ts @@ -15,15 +15,15 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const web = new digitalocean.Droplet("web", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-22-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const web_snapshot = new digitalocean.DropletSnapshot("web-snapshot", {dropletId: web.id}); * const from_snapshot = new digitalocean.Droplet("from-snapshot", { * image: web_snapshot.id, - * region: "nyc3", - * size: "s-2vcpu-4gb", + * region: digitalocean.Region.NYC3, + * size: digitalocean.DropletSlug.DropletS2VCPU4GB, * }); * ``` * diff --git a/sdk/nodejs/firewall.ts b/sdk/nodejs/firewall.ts index 28b660c7..12f0ad23 100644 --- a/sdk/nodejs/firewall.ts +++ b/sdk/nodejs/firewall.ts @@ -19,9 +19,9 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const webDroplet = new digitalocean.Droplet("webDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const webFirewall = new digitalocean.Firewall("webFirewall", { * dropletIds: [webDroplet.id], diff --git a/sdk/nodejs/floatingIp.ts b/sdk/nodejs/floatingIp.ts index c3610b62..54520ba0 100644 --- a/sdk/nodejs/floatingIp.ts +++ b/sdk/nodejs/floatingIp.ts @@ -19,9 +19,9 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const foobarDroplet = new digitalocean.Droplet("foobarDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "sgp1", + * region: digitalocean.Region.SGP1, * ipv6: true, * privateNetworking: true, * }); diff --git a/sdk/nodejs/floatingIpAssignment.ts b/sdk/nodejs/floatingIpAssignment.ts index b99c2ef4..e59057f9 100644 --- a/sdk/nodejs/floatingIpAssignment.ts +++ b/sdk/nodejs/floatingIpAssignment.ts @@ -20,9 +20,9 @@ import * as utilities from "./utilities"; * * const foobarFloatingIp = new digitalocean.FloatingIp("foobarFloatingIp", {region: "sgp1"}); * const foobarDroplet = new digitalocean.Droplet("foobarDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "sgp1", + * region: digitalocean.Region.SGP1, * ipv6: true, * privateNetworking: true, * }); diff --git a/sdk/nodejs/getDropletSnapshot.ts b/sdk/nodejs/getDropletSnapshot.ts index cf841418..c264af13 100644 --- a/sdk/nodejs/getDropletSnapshot.ts +++ b/sdk/nodejs/getDropletSnapshot.ts @@ -40,8 +40,8 @@ import * as utilities from "./utilities"; * }); * const from_snapshot = new digitalocean.Droplet("from-snapshot", { * image: web_snapshot.then(web_snapshot => web_snapshot.id), - * region: "nyc3", - * size: "s-2vcpu-4gb", + * region: digitalocean.Region.NYC3, + * size: digitalocean.DropletSlug.DropletS2VCPU4GB, * }); * ``` * @@ -153,8 +153,8 @@ export interface GetDropletSnapshotResult { * }); * const from_snapshot = new digitalocean.Droplet("from-snapshot", { * image: web_snapshot.then(web_snapshot => web_snapshot.id), - * region: "nyc3", - * size: "s-2vcpu-4gb", + * region: digitalocean.Region.NYC3, + * size: digitalocean.DropletSlug.DropletS2VCPU4GB, * }); * ``` * diff --git a/sdk/nodejs/getImage.ts b/sdk/nodejs/getImage.ts index 7f0612ec..eb1d207d 100644 --- a/sdk/nodejs/getImage.ts +++ b/sdk/nodejs/getImage.ts @@ -39,8 +39,8 @@ import * as utilities from "./utilities"; * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { * image: exampleImage.then(exampleImage => exampleImage.id), - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * }); * ``` * @@ -194,8 +194,8 @@ export interface GetImageResult { * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { * image: exampleImage.then(exampleImage => exampleImage.id), - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * }); * ``` * diff --git a/sdk/nodejs/getKubernetesVersions.ts b/sdk/nodejs/getKubernetesVersions.ts index ab1425f2..a704d6d2 100644 --- a/sdk/nodejs/getKubernetesVersions.ts +++ b/sdk/nodejs/getKubernetesVersions.ts @@ -34,7 +34,7 @@ import * as utilities from "./utilities"; * * const example = digitalocean.getKubernetesVersions({}); * const example_cluster = new digitalocean.KubernetesCluster("example-cluster", { - * region: "lon1", + * region: digitalocean.Region.LON1, * version: example.then(example => example.latestVersion), * nodePool: { * name: "default", @@ -56,7 +56,7 @@ import * as utilities from "./utilities"; * versionPrefix: "1.22.", * }); * const example_cluster = new digitalocean.KubernetesCluster("example-cluster", { - * region: "lon1", + * region: digitalocean.Region.LON1, * version: example.then(example => example.latestVersion), * nodePool: { * name: "default", @@ -134,7 +134,7 @@ export interface GetKubernetesVersionsResult { * * const example = digitalocean.getKubernetesVersions({}); * const example_cluster = new digitalocean.KubernetesCluster("example-cluster", { - * region: "lon1", + * region: digitalocean.Region.LON1, * version: example.then(example => example.latestVersion), * nodePool: { * name: "default", @@ -156,7 +156,7 @@ export interface GetKubernetesVersionsResult { * versionPrefix: "1.22.", * }); * const example_cluster = new digitalocean.KubernetesCluster("example-cluster", { - * region: "lon1", + * region: digitalocean.Region.LON1, * version: example.then(example => example.latestVersion), * nodePool: { * name: "default", diff --git a/sdk/nodejs/getSpacesBucketObject.ts b/sdk/nodejs/getSpacesBucketObject.ts index 10c23365..b0202371 100644 --- a/sdk/nodejs/getSpacesBucketObject.ts +++ b/sdk/nodejs/getSpacesBucketObject.ts @@ -29,8 +29,8 @@ import * as utilities from "./utilities"; * }); * const web = new digitalocean.Droplet("web", { * image: "ubuntu-18-04-x64", - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * userData: bootstrapScript.then(bootstrapScript => bootstrapScript.body), * }); * ``` @@ -165,8 +165,8 @@ export interface GetSpacesBucketObjectResult { * }); * const web = new digitalocean.Droplet("web", { * image: "ubuntu-18-04-x64", - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * userData: bootstrapScript.then(bootstrapScript => bootstrapScript.body), * }); * ``` diff --git a/sdk/nodejs/getSshKey.ts b/sdk/nodejs/getSshKey.ts index 36acd4cc..55488bfd 100644 --- a/sdk/nodejs/getSshKey.ts +++ b/sdk/nodejs/getSshKey.ts @@ -26,8 +26,8 @@ import * as utilities from "./utilities"; * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { * image: "ubuntu-18-04-x64", - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * sshKeys: [exampleSshKey.then(exampleSshKey => exampleSshKey.id)], * }); * ``` @@ -91,8 +91,8 @@ export interface GetSshKeyResult { * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { * image: "ubuntu-18-04-x64", - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * sshKeys: [exampleSshKey.then(exampleSshKey => exampleSshKey.id)], * }); * ``` diff --git a/sdk/nodejs/getTag.ts b/sdk/nodejs/getTag.ts index 04e0c8c7..bde713c2 100644 --- a/sdk/nodejs/getTag.ts +++ b/sdk/nodejs/getTag.ts @@ -25,8 +25,8 @@ import * as utilities from "./utilities"; * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { * image: "ubuntu-18-04-x64", - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * tags: [exampleTag.then(exampleTag => exampleTag.name)], * }); * ``` @@ -105,8 +105,8 @@ export interface GetTagResult { * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { * image: "ubuntu-18-04-x64", - * region: "nyc2", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC2, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * tags: [exampleTag.then(exampleTag => exampleTag.name)], * }); * ``` diff --git a/sdk/nodejs/getVolume.ts b/sdk/nodejs/getVolume.ts index 16d50895..a047bd37 100644 --- a/sdk/nodejs/getVolume.ts +++ b/sdk/nodejs/getVolume.ts @@ -40,9 +40,9 @@ import * as utilities from "./utilities"; * region: "nyc3", * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const foobar = new digitalocean.VolumeAttachment("foobar", { * dropletId: exampleDroplet.id, @@ -154,9 +154,9 @@ export interface GetVolumeResult { * region: "nyc3", * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const foobar = new digitalocean.VolumeAttachment("foobar", { * dropletId: exampleDroplet.id, diff --git a/sdk/nodejs/getVolumeSnapshot.ts b/sdk/nodejs/getVolumeSnapshot.ts index 08640bee..7c3697a8 100644 --- a/sdk/nodejs/getVolumeSnapshot.ts +++ b/sdk/nodejs/getVolumeSnapshot.ts @@ -39,7 +39,7 @@ import * as utilities from "./utilities"; * mostRecent: true, * }); * const foobar = new digitalocean.Volume("foobar", { - * region: "nyc3", + * region: digitalocean.Region.NYC3, * size: 100, * snapshotId: snapshot.then(snapshot => snapshot.id), * }); @@ -156,7 +156,7 @@ export interface GetVolumeSnapshotResult { * mostRecent: true, * }); * const foobar = new digitalocean.Volume("foobar", { - * region: "nyc3", + * region: digitalocean.Region.NYC3, * size: 100, * snapshotId: snapshot.then(snapshot => snapshot.id), * }); diff --git a/sdk/nodejs/getVpc.ts b/sdk/nodejs/getVpc.ts index 9ec2dd3f..294eb684 100644 --- a/sdk/nodejs/getVpc.ts +++ b/sdk/nodejs/getVpc.ts @@ -40,9 +40,9 @@ import * as utilities from "./utilities"; * name: "example-network", * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * vpcUuid: exampleVpc.then(exampleVpc => exampleVpc.id), * }); * ``` @@ -150,9 +150,9 @@ export interface GetVpcResult { * name: "example-network", * }); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * vpcUuid: exampleVpc.then(exampleVpc => exampleVpc.id), * }); * ``` diff --git a/sdk/nodejs/kubernetesNodePool.ts b/sdk/nodejs/kubernetesNodePool.ts index 88b27d40..ebe5d802 100644 --- a/sdk/nodejs/kubernetesNodePool.ts +++ b/sdk/nodejs/kubernetesNodePool.ts @@ -20,7 +20,7 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const foo = new digitalocean.KubernetesCluster("foo", { - * region: "nyc1", + * region: digitalocean.Region.NYC1, * version: "1.22.8-do.1", * nodePool: { * name: "front-end-pool", @@ -30,7 +30,7 @@ import * as utilities from "./utilities"; * }); * const bar = new digitalocean.KubernetesNodePool("bar", { * clusterId: foo.id, - * size: "c-2", + * size: digitalocean.DropletSlug.DropletC2, * nodeCount: 2, * tags: ["backend"], * labels: { @@ -58,7 +58,7 @@ import * as utilities from "./utilities"; * * const autoscale_pool_01 = new digitalocean.KubernetesNodePool("autoscale-pool-01", { * clusterId: digitalocean_kubernetes_cluster.foo.id, - * size: "s-1vcpu-2gb", + * size: digitalocean.DropletSlug.DropletS1VCPU2GB, * autoScale: true, * minNodes: 1, * maxNodes: 5, diff --git a/sdk/nodejs/loadBalancer.ts b/sdk/nodejs/loadBalancer.ts index 54962f4f..a2ff57bc 100644 --- a/sdk/nodejs/loadBalancer.ts +++ b/sdk/nodejs/loadBalancer.ts @@ -19,12 +19,12 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const web = new digitalocean.Droplet("web", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const _public = new digitalocean.LoadBalancer("public", { - * region: "nyc3", + * region: digitalocean.Region.NYC3, * forwardingRules: [{ * entryPort: 80, * entryProtocol: "http", @@ -56,12 +56,12 @@ import * as utilities from "./utilities"; * leafCertificate: "file('cert.pem')", * }); * const web = new digitalocean.Droplet("web", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const _public = new digitalocean.LoadBalancer("public", { - * region: "nyc3", + * region: digitalocean.Region.NYC3, * forwardingRules: [{ * entryPort: 443, * entryProtocol: "https", diff --git a/sdk/nodejs/project.ts b/sdk/nodejs/project.ts index e2dc3f04..28dcca0f 100644 --- a/sdk/nodejs/project.ts +++ b/sdk/nodejs/project.ts @@ -50,9 +50,9 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const foobar = new digitalocean.Droplet("foobar", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-22-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const playground = new digitalocean.Project("playground", { * description: "A project to represent development resources.", diff --git a/sdk/nodejs/projectResources.ts b/sdk/nodejs/projectResources.ts index 07cbe7cd..564631fc 100644 --- a/sdk/nodejs/projectResources.ts +++ b/sdk/nodejs/projectResources.ts @@ -33,9 +33,9 @@ import * as utilities from "./utilities"; * name: "playground", * }); * const foobar = new digitalocean.Droplet("foobar", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-22-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * const barfoo = new digitalocean.ProjectResources("barfoo", { * project: playground.then(playground => playground.id), diff --git a/sdk/nodejs/reservedIp.ts b/sdk/nodejs/reservedIp.ts index ec8251d4..0e7820f9 100644 --- a/sdk/nodejs/reservedIp.ts +++ b/sdk/nodejs/reservedIp.ts @@ -17,9 +17,9 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-22-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * ipv6: true, * privateNetworking: true, * }); diff --git a/sdk/nodejs/reservedIpAssignment.ts b/sdk/nodejs/reservedIpAssignment.ts index bf5cd4c6..a023d25c 100644 --- a/sdk/nodejs/reservedIpAssignment.ts +++ b/sdk/nodejs/reservedIpAssignment.ts @@ -18,9 +18,9 @@ import * as utilities from "./utilities"; * * const exampleReservedIp = new digitalocean.ReservedIp("exampleReservedIp", {region: "nyc3"}); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-22-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * ipv6: true, * privateNetworking: true, * }); diff --git a/sdk/nodejs/spacesBucket.ts b/sdk/nodejs/spacesBucket.ts index 21434210..c99d47e7 100644 --- a/sdk/nodejs/spacesBucket.ts +++ b/sdk/nodejs/spacesBucket.ts @@ -43,7 +43,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as digitalocean from "@pulumi/digitalocean"; * - * const foobar = new digitalocean.SpacesBucket("foobar", {region: "nyc3"}); + * const foobar = new digitalocean.SpacesBucket("foobar", {region: digitalocean.Region.NYC3}); * ``` * * @@ -73,7 +73,7 @@ import * as utilities from "./utilities"; * maxAgeSeconds: 3000, * }, * ], - * region: "nyc3", + * region: digitalocean.Region.NYC3, * }); * ``` * @@ -129,7 +129,7 @@ export class SpacesBucket extends pulumi.CustomResource { /** * A rule of Cross-Origin Resource Sharing (documented below). * - * @deprecated Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * @deprecated Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ public readonly corsRules!: pulumi.Output; /** @@ -217,7 +217,7 @@ export interface SpacesBucketState { /** * A rule of Cross-Origin Resource Sharing (documented below). * - * @deprecated Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * @deprecated Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ corsRules?: pulumi.Input[]>; /** @@ -257,7 +257,7 @@ export interface SpacesBucketArgs { /** * A rule of Cross-Origin Resource Sharing (documented below). * - * @deprecated Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead. + * @deprecated Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean.SpacesBucketCorsConfiguration` instead. */ corsRules?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/spacesBucketCorsConfiguration.ts b/sdk/nodejs/spacesBucketCorsConfiguration.ts index 6c06adcf..645010c5 100644 --- a/sdk/nodejs/spacesBucketCorsConfiguration.ts +++ b/sdk/nodejs/spacesBucketCorsConfiguration.ts @@ -17,7 +17,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as digitalocean from "@pulumi/digitalocean"; * - * const foobar = new digitalocean.SpacesBucket("foobar", {region: "nyc3"}); + * const foobar = new digitalocean.SpacesBucket("foobar", {region: digitalocean.Region.NYC3}); * const test = new digitalocean.SpacesBucketCorsConfiguration("test", { * bucket: foobar.id, * region: "nyc3", diff --git a/sdk/nodejs/spacesBucketObject.ts b/sdk/nodejs/spacesBucketObject.ts index ab1106fc..f3d46e23 100644 --- a/sdk/nodejs/spacesBucketObject.ts +++ b/sdk/nodejs/spacesBucketObject.ts @@ -42,7 +42,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as digitalocean from "@pulumi/digitalocean"; * - * const foobar = new digitalocean.SpacesBucket("foobar", {region: "nyc3"}); + * const foobar = new digitalocean.SpacesBucket("foobar", {region: digitalocean.Region.NYC3}); * const index = new digitalocean.SpacesBucketObject("index", { * region: foobar.region, * bucket: foobar.name, diff --git a/sdk/nodejs/spacesBucketPolicy.ts b/sdk/nodejs/spacesBucketPolicy.ts index 7c1253dc..33471aba 100644 --- a/sdk/nodejs/spacesBucketPolicy.ts +++ b/sdk/nodejs/spacesBucketPolicy.ts @@ -14,7 +14,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as digitalocean from "@pulumi/digitalocean"; * - * const foobarSpacesBucket = new digitalocean.SpacesBucket("foobarSpacesBucket", {region: "nyc3"}); + * const foobarSpacesBucket = new digitalocean.SpacesBucket("foobarSpacesBucket", {region: digitalocean.Region.NYC3}); * const foobarSpacesBucketPolicy = new digitalocean.SpacesBucketPolicy("foobarSpacesBucketPolicy", { * region: foobarSpacesBucket.region, * bucket: foobarSpacesBucket.name, diff --git a/sdk/nodejs/sshKey.ts b/sdk/nodejs/sshKey.ts index 8b314cab..ba199d96 100644 --- a/sdk/nodejs/sshKey.ts +++ b/sdk/nodejs/sshKey.ts @@ -23,8 +23,8 @@ import * as utilities from "./utilities"; * // Create a new Droplet using the SSH key * const web = new digitalocean.Droplet("web", { * image: "ubuntu-18-04-x64", - * region: "nyc3", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC3, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * sshKeys: [_default.fingerprint], * }); * ``` diff --git a/sdk/nodejs/tag.ts b/sdk/nodejs/tag.ts index 62dff73c..814f460e 100644 --- a/sdk/nodejs/tag.ts +++ b/sdk/nodejs/tag.ts @@ -22,8 +22,8 @@ import * as utilities from "./utilities"; * // Create a new Droplet in nyc3 with the foobar tag * const web = new digitalocean.Droplet("web", { * image: "ubuntu-18-04-x64", - * region: "nyc3", - * size: "s-1vcpu-1gb", + * region: digitalocean.Region.NYC3, + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * tags: [foobar.id], * }); * ``` diff --git a/sdk/nodejs/volume.ts b/sdk/nodejs/volume.ts index 14d28dcb..ac3de33a 100644 --- a/sdk/nodejs/volume.ts +++ b/sdk/nodejs/volume.ts @@ -18,15 +18,15 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const foobarVolume = new digitalocean.Volume("foobarVolume", { - * region: "nyc1", + * region: digitalocean.Region.NYC1, * size: 100, - * initialFilesystemType: "ext4", + * initialFilesystemType: digitalocean.FileSystemType.EXT4, * description: "an example volume", * }); * const foobarDroplet = new digitalocean.Droplet("foobarDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc1", + * region: digitalocean.Region.NYC1, * }); * const foobarVolumeAttachment = new digitalocean.VolumeAttachment("foobarVolumeAttachment", { * dropletId: foobarDroplet.id, @@ -46,7 +46,7 @@ import * as utilities from "./utilities"; * name: "baz", * }); * const foobarVolume = new digitalocean.Volume("foobarVolume", { - * region: "lon1", + * region: digitalocean.Region.LON1, * size: foobarVolumeSnapshot.then(foobarVolumeSnapshot => foobarVolumeSnapshot.minDiskSize), * snapshotId: foobarVolumeSnapshot.then(foobarVolumeSnapshot => foobarVolumeSnapshot.id), * }); @@ -104,7 +104,7 @@ export class Volume extends pulumi.CustomResource { /** * Filesystem type (`xfs` or `ext4`) for the block storage volume. * - * @deprecated This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. + * @deprecated This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. */ public readonly filesystemType!: pulumi.Output; /** @@ -210,7 +210,7 @@ export interface VolumeState { /** * Filesystem type (`xfs` or `ext4`) for the block storage volume. * - * @deprecated This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. + * @deprecated This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. */ filesystemType?: pulumi.Input; /** @@ -258,7 +258,7 @@ export interface VolumeArgs { /** * Filesystem type (`xfs` or `ext4`) for the block storage volume. * - * @deprecated This fields functionality has been replaced by `initial_filesystem_type`. The property will still remain as a computed attribute representing the current volumes filesystem type. + * @deprecated This fields functionality has been replaced by `initialFilesystemType`. The property will still remain as a computed attribute representing the current volumes filesystem type. */ filesystemType?: pulumi.Input; /** diff --git a/sdk/nodejs/volumeAttachment.ts b/sdk/nodejs/volumeAttachment.ts index fde6f6d7..806b2d71 100644 --- a/sdk/nodejs/volumeAttachment.ts +++ b/sdk/nodejs/volumeAttachment.ts @@ -17,15 +17,15 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const foobarVolume = new digitalocean.Volume("foobarVolume", { - * region: "nyc1", + * region: digitalocean.Region.NYC1, * size: 100, - * initialFilesystemType: "ext4", + * initialFilesystemType: digitalocean.FileSystemType.EXT4, * description: "an example volume", * }); * const foobarDroplet = new digitalocean.Droplet("foobarDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc1", + * region: digitalocean.Region.NYC1, * }); * const foobarVolumeAttachment = new digitalocean.VolumeAttachment("foobarVolumeAttachment", { * dropletId: foobarDroplet.id, diff --git a/sdk/nodejs/volumeSnapshot.ts b/sdk/nodejs/volumeSnapshot.ts index 34b54a29..1d92ca8b 100644 --- a/sdk/nodejs/volumeSnapshot.ts +++ b/sdk/nodejs/volumeSnapshot.ts @@ -15,7 +15,7 @@ import * as utilities from "./utilities"; * import * as digitalocean from "@pulumi/digitalocean"; * * const foobarVolume = new digitalocean.Volume("foobarVolume", { - * region: "nyc1", + * region: digitalocean.Region.NYC1, * size: 100, * description: "an example volume", * }); diff --git a/sdk/nodejs/vpc.ts b/sdk/nodejs/vpc.ts index 59d3df7c..94bdc353 100644 --- a/sdk/nodejs/vpc.ts +++ b/sdk/nodejs/vpc.ts @@ -37,9 +37,9 @@ import * as utilities from "./utilities"; * * const exampleVpc = new digitalocean.Vpc("exampleVpc", {region: "nyc3"}); * const exampleDroplet = new digitalocean.Droplet("exampleDroplet", { - * size: "s-1vcpu-1gb", + * size: digitalocean.DropletSlug.DropletS1VCPU1GB, * image: "ubuntu-18-04-x64", - * region: "nyc3", + * region: digitalocean.Region.NYC3, * vpcUuid: exampleVpc.id, * }); * ``` diff --git a/sdk/python/pulumi_digitalocean/cdn.py b/sdk/python/pulumi_digitalocean/cdn.py index 178b8864..d4676970 100644 --- a/sdk/python/pulumi_digitalocean/cdn.py +++ b/sdk/python/pulumi_digitalocean/cdn.py @@ -255,7 +255,7 @@ def __init__(__self__, # Create a new Spaces Bucket mybucket = digitalocean.SpacesBucket("mybucket", - region="sfo2", + region=digitalocean.Region.SFO2, acl="public-read") # Add a CDN endpoint to the Spaces Bucket mycdn = digitalocean.Cdn("mycdn", origin=mybucket.bucket_domain_name) @@ -272,11 +272,11 @@ def __init__(__self__, # Create a new Spaces Bucket mybucket = digitalocean.SpacesBucket("mybucket", - region="sfo2", + region=digitalocean.Region.SFO2, acl="public-read") # Create a DigitalOcean managed Let's Encrypt Certificate cert = digitalocean.Certificate("cert", - type="lets_encrypt", + type=digitalocean.CertificateType.LETS_ENCRYPT, domains=["static.example.com"]) # Add a CDN endpoint with a custom sub-domain to the Spaces Bucket mycdn = digitalocean.Cdn("mycdn", @@ -322,7 +322,7 @@ def __init__(__self__, # Create a new Spaces Bucket mybucket = digitalocean.SpacesBucket("mybucket", - region="sfo2", + region=digitalocean.Region.SFO2, acl="public-read") # Add a CDN endpoint to the Spaces Bucket mycdn = digitalocean.Cdn("mycdn", origin=mybucket.bucket_domain_name) @@ -339,11 +339,11 @@ def __init__(__self__, # Create a new Spaces Bucket mybucket = digitalocean.SpacesBucket("mybucket", - region="sfo2", + region=digitalocean.Region.SFO2, acl="public-read") # Create a DigitalOcean managed Let's Encrypt Certificate cert = digitalocean.Certificate("cert", - type="lets_encrypt", + type=digitalocean.CertificateType.LETS_ENCRYPT, domains=["static.example.com"]) # Add a CDN endpoint with a custom sub-domain to the Spaces Bucket mycdn = digitalocean.Cdn("mycdn", diff --git a/sdk/python/pulumi_digitalocean/certificate.py b/sdk/python/pulumi_digitalocean/certificate.py index 0a366c37..4a8ff839 100644 --- a/sdk/python/pulumi_digitalocean/certificate.py +++ b/sdk/python/pulumi_digitalocean/certificate.py @@ -338,7 +338,7 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean cert = digitalocean.Certificate("cert", - type="custom", + type=digitalocean.CertificateType.CUSTOM, private_key=(lambda path: open(path).read())("/Users/myuser/certs/privkey.pem"), leaf_certificate=(lambda path: open(path).read())("/Users/myuser/certs/cert.pem"), certificate_chain=(lambda path: open(path).read())("/Users/myuser/certs/fullchain.pem")) @@ -354,7 +354,7 @@ def __init__(__self__, cert = digitalocean.Certificate("cert", domains=["example.com"], - type="lets_encrypt") + type=digitalocean.CertificateType.LETS_ENCRYPT) ``` @@ -369,11 +369,11 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean cert = digitalocean.Certificate("cert", - type="lets_encrypt", + type=digitalocean.CertificateType.LETS_ENCRYPT, domains=["example.com"]) # Create a new Load Balancer with TLS termination public = digitalocean.LoadBalancer("public", - region="nyc3", + region=digitalocean.Region.NYC3, droplet_tag="backend", forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs( entry_port=443, @@ -433,7 +433,7 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean cert = digitalocean.Certificate("cert", - type="custom", + type=digitalocean.CertificateType.CUSTOM, private_key=(lambda path: open(path).read())("/Users/myuser/certs/privkey.pem"), leaf_certificate=(lambda path: open(path).read())("/Users/myuser/certs/cert.pem"), certificate_chain=(lambda path: open(path).read())("/Users/myuser/certs/fullchain.pem")) @@ -449,7 +449,7 @@ def __init__(__self__, cert = digitalocean.Certificate("cert", domains=["example.com"], - type="lets_encrypt") + type=digitalocean.CertificateType.LETS_ENCRYPT) ``` @@ -464,11 +464,11 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean cert = digitalocean.Certificate("cert", - type="lets_encrypt", + type=digitalocean.CertificateType.LETS_ENCRYPT, domains=["example.com"]) # Create a new Load Balancer with TLS termination public = digitalocean.LoadBalancer("public", - region="nyc3", + region=digitalocean.Region.NYC3, droplet_tag="backend", forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs( entry_port=443, diff --git a/sdk/python/pulumi_digitalocean/custom_image.py b/sdk/python/pulumi_digitalocean/custom_image.py index 2e67419e..dfabfdf6 100644 --- a/sdk/python/pulumi_digitalocean/custom_image.py +++ b/sdk/python/pulumi_digitalocean/custom_image.py @@ -382,8 +382,8 @@ def __init__(__self__, regions=["nyc3"]) example = digitalocean.Droplet("example", image=flatcar.id, - region="nyc3", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, ssh_keys=["12345"]) ``` @@ -428,8 +428,8 @@ def __init__(__self__, regions=["nyc3"]) example = digitalocean.Droplet("example", image=flatcar.id, - region="nyc3", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, ssh_keys=["12345"]) ``` diff --git a/sdk/python/pulumi_digitalocean/database_cluster.py b/sdk/python/pulumi_digitalocean/database_cluster.py index 91ae734b..6caffb81 100644 --- a/sdk/python/pulumi_digitalocean/database_cluster.py +++ b/sdk/python/pulumi_digitalocean/database_cluster.py @@ -656,8 +656,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", node_count=1, - region="nyc1", - size="db-s-1vcpu-1gb", + region=digitalocean.Region.NYC1, + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, version="15") ``` @@ -671,8 +671,8 @@ def __init__(__self__, mysql_example = digitalocean.DatabaseCluster("mysql-example", engine="mysql", node_count=1, - region="nyc1", - size="db-s-1vcpu-1gb", + region=digitalocean.Region.NYC1, + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, version="8") ``` @@ -686,8 +686,8 @@ def __init__(__self__, redis_example = digitalocean.DatabaseCluster("redis-example", engine="redis", node_count=1, - region="nyc1", - size="db-s-1vcpu-1gb", + region=digitalocean.Region.NYC1, + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, version="7") ``` @@ -701,7 +701,7 @@ def __init__(__self__, kafka_example = digitalocean.DatabaseCluster("kafka-example", engine="kafka", node_count=3, - region="nyc1", + region=digitalocean.Region.NYC1, size="db-s-2vcpu-2gb", version="3.5") ``` @@ -716,8 +716,8 @@ def __init__(__self__, mongodb_example = digitalocean.DatabaseCluster("mongodb-example", engine="mongodb", node_count=1, - region="nyc3", - size="db-s-1vcpu-1gb", + region=digitalocean.Region.NYC3, + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, version="6") ``` @@ -732,15 +732,15 @@ def __init__(__self__, doby = digitalocean.DatabaseCluster("doby", engine="pg", version="11", - size="db-s-1vcpu-2gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU2_GB, + region=digitalocean.Region.NYC1, node_count=1, tags=["production"]) doby_backup = digitalocean.DatabaseCluster("dobyBackup", engine="pg", version="11", - size="db-s-1vcpu-2gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU2_GB, + region=digitalocean.Region.NYC1, node_count=1, tags=["production"], backup_restore=digitalocean.DatabaseClusterBackupRestoreArgs( @@ -796,8 +796,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", node_count=1, - region="nyc1", - size="db-s-1vcpu-1gb", + region=digitalocean.Region.NYC1, + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, version="15") ``` @@ -811,8 +811,8 @@ def __init__(__self__, mysql_example = digitalocean.DatabaseCluster("mysql-example", engine="mysql", node_count=1, - region="nyc1", - size="db-s-1vcpu-1gb", + region=digitalocean.Region.NYC1, + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, version="8") ``` @@ -826,8 +826,8 @@ def __init__(__self__, redis_example = digitalocean.DatabaseCluster("redis-example", engine="redis", node_count=1, - region="nyc1", - size="db-s-1vcpu-1gb", + region=digitalocean.Region.NYC1, + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, version="7") ``` @@ -841,7 +841,7 @@ def __init__(__self__, kafka_example = digitalocean.DatabaseCluster("kafka-example", engine="kafka", node_count=3, - region="nyc1", + region=digitalocean.Region.NYC1, size="db-s-2vcpu-2gb", version="3.5") ``` @@ -856,8 +856,8 @@ def __init__(__self__, mongodb_example = digitalocean.DatabaseCluster("mongodb-example", engine="mongodb", node_count=1, - region="nyc3", - size="db-s-1vcpu-1gb", + region=digitalocean.Region.NYC3, + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, version="6") ``` @@ -872,15 +872,15 @@ def __init__(__self__, doby = digitalocean.DatabaseCluster("doby", engine="pg", version="11", - size="db-s-1vcpu-2gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU2_GB, + region=digitalocean.Region.NYC1, node_count=1, tags=["production"]) doby_backup = digitalocean.DatabaseCluster("dobyBackup", engine="pg", version="11", - size="db-s-1vcpu-2gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU2_GB, + region=digitalocean.Region.NYC1, node_count=1, tags=["production"], backup_restore=digitalocean.DatabaseClusterBackupRestoreArgs( diff --git a/sdk/python/pulumi_digitalocean/database_connection_pool.py b/sdk/python/pulumi_digitalocean/database_connection_pool.py index df5d3882..48cd66c0 100644 --- a/sdk/python/pulumi_digitalocean/database_connection_pool.py +++ b/sdk/python/pulumi_digitalocean/database_connection_pool.py @@ -337,8 +337,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) pool_01 = digitalocean.DatabaseConnectionPool("pool-01", cluster_id=postgres_example.id, @@ -388,8 +388,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) pool_01 = digitalocean.DatabaseConnectionPool("pool-01", cluster_id=postgres_example.id, diff --git a/sdk/python/pulumi_digitalocean/database_db.py b/sdk/python/pulumi_digitalocean/database_db.py index 6fba111a..cb9eb2d1 100644 --- a/sdk/python/pulumi_digitalocean/database_db.py +++ b/sdk/python/pulumi_digitalocean/database_db.py @@ -112,8 +112,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) database_example = digitalocean.DatabaseDb("database-example", cluster_id=postgres_example.id) ``` @@ -154,8 +154,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) database_example = digitalocean.DatabaseDb("database-example", cluster_id=postgres_example.id) ``` diff --git a/sdk/python/pulumi_digitalocean/database_firewall.py b/sdk/python/pulumi_digitalocean/database_firewall.py index 61167cff..fecb6762 100644 --- a/sdk/python/pulumi_digitalocean/database_firewall.py +++ b/sdk/python/pulumi_digitalocean/database_firewall.py @@ -116,8 +116,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) example_fw = digitalocean.DatabaseFirewall("example-fw", cluster_id=postgres_example.id, @@ -142,14 +142,14 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean web = digitalocean.Droplet("web", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) example_fw = digitalocean.DatabaseFirewall("example-fw", cluster_id=postgres_example.id, @@ -170,13 +170,13 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) replica_example = digitalocean.DatabaseReplica("replica-example", cluster_id=postgres_example.id, - size="db-s-1vcpu-1gb", - region="nyc1") + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1) # Create firewall rule for database replica example_fw = digitalocean.DatabaseFirewall("example-fw", cluster_id=replica_example.uuid, @@ -225,8 +225,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) example_fw = digitalocean.DatabaseFirewall("example-fw", cluster_id=postgres_example.id, @@ -251,14 +251,14 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean web = digitalocean.Droplet("web", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) example_fw = digitalocean.DatabaseFirewall("example-fw", cluster_id=postgres_example.id, @@ -279,13 +279,13 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) replica_example = digitalocean.DatabaseReplica("replica-example", cluster_id=postgres_example.id, - size="db-s-1vcpu-1gb", - region="nyc1") + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1) # Create firewall rule for database replica example_fw = digitalocean.DatabaseFirewall("example-fw", cluster_id=replica_example.uuid, diff --git a/sdk/python/pulumi_digitalocean/database_kafka_topic.py b/sdk/python/pulumi_digitalocean/database_kafka_topic.py index e3187d5c..cb821096 100644 --- a/sdk/python/pulumi_digitalocean/database_kafka_topic.py +++ b/sdk/python/pulumi_digitalocean/database_kafka_topic.py @@ -234,7 +234,7 @@ def __init__(__self__, engine="kafka", version="3.5", size="db-s-2vcpu-2gb", - region="nyc1", + region=digitalocean.Region.NYC1, node_count=3, tags=["production"]) topic_01 = digitalocean.DatabaseKafkaTopic("topic-01", @@ -307,7 +307,7 @@ def __init__(__self__, engine="kafka", version="3.5", size="db-s-2vcpu-2gb", - region="nyc1", + region=digitalocean.Region.NYC1, node_count=3, tags=["production"]) topic_01 = digitalocean.DatabaseKafkaTopic("topic-01", diff --git a/sdk/python/pulumi_digitalocean/database_mysql_config.py b/sdk/python/pulumi_digitalocean/database_mysql_config.py index e3e89347..fb787fb2 100644 --- a/sdk/python/pulumi_digitalocean/database_mysql_config.py +++ b/sdk/python/pulumi_digitalocean/database_mysql_config.py @@ -972,8 +972,8 @@ def __init__(__self__, example_database_cluster = digitalocean.DatabaseCluster("exampleDatabaseCluster", engine="mysql", version="8", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) example_database_mysql_config = digitalocean.DatabaseMysqlConfig("exampleDatabaseMysqlConfig", cluster_id=example_database_cluster.id, @@ -1043,8 +1043,8 @@ def __init__(__self__, example_database_cluster = digitalocean.DatabaseCluster("exampleDatabaseCluster", engine="mysql", version="8", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) example_database_mysql_config = digitalocean.DatabaseMysqlConfig("exampleDatabaseMysqlConfig", cluster_id=example_database_cluster.id, diff --git a/sdk/python/pulumi_digitalocean/database_redis_config.py b/sdk/python/pulumi_digitalocean/database_redis_config.py index 83578b06..cccc325b 100644 --- a/sdk/python/pulumi_digitalocean/database_redis_config.py +++ b/sdk/python/pulumi_digitalocean/database_redis_config.py @@ -444,8 +444,8 @@ def __init__(__self__, example_database_cluster = digitalocean.DatabaseCluster("exampleDatabaseCluster", engine="redis", version="7", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) example_database_redis_config = digitalocean.DatabaseRedisConfig("exampleDatabaseRedisConfig", cluster_id=example_database_cluster.id, @@ -500,8 +500,8 @@ def __init__(__self__, example_database_cluster = digitalocean.DatabaseCluster("exampleDatabaseCluster", engine="redis", version="7", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) example_database_redis_config = digitalocean.DatabaseRedisConfig("exampleDatabaseRedisConfig", cluster_id=example_database_cluster.id, diff --git a/sdk/python/pulumi_digitalocean/database_replica.py b/sdk/python/pulumi_digitalocean/database_replica.py index b2c1f24b..5f1dcc6c 100644 --- a/sdk/python/pulumi_digitalocean/database_replica.py +++ b/sdk/python/pulumi_digitalocean/database_replica.py @@ -414,13 +414,13 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) replica_example = digitalocean.DatabaseReplica("replica-example", cluster_id=postgres_example.id, - size="db-s-1vcpu-1gb", - region="nyc1") + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1) pulumi.export("uUID", replica_example.uuid) # Create firewall rule for database replica example_fw = digitalocean.DatabaseFirewall("example-fw", @@ -471,13 +471,13 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) replica_example = digitalocean.DatabaseReplica("replica-example", cluster_id=postgres_example.id, - size="db-s-1vcpu-1gb", - region="nyc1") + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1) pulumi.export("uUID", replica_example.uuid) # Create firewall rule for database replica example_fw = digitalocean.DatabaseFirewall("example-fw", diff --git a/sdk/python/pulumi_digitalocean/database_user.py b/sdk/python/pulumi_digitalocean/database_user.py index 0e40fd25..6e1fb9e2 100644 --- a/sdk/python/pulumi_digitalocean/database_user.py +++ b/sdk/python/pulumi_digitalocean/database_user.py @@ -250,8 +250,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) user_example = digitalocean.DatabaseUser("user-example", cluster_id=postgres_example.id) ``` @@ -266,13 +266,13 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) replica_example = digitalocean.DatabaseReplica("replica-example", cluster_id=postgres_example.id, - size="db-s-1vcpu-1gb", - region="nyc1") + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1) user_example = digitalocean.DatabaseUser("user-example", cluster_id=replica_example.uuid) ``` @@ -287,7 +287,7 @@ def __init__(__self__, engine="kafka", version="3.5", size="db-s-2vcpu-2gb", - region="nyc1", + region=digitalocean.Region.NYC1, node_count=3) foobar_topic = digitalocean.DatabaseKafkaTopic("foobarTopic", cluster_id=digitalocean_database_cluster["foobar"]["id"]) foobar_user = digitalocean.DatabaseUser("foobarUser", @@ -351,8 +351,8 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) user_example = digitalocean.DatabaseUser("user-example", cluster_id=postgres_example.id) ``` @@ -367,13 +367,13 @@ def __init__(__self__, postgres_example = digitalocean.DatabaseCluster("postgres-example", engine="pg", version="11", - size="db-s-1vcpu-1gb", - region="nyc1", + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1, node_count=1) replica_example = digitalocean.DatabaseReplica("replica-example", cluster_id=postgres_example.id, - size="db-s-1vcpu-1gb", - region="nyc1") + size=digitalocean.DatabaseSlug.D_B_1_VPCU1_GB, + region=digitalocean.Region.NYC1) user_example = digitalocean.DatabaseUser("user-example", cluster_id=replica_example.uuid) ``` @@ -388,7 +388,7 @@ def __init__(__self__, engine="kafka", version="3.5", size="db-s-2vcpu-2gb", - region="nyc1", + region=digitalocean.Region.NYC1, node_count=3) foobar_topic = digitalocean.DatabaseKafkaTopic("foobarTopic", cluster_id=digitalocean_database_cluster["foobar"]["id"]) foobar_user = digitalocean.DatabaseUser("foobarUser", diff --git a/sdk/python/pulumi_digitalocean/dns_record.py b/sdk/python/pulumi_digitalocean/dns_record.py index a1dcff23..3ae3197b 100644 --- a/sdk/python/pulumi_digitalocean/dns_record.py +++ b/sdk/python/pulumi_digitalocean/dns_record.py @@ -391,12 +391,12 @@ def __init__(__self__, # Add an A record to the domain for www.example.com. www = digitalocean.DnsRecord("www", domain=default.id, - type="A", + type=digitalocean.RecordType.A, value="192.168.0.11") # Add a MX record for the example.com domain itself. mx = digitalocean.DnsRecord("mx", domain=default.id, - type="MX", + type=digitalocean.RecordType.MX, priority=10, value="mail.example.com.") pulumi.export("wwwFqdn", www.fqdn) @@ -447,12 +447,12 @@ def __init__(__self__, # Add an A record to the domain for www.example.com. www = digitalocean.DnsRecord("www", domain=default.id, - type="A", + type=digitalocean.RecordType.A, value="192.168.0.11") # Add a MX record for the example.com domain itself. mx = digitalocean.DnsRecord("mx", domain=default.id, - type="MX", + type=digitalocean.RecordType.MX, priority=10, value="mail.example.com.") pulumi.export("wwwFqdn", www.fqdn) diff --git a/sdk/python/pulumi_digitalocean/droplet.py b/sdk/python/pulumi_digitalocean/droplet.py index ff51c3bf..388255cb 100644 --- a/sdk/python/pulumi_digitalocean/droplet.py +++ b/sdk/python/pulumi_digitalocean/droplet.py @@ -879,8 +879,8 @@ def __init__(__self__, # Create a new Web Droplet in the nyc2 region web = digitalocean.Droplet("web", image="ubuntu-20-04-x64", - region="nyc2", - size="s-1vcpu-1gb") + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB) ``` @@ -955,8 +955,8 @@ def __init__(__self__, # Create a new Web Droplet in the nyc2 region web = digitalocean.Droplet("web", image="ubuntu-20-04-x64", - region="nyc2", - size="s-1vcpu-1gb") + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB) ``` diff --git a/sdk/python/pulumi_digitalocean/droplet_snapshot.py b/sdk/python/pulumi_digitalocean/droplet_snapshot.py index f89a91d4..12f1c305 100644 --- a/sdk/python/pulumi_digitalocean/droplet_snapshot.py +++ b/sdk/python/pulumi_digitalocean/droplet_snapshot.py @@ -173,14 +173,14 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean web = digitalocean.Droplet("web", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) web_snapshot = digitalocean.DropletSnapshot("web-snapshot", droplet_id=web.id) from_snapshot = digitalocean.Droplet("from-snapshot", image=web_snapshot.id, - region="nyc3", - size="s-2vcpu-4gb") + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB) ``` @@ -214,14 +214,14 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean web = digitalocean.Droplet("web", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) web_snapshot = digitalocean.DropletSnapshot("web-snapshot", droplet_id=web.id) from_snapshot = digitalocean.Droplet("from-snapshot", image=web_snapshot.id, - region="nyc3", - size="s-2vcpu-4gb") + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB) ``` diff --git a/sdk/python/pulumi_digitalocean/firewall.py b/sdk/python/pulumi_digitalocean/firewall.py index 9cc86efb..04262991 100644 --- a/sdk/python/pulumi_digitalocean/firewall.py +++ b/sdk/python/pulumi_digitalocean/firewall.py @@ -282,9 +282,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean web_droplet = digitalocean.Droplet("webDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) web_firewall = digitalocean.Firewall("webFirewall", droplet_ids=[web_droplet.id], inbound_rules=[ @@ -385,9 +385,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean web_droplet = digitalocean.Droplet("webDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) web_firewall = digitalocean.Firewall("webFirewall", droplet_ids=[web_droplet.id], inbound_rules=[ diff --git a/sdk/python/pulumi_digitalocean/floating_ip.py b/sdk/python/pulumi_digitalocean/floating_ip.py index ec72ff7c..019fbbc5 100644 --- a/sdk/python/pulumi_digitalocean/floating_ip.py +++ b/sdk/python/pulumi_digitalocean/floating_ip.py @@ -162,9 +162,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar_droplet = digitalocean.Droplet("foobarDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="sgp1", + region=digitalocean.Region.SGP1, ipv6=True, private_networking=True) foobar_floating_ip = digitalocean.FloatingIp("foobarFloatingIp", @@ -208,9 +208,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar_droplet = digitalocean.Droplet("foobarDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="sgp1", + region=digitalocean.Region.SGP1, ipv6=True, private_networking=True) foobar_floating_ip = digitalocean.FloatingIp("foobarFloatingIp", diff --git a/sdk/python/pulumi_digitalocean/floating_ip_assignment.py b/sdk/python/pulumi_digitalocean/floating_ip_assignment.py index 0d643cea..5608d802 100644 --- a/sdk/python/pulumi_digitalocean/floating_ip_assignment.py +++ b/sdk/python/pulumi_digitalocean/floating_ip_assignment.py @@ -113,9 +113,9 @@ def __init__(__self__, foobar_floating_ip = digitalocean.FloatingIp("foobarFloatingIp", region="sgp1") foobar_droplet = digitalocean.Droplet("foobarDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="sgp1", + region=digitalocean.Region.SGP1, ipv6=True, private_networking=True) foobar_floating_ip_assignment = digitalocean.FloatingIpAssignment("foobarFloatingIpAssignment", @@ -161,9 +161,9 @@ def __init__(__self__, foobar_floating_ip = digitalocean.FloatingIp("foobarFloatingIp", region="sgp1") foobar_droplet = digitalocean.Droplet("foobarDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="sgp1", + region=digitalocean.Region.SGP1, ipv6=True, private_networking=True) foobar_floating_ip_assignment = digitalocean.FloatingIpAssignment("foobarFloatingIpAssignment", diff --git a/sdk/python/pulumi_digitalocean/get_droplet_snapshot.py b/sdk/python/pulumi_digitalocean/get_droplet_snapshot.py index e692e25e..205c2684 100644 --- a/sdk/python/pulumi_digitalocean/get_droplet_snapshot.py +++ b/sdk/python/pulumi_digitalocean/get_droplet_snapshot.py @@ -177,8 +177,8 @@ def get_droplet_snapshot(most_recent: Optional[bool] = None, most_recent=True) from_snapshot = digitalocean.Droplet("from-snapshot", image=web_snapshot.id, - region="nyc3", - size="s-2vcpu-4gb") + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB) ``` @@ -251,8 +251,8 @@ def get_droplet_snapshot_output(most_recent: Optional[pulumi.Input[Optional[bool most_recent=True) from_snapshot = digitalocean.Droplet("from-snapshot", image=web_snapshot.id, - region="nyc3", - size="s-2vcpu-4gb") + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S2_VCPU4_GB) ``` diff --git a/sdk/python/pulumi_digitalocean/get_image.py b/sdk/python/pulumi_digitalocean/get_image.py index baa71449..13d2232a 100644 --- a/sdk/python/pulumi_digitalocean/get_image.py +++ b/sdk/python/pulumi_digitalocean/get_image.py @@ -256,8 +256,8 @@ def get_image(id: Optional[int] = None, example_image = digitalocean.get_image(name="example-1.0.0") example_droplet = digitalocean.Droplet("exampleDroplet", image=example_image.id, - region="nyc2", - size="s-1vcpu-1gb") + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB) ``` @@ -344,8 +344,8 @@ def get_image_output(id: Optional[pulumi.Input[Optional[int]]] = None, example_image = digitalocean.get_image(name="example-1.0.0") example_droplet = digitalocean.Droplet("exampleDroplet", image=example_image.id, - region="nyc2", - size="s-1vcpu-1gb") + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB) ``` diff --git a/sdk/python/pulumi_digitalocean/get_kubernetes_versions.py b/sdk/python/pulumi_digitalocean/get_kubernetes_versions.py index 19b96da2..796f9cfd 100644 --- a/sdk/python/pulumi_digitalocean/get_kubernetes_versions.py +++ b/sdk/python/pulumi_digitalocean/get_kubernetes_versions.py @@ -105,7 +105,7 @@ def get_kubernetes_versions(version_prefix: Optional[str] = None, example = digitalocean.get_kubernetes_versions() example_cluster = digitalocean.KubernetesCluster("example-cluster", - region="lon1", + region=digitalocean.Region.LON1, version=example.latest_version, node_pool=digitalocean.KubernetesClusterNodePoolArgs( name="default", @@ -124,7 +124,7 @@ def get_kubernetes_versions(version_prefix: Optional[str] = None, example = digitalocean.get_kubernetes_versions(version_prefix="1.22.") example_cluster = digitalocean.KubernetesCluster("example-cluster", - region="lon1", + region=digitalocean.Region.LON1, version=example.latest_version, node_pool=digitalocean.KubernetesClusterNodePoolArgs( name="default", @@ -178,7 +178,7 @@ def get_kubernetes_versions_output(version_prefix: Optional[pulumi.Input[Optiona example = digitalocean.get_kubernetes_versions() example_cluster = digitalocean.KubernetesCluster("example-cluster", - region="lon1", + region=digitalocean.Region.LON1, version=example.latest_version, node_pool=digitalocean.KubernetesClusterNodePoolArgs( name="default", @@ -197,7 +197,7 @@ def get_kubernetes_versions_output(version_prefix: Optional[pulumi.Input[Optiona example = digitalocean.get_kubernetes_versions(version_prefix="1.22.") example_cluster = digitalocean.KubernetesCluster("example-cluster", - region="lon1", + region=digitalocean.Region.LON1, version=example.latest_version, node_pool=digitalocean.KubernetesClusterNodePoolArgs( name="default", diff --git a/sdk/python/pulumi_digitalocean/get_spaces_bucket_object.py b/sdk/python/pulumi_digitalocean/get_spaces_bucket_object.py index 89c198c9..5764a36a 100644 --- a/sdk/python/pulumi_digitalocean/get_spaces_bucket_object.py +++ b/sdk/python/pulumi_digitalocean/get_spaces_bucket_object.py @@ -277,8 +277,8 @@ def get_spaces_bucket_object(bucket: Optional[str] = None, key="droplet-bootstrap-script.sh") web = digitalocean.Droplet("web", image="ubuntu-18-04-x64", - region="nyc2", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, user_data=bootstrap_script.body) ``` @@ -350,8 +350,8 @@ def get_spaces_bucket_object_output(bucket: Optional[pulumi.Input[str]] = None, key="droplet-bootstrap-script.sh") web = digitalocean.Droplet("web", image="ubuntu-18-04-x64", - region="nyc2", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, user_data=bootstrap_script.body) ``` diff --git a/sdk/python/pulumi_digitalocean/get_ssh_key.py b/sdk/python/pulumi_digitalocean/get_ssh_key.py index 4118aa26..2c3c13c3 100644 --- a/sdk/python/pulumi_digitalocean/get_ssh_key.py +++ b/sdk/python/pulumi_digitalocean/get_ssh_key.py @@ -99,8 +99,8 @@ def get_ssh_key(name: Optional[str] = None, example_ssh_key = digitalocean.get_ssh_key(name="example") example_droplet = digitalocean.Droplet("exampleDroplet", image="ubuntu-18-04-x64", - region="nyc2", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, ssh_keys=[example_ssh_key.id]) ``` @@ -143,8 +143,8 @@ def get_ssh_key_output(name: Optional[pulumi.Input[str]] = None, example_ssh_key = digitalocean.get_ssh_key(name="example") example_droplet = digitalocean.Droplet("exampleDroplet", image="ubuntu-18-04-x64", - region="nyc2", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, ssh_keys=[example_ssh_key.id]) ``` diff --git a/sdk/python/pulumi_digitalocean/get_tag.py b/sdk/python/pulumi_digitalocean/get_tag.py index 44a714a3..3720adce 100644 --- a/sdk/python/pulumi_digitalocean/get_tag.py +++ b/sdk/python/pulumi_digitalocean/get_tag.py @@ -146,8 +146,8 @@ def get_tag(name: Optional[str] = None, example_tag = digitalocean.get_tag(name="example") example_droplet = digitalocean.Droplet("exampleDroplet", image="ubuntu-18-04-x64", - region="nyc2", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, tags=[example_tag.name]) ``` @@ -193,8 +193,8 @@ def get_tag_output(name: Optional[pulumi.Input[str]] = None, example_tag = digitalocean.get_tag(name="example") example_droplet = digitalocean.Droplet("exampleDroplet", image="ubuntu-18-04-x64", - region="nyc2", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC2, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, tags=[example_tag.name]) ``` diff --git a/sdk/python/pulumi_digitalocean/get_volume.py b/sdk/python/pulumi_digitalocean/get_volume.py index 73f3503e..212a5eb9 100644 --- a/sdk/python/pulumi_digitalocean/get_volume.py +++ b/sdk/python/pulumi_digitalocean/get_volume.py @@ -182,9 +182,9 @@ def get_volume(description: Optional[str] = None, example_volume = digitalocean.get_volume(name="app-data", region="nyc3") example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) foobar = digitalocean.VolumeAttachment("foobar", droplet_id=example_droplet.id, volume_id=example_volume.id) @@ -253,9 +253,9 @@ def get_volume_output(description: Optional[pulumi.Input[Optional[str]]] = None, example_volume = digitalocean.get_volume(name="app-data", region="nyc3") example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) foobar = digitalocean.VolumeAttachment("foobar", droplet_id=example_droplet.id, volume_id=example_volume.id) diff --git a/sdk/python/pulumi_digitalocean/get_volume_snapshot.py b/sdk/python/pulumi_digitalocean/get_volume_snapshot.py index b98732fd..cee2a083 100644 --- a/sdk/python/pulumi_digitalocean/get_volume_snapshot.py +++ b/sdk/python/pulumi_digitalocean/get_volume_snapshot.py @@ -188,7 +188,7 @@ def get_volume_snapshot(most_recent: Optional[bool] = None, region="nyc3", most_recent=True) foobar = digitalocean.Volume("foobar", - region="nyc3", + region=digitalocean.Region.NYC3, size=100, snapshot_id=snapshot.id) ``` @@ -263,7 +263,7 @@ def get_volume_snapshot_output(most_recent: Optional[pulumi.Input[Optional[bool] region="nyc3", most_recent=True) foobar = digitalocean.Volume("foobar", - region="nyc3", + region=digitalocean.Region.NYC3, size=100, snapshot_id=snapshot.id) ``` diff --git a/sdk/python/pulumi_digitalocean/get_vpc.py b/sdk/python/pulumi_digitalocean/get_vpc.py index 20cc60a8..486bcb92 100644 --- a/sdk/python/pulumi_digitalocean/get_vpc.py +++ b/sdk/python/pulumi_digitalocean/get_vpc.py @@ -164,9 +164,9 @@ def get_vpc(id: Optional[str] = None, example_vpc = digitalocean.get_vpc(name="example-network") example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3", + region=digitalocean.Region.NYC3, vpc_uuid=example_vpc.id) ``` @@ -231,9 +231,9 @@ def get_vpc_output(id: Optional[pulumi.Input[Optional[str]]] = None, example_vpc = digitalocean.get_vpc(name="example-network") example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3", + region=digitalocean.Region.NYC3, vpc_uuid=example_vpc.id) ``` diff --git a/sdk/python/pulumi_digitalocean/kubernetes_node_pool.py b/sdk/python/pulumi_digitalocean/kubernetes_node_pool.py index 6ecc20fd..50f2368a 100644 --- a/sdk/python/pulumi_digitalocean/kubernetes_node_pool.py +++ b/sdk/python/pulumi_digitalocean/kubernetes_node_pool.py @@ -417,7 +417,7 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foo = digitalocean.KubernetesCluster("foo", - region="nyc1", + region=digitalocean.Region.NYC1, version="1.22.8-do.1", node_pool=digitalocean.KubernetesClusterNodePoolArgs( name="front-end-pool", @@ -426,7 +426,7 @@ def __init__(__self__, )) bar = digitalocean.KubernetesNodePool("bar", cluster_id=foo.id, - size="c-2", + size=digitalocean.DropletSlug.DROPLET_C2, node_count=2, tags=["backend"], labels={ @@ -453,7 +453,7 @@ def __init__(__self__, autoscale_pool_01 = digitalocean.KubernetesNodePool("autoscale-pool-01", cluster_id=digitalocean_kubernetes_cluster["foo"]["id"], - size="s-1vcpu-2gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU2_GB, auto_scale=True, min_nodes=1, max_nodes=5) @@ -512,7 +512,7 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foo = digitalocean.KubernetesCluster("foo", - region="nyc1", + region=digitalocean.Region.NYC1, version="1.22.8-do.1", node_pool=digitalocean.KubernetesClusterNodePoolArgs( name="front-end-pool", @@ -521,7 +521,7 @@ def __init__(__self__, )) bar = digitalocean.KubernetesNodePool("bar", cluster_id=foo.id, - size="c-2", + size=digitalocean.DropletSlug.DROPLET_C2, node_count=2, tags=["backend"], labels={ @@ -548,7 +548,7 @@ def __init__(__self__, autoscale_pool_01 = digitalocean.KubernetesNodePool("autoscale-pool-01", cluster_id=digitalocean_kubernetes_cluster["foo"]["id"], - size="s-1vcpu-2gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU2_GB, auto_scale=True, min_nodes=1, max_nodes=5) diff --git a/sdk/python/pulumi_digitalocean/load_balancer.py b/sdk/python/pulumi_digitalocean/load_balancer.py index 235e8b68..476d50b4 100644 --- a/sdk/python/pulumi_digitalocean/load_balancer.py +++ b/sdk/python/pulumi_digitalocean/load_balancer.py @@ -754,11 +754,11 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean web = digitalocean.Droplet("web", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) public = digitalocean.LoadBalancer("public", - region="nyc3", + region=digitalocean.Region.NYC3, forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs( entry_port=80, entry_protocol="http", @@ -788,11 +788,11 @@ def __init__(__self__, private_key="file('key.pem')", leaf_certificate="file('cert.pem')") web = digitalocean.Droplet("web", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) public = digitalocean.LoadBalancer("public", - region="nyc3", + region=digitalocean.Region.NYC3, forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs( entry_port=443, entry_protocol="https", @@ -865,11 +865,11 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean web = digitalocean.Droplet("web", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) public = digitalocean.LoadBalancer("public", - region="nyc3", + region=digitalocean.Region.NYC3, forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs( entry_port=80, entry_protocol="http", @@ -899,11 +899,11 @@ def __init__(__self__, private_key="file('key.pem')", leaf_certificate="file('cert.pem')") web = digitalocean.Droplet("web", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) public = digitalocean.LoadBalancer("public", - region="nyc3", + region=digitalocean.Region.NYC3, forwarding_rules=[digitalocean.LoadBalancerForwardingRuleArgs( entry_port=443, entry_protocol="https", diff --git a/sdk/python/pulumi_digitalocean/project.py b/sdk/python/pulumi_digitalocean/project.py index 0dacc323..93654277 100644 --- a/sdk/python/pulumi_digitalocean/project.py +++ b/sdk/python/pulumi_digitalocean/project.py @@ -340,9 +340,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar = digitalocean.Droplet("foobar", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) playground = digitalocean.Project("playground", description="A project to represent development resources.", purpose="Web Application", @@ -419,9 +419,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar = digitalocean.Droplet("foobar", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) playground = digitalocean.Project("playground", description="A project to represent development resources.", purpose="Web Application", diff --git a/sdk/python/pulumi_digitalocean/project_resources.py b/sdk/python/pulumi_digitalocean/project_resources.py index b79efbb8..90b646b0 100644 --- a/sdk/python/pulumi_digitalocean/project_resources.py +++ b/sdk/python/pulumi_digitalocean/project_resources.py @@ -124,9 +124,9 @@ def __init__(__self__, playground = digitalocean.get_project(name="playground") foobar = digitalocean.Droplet("foobar", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) barfoo = digitalocean.ProjectResources("barfoo", project=playground.id, resources=[foobar.droplet_urn]) @@ -175,9 +175,9 @@ def __init__(__self__, playground = digitalocean.get_project(name="playground") foobar = digitalocean.Droplet("foobar", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3") + region=digitalocean.Region.NYC3) barfoo = digitalocean.ProjectResources("barfoo", project=playground.id, resources=[foobar.droplet_urn]) diff --git a/sdk/python/pulumi_digitalocean/reserved_ip.py b/sdk/python/pulumi_digitalocean/reserved_ip.py index fcf6f9ad..0a00d36e 100644 --- a/sdk/python/pulumi_digitalocean/reserved_ip.py +++ b/sdk/python/pulumi_digitalocean/reserved_ip.py @@ -160,9 +160,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3", + region=digitalocean.Region.NYC3, ipv6=True, private_networking=True) example_reserved_ip = digitalocean.ReservedIp("exampleReservedIp", @@ -204,9 +204,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3", + region=digitalocean.Region.NYC3, ipv6=True, private_networking=True) example_reserved_ip = digitalocean.ReservedIp("exampleReservedIp", diff --git a/sdk/python/pulumi_digitalocean/reserved_ip_assignment.py b/sdk/python/pulumi_digitalocean/reserved_ip_assignment.py index 9437285e..6e87056e 100644 --- a/sdk/python/pulumi_digitalocean/reserved_ip_assignment.py +++ b/sdk/python/pulumi_digitalocean/reserved_ip_assignment.py @@ -111,9 +111,9 @@ def __init__(__self__, example_reserved_ip = digitalocean.ReservedIp("exampleReservedIp", region="nyc3") example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3", + region=digitalocean.Region.NYC3, ipv6=True, private_networking=True) example_reserved_ip_assignment = digitalocean.ReservedIpAssignment("exampleReservedIpAssignment", @@ -157,9 +157,9 @@ def __init__(__self__, example_reserved_ip = digitalocean.ReservedIp("exampleReservedIp", region="nyc3") example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-22-04-x64", - region="nyc3", + region=digitalocean.Region.NYC3, ipv6=True, private_networking=True) example_reserved_ip_assignment = digitalocean.ReservedIpAssignment("exampleReservedIpAssignment", diff --git a/sdk/python/pulumi_digitalocean/spaces_bucket.py b/sdk/python/pulumi_digitalocean/spaces_bucket.py index 99e25a6f..436c1e91 100644 --- a/sdk/python/pulumi_digitalocean/spaces_bucket.py +++ b/sdk/python/pulumi_digitalocean/spaces_bucket.py @@ -37,8 +37,8 @@ def __init__(__self__, *, if acl is not None: pulumi.set(__self__, "acl", acl) if cors_rules is not None: - warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning) - pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""") + warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""", DeprecationWarning) + pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""") if cors_rules is not None: pulumi.set(__self__, "cors_rules", cors_rules) if force_destroy is not None: @@ -70,8 +70,8 @@ def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpacesBucke """ A rule of Cross-Origin Resource Sharing (documented below). """ - warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning) - pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""") + warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""", DeprecationWarning) + pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""") return pulumi.get(self, "cors_rules") @@ -173,8 +173,8 @@ def __init__(__self__, *, if bucket_urn is not None: pulumi.set(__self__, "bucket_urn", bucket_urn) if cors_rules is not None: - warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning) - pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""") + warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""", DeprecationWarning) + pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""") if cors_rules is not None: pulumi.set(__self__, "cors_rules", cors_rules) if endpoint is not None: @@ -232,8 +232,8 @@ def cors_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpacesBucke """ A rule of Cross-Origin Resource Sharing (documented below). """ - warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning) - pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""") + warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""", DeprecationWarning) + pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""") return pulumi.get(self, "cors_rules") @@ -363,7 +363,7 @@ def __init__(__self__, import pulumi import pulumi_digitalocean as digitalocean - foobar = digitalocean.SpacesBucket("foobar", region="nyc3") + foobar = digitalocean.SpacesBucket("foobar", region=digitalocean.Region.NYC3) ``` @@ -393,7 +393,7 @@ def __init__(__self__, max_age_seconds=3000, ), ], - region="nyc3") + region=digitalocean.Region.NYC3) ``` @@ -457,7 +457,7 @@ def __init__(__self__, import pulumi import pulumi_digitalocean as digitalocean - foobar = digitalocean.SpacesBucket("foobar", region="nyc3") + foobar = digitalocean.SpacesBucket("foobar", region=digitalocean.Region.NYC3) ``` @@ -487,7 +487,7 @@ def __init__(__self__, max_age_seconds=3000, ), ], - region="nyc3") + region=digitalocean.Region.NYC3) ``` @@ -624,8 +624,8 @@ def cors_rules(self) -> pulumi.Output[Optional[Sequence['outputs.SpacesBucketCor """ A rule of Cross-Origin Resource Sharing (documented below). """ - warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""", DeprecationWarning) - pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `digitalocean_spaces_bucket_cors_configuration` instead.""") + warnings.warn("""Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""", DeprecationWarning) + pulumi.log.warn("""cors_rules is deprecated: Terraform will only perform drift detection if a configuration value is provided. Use the resource `SpacesBucketCorsConfiguration` instead.""") return pulumi.get(self, "cors_rules") diff --git a/sdk/python/pulumi_digitalocean/spaces_bucket_cors_configuration.py b/sdk/python/pulumi_digitalocean/spaces_bucket_cors_configuration.py index 6aed0d71..323cc19d 100644 --- a/sdk/python/pulumi_digitalocean/spaces_bucket_cors_configuration.py +++ b/sdk/python/pulumi_digitalocean/spaces_bucket_cors_configuration.py @@ -141,7 +141,7 @@ def __init__(__self__, import pulumi import pulumi_digitalocean as digitalocean - foobar = digitalocean.SpacesBucket("foobar", region="nyc3") + foobar = digitalocean.SpacesBucket("foobar", region=digitalocean.Region.NYC3) test = digitalocean.SpacesBucketCorsConfiguration("test", bucket=foobar.id, region="nyc3", @@ -188,7 +188,7 @@ def __init__(__self__, import pulumi import pulumi_digitalocean as digitalocean - foobar = digitalocean.SpacesBucket("foobar", region="nyc3") + foobar = digitalocean.SpacesBucket("foobar", region=digitalocean.Region.NYC3) test = digitalocean.SpacesBucketCorsConfiguration("test", bucket=foobar.id, region="nyc3", diff --git a/sdk/python/pulumi_digitalocean/spaces_bucket_object.py b/sdk/python/pulumi_digitalocean/spaces_bucket_object.py index b4a6d185..83b4580c 100644 --- a/sdk/python/pulumi_digitalocean/spaces_bucket_object.py +++ b/sdk/python/pulumi_digitalocean/spaces_bucket_object.py @@ -632,7 +632,7 @@ def __init__(__self__, import pulumi import pulumi_digitalocean as digitalocean - foobar = digitalocean.SpacesBucket("foobar", region="nyc3") + foobar = digitalocean.SpacesBucket("foobar", region=digitalocean.Region.NYC3) index = digitalocean.SpacesBucketObject("index", region=foobar.region, bucket=foobar.name, @@ -714,7 +714,7 @@ def __init__(__self__, import pulumi import pulumi_digitalocean as digitalocean - foobar = digitalocean.SpacesBucket("foobar", region="nyc3") + foobar = digitalocean.SpacesBucket("foobar", region=digitalocean.Region.NYC3) index = digitalocean.SpacesBucketObject("index", region=foobar.region, bucket=foobar.name, diff --git a/sdk/python/pulumi_digitalocean/spaces_bucket_policy.py b/sdk/python/pulumi_digitalocean/spaces_bucket_policy.py index f9298f5c..1bab2782 100644 --- a/sdk/python/pulumi_digitalocean/spaces_bucket_policy.py +++ b/sdk/python/pulumi_digitalocean/spaces_bucket_policy.py @@ -140,7 +140,7 @@ def __init__(__self__, import json import pulumi_digitalocean as digitalocean - foobar_spaces_bucket = digitalocean.SpacesBucket("foobarSpacesBucket", region="nyc3") + foobar_spaces_bucket = digitalocean.SpacesBucket("foobarSpacesBucket", region=digitalocean.Region.NYC3) foobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy("foobarSpacesBucketPolicy", region=foobar_spaces_bucket.region, bucket=foobar_spaces_bucket.name, @@ -198,7 +198,7 @@ def __init__(__self__, import json import pulumi_digitalocean as digitalocean - foobar_spaces_bucket = digitalocean.SpacesBucket("foobarSpacesBucket", region="nyc3") + foobar_spaces_bucket = digitalocean.SpacesBucket("foobarSpacesBucket", region=digitalocean.Region.NYC3) foobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy("foobarSpacesBucketPolicy", region=foobar_spaces_bucket.region, bucket=foobar_spaces_bucket.name, diff --git a/sdk/python/pulumi_digitalocean/ssh_key.py b/sdk/python/pulumi_digitalocean/ssh_key.py index 2589efec..6ff7dab5 100644 --- a/sdk/python/pulumi_digitalocean/ssh_key.py +++ b/sdk/python/pulumi_digitalocean/ssh_key.py @@ -136,8 +136,8 @@ def __init__(__self__, # Create a new Droplet using the SSH key web = digitalocean.Droplet("web", image="ubuntu-18-04-x64", - region="nyc3", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, ssh_keys=[default.fingerprint]) ``` @@ -180,8 +180,8 @@ def __init__(__self__, # Create a new Droplet using the SSH key web = digitalocean.Droplet("web", image="ubuntu-18-04-x64", - region="nyc3", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, ssh_keys=[default.fingerprint]) ``` diff --git a/sdk/python/pulumi_digitalocean/tag.py b/sdk/python/pulumi_digitalocean/tag.py index ce6897eb..c10793ea 100644 --- a/sdk/python/pulumi_digitalocean/tag.py +++ b/sdk/python/pulumi_digitalocean/tag.py @@ -180,8 +180,8 @@ def __init__(__self__, # Create a new Droplet in nyc3 with the foobar tag web = digitalocean.Droplet("web", image="ubuntu-18-04-x64", - region="nyc3", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, tags=[foobar.id]) ``` @@ -222,8 +222,8 @@ def __init__(__self__, # Create a new Droplet in nyc3 with the foobar tag web = digitalocean.Droplet("web", image="ubuntu-18-04-x64", - region="nyc3", - size="s-1vcpu-1gb", + region=digitalocean.Region.NYC3, + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, tags=[foobar.id]) ``` diff --git a/sdk/python/pulumi_digitalocean/volume.py b/sdk/python/pulumi_digitalocean/volume.py index 0033b370..55d506ca 100644 --- a/sdk/python/pulumi_digitalocean/volume.py +++ b/sdk/python/pulumi_digitalocean/volume.py @@ -400,14 +400,14 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar_volume = digitalocean.Volume("foobarVolume", - region="nyc1", + region=digitalocean.Region.NYC1, size=100, - initial_filesystem_type="ext4", + initial_filesystem_type=digitalocean.FileSystemType.EXT4, description="an example volume") foobar_droplet = digitalocean.Droplet("foobarDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc1") + region=digitalocean.Region.NYC1) foobar_volume_attachment = digitalocean.VolumeAttachment("foobarVolumeAttachment", droplet_id=foobar_droplet.id, volume_id=foobar_volume.id) @@ -423,7 +423,7 @@ def __init__(__self__, foobar_volume_snapshot = digitalocean.get_volume_snapshot(name="baz") foobar_volume = digitalocean.Volume("foobarVolume", - region="lon1", + region=digitalocean.Region.LON1, size=foobar_volume_snapshot.min_disk_size, snapshot_id=foobar_volume_snapshot.id) ``` @@ -466,14 +466,14 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar_volume = digitalocean.Volume("foobarVolume", - region="nyc1", + region=digitalocean.Region.NYC1, size=100, - initial_filesystem_type="ext4", + initial_filesystem_type=digitalocean.FileSystemType.EXT4, description="an example volume") foobar_droplet = digitalocean.Droplet("foobarDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc1") + region=digitalocean.Region.NYC1) foobar_volume_attachment = digitalocean.VolumeAttachment("foobarVolumeAttachment", droplet_id=foobar_droplet.id, volume_id=foobar_volume.id) @@ -489,7 +489,7 @@ def __init__(__self__, foobar_volume_snapshot = digitalocean.get_volume_snapshot(name="baz") foobar_volume = digitalocean.Volume("foobarVolume", - region="lon1", + region=digitalocean.Region.LON1, size=foobar_volume_snapshot.min_disk_size, snapshot_id=foobar_volume_snapshot.id) ``` diff --git a/sdk/python/pulumi_digitalocean/volume_attachment.py b/sdk/python/pulumi_digitalocean/volume_attachment.py index be9e5bd7..7511c7fd 100644 --- a/sdk/python/pulumi_digitalocean/volume_attachment.py +++ b/sdk/python/pulumi_digitalocean/volume_attachment.py @@ -110,14 +110,14 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar_volume = digitalocean.Volume("foobarVolume", - region="nyc1", + region=digitalocean.Region.NYC1, size=100, - initial_filesystem_type="ext4", + initial_filesystem_type=digitalocean.FileSystemType.EXT4, description="an example volume") foobar_droplet = digitalocean.Droplet("foobarDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc1") + region=digitalocean.Region.NYC1) foobar_volume_attachment = digitalocean.VolumeAttachment("foobarVolumeAttachment", droplet_id=foobar_droplet.id, volume_id=foobar_volume.id) @@ -148,14 +148,14 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar_volume = digitalocean.Volume("foobarVolume", - region="nyc1", + region=digitalocean.Region.NYC1, size=100, - initial_filesystem_type="ext4", + initial_filesystem_type=digitalocean.FileSystemType.EXT4, description="an example volume") foobar_droplet = digitalocean.Droplet("foobarDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc1") + region=digitalocean.Region.NYC1) foobar_volume_attachment = digitalocean.VolumeAttachment("foobarVolumeAttachment", droplet_id=foobar_droplet.id, volume_id=foobar_volume.id) diff --git a/sdk/python/pulumi_digitalocean/volume_snapshot.py b/sdk/python/pulumi_digitalocean/volume_snapshot.py index b40ef2c3..3ae1fa32 100644 --- a/sdk/python/pulumi_digitalocean/volume_snapshot.py +++ b/sdk/python/pulumi_digitalocean/volume_snapshot.py @@ -206,7 +206,7 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar_volume = digitalocean.Volume("foobarVolume", - region="nyc1", + region=digitalocean.Region.NYC1, size=100, description="an example volume") foobar_volume_snapshot = digitalocean.VolumeSnapshot("foobarVolumeSnapshot", volume_id=foobar_volume.id) @@ -244,7 +244,7 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean foobar_volume = digitalocean.Volume("foobarVolume", - region="nyc1", + region=digitalocean.Region.NYC1, size=100, description="an example volume") foobar_volume_snapshot = digitalocean.VolumeSnapshot("foobarVolumeSnapshot", volume_id=foobar_volume.id) diff --git a/sdk/python/pulumi_digitalocean/vpc.py b/sdk/python/pulumi_digitalocean/vpc.py index 524df92d..a0ad108c 100644 --- a/sdk/python/pulumi_digitalocean/vpc.py +++ b/sdk/python/pulumi_digitalocean/vpc.py @@ -244,9 +244,9 @@ def __init__(__self__, example_vpc = digitalocean.Vpc("exampleVpc", region="nyc3") example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3", + region=digitalocean.Region.NYC3, vpc_uuid=example_vpc.id) ``` @@ -304,9 +304,9 @@ def __init__(__self__, example_vpc = digitalocean.Vpc("exampleVpc", region="nyc3") example_droplet = digitalocean.Droplet("exampleDroplet", - size="s-1vcpu-1gb", + size=digitalocean.DropletSlug.DROPLET_S1_VCPU1_GB, image="ubuntu-18-04-x64", - region="nyc3", + region=digitalocean.Region.NYC3, vpc_uuid=example_vpc.id) ```