diff --git a/provider/cmd/pulumi-resource-scaleway/schema.json b/provider/cmd/pulumi-resource-scaleway/schema.json index c0ea91e0..8a7582b0 100644 --- a/provider/cmd/pulumi-resource-scaleway/schema.json +++ b/provider/cmd/pulumi-resource-scaleway/schema.json @@ -739,147 +739,6 @@ } } }, - "scaleway:index/DocumentdbPrivateNetworkEndpointPrivateNetwork:DocumentdbPrivateNetworkEndpointPrivateNetwork": { - "properties": { - "hostname": { - "type": "string", - "description": "The hostname of your endpoint.\n" - }, - "id": { - "type": "string", - "description": "The private network ID.\n" - }, - "ip": { - "type": "string", - "description": "The IP of your private network service.\n" - }, - "ipNet": { - "type": "string", - "description": "The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set.\n", - "willReplaceOnChanges": true - }, - "name": { - "type": "string", - "description": "The name of your private service.\n" - }, - "port": { - "type": "integer", - "description": "The port of your private service.\n" - }, - "zone": { - "type": "string", - "description": "The zone of your endpoint.\n", - "willReplaceOnChanges": true - } - }, - "type": "object", - "required": [ - "id" - ], - "language": { - "nodejs": { - "requiredOutputs": [ - "hostname", - "id", - "ip", - "ipNet", - "name", - "port", - "zone" - ] - } - } - }, - "scaleway:index/DocumentdbReadReplicaDirectAccess:DocumentdbReadReplicaDirectAccess": { - "properties": { - "endpointId": { - "type": "string", - "description": "The ID of the endpoint of the read replica.\n" - }, - "hostname": { - "type": "string", - "description": "Hostname of the endpoint. Only one of ip and hostname may be set.\n" - }, - "ip": { - "type": "string", - "description": "IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set.\n" - }, - "name": { - "type": "string", - "description": "Name of the endpoint.\n" - }, - "port": { - "type": "integer", - "description": "TCP port of the endpoint.\n" - } - }, - "type": "object", - "language": { - "nodejs": { - "requiredOutputs": [ - "endpointId", - "hostname", - "ip", - "name", - "port" - ] - } - } - }, - "scaleway:index/DocumentdbReadReplicaPrivateNetwork:DocumentdbReadReplicaPrivateNetwork": { - "properties": { - "endpointId": { - "type": "string", - "description": "The ID of the endpoint of the read replica.\n" - }, - "hostname": { - "type": "string", - "description": "Hostname of the endpoint. Only one of ip and hostname may be set.\n" - }, - "ip": { - "type": "string", - "description": "IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set.\n" - }, - "name": { - "type": "string", - "description": "Name of the endpoint.\n" - }, - "port": { - "type": "integer", - "description": "TCP port of the endpoint.\n" - }, - "privateNetworkId": { - "type": "string", - "description": "UUID of the private network to be connected to the read replica.\n" - }, - "serviceIp": { - "type": "string", - "description": "The IP network address within the private subnet. This must be an IPv4 address with a\nCIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM)\nservice if not set.\n" - }, - "zone": { - "type": "string", - "description": "Private network zone\n" - } - }, - "type": "object", - "required": [ - "privateNetworkId" - ], - "language": { - "nodejs": { - "requiredOutputs": [ - "endpointId", - "hostname", - "ip", - "name", - "port", - "privateNetworkId", - "serviceIp", - "zone" - ] - } - } - }, "scaleway:index/DomainRecordGeoIp:DomainRecordGeoIp": { "properties": { "matches": { @@ -7283,7 +7142,7 @@ } }, "scaleway:index/cockpitAlertManager:CockpitAlertManager": { - "description": "The `scaleway.CockpitAlertManager` resource allows you to enable and manage the Scaleway Cockpit [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager).\n\nRefer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.\n\n\n## Example Usage\n\n## Import\n\nThis section explains how to import alert managers using the ID of the Project associated with Cockpit.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpitAlertManager:CockpitAlertManager main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", + "description": "The `scaleway.CockpitAlertManager` resource allows you to enable and manage the Scaleway Cockpit [alert manager](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#alert-manager).\n\nRefer to Cockpit's [product documentation](https://www.scaleway.com/en/docs/observability/cockpit/concepts/) and [API documentation](https://www.scaleway.com/en/developers/api/cockpit/regional-api) for more information.\n\n\n## Example Usage\n\n### Enable the alert manager and configure managed alerts\n\nThe following commands allow you to:\n\n- enable the alert manager in a Project named `tf_test_project`\n- enable [managed alerts](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#managed-alerts)\n- set up [contact points](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#contact-points) to receive alert notifications\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst project = new scaleway.AccountProject(\"project\", {name: \"tf_test_project\"});\nconst alertManager = new scaleway.CockpitAlertManager(\"alert_manager\", {\n projectId: project.id,\n enableManagedAlerts: true,\n contactPoints: [\n {\n email: \"alert1@example.com\",\n },\n {\n email: \"alert2@example.com\",\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nproject = scaleway.AccountProject(\"project\", name=\"tf_test_project\")\nalert_manager = scaleway.CockpitAlertManager(\"alert_manager\",\n project_id=project.id,\n enable_managed_alerts=True,\n contact_points=[\n {\n \"email\": \"alert1@example.com\",\n },\n {\n \"email\": \"alert2@example.com\",\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var project = new Scaleway.AccountProject(\"project\", new()\n {\n Name = \"tf_test_project\",\n });\n\n var alertManager = new Scaleway.CockpitAlertManager(\"alert_manager\", new()\n {\n ProjectId = project.Id,\n EnableManagedAlerts = true,\n ContactPoints = new[]\n {\n new Scaleway.Inputs.CockpitAlertManagerContactPointArgs\n {\n Email = \"alert1@example.com\",\n },\n new Scaleway.Inputs.CockpitAlertManagerContactPointArgs\n {\n Email = \"alert2@example.com\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tproject, err := scaleway.NewAccountProject(ctx, \"project\", \u0026scaleway.AccountProjectArgs{\n\t\t\tName: pulumi.String(\"tf_test_project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewCockpitAlertManager(ctx, \"alert_manager\", \u0026scaleway.CockpitAlertManagerArgs{\n\t\t\tProjectId: project.ID(),\n\t\t\tEnableManagedAlerts: pulumi.Bool(true),\n\t\t\tContactPoints: scaleway.CockpitAlertManagerContactPointArray{\n\t\t\t\t\u0026scaleway.CockpitAlertManagerContactPointArgs{\n\t\t\t\t\tEmail: pulumi.String(\"alert1@example.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.CockpitAlertManagerContactPointArgs{\n\t\t\t\t\tEmail: pulumi.String(\"alert2@example.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.AccountProject;\nimport com.pulumi.scaleway.AccountProjectArgs;\nimport com.pulumi.scaleway.CockpitAlertManager;\nimport com.pulumi.scaleway.CockpitAlertManagerArgs;\nimport com.pulumi.scaleway.inputs.CockpitAlertManagerContactPointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 project = new AccountProject(\"project\", AccountProjectArgs.builder()\n .name(\"tf_test_project\")\n .build());\n\n var alertManager = new CockpitAlertManager(\"alertManager\", CockpitAlertManagerArgs.builder()\n .projectId(project.id())\n .enableManagedAlerts(true)\n .contactPoints( \n CockpitAlertManagerContactPointArgs.builder()\n .email(\"alert1@example.com\")\n .build(),\n CockpitAlertManagerContactPointArgs.builder()\n .email(\"alert2@example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n project:\n type: scaleway:AccountProject\n properties:\n name: tf_test_project\n alertManager:\n type: scaleway:CockpitAlertManager\n name: alert_manager\n properties:\n projectId: ${project.id}\n enableManagedAlerts: true\n contactPoints:\n - email: alert1@example.com\n - email: alert2@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis section explains how to import alert managers using the ID of the Project associated with Cockpit.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/cockpitAlertManager:CockpitAlertManager main fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { "alertManagerUrl": { "type": "string", @@ -9478,761 +9337,155 @@ "type": "object" } }, - "scaleway:index/documentdbDatabase:DocumentdbDatabase": { - "description": "Creates and manages Scaleway DocumentDB database.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst instance = new scaleway.DocumentdbInstance(\"instance\", {\n name: \"test-document_db-basic\",\n nodeType: \"docdb-play2-pico\",\n engine: \"FerretDB-1\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n volumeSizeInGb: 20,\n});\nconst main = new scaleway.DocumentdbDatabase(\"main\", {\n instanceId: instance.id,\n name: \"my-new-database\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ninstance = scaleway.DocumentdbInstance(\"instance\",\n name=\"test-document_db-basic\",\n node_type=\"docdb-play2-pico\",\n engine=\"FerretDB-1\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n volume_size_in_gb=20)\nmain = scaleway.DocumentdbDatabase(\"main\",\n instance_id=instance.id,\n name=\"my-new-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = new Scaleway.DocumentdbInstance(\"instance\", new()\n {\n Name = \"test-document_db-basic\",\n NodeType = \"docdb-play2-pico\",\n Engine = \"FerretDB-1\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n VolumeSizeInGb = 20,\n });\n\n var main = new Scaleway.DocumentdbDatabase(\"main\", new()\n {\n InstanceId = instance.Id,\n Name = \"my-new-database\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := scaleway.NewDocumentdbInstance(ctx, \"instance\", \u0026scaleway.DocumentdbInstanceArgs{\n\t\t\tName: pulumi.String(\"test-document_db-basic\"),\n\t\t\tNodeType: pulumi.String(\"docdb-play2-pico\"),\n\t\t\tEngine: pulumi.String(\"FerretDB-1\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tVolumeSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDocumentdbDatabase(ctx, \"main\", \u0026scaleway.DocumentdbDatabaseArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tName: pulumi.String(\"my-new-database\"),\n\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.scaleway.DocumentdbInstance;\nimport com.pulumi.scaleway.DocumentdbInstanceArgs;\nimport com.pulumi.scaleway.DocumentdbDatabase;\nimport com.pulumi.scaleway.DocumentdbDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instance = new DocumentdbInstance(\"instance\", DocumentdbInstanceArgs.builder()\n .name(\"test-document_db-basic\")\n .nodeType(\"docdb-play2-pico\")\n .engine(\"FerretDB-1\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .volumeSizeInGb(20)\n .build());\n\n var main = new DocumentdbDatabase(\"main\", DocumentdbDatabaseArgs.builder()\n .instanceId(instance.id())\n .name(\"my-new-database\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: scaleway:DocumentdbInstance\n properties:\n name: test-document_db-basic\n nodeType: docdb-play2-pico\n engine: FerretDB-1\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n volumeSizeInGb: 20\n main:\n type: scaleway:DocumentdbDatabase\n properties:\n instanceId: ${instance.id}\n name: my-new-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDocumentDB Database can be imported using the `{region}/{id}/{DBNAME}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/documentdbDatabase:DocumentdbDatabase mydb fr-par/11111111-1111-1111-1111-111111111111/mydb\n```\n\n", + "scaleway:index/domainRecord:DomainRecord": { + "description": "The `scaleway.DomainRecord` resource allows you to create and manage DNS records for Scaleway domains.\n\nRefer to the Domains and DNS [product documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and [API documentation](https://www.scaleway.com/en/developers/api/domains-and-dns/) for more information.\n\n## Example Usage\n\n### Create basic DNS records\n\nThe folllowing commands allow you to:\n\n- create an A record for the `www.domain.tld` domain, pointing to `1.2.3.4` and another one pointing to `1.2.3.5`\n\n- create an MX record with the `mx.online.net.` mail server and a priority of 10, and another one with the `mx-cache.online.net.` mail server and a priority of 20\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst www = new scaleway.DomainRecord(\"www\", {\n dnsZone: \"domain.tld\",\n name: \"www\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n});\nconst www2 = new scaleway.DomainRecord(\"www2\", {\n dnsZone: \"domain.tld\",\n name: \"www\",\n type: \"A\",\n data: \"1.2.3.5\",\n ttl: 3600,\n});\nconst mx = new scaleway.DomainRecord(\"mx\", {\n dnsZone: \"domain.tld\",\n name: \"\",\n type: \"MX\",\n data: \"mx.online.net.\",\n ttl: 3600,\n priority: 10,\n});\nconst mx2 = new scaleway.DomainRecord(\"mx2\", {\n dnsZone: \"domain.tld\",\n name: \"\",\n type: \"MX\",\n data: \"mx-cache.online.net.\",\n ttl: 3600,\n priority: 20,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nwww = scaleway.DomainRecord(\"www\",\n dns_zone=\"domain.tld\",\n name=\"www\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600)\nwww2 = scaleway.DomainRecord(\"www2\",\n dns_zone=\"domain.tld\",\n name=\"www\",\n type=\"A\",\n data=\"1.2.3.5\",\n ttl=3600)\nmx = scaleway.DomainRecord(\"mx\",\n dns_zone=\"domain.tld\",\n name=\"\",\n type=\"MX\",\n data=\"mx.online.net.\",\n ttl=3600,\n priority=10)\nmx2 = scaleway.DomainRecord(\"mx2\",\n dns_zone=\"domain.tld\",\n name=\"\",\n type=\"MX\",\n data=\"mx-cache.online.net.\",\n ttl=3600,\n priority=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www = new Scaleway.DomainRecord(\"www\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"www\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n });\n\n var www2 = new Scaleway.DomainRecord(\"www2\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"www\",\n Type = \"A\",\n Data = \"1.2.3.5\",\n Ttl = 3600,\n });\n\n var mx = new Scaleway.DomainRecord(\"mx\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"\",\n Type = \"MX\",\n Data = \"mx.online.net.\",\n Ttl = 3600,\n Priority = 10,\n });\n\n var mx2 = new Scaleway.DomainRecord(\"mx2\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"\",\n Type = \"MX\",\n Data = \"mx-cache.online.net.\",\n Ttl = 3600,\n Priority = 20,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewDomainRecord(ctx, \"www\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"www2\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"mx\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"MX\"),\n\t\t\tData: pulumi.String(\"mx.online.net.\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tPriority: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"mx2\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"MX\"),\n\t\t\tData: pulumi.String(\"mx-cache.online.net.\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tPriority: pulumi.Int(20),\n\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.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 www = new DomainRecord(\"www\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"www\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .build());\n\n var www2 = new DomainRecord(\"www2\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"www\")\n .type(\"A\")\n .data(\"1.2.3.5\")\n .ttl(3600)\n .build());\n\n var mx = new DomainRecord(\"mx\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"\")\n .type(\"MX\")\n .data(\"mx.online.net.\")\n .ttl(3600)\n .priority(10)\n .build());\n\n var mx2 = new DomainRecord(\"mx2\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"\")\n .type(\"MX\")\n .data(\"mx-cache.online.net.\")\n .ttl(3600)\n .priority(20)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: www\n type: A\n data: 1.2.3.4\n ttl: 3600\n www2:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: www\n type: A\n data: 1.2.3.5\n ttl: 3600\n mx:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name:\n type: MX\n data: mx.online.net.\n ttl: 3600\n priority: 10\n mx2:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name:\n type: MX\n data: mx-cache.online.net.\n ttl: 3600\n priority: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create dynamic records\n\nThe folllowing commands allow you to:\n\n- create a Geo IP record for `images.domain.tld` that points to different IPs based on the user's location: `1.2.3.5` for users in France (EU), and `4.3.2.1` for users in North America (NA)\n\n- create an HTTP service record for `app.domain.tld` that checks the health of specified IPs and responds based on their status.\n\n- create view-based records for `db.domain.tld` that resolve differently based on the client's subnet.\n\n- create a weighted record for `web.domain.tld` that directs traffic to different IPs based on their weights.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst geoIp = new scaleway.DomainRecord(\"geo_ip\", {\n dnsZone: \"domain.tld\",\n name: \"images\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n geoIp: {\n matches: [\n {\n continents: [\"EU\"],\n countries: [\"FR\"],\n data: \"1.2.3.5\",\n },\n {\n continents: [\"NA\"],\n data: \"4.3.2.1\",\n },\n ],\n },\n});\nconst httpService = new scaleway.DomainRecord(\"http_service\", {\n dnsZone: \"domain.tld\",\n name: \"app\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n httpService: {\n ips: [\n \"1.2.3.5\",\n \"1.2.3.6\",\n ],\n mustContain: \"up\",\n url: \"http://mywebsite.com/health\",\n userAgent: \"scw_service_up\",\n strategy: \"hashed\",\n },\n});\nconst view = new scaleway.DomainRecord(\"view\", {\n dnsZone: \"domain.tld\",\n name: \"db\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n views: [\n {\n subnet: \"100.0.0.0/16\",\n data: \"1.2.3.5\",\n },\n {\n subnet: \"100.1.0.0/16\",\n data: \"1.2.3.6\",\n },\n ],\n});\nconst weighted = new scaleway.DomainRecord(\"weighted\", {\n dnsZone: \"domain.tld\",\n name: \"web\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n weighteds: [\n {\n ip: \"1.2.3.5\",\n weight: 1,\n },\n {\n ip: \"1.2.3.6\",\n weight: 2,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ngeo_ip = scaleway.DomainRecord(\"geo_ip\",\n dns_zone=\"domain.tld\",\n name=\"images\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n geo_ip={\n \"matches\": [\n {\n \"continents\": [\"EU\"],\n \"countries\": [\"FR\"],\n \"data\": \"1.2.3.5\",\n },\n {\n \"continents\": [\"NA\"],\n \"data\": \"4.3.2.1\",\n },\n ],\n })\nhttp_service = scaleway.DomainRecord(\"http_service\",\n dns_zone=\"domain.tld\",\n name=\"app\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n http_service={\n \"ips\": [\n \"1.2.3.5\",\n \"1.2.3.6\",\n ],\n \"must_contain\": \"up\",\n \"url\": \"http://mywebsite.com/health\",\n \"user_agent\": \"scw_service_up\",\n \"strategy\": \"hashed\",\n })\nview = scaleway.DomainRecord(\"view\",\n dns_zone=\"domain.tld\",\n name=\"db\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n views=[\n {\n \"subnet\": \"100.0.0.0/16\",\n \"data\": \"1.2.3.5\",\n },\n {\n \"subnet\": \"100.1.0.0/16\",\n \"data\": \"1.2.3.6\",\n },\n ])\nweighted = scaleway.DomainRecord(\"weighted\",\n dns_zone=\"domain.tld\",\n name=\"web\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n weighteds=[\n {\n \"ip\": \"1.2.3.5\",\n \"weight\": 1,\n },\n {\n \"ip\": \"1.2.3.6\",\n \"weight\": 2,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var geoIp = new Scaleway.DomainRecord(\"geo_ip\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"images\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n GeoIp = new Scaleway.Inputs.DomainRecordGeoIpArgs\n {\n Matches = new[]\n {\n new Scaleway.Inputs.DomainRecordGeoIpMatchArgs\n {\n Continents = new[]\n {\n \"EU\",\n },\n Countries = new[]\n {\n \"FR\",\n },\n Data = \"1.2.3.5\",\n },\n new Scaleway.Inputs.DomainRecordGeoIpMatchArgs\n {\n Continents = new[]\n {\n \"NA\",\n },\n Data = \"4.3.2.1\",\n },\n },\n },\n });\n\n var httpService = new Scaleway.DomainRecord(\"http_service\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"app\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n HttpService = new Scaleway.Inputs.DomainRecordHttpServiceArgs\n {\n Ips = new[]\n {\n \"1.2.3.5\",\n \"1.2.3.6\",\n },\n MustContain = \"up\",\n Url = \"http://mywebsite.com/health\",\n UserAgent = \"scw_service_up\",\n Strategy = \"hashed\",\n },\n });\n\n var view = new Scaleway.DomainRecord(\"view\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"db\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n Views = new[]\n {\n new Scaleway.Inputs.DomainRecordViewArgs\n {\n Subnet = \"100.0.0.0/16\",\n Data = \"1.2.3.5\",\n },\n new Scaleway.Inputs.DomainRecordViewArgs\n {\n Subnet = \"100.1.0.0/16\",\n Data = \"1.2.3.6\",\n },\n },\n });\n\n var weighted = new Scaleway.DomainRecord(\"weighted\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"web\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n Weighteds = new[]\n {\n new Scaleway.Inputs.DomainRecordWeightedArgs\n {\n Ip = \"1.2.3.5\",\n Weight = 1,\n },\n new Scaleway.Inputs.DomainRecordWeightedArgs\n {\n Ip = \"1.2.3.6\",\n Weight = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewDomainRecord(ctx, \"geo_ip\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"images\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tGeoIp: \u0026scaleway.DomainRecordGeoIpArgs{\n\t\t\t\tMatches: scaleway.DomainRecordGeoIpMatchArray{\n\t\t\t\t\t\u0026scaleway.DomainRecordGeoIpMatchArgs{\n\t\t\t\t\t\tContinents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EU\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCountries: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"FR\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026scaleway.DomainRecordGeoIpMatchArgs{\n\t\t\t\t\t\tContinents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"NA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tData: pulumi.String(\"4.3.2.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"http_service\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"app\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tHttpService: \u0026scaleway.DomainRecordHttpServiceArgs{\n\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1.2.3.5\"),\n\t\t\t\t\tpulumi.String(\"1.2.3.6\"),\n\t\t\t\t},\n\t\t\t\tMustContain: pulumi.String(\"up\"),\n\t\t\t\tUrl: pulumi.String(\"http://mywebsite.com/health\"),\n\t\t\t\tUserAgent: pulumi.String(\"scw_service_up\"),\n\t\t\t\tStrategy: pulumi.String(\"hashed\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"view\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"db\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tViews: scaleway.DomainRecordViewArray{\n\t\t\t\t\u0026scaleway.DomainRecordViewArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"100.0.0.0/16\"),\n\t\t\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.DomainRecordViewArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"100.1.0.0/16\"),\n\t\t\t\t\tData: pulumi.String(\"1.2.3.6\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"weighted\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"web\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tWeighteds: scaleway.DomainRecordWeightedArray{\n\t\t\t\t\u0026scaleway.DomainRecordWeightedArgs{\n\t\t\t\t\tIp: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.DomainRecordWeightedArgs{\n\t\t\t\t\tIp: pulumi.String(\"1.2.3.6\"),\n\t\t\t\t\tWeight: pulumi.Int(2),\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.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordGeoIpArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordHttpServiceArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordViewArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordWeightedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 geoIp = new DomainRecord(\"geoIp\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"images\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .geoIp(DomainRecordGeoIpArgs.builder()\n .matches( \n DomainRecordGeoIpMatchArgs.builder()\n .continents(\"EU\")\n .countries(\"FR\")\n .data(\"1.2.3.5\")\n .build(),\n DomainRecordGeoIpMatchArgs.builder()\n .continents(\"NA\")\n .data(\"4.3.2.1\")\n .build())\n .build())\n .build());\n\n var httpService = new DomainRecord(\"httpService\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"app\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .httpService(DomainRecordHttpServiceArgs.builder()\n .ips( \n \"1.2.3.5\",\n \"1.2.3.6\")\n .mustContain(\"up\")\n .url(\"http://mywebsite.com/health\")\n .userAgent(\"scw_service_up\")\n .strategy(\"hashed\")\n .build())\n .build());\n\n var view = new DomainRecord(\"view\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"db\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .views( \n DomainRecordViewArgs.builder()\n .subnet(\"100.0.0.0/16\")\n .data(\"1.2.3.5\")\n .build(),\n DomainRecordViewArgs.builder()\n .subnet(\"100.1.0.0/16\")\n .data(\"1.2.3.6\")\n .build())\n .build());\n\n var weighted = new DomainRecord(\"weighted\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"web\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .weighteds( \n DomainRecordWeightedArgs.builder()\n .ip(\"1.2.3.5\")\n .weight(1)\n .build(),\n DomainRecordWeightedArgs.builder()\n .ip(\"1.2.3.6\")\n .weight(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n geoIp:\n type: scaleway:DomainRecord\n name: geo_ip\n properties:\n dnsZone: domain.tld\n name: images\n type: A\n data: 1.2.3.4\n ttl: 3600\n geoIp:\n matches:\n - continents:\n - EU\n countries:\n - FR\n data: 1.2.3.5\n - continents:\n - NA\n data: 4.3.2.1\n httpService:\n type: scaleway:DomainRecord\n name: http_service\n properties:\n dnsZone: domain.tld\n name: app\n type: A\n data: 1.2.3.4\n ttl: 3600\n httpService:\n ips:\n - 1.2.3.5\n - 1.2.3.6\n mustContain: up\n url: http://mywebsite.com/health\n userAgent: scw_service_up\n strategy: hashed\n view:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: db\n type: A\n data: 1.2.3.4\n ttl: 3600\n views:\n - subnet: 100.0.0.0/16\n data: 1.2.3.5\n - subnet: 100.1.0.0/16\n data: 1.2.3.6\n weighted:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: web\n type: A\n data: 1.2.3.4\n ttl: 3600\n weighteds:\n - ip: 1.2.3.5\n weight: 1\n - ip: 1.2.3.6\n weight: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an Instance and add records with the new Instance IP\n\nThe following commands allow you to:\n\n- create a Scaleway Instance\n- assign The Instance's IP address to various DNS records for a specified DNS zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst config = new pulumi.Config();\n// Your project ID.\nconst projectId = config.require(\"projectId\");\n// The DNS Zone used for testing records.\nconst dnsZone = config.require(\"dnsZone\");\nconst publicIp = new scaleway.InstanceIp(\"public_ip\", {projectId: projectId});\nconst web = new scaleway.InstanceServer(\"web\", {\n projectId: projectId,\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n tags: [\n \"front\",\n \"web\",\n ],\n ipId: publicIp.id,\n rootVolume: {\n sizeInGb: 20,\n },\n});\nconst webA = new scaleway.DomainRecord(\"web_A\", {\n dnsZone: dnsZone,\n name: \"web\",\n type: \"A\",\n data: web.publicIp,\n ttl: 3600,\n});\nconst webCname = new scaleway.DomainRecord(\"web_cname\", {\n dnsZone: dnsZone,\n name: \"www\",\n type: \"CNAME\",\n data: `web.${dnsZone}.`,\n ttl: 3600,\n});\nconst webAlias = new scaleway.DomainRecord(\"web_alias\", {\n dnsZone: dnsZone,\n name: \"\",\n type: \"ALIAS\",\n data: `web.${dnsZone}.`,\n ttl: 3600,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nconfig = pulumi.Config()\n# Your project ID.\nproject_id = config.require(\"projectId\")\n# The DNS Zone used for testing records.\ndns_zone = config.require(\"dnsZone\")\npublic_ip = scaleway.InstanceIp(\"public_ip\", project_id=project_id)\nweb = scaleway.InstanceServer(\"web\",\n project_id=project_id,\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n tags=[\n \"front\",\n \"web\",\n ],\n ip_id=public_ip.id,\n root_volume={\n \"size_in_gb\": 20,\n })\nweb_a = scaleway.DomainRecord(\"web_A\",\n dns_zone=dns_zone,\n name=\"web\",\n type=\"A\",\n data=web.public_ip,\n ttl=3600)\nweb_cname = scaleway.DomainRecord(\"web_cname\",\n dns_zone=dns_zone,\n name=\"www\",\n type=\"CNAME\",\n data=f\"web.{dns_zone}.\",\n ttl=3600)\nweb_alias = scaleway.DomainRecord(\"web_alias\",\n dns_zone=dns_zone,\n name=\"\",\n type=\"ALIAS\",\n data=f\"web.{dns_zone}.\",\n ttl=3600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // Your project ID.\n var projectId = config.Require(\"projectId\");\n // The DNS Zone used for testing records.\n var dnsZone = config.Require(\"dnsZone\");\n var publicIp = new Scaleway.InstanceIp(\"public_ip\", new()\n {\n ProjectId = projectId,\n });\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n ProjectId = projectId,\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n Tags = new[]\n {\n \"front\",\n \"web\",\n },\n IpId = publicIp.Id,\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n SizeInGb = 20,\n },\n });\n\n var webA = new Scaleway.DomainRecord(\"web_A\", new()\n {\n DnsZone = dnsZone,\n Name = \"web\",\n Type = \"A\",\n Data = web.PublicIp,\n Ttl = 3600,\n });\n\n var webCname = new Scaleway.DomainRecord(\"web_cname\", new()\n {\n DnsZone = dnsZone,\n Name = \"www\",\n Type = \"CNAME\",\n Data = $\"web.{dnsZone}.\",\n Ttl = 3600,\n });\n\n var webAlias = new Scaleway.DomainRecord(\"web_alias\", new()\n {\n DnsZone = dnsZone,\n Name = \"\",\n Type = \"ALIAS\",\n Data = $\"web.{dnsZone}.\",\n Ttl = 3600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// Your project ID.\n\t\tprojectId := cfg.Require(\"projectId\")\n\t\t// The DNS Zone used for testing records.\n\t\tdnsZone := cfg.Require(\"dnsZone\")\n\t\tpublicIp, err := scaleway.NewInstanceIp(ctx, \"public_ip\", \u0026scaleway.InstanceIpArgs{\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tweb, err := scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"front\"),\n\t\t\t\tpulumi.String(\"web\"),\n\t\t\t},\n\t\t\tIpId: publicIp.ID(),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tSizeInGb: pulumi.Int(20),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_A\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"web\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: web.PublicIp,\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_cname\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"CNAME\"),\n\t\t\tData: pulumi.Sprintf(\"web.%v.\", dnsZone),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_alias\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"ALIAS\"),\n\t\t\tData: pulumi.Sprintf(\"web.%v.\", dnsZone),\n\t\t\tTtl: pulumi.Int(3600),\n\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.scaleway.InstanceIp;\nimport com.pulumi.scaleway.InstanceIpArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\nimport com.pulumi.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var projectId = config.get(\"projectId\");\n final var dnsZone = config.get(\"dnsZone\");\n var publicIp = new InstanceIp(\"publicIp\", InstanceIpArgs.builder()\n .projectId(projectId)\n .build());\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .projectId(projectId)\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .tags( \n \"front\",\n \"web\")\n .ipId(publicIp.id())\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .sizeInGb(20)\n .build())\n .build());\n\n var webA = new DomainRecord(\"webA\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"web\")\n .type(\"A\")\n .data(web.publicIp())\n .ttl(3600)\n .build());\n\n var webCname = new DomainRecord(\"webCname\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"www\")\n .type(\"CNAME\")\n .data(String.format(\"web.%s.\", dnsZone))\n .ttl(3600)\n .build());\n\n var webAlias = new DomainRecord(\"webAlias\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"\")\n .type(\"ALIAS\")\n .data(String.format(\"web.%s.\", dnsZone))\n .ttl(3600)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n projectId:\n type: string\n dnsZone:\n type: string\nresources:\n publicIp:\n type: scaleway:InstanceIp\n name: public_ip\n properties:\n projectId: ${projectId}\n web:\n type: scaleway:InstanceServer\n properties:\n projectId: ${projectId}\n type: DEV1-S\n image: ubuntu_jammy\n tags:\n - front\n - web\n ipId: ${publicIp.id}\n rootVolume:\n sizeInGb: 20\n webA:\n type: scaleway:DomainRecord\n name: web_A\n properties:\n dnsZone: ${dnsZone}\n name: web\n type: A\n data: ${web.publicIp}\n ttl: 3600\n webCname:\n type: scaleway:DomainRecord\n name: web_cname\n properties:\n dnsZone: ${dnsZone}\n name: www\n type: CNAME\n data: web.${dnsZone}.\n ttl: 3600\n webAlias:\n type: scaleway:DomainRecord\n name: web_alias\n properties:\n dnsZone: ${dnsZone}\n name:\n type: ALIAS\n data: web.${dnsZone}.\n ttl: 3600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Multiple records\n\nSome record types can have multiple data with the same name (e.g., `A`, `AAAA`, `MX`, `NS`, etc.). You can duplicate a `scaleway.DomainRecord` resource with the same `name`, and the records will be added.\n\nNote however, that some records (e.g., CNAME, multiple dynamic records of different types) must be unique.\n\n## Import\n\nThis section explains how to import a record using the `{dns_zone}/{id}` format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/domainRecord:DomainRecord www subdomain.domain.tld/11111111-1111-1111-1111-111111111111\n```\n\n", "properties": { - "instanceId": { + "data": { + "type": "string", + "description": "The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).\n" + }, + "dnsZone": { "type": "string", - "description": "UUID of the documentdb instance.\n\n\u003e **Important:** Updates to `instance_id` will recreate the Database.\n" + "description": "The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created.\n" }, - "managed": { + "fqdn": { + "type": "string", + "description": "The FQDN of the record.\n" + }, + "geoIp": { + "$ref": "#/types/scaleway:index/DomainRecordGeoIp:DomainRecordGeoIp", + "description": "Return record based on client localisation\n" + }, + "httpService": { + "$ref": "#/types/scaleway:index/DomainRecordHttpService:DomainRecordHttpService", + "description": "Return record based on client localisation\n" + }, + "keepEmptyZone": { "type": "boolean", - "description": "Whether the database is managed or not.\n" + "description": "When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Note that each zone not deleted will [be billed](https://www.scaleway.com/en/dns/).\n" }, "name": { "type": "string", - "description": "Name of the database (e.g. `my-new-database`).\n" + "description": "The name of the record (can be an empty string for a root record).\n" }, - "owner": { - "type": "string", - "description": "The name of the owner of the database.\n" + "priority": { + "type": "integer", + "description": "The priority of the record (mostly used with an `MX` record).\n" }, "projectId": { "type": "string", "description": "The project_id you want to attach the resource to\n" }, - "region": { - "type": "string", - "description": "`region`) The region in which the resource exists.\n" + "rootZone": { + "type": "boolean", + "description": "Does the DNS zone is the root zone or not\n" }, - "size": { + "ttl": { + "type": "integer", + "description": "Time To Live of the record in seconds.\n" + }, + "type": { "type": "string", - "description": "Size in gigabytes of the database.\n" + "description": "The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`).\n" + }, + "views": { + "type": "array", + "items": { + "$ref": "#/types/scaleway:index/DomainRecordView:DomainRecordView" + }, + "description": "Return record based on client subnet\n" + }, + "weighteds": { + "type": "array", + "items": { + "$ref": "#/types/scaleway:index/DomainRecordWeighted:DomainRecordWeighted" + }, + "description": "Return record based on weight\n" } }, "required": [ - "instanceId", - "managed", + "data", + "dnsZone", + "fqdn", "name", - "owner", + "priority", "projectId", - "region", - "size" + "rootZone", + "type" ], "inputProperties": { - "instanceId": { + "data": { + "type": "string", + "description": "The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).\n" + }, + "dnsZone": { "type": "string", - "description": "UUID of the documentdb instance.\n\n\u003e **Important:** Updates to `instance_id` will recreate the Database.\n", + "description": "The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created.\n", "willReplaceOnChanges": true }, + "geoIp": { + "$ref": "#/types/scaleway:index/DomainRecordGeoIp:DomainRecordGeoIp", + "description": "Return record based on client localisation\n" + }, + "httpService": { + "$ref": "#/types/scaleway:index/DomainRecordHttpService:DomainRecordHttpService", + "description": "Return record based on client localisation\n" + }, + "keepEmptyZone": { + "type": "boolean", + "description": "When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Note that each zone not deleted will [be billed](https://www.scaleway.com/en/dns/).\n" + }, "name": { "type": "string", - "description": "Name of the database (e.g. `my-new-database`).\n", + "description": "The name of the record (can be an empty string for a root record).\n", "willReplaceOnChanges": true }, + "priority": { + "type": "integer", + "description": "The priority of the record (mostly used with an `MX` record).\n" + }, "projectId": { "type": "string", "description": "The project_id you want to attach the resource to\n", "willReplaceOnChanges": true }, - "region": { + "ttl": { + "type": "integer", + "description": "Time To Live of the record in seconds.\n" + }, + "type": { "type": "string", - "description": "`region`) The region in which the resource exists.\n", + "description": "The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`).\n", "willReplaceOnChanges": true + }, + "views": { + "type": "array", + "items": { + "$ref": "#/types/scaleway:index/DomainRecordView:DomainRecordView" + }, + "description": "Return record based on client subnet\n" + }, + "weighteds": { + "type": "array", + "items": { + "$ref": "#/types/scaleway:index/DomainRecordWeighted:DomainRecordWeighted" + }, + "description": "Return record based on weight\n" } }, "requiredInputs": [ - "instanceId" + "data", + "dnsZone", + "type" ], "stateInputs": { - "description": "Input properties used for looking up and filtering DocumentdbDatabase resources.\n", + "description": "Input properties used for looking up and filtering DomainRecord resources.\n", "properties": { - "instanceId": { + "data": { "type": "string", - "description": "UUID of the documentdb instance.\n\n\u003e **Important:** Updates to `instance_id` will recreate the Database.\n", - "willReplaceOnChanges": true - }, - "managed": { - "type": "boolean", - "description": "Whether the database is managed or not.\n" + "description": "The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).\n" }, - "name": { - "type": "string", - "description": "Name of the database (e.g. `my-new-database`).\n", - "willReplaceOnChanges": true - }, - "owner": { - "type": "string", - "description": "The name of the owner of the database.\n" - }, - "projectId": { - "type": "string", - "description": "The project_id you want to attach the resource to\n", - "willReplaceOnChanges": true - }, - "region": { - "type": "string", - "description": "`region`) The region in which the resource exists.\n", - "willReplaceOnChanges": true - }, - "size": { - "type": "string", - "description": "Size in gigabytes of the database.\n" - } - }, - "type": "object" - } - }, - "scaleway:index/documentdbInstance:DocumentdbInstance": { - "description": "Creates and manages Scaleway Database Instances.\n\n## Example Usage\n\n### Example Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst main = new scaleway.DocumentdbInstance(\"main\", {\n name: \"test-documentdb-instance-basic\",\n nodeType: \"docdb-play2-pico\",\n engine: \"FerretDB-1\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n tags: [\n \"terraform-test\",\n \"scaleway_documentdb_instance\",\n \"minimal\",\n ],\n volumeSizeInGb: 20,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nmain = scaleway.DocumentdbInstance(\"main\",\n name=\"test-documentdb-instance-basic\",\n node_type=\"docdb-play2-pico\",\n engine=\"FerretDB-1\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n tags=[\n \"terraform-test\",\n \"scaleway_documentdb_instance\",\n \"minimal\",\n ],\n volume_size_in_gb=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var main = new Scaleway.DocumentdbInstance(\"main\", new()\n {\n Name = \"test-documentdb-instance-basic\",\n NodeType = \"docdb-play2-pico\",\n Engine = \"FerretDB-1\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n Tags = new[]\n {\n \"terraform-test\",\n \"scaleway_documentdb_instance\",\n \"minimal\",\n },\n VolumeSizeInGb = 20,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewDocumentdbInstance(ctx, \"main\", \u0026scaleway.DocumentdbInstanceArgs{\n\t\t\tName: pulumi.String(\"test-documentdb-instance-basic\"),\n\t\t\tNodeType: pulumi.String(\"docdb-play2-pico\"),\n\t\t\tEngine: pulumi.String(\"FerretDB-1\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform-test\"),\n\t\t\t\tpulumi.String(\"scaleway_documentdb_instance\"),\n\t\t\t\tpulumi.String(\"minimal\"),\n\t\t\t},\n\t\t\tVolumeSizeInGb: pulumi.Int(20),\n\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.scaleway.DocumentdbInstance;\nimport com.pulumi.scaleway.DocumentdbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 main = new DocumentdbInstance(\"main\", DocumentdbInstanceArgs.builder()\n .name(\"test-documentdb-instance-basic\")\n .nodeType(\"docdb-play2-pico\")\n .engine(\"FerretDB-1\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .tags( \n \"terraform-test\",\n \"scaleway_documentdb_instance\",\n \"minimal\")\n .volumeSizeInGb(20)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n main:\n type: scaleway:DocumentdbInstance\n properties:\n name: test-documentdb-instance-basic\n nodeType: docdb-play2-pico\n engine: FerretDB-1\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n tags:\n - terraform-test\n - scaleway_documentdb_instance\n - minimal\n volumeSizeInGb: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase Instance can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/documentdbInstance:DocumentdbInstance db fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", - "properties": { - "engine": { - "type": "string", - "description": "Database Instance's engine version (e.g. `FerretDB-1`).\n\n\u003e **Important:** Updates to `engine` will recreate the Database Instance.\n" - }, - "isHaCluster": { - "type": "boolean", - "description": "Enable or disable high availability for the database instance.\n" - }, - "name": { - "type": "string", - "description": "The name of the Database Instance.\n" - }, - "nodeType": { - "type": "string", - "description": "The type of database instance you want to create (e.g. `docdb-play2-pico`).\n\n\u003e **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any\ninterruption. Keep in mind that you cannot downgrade a Database Instance.\n" - }, - "password": { - "type": "string", - "description": "Password for the first user of the database instance.\n", - "secret": true - }, - "projectId": { - "type": "string", - "description": "`project_id`) The ID of the project the Database\nInstance is associated with.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region\nin which the Database Instance should be created.\n" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The tags associated with the Database Instance.\n" - }, - "telemetryEnabled": { - "type": "boolean", - "description": "Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry).\n\n\u003e **Important:** Updates to `is_ha_cluster` will recreate the Database Instance.\n" - }, - "userName": { - "type": "string", - "description": "Identifier for the first user of the database instance.\n\n\u003e **Important:** Updates to `user_name` will recreate the Database Instance.\n" - }, - "volumeSizeInGb": { - "type": "integer", - "description": "Volume size (in GB) when `volume_type` is set to `bssd`.\n" - }, - "volumeType": { - "type": "string", - "description": "Type of volume where data are stored (`bssd` or `lssd`).\n" - } - }, - "required": [ - "engine", - "name", - "nodeType", - "projectId", - "region", - "volumeSizeInGb" - ], - "inputProperties": { - "engine": { - "type": "string", - "description": "Database Instance's engine version (e.g. `FerretDB-1`).\n\n\u003e **Important:** Updates to `engine` will recreate the Database Instance.\n", - "willReplaceOnChanges": true - }, - "isHaCluster": { - "type": "boolean", - "description": "Enable or disable high availability for the database instance.\n" - }, - "name": { - "type": "string", - "description": "The name of the Database Instance.\n" - }, - "nodeType": { - "type": "string", - "description": "The type of database instance you want to create (e.g. `docdb-play2-pico`).\n\n\u003e **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any\ninterruption. Keep in mind that you cannot downgrade a Database Instance.\n" - }, - "password": { - "type": "string", - "description": "Password for the first user of the database instance.\n", - "secret": true, - "willReplaceOnChanges": true - }, - "projectId": { - "type": "string", - "description": "`project_id`) The ID of the project the Database\nInstance is associated with.\n", - "willReplaceOnChanges": true - }, - "region": { - "type": "string", - "description": "`region`) The region\nin which the Database Instance should be created.\n", - "willReplaceOnChanges": true - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The tags associated with the Database Instance.\n" - }, - "telemetryEnabled": { - "type": "boolean", - "description": "Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry).\n\n\u003e **Important:** Updates to `is_ha_cluster` will recreate the Database Instance.\n" - }, - "userName": { - "type": "string", - "description": "Identifier for the first user of the database instance.\n\n\u003e **Important:** Updates to `user_name` will recreate the Database Instance.\n", - "willReplaceOnChanges": true - }, - "volumeSizeInGb": { - "type": "integer", - "description": "Volume size (in GB) when `volume_type` is set to `bssd`.\n" - }, - "volumeType": { - "type": "string", - "description": "Type of volume where data are stored (`bssd` or `lssd`).\n" - } - }, - "requiredInputs": [ - "engine", - "nodeType" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering DocumentdbInstance resources.\n", - "properties": { - "engine": { - "type": "string", - "description": "Database Instance's engine version (e.g. `FerretDB-1`).\n\n\u003e **Important:** Updates to `engine` will recreate the Database Instance.\n", - "willReplaceOnChanges": true - }, - "isHaCluster": { - "type": "boolean", - "description": "Enable or disable high availability for the database instance.\n" - }, - "name": { - "type": "string", - "description": "The name of the Database Instance.\n" - }, - "nodeType": { - "type": "string", - "description": "The type of database instance you want to create (e.g. `docdb-play2-pico`).\n\n\u003e **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any\ninterruption. Keep in mind that you cannot downgrade a Database Instance.\n" - }, - "password": { - "type": "string", - "description": "Password for the first user of the database instance.\n", - "secret": true, - "willReplaceOnChanges": true - }, - "projectId": { - "type": "string", - "description": "`project_id`) The ID of the project the Database\nInstance is associated with.\n", - "willReplaceOnChanges": true - }, - "region": { - "type": "string", - "description": "`region`) The region\nin which the Database Instance should be created.\n", - "willReplaceOnChanges": true - }, - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The tags associated with the Database Instance.\n" - }, - "telemetryEnabled": { - "type": "boolean", - "description": "Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry).\n\n\u003e **Important:** Updates to `is_ha_cluster` will recreate the Database Instance.\n" - }, - "userName": { - "type": "string", - "description": "Identifier for the first user of the database instance.\n\n\u003e **Important:** Updates to `user_name` will recreate the Database Instance.\n", - "willReplaceOnChanges": true - }, - "volumeSizeInGb": { - "type": "integer", - "description": "Volume size (in GB) when `volume_type` is set to `bssd`.\n" - }, - "volumeType": { - "type": "string", - "description": "Type of volume where data are stored (`bssd` or `lssd`).\n" - } - }, - "type": "object" - } - }, - "scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint": { - "description": "Creates and manages Scaleway Database Private Network Endpoint.\n\n## Example Usage\n\n### Example Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {name: \"my_private_network\"});\nconst instance = new scaleway.DocumentdbInstance(\"instance\", {\n name: \"test-document_db-basic\",\n nodeType: \"docdb-play2-pico\",\n engine: \"FerretDB-1\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n volumeSizeInGb: 20,\n});\nconst main = new scaleway.DocumentdbPrivateNetworkEndpoint(\"main\", {\n instanceId: instance.id,\n privateNetwork: {\n ipNet: \"172.16.32.3/22\",\n id: pn.id,\n },\n}, {\n dependsOn: [pn],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\", name=\"my_private_network\")\ninstance = scaleway.DocumentdbInstance(\"instance\",\n name=\"test-document_db-basic\",\n node_type=\"docdb-play2-pico\",\n engine=\"FerretDB-1\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n volume_size_in_gb=20)\nmain = scaleway.DocumentdbPrivateNetworkEndpoint(\"main\",\n instance_id=instance.id,\n private_network={\n \"ip_net\": \"172.16.32.3/22\",\n \"id\": pn.id,\n },\n opts = pulumi.ResourceOptions(depends_on=[pn]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\", new()\n {\n Name = \"my_private_network\",\n });\n\n var instance = new Scaleway.DocumentdbInstance(\"instance\", new()\n {\n Name = \"test-document_db-basic\",\n NodeType = \"docdb-play2-pico\",\n Engine = \"FerretDB-1\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n VolumeSizeInGb = 20,\n });\n\n var main = new Scaleway.DocumentdbPrivateNetworkEndpoint(\"main\", new()\n {\n InstanceId = instance.Id,\n PrivateNetwork = new Scaleway.Inputs.DocumentdbPrivateNetworkEndpointPrivateNetworkArgs\n {\n IpNet = \"172.16.32.3/22\",\n Id = pn.Id,\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n pn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"my_private_network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := scaleway.NewDocumentdbInstance(ctx, \"instance\", \u0026scaleway.DocumentdbInstanceArgs{\n\t\t\tName: pulumi.String(\"test-document_db-basic\"),\n\t\t\tNodeType: pulumi.String(\"docdb-play2-pico\"),\n\t\t\tEngine: pulumi.String(\"FerretDB-1\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tVolumeSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDocumentdbPrivateNetworkEndpoint(ctx, \"main\", \u0026scaleway.DocumentdbPrivateNetworkEndpointArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tPrivateNetwork: \u0026scaleway.DocumentdbPrivateNetworkEndpointPrivateNetworkArgs{\n\t\t\t\tIpNet: pulumi.String(\"172.16.32.3/22\"),\n\t\t\t\tId: pn.ID(),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tpn,\n\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.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.DocumentdbInstance;\nimport com.pulumi.scaleway.DocumentdbInstanceArgs;\nimport com.pulumi.scaleway.DocumentdbPrivateNetworkEndpoint;\nimport com.pulumi.scaleway.DocumentdbPrivateNetworkEndpointArgs;\nimport com.pulumi.scaleway.inputs.DocumentdbPrivateNetworkEndpointPrivateNetworkArgs;\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 pn = new VpcPrivateNetwork(\"pn\", VpcPrivateNetworkArgs.builder()\n .name(\"my_private_network\")\n .build());\n\n var instance = new DocumentdbInstance(\"instance\", DocumentdbInstanceArgs.builder()\n .name(\"test-document_db-basic\")\n .nodeType(\"docdb-play2-pico\")\n .engine(\"FerretDB-1\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .volumeSizeInGb(20)\n .build());\n\n var main = new DocumentdbPrivateNetworkEndpoint(\"main\", DocumentdbPrivateNetworkEndpointArgs.builder()\n .instanceId(instance.id())\n .privateNetwork(DocumentdbPrivateNetworkEndpointPrivateNetworkArgs.builder()\n .ipNet(\"172.16.32.3/22\")\n .id(pn.id())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(pn)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: my_private_network\n instance:\n type: scaleway:DocumentdbInstance\n properties:\n name: test-document_db-basic\n nodeType: docdb-play2-pico\n engine: FerretDB-1\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n volumeSizeInGb: 20\n main:\n type: scaleway:DocumentdbPrivateNetworkEndpoint\n properties:\n instanceId: ${instance.id}\n privateNetwork:\n ipNet: 172.16.32.3/22\n id: ${pn.id}\n options:\n dependson:\n - ${pn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase Instance Endpoint can be imported using the `{region}/{endpoint_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint end fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", - "properties": { - "instanceId": { - "type": "string", - "description": "UUID of the documentdb instance.\n" - }, - "privateNetwork": { - "$ref": "#/types/scaleway:index/DocumentdbPrivateNetworkEndpointPrivateNetwork:DocumentdbPrivateNetworkEndpointPrivateNetwork", - "description": "The private network specs details. This is a list with maximum one element and supports the following attributes:\n" - }, - "region": { - "type": "string", - "description": "The region of the endpoint.\n\n\n\u003e **NOTE:** Please calculate your host IP.\nusing cirhost. Otherwise, lets IPAM service\nhandle the host IP on the network.\n" - } - }, - "required": [ - "instanceId", - "region" - ], - "inputProperties": { - "instanceId": { - "type": "string", - "description": "UUID of the documentdb instance.\n" - }, - "privateNetwork": { - "$ref": "#/types/scaleway:index/DocumentdbPrivateNetworkEndpointPrivateNetwork:DocumentdbPrivateNetworkEndpointPrivateNetwork", - "description": "The private network specs details. This is a list with maximum one element and supports the following attributes:\n" - }, - "region": { - "type": "string", - "description": "The region of the endpoint.\n\n\n\u003e **NOTE:** Please calculate your host IP.\nusing cirhost. Otherwise, lets IPAM service\nhandle the host IP on the network.\n", - "willReplaceOnChanges": true - } - }, - "requiredInputs": [ - "instanceId" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering DocumentdbPrivateNetworkEndpoint resources.\n", - "properties": { - "instanceId": { - "type": "string", - "description": "UUID of the documentdb instance.\n" - }, - "privateNetwork": { - "$ref": "#/types/scaleway:index/DocumentdbPrivateNetworkEndpointPrivateNetwork:DocumentdbPrivateNetworkEndpointPrivateNetwork", - "description": "The private network specs details. This is a list with maximum one element and supports the following attributes:\n" - }, - "region": { - "type": "string", - "description": "The region of the endpoint.\n\n\n\u003e **NOTE:** Please calculate your host IP.\nusing cirhost. Otherwise, lets IPAM service\nhandle the host IP on the network.\n", - "willReplaceOnChanges": true - } - }, - "type": "object" - } - }, - "scaleway:index/documentdbPrivilege:DocumentdbPrivilege": { - "description": "Create and manage Scaleway DocumentDB database privilege.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst instance = new scaleway.DocumentdbInstance(\"instance\", {\n name: \"test-document_db-basic\",\n nodeType: \"docdb-play2-pico\",\n engine: \"FerretDB-1\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n volumeSizeInGb: 20,\n});\nconst main = new scaleway.DocumentdbPrivilege(\"main\", {\n instanceId: instance.id,\n userName: \"my-db-user\",\n databaseName: \"my-db-name\",\n permission: \"all\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ninstance = scaleway.DocumentdbInstance(\"instance\",\n name=\"test-document_db-basic\",\n node_type=\"docdb-play2-pico\",\n engine=\"FerretDB-1\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n volume_size_in_gb=20)\nmain = scaleway.DocumentdbPrivilege(\"main\",\n instance_id=instance.id,\n user_name=\"my-db-user\",\n database_name=\"my-db-name\",\n permission=\"all\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = new Scaleway.DocumentdbInstance(\"instance\", new()\n {\n Name = \"test-document_db-basic\",\n NodeType = \"docdb-play2-pico\",\n Engine = \"FerretDB-1\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n VolumeSizeInGb = 20,\n });\n\n var main = new Scaleway.DocumentdbPrivilege(\"main\", new()\n {\n InstanceId = instance.Id,\n UserName = \"my-db-user\",\n DatabaseName = \"my-db-name\",\n Permission = \"all\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := scaleway.NewDocumentdbInstance(ctx, \"instance\", \u0026scaleway.DocumentdbInstanceArgs{\n\t\t\tName: pulumi.String(\"test-document_db-basic\"),\n\t\t\tNodeType: pulumi.String(\"docdb-play2-pico\"),\n\t\t\tEngine: pulumi.String(\"FerretDB-1\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tVolumeSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDocumentdbPrivilege(ctx, \"main\", \u0026scaleway.DocumentdbPrivilegeArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tUserName: pulumi.String(\"my-db-user\"),\n\t\t\tDatabaseName: pulumi.String(\"my-db-name\"),\n\t\t\tPermission: pulumi.String(\"all\"),\n\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.scaleway.DocumentdbInstance;\nimport com.pulumi.scaleway.DocumentdbInstanceArgs;\nimport com.pulumi.scaleway.DocumentdbPrivilege;\nimport com.pulumi.scaleway.DocumentdbPrivilegeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instance = new DocumentdbInstance(\"instance\", DocumentdbInstanceArgs.builder()\n .name(\"test-document_db-basic\")\n .nodeType(\"docdb-play2-pico\")\n .engine(\"FerretDB-1\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .volumeSizeInGb(20)\n .build());\n\n var main = new DocumentdbPrivilege(\"main\", DocumentdbPrivilegeArgs.builder()\n .instanceId(instance.id())\n .userName(\"my-db-user\")\n .databaseName(\"my-db-name\")\n .permission(\"all\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: scaleway:DocumentdbInstance\n properties:\n name: test-document_db-basic\n nodeType: docdb-play2-pico\n engine: FerretDB-1\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n volumeSizeInGb: 20\n main:\n type: scaleway:DocumentdbPrivilege\n properties:\n instanceId: ${instance.id}\n userName: my-db-user\n databaseName: my-db-name\n permission: all\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe user privileges can be imported using the `{region}/{instance_id}/{database_name}/{user_name}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/documentdbPrivilege:DocumentdbPrivilege o fr-par/11111111-1111-1111-1111-111111111111/database_name/foo\n```\n\n", - "properties": { - "databaseName": { - "type": "string", - "description": "Name of the database (e.g. `my-db-name`).\n" - }, - "instanceId": { - "type": "string", - "description": "UUID of the rdb instance.\n" - }, - "permission": { - "type": "string", - "description": "Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region in which the resource exists.\n" - }, - "userName": { - "type": "string", - "description": "Name of the user (e.g. `my-db-user`).\n" - } - }, - "required": [ - "databaseName", - "instanceId", - "permission", - "region", - "userName" - ], - "inputProperties": { - "databaseName": { - "type": "string", - "description": "Name of the database (e.g. `my-db-name`).\n" - }, - "instanceId": { - "type": "string", - "description": "UUID of the rdb instance.\n", - "willReplaceOnChanges": true - }, - "permission": { - "type": "string", - "description": "Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region in which the resource exists.\n", - "willReplaceOnChanges": true - }, - "userName": { - "type": "string", - "description": "Name of the user (e.g. `my-db-user`).\n" - } - }, - "requiredInputs": [ - "databaseName", - "instanceId", - "permission", - "userName" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering DocumentdbPrivilege resources.\n", - "properties": { - "databaseName": { - "type": "string", - "description": "Name of the database (e.g. `my-db-name`).\n" - }, - "instanceId": { - "type": "string", - "description": "UUID of the rdb instance.\n", - "willReplaceOnChanges": true - }, - "permission": { - "type": "string", - "description": "Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region in which the resource exists.\n", - "willReplaceOnChanges": true - }, - "userName": { - "type": "string", - "description": "Name of the user (e.g. `my-db-user`).\n" - } - }, - "type": "object" - } - }, - "scaleway:index/documentdbReadReplica:DocumentdbReadReplica": { - "description": "Creates and manages Scaleway DocumentDB Database read replicas.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst replica = new scaleway.DocumentdbReadReplica(\"replica\", {\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n directAccess: {},\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nreplica = scaleway.DocumentdbReadReplica(\"replica\",\n instance_id=\"11111111-1111-1111-1111-111111111111\",\n direct_access={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replica = new Scaleway.DocumentdbReadReplica(\"replica\", new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n DirectAccess = null,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewDocumentdbReadReplica(ctx, \"replica\", \u0026scaleway.DocumentdbReadReplicaArgs{\n\t\t\tInstanceId: pulumi.String(\"11111111-1111-1111-1111-111111111111\"),\n\t\t\tDirectAccess: \u0026scaleway.DocumentdbReadReplicaDirectAccessArgs{},\n\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.scaleway.DocumentdbReadReplica;\nimport com.pulumi.scaleway.DocumentdbReadReplicaArgs;\nimport com.pulumi.scaleway.inputs.DocumentdbReadReplicaDirectAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 replica = new DocumentdbReadReplica(\"replica\", DocumentdbReadReplicaArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .directAccess()\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replica:\n type: scaleway:DocumentdbReadReplica\n properties:\n instanceId: 11111111-1111-1111-1111-111111111111\n directAccess: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Private network\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn = new scaleway.VpcPrivateNetwork(\"pn\", {});\nconst instance = new scaleway.DocumentdbInstance(\"instance\", {\n name: \"document_db-read-replica-basic\",\n nodeType: \"docdb-play2-pico\",\n engine: \"FerretDB-1\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n volumeSizeInGb: 20,\n});\nconst replica = new scaleway.DocumentdbReadReplica(\"replica\", {\n instanceId: instance.id,\n privateNetwork: {\n privateNetworkId: pn.id,\n serviceIp: \"192.168.1.254/24\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn = scaleway.VpcPrivateNetwork(\"pn\")\ninstance = scaleway.DocumentdbInstance(\"instance\",\n name=\"document_db-read-replica-basic\",\n node_type=\"docdb-play2-pico\",\n engine=\"FerretDB-1\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n volume_size_in_gb=20)\nreplica = scaleway.DocumentdbReadReplica(\"replica\",\n instance_id=instance.id,\n private_network={\n \"private_network_id\": pn.id,\n \"service_ip\": \"192.168.1.254/24\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn = new Scaleway.VpcPrivateNetwork(\"pn\");\n\n var instance = new Scaleway.DocumentdbInstance(\"instance\", new()\n {\n Name = \"document_db-read-replica-basic\",\n NodeType = \"docdb-play2-pico\",\n Engine = \"FerretDB-1\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n VolumeSizeInGb = 20,\n });\n\n var replica = new Scaleway.DocumentdbReadReplica(\"replica\", new()\n {\n InstanceId = instance.Id,\n PrivateNetwork = new Scaleway.Inputs.DocumentdbReadReplicaPrivateNetworkArgs\n {\n PrivateNetworkId = pn.Id,\n ServiceIp = \"192.168.1.254/24\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := scaleway.NewDocumentdbInstance(ctx, \"instance\", \u0026scaleway.DocumentdbInstanceArgs{\n\t\t\tName: pulumi.String(\"document_db-read-replica-basic\"),\n\t\t\tNodeType: pulumi.String(\"docdb-play2-pico\"),\n\t\t\tEngine: pulumi.String(\"FerretDB-1\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tVolumeSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDocumentdbReadReplica(ctx, \"replica\", \u0026scaleway.DocumentdbReadReplicaArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tPrivateNetwork: \u0026scaleway.DocumentdbReadReplicaPrivateNetworkArgs{\n\t\t\t\tPrivateNetworkId: pn.ID(),\n\t\t\t\tServiceIp: pulumi.String(\"192.168.1.254/24\"),\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.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.DocumentdbInstance;\nimport com.pulumi.scaleway.DocumentdbInstanceArgs;\nimport com.pulumi.scaleway.DocumentdbReadReplica;\nimport com.pulumi.scaleway.DocumentdbReadReplicaArgs;\nimport com.pulumi.scaleway.inputs.DocumentdbReadReplicaPrivateNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pn = new VpcPrivateNetwork(\"pn\");\n\n var instance = new DocumentdbInstance(\"instance\", DocumentdbInstanceArgs.builder()\n .name(\"document_db-read-replica-basic\")\n .nodeType(\"docdb-play2-pico\")\n .engine(\"FerretDB-1\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .volumeSizeInGb(20)\n .build());\n\n var replica = new DocumentdbReadReplica(\"replica\", DocumentdbReadReplicaArgs.builder()\n .instanceId(instance.id())\n .privateNetwork(DocumentdbReadReplicaPrivateNetworkArgs.builder()\n .privateNetworkId(pn.id())\n .serviceIp(\"192.168.1.254/24\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn:\n type: scaleway:VpcPrivateNetwork\n instance:\n type: scaleway:DocumentdbInstance\n properties:\n name: document_db-read-replica-basic\n nodeType: docdb-play2-pico\n engine: FerretDB-1\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n volumeSizeInGb: 20\n replica:\n type: scaleway:DocumentdbReadReplica\n properties:\n instanceId: ${instance.id}\n privateNetwork:\n privateNetworkId: ${pn.id}\n serviceIp: 192.168.1.254/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase Read replica can be imported using the `{region}/{id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/documentdbReadReplica:DocumentdbReadReplica rr fr-par/11111111-1111-1111-1111-111111111111\n```\n\n", - "properties": { - "directAccess": { - "$ref": "#/types/scaleway:index/DocumentdbReadReplicaDirectAccess:DocumentdbReadReplicaDirectAccess", - "description": "Creates a direct access endpoint to documentdb replica.\n" - }, - "instanceId": { - "type": "string", - "description": "UUID of the documentdb instance.\n\n\u003e **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both.\n" - }, - "privateNetwork": { - "$ref": "#/types/scaleway:index/DocumentdbReadReplicaPrivateNetwork:DocumentdbReadReplicaPrivateNetwork", - "description": "Create an endpoint in a private network.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region\nin which the Database read replica should be created.\n" - } - }, - "required": [ - "instanceId", - "region" - ], - "inputProperties": { - "directAccess": { - "$ref": "#/types/scaleway:index/DocumentdbReadReplicaDirectAccess:DocumentdbReadReplicaDirectAccess", - "description": "Creates a direct access endpoint to documentdb replica.\n" - }, - "instanceId": { - "type": "string", - "description": "UUID of the documentdb instance.\n\n\u003e **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both.\n" - }, - "privateNetwork": { - "$ref": "#/types/scaleway:index/DocumentdbReadReplicaPrivateNetwork:DocumentdbReadReplicaPrivateNetwork", - "description": "Create an endpoint in a private network.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region\nin which the Database read replica should be created.\n", - "willReplaceOnChanges": true - } - }, - "requiredInputs": [ - "instanceId" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering DocumentdbReadReplica resources.\n", - "properties": { - "directAccess": { - "$ref": "#/types/scaleway:index/DocumentdbReadReplicaDirectAccess:DocumentdbReadReplicaDirectAccess", - "description": "Creates a direct access endpoint to documentdb replica.\n" - }, - "instanceId": { - "type": "string", - "description": "UUID of the documentdb instance.\n\n\u003e **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both.\n" - }, - "privateNetwork": { - "$ref": "#/types/scaleway:index/DocumentdbReadReplicaPrivateNetwork:DocumentdbReadReplicaPrivateNetwork", - "description": "Create an endpoint in a private network.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region\nin which the Database read replica should be created.\n", - "willReplaceOnChanges": true - } - }, - "type": "object" - } - }, - "scaleway:index/documentdbUser:DocumentdbUser": { - "description": "Creates and manages Scaleway Database DocumentDB Users.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as random from \"@pulumi/random\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst instance = new scaleway.DocumentdbInstance(\"instance\", {\n name: \"test-document_db-basic\",\n nodeType: \"docdb-play2-pico\",\n engine: \"FerretDB-1\",\n userName: \"my_initial_user\",\n password: \"thiZ_is_v\u0026ry_s3cret\",\n volumeSizeInGb: 20,\n});\nconst dbPassword = new random.RandomPassword(\"db_password\", {\n length: 16,\n special: true,\n});\nconst dbAdmin = new scaleway.DocumentdbUser(\"db_admin\", {\n instanceId: instance.id,\n name: \"devtools\",\n password: dbPassword.result,\n isAdmin: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_random as random\nimport pulumiverse_scaleway as scaleway\n\ninstance = scaleway.DocumentdbInstance(\"instance\",\n name=\"test-document_db-basic\",\n node_type=\"docdb-play2-pico\",\n engine=\"FerretDB-1\",\n user_name=\"my_initial_user\",\n password=\"thiZ_is_v\u0026ry_s3cret\",\n volume_size_in_gb=20)\ndb_password = random.RandomPassword(\"db_password\",\n length=16,\n special=True)\ndb_admin = scaleway.DocumentdbUser(\"db_admin\",\n instance_id=instance.id,\n name=\"devtools\",\n password=db_password.result,\n is_admin=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Random = Pulumi.Random;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var instance = new Scaleway.DocumentdbInstance(\"instance\", new()\n {\n Name = \"test-document_db-basic\",\n NodeType = \"docdb-play2-pico\",\n Engine = \"FerretDB-1\",\n UserName = \"my_initial_user\",\n Password = \"thiZ_is_v\u0026ry_s3cret\",\n VolumeSizeInGb = 20,\n });\n\n var dbPassword = new Random.RandomPassword(\"db_password\", new()\n {\n Length = 16,\n Special = true,\n });\n\n var dbAdmin = new Scaleway.DocumentdbUser(\"db_admin\", new()\n {\n InstanceId = instance.Id,\n Name = \"devtools\",\n Password = dbPassword.Result,\n IsAdmin = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-random/sdk/v4/go/random\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := scaleway.NewDocumentdbInstance(ctx, \"instance\", \u0026scaleway.DocumentdbInstanceArgs{\n\t\t\tName: pulumi.String(\"test-document_db-basic\"),\n\t\t\tNodeType: pulumi.String(\"docdb-play2-pico\"),\n\t\t\tEngine: pulumi.String(\"FerretDB-1\"),\n\t\t\tUserName: pulumi.String(\"my_initial_user\"),\n\t\t\tPassword: pulumi.String(\"thiZ_is_v\u0026ry_s3cret\"),\n\t\t\tVolumeSizeInGb: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdbPassword, err := random.NewRandomPassword(ctx, \"db_password\", \u0026random.RandomPasswordArgs{\n\t\t\tLength: pulumi.Int(16),\n\t\t\tSpecial: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDocumentdbUser(ctx, \"db_admin\", \u0026scaleway.DocumentdbUserArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tName: pulumi.String(\"devtools\"),\n\t\t\tPassword: dbPassword.Result,\n\t\t\tIsAdmin: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.scaleway.DocumentdbInstance;\nimport com.pulumi.scaleway.DocumentdbInstanceArgs;\nimport com.pulumi.random.RandomPassword;\nimport com.pulumi.random.RandomPasswordArgs;\nimport com.pulumi.scaleway.DocumentdbUser;\nimport com.pulumi.scaleway.DocumentdbUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 instance = new DocumentdbInstance(\"instance\", DocumentdbInstanceArgs.builder()\n .name(\"test-document_db-basic\")\n .nodeType(\"docdb-play2-pico\")\n .engine(\"FerretDB-1\")\n .userName(\"my_initial_user\")\n .password(\"thiZ_is_v\u0026ry_s3cret\")\n .volumeSizeInGb(20)\n .build());\n\n var dbPassword = new RandomPassword(\"dbPassword\", RandomPasswordArgs.builder()\n .length(16)\n .special(true)\n .build());\n\n var dbAdmin = new DocumentdbUser(\"dbAdmin\", DocumentdbUserArgs.builder()\n .instanceId(instance.id())\n .name(\"devtools\")\n .password(dbPassword.result())\n .isAdmin(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n instance:\n type: scaleway:DocumentdbInstance\n properties:\n name: test-document_db-basic\n nodeType: docdb-play2-pico\n engine: FerretDB-1\n userName: my_initial_user\n password: thiZ_is_v\u0026ry_s3cret\n volumeSizeInGb: 20\n dbPassword:\n type: random:RandomPassword\n name: db_password\n properties:\n length: 16\n special: true\n dbAdmin:\n type: scaleway:DocumentdbUser\n name: db_admin\n properties:\n instanceId: ${instance.id}\n name: devtools\n password: ${dbPassword.result}\n isAdmin: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDatabase User can be imported using `{region}/{instance_id}/{user_name}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/documentdbUser:DocumentdbUser admin fr-par/11111111-1111-1111-1111-111111111111/admin\n```\n\n", - "properties": { - "instanceId": { - "type": "string", - "description": "UUID of the documentDB instance.\n\n\u003e **Important:** Updates to `instance_id` will recreate the Database User.\n" - }, - "isAdmin": { - "type": "boolean", - "description": "Grant admin permissions to the Database User.\n" - }, - "name": { - "type": "string", - "description": "Database Username.\n\n\u003e **Important:** Updates to `name` will recreate the Database User.\n" - }, - "password": { - "type": "string", - "description": "Database User password.\n", - "secret": true - }, - "region": { - "type": "string", - "description": "The Scaleway region this resource resides in.\n" - } - }, - "required": [ - "instanceId", - "name", - "password", - "region" - ], - "inputProperties": { - "instanceId": { - "type": "string", - "description": "UUID of the documentDB instance.\n\n\u003e **Important:** Updates to `instance_id` will recreate the Database User.\n", - "willReplaceOnChanges": true - }, - "isAdmin": { - "type": "boolean", - "description": "Grant admin permissions to the Database User.\n" - }, - "name": { - "type": "string", - "description": "Database Username.\n\n\u003e **Important:** Updates to `name` will recreate the Database User.\n", - "willReplaceOnChanges": true - }, - "password": { - "type": "string", - "description": "Database User password.\n", - "secret": true - }, - "region": { - "type": "string", - "description": "The Scaleway region this resource resides in.\n", - "willReplaceOnChanges": true - } - }, - "requiredInputs": [ - "instanceId", - "password" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering DocumentdbUser resources.\n", - "properties": { - "instanceId": { - "type": "string", - "description": "UUID of the documentDB instance.\n\n\u003e **Important:** Updates to `instance_id` will recreate the Database User.\n", - "willReplaceOnChanges": true - }, - "isAdmin": { - "type": "boolean", - "description": "Grant admin permissions to the Database User.\n" - }, - "name": { - "type": "string", - "description": "Database Username.\n\n\u003e **Important:** Updates to `name` will recreate the Database User.\n", - "willReplaceOnChanges": true - }, - "password": { - "type": "string", - "description": "Database User password.\n", - "secret": true - }, - "region": { - "type": "string", - "description": "The Scaleway region this resource resides in.\n", - "willReplaceOnChanges": true - } - }, - "type": "object" - } - }, - "scaleway:index/domainRecord:DomainRecord": { - "description": "The `scaleway.DomainRecord` resource allows you to create and manage DNS records for Scaleway domains.\n\nRefer to the Domains and DNS [product documentation](https://www.scaleway.com/en/docs/network/domains-and-dns/) and [API documentation](https://www.scaleway.com/en/developers/api/domains-and-dns/) for more information.\n\n## Example Usage\n\n### Create basic DNS records\n\nThe folllowing commands allow you to:\n\n- create an A record for the `www.domain.tld` domain, pointing to `1.2.3.4` and another one pointing to `1.2.3.5`\n\n- create an MX record with the `mx.online.net.` mail server and a priority of 10, and another one with the `mx-cache.online.net.` mail server and a priority of 20\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst www = new scaleway.DomainRecord(\"www\", {\n dnsZone: \"domain.tld\",\n name: \"www\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n});\nconst www2 = new scaleway.DomainRecord(\"www2\", {\n dnsZone: \"domain.tld\",\n name: \"www\",\n type: \"A\",\n data: \"1.2.3.5\",\n ttl: 3600,\n});\nconst mx = new scaleway.DomainRecord(\"mx\", {\n dnsZone: \"domain.tld\",\n name: \"\",\n type: \"MX\",\n data: \"mx.online.net.\",\n ttl: 3600,\n priority: 10,\n});\nconst mx2 = new scaleway.DomainRecord(\"mx2\", {\n dnsZone: \"domain.tld\",\n name: \"\",\n type: \"MX\",\n data: \"mx-cache.online.net.\",\n ttl: 3600,\n priority: 20,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nwww = scaleway.DomainRecord(\"www\",\n dns_zone=\"domain.tld\",\n name=\"www\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600)\nwww2 = scaleway.DomainRecord(\"www2\",\n dns_zone=\"domain.tld\",\n name=\"www\",\n type=\"A\",\n data=\"1.2.3.5\",\n ttl=3600)\nmx = scaleway.DomainRecord(\"mx\",\n dns_zone=\"domain.tld\",\n name=\"\",\n type=\"MX\",\n data=\"mx.online.net.\",\n ttl=3600,\n priority=10)\nmx2 = scaleway.DomainRecord(\"mx2\",\n dns_zone=\"domain.tld\",\n name=\"\",\n type=\"MX\",\n data=\"mx-cache.online.net.\",\n ttl=3600,\n priority=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var www = new Scaleway.DomainRecord(\"www\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"www\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n });\n\n var www2 = new Scaleway.DomainRecord(\"www2\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"www\",\n Type = \"A\",\n Data = \"1.2.3.5\",\n Ttl = 3600,\n });\n\n var mx = new Scaleway.DomainRecord(\"mx\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"\",\n Type = \"MX\",\n Data = \"mx.online.net.\",\n Ttl = 3600,\n Priority = 10,\n });\n\n var mx2 = new Scaleway.DomainRecord(\"mx2\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"\",\n Type = \"MX\",\n Data = \"mx-cache.online.net.\",\n Ttl = 3600,\n Priority = 20,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewDomainRecord(ctx, \"www\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"www2\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"mx\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"MX\"),\n\t\t\tData: pulumi.String(\"mx.online.net.\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tPriority: pulumi.Int(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"mx2\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"MX\"),\n\t\t\tData: pulumi.String(\"mx-cache.online.net.\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tPriority: pulumi.Int(20),\n\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.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 www = new DomainRecord(\"www\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"www\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .build());\n\n var www2 = new DomainRecord(\"www2\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"www\")\n .type(\"A\")\n .data(\"1.2.3.5\")\n .ttl(3600)\n .build());\n\n var mx = new DomainRecord(\"mx\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"\")\n .type(\"MX\")\n .data(\"mx.online.net.\")\n .ttl(3600)\n .priority(10)\n .build());\n\n var mx2 = new DomainRecord(\"mx2\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"\")\n .type(\"MX\")\n .data(\"mx-cache.online.net.\")\n .ttl(3600)\n .priority(20)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n www:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: www\n type: A\n data: 1.2.3.4\n ttl: 3600\n www2:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: www\n type: A\n data: 1.2.3.5\n ttl: 3600\n mx:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name:\n type: MX\n data: mx.online.net.\n ttl: 3600\n priority: 10\n mx2:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name:\n type: MX\n data: mx-cache.online.net.\n ttl: 3600\n priority: 20\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create dynamic records\n\nThe folllowing commands allow you to:\n\n- create a Geo IP record for `images.domain.tld` that points to different IPs based on the user's location: `1.2.3.5` for users in France (EU), and `4.3.2.1` for users in North America (NA)\n\n- create an HTTP service record for `app.domain.tld` that checks the health of specified IPs and responds based on their status.\n\n- create view-based records for `db.domain.tld` that resolve differently based on the client's subnet.\n\n- create a weighted record for `web.domain.tld` that directs traffic to different IPs based on their weights.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst geoIp = new scaleway.DomainRecord(\"geo_ip\", {\n dnsZone: \"domain.tld\",\n name: \"images\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n geoIp: {\n matches: [\n {\n continents: [\"EU\"],\n countries: [\"FR\"],\n data: \"1.2.3.5\",\n },\n {\n continents: [\"NA\"],\n data: \"4.3.2.1\",\n },\n ],\n },\n});\nconst httpService = new scaleway.DomainRecord(\"http_service\", {\n dnsZone: \"domain.tld\",\n name: \"app\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n httpService: {\n ips: [\n \"1.2.3.5\",\n \"1.2.3.6\",\n ],\n mustContain: \"up\",\n url: \"http://mywebsite.com/health\",\n userAgent: \"scw_service_up\",\n strategy: \"hashed\",\n },\n});\nconst view = new scaleway.DomainRecord(\"view\", {\n dnsZone: \"domain.tld\",\n name: \"db\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n views: [\n {\n subnet: \"100.0.0.0/16\",\n data: \"1.2.3.5\",\n },\n {\n subnet: \"100.1.0.0/16\",\n data: \"1.2.3.6\",\n },\n ],\n});\nconst weighted = new scaleway.DomainRecord(\"weighted\", {\n dnsZone: \"domain.tld\",\n name: \"web\",\n type: \"A\",\n data: \"1.2.3.4\",\n ttl: 3600,\n weighteds: [\n {\n ip: \"1.2.3.5\",\n weight: 1,\n },\n {\n ip: \"1.2.3.6\",\n weight: 2,\n },\n ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\ngeo_ip = scaleway.DomainRecord(\"geo_ip\",\n dns_zone=\"domain.tld\",\n name=\"images\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n geo_ip={\n \"matches\": [\n {\n \"continents\": [\"EU\"],\n \"countries\": [\"FR\"],\n \"data\": \"1.2.3.5\",\n },\n {\n \"continents\": [\"NA\"],\n \"data\": \"4.3.2.1\",\n },\n ],\n })\nhttp_service = scaleway.DomainRecord(\"http_service\",\n dns_zone=\"domain.tld\",\n name=\"app\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n http_service={\n \"ips\": [\n \"1.2.3.5\",\n \"1.2.3.6\",\n ],\n \"must_contain\": \"up\",\n \"url\": \"http://mywebsite.com/health\",\n \"user_agent\": \"scw_service_up\",\n \"strategy\": \"hashed\",\n })\nview = scaleway.DomainRecord(\"view\",\n dns_zone=\"domain.tld\",\n name=\"db\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n views=[\n {\n \"subnet\": \"100.0.0.0/16\",\n \"data\": \"1.2.3.5\",\n },\n {\n \"subnet\": \"100.1.0.0/16\",\n \"data\": \"1.2.3.6\",\n },\n ])\nweighted = scaleway.DomainRecord(\"weighted\",\n dns_zone=\"domain.tld\",\n name=\"web\",\n type=\"A\",\n data=\"1.2.3.4\",\n ttl=3600,\n weighteds=[\n {\n \"ip\": \"1.2.3.5\",\n \"weight\": 1,\n },\n {\n \"ip\": \"1.2.3.6\",\n \"weight\": 2,\n },\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var geoIp = new Scaleway.DomainRecord(\"geo_ip\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"images\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n GeoIp = new Scaleway.Inputs.DomainRecordGeoIpArgs\n {\n Matches = new[]\n {\n new Scaleway.Inputs.DomainRecordGeoIpMatchArgs\n {\n Continents = new[]\n {\n \"EU\",\n },\n Countries = new[]\n {\n \"FR\",\n },\n Data = \"1.2.3.5\",\n },\n new Scaleway.Inputs.DomainRecordGeoIpMatchArgs\n {\n Continents = new[]\n {\n \"NA\",\n },\n Data = \"4.3.2.1\",\n },\n },\n },\n });\n\n var httpService = new Scaleway.DomainRecord(\"http_service\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"app\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n HttpService = new Scaleway.Inputs.DomainRecordHttpServiceArgs\n {\n Ips = new[]\n {\n \"1.2.3.5\",\n \"1.2.3.6\",\n },\n MustContain = \"up\",\n Url = \"http://mywebsite.com/health\",\n UserAgent = \"scw_service_up\",\n Strategy = \"hashed\",\n },\n });\n\n var view = new Scaleway.DomainRecord(\"view\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"db\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n Views = new[]\n {\n new Scaleway.Inputs.DomainRecordViewArgs\n {\n Subnet = \"100.0.0.0/16\",\n Data = \"1.2.3.5\",\n },\n new Scaleway.Inputs.DomainRecordViewArgs\n {\n Subnet = \"100.1.0.0/16\",\n Data = \"1.2.3.6\",\n },\n },\n });\n\n var weighted = new Scaleway.DomainRecord(\"weighted\", new()\n {\n DnsZone = \"domain.tld\",\n Name = \"web\",\n Type = \"A\",\n Data = \"1.2.3.4\",\n Ttl = 3600,\n Weighteds = new[]\n {\n new Scaleway.Inputs.DomainRecordWeightedArgs\n {\n Ip = \"1.2.3.5\",\n Weight = 1,\n },\n new Scaleway.Inputs.DomainRecordWeightedArgs\n {\n Ip = \"1.2.3.6\",\n Weight = 2,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewDomainRecord(ctx, \"geo_ip\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"images\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tGeoIp: \u0026scaleway.DomainRecordGeoIpArgs{\n\t\t\t\tMatches: scaleway.DomainRecordGeoIpMatchArray{\n\t\t\t\t\t\u0026scaleway.DomainRecordGeoIpMatchArgs{\n\t\t\t\t\t\tContinents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"EU\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCountries: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"FR\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026scaleway.DomainRecordGeoIpMatchArgs{\n\t\t\t\t\t\tContinents: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"NA\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tData: pulumi.String(\"4.3.2.1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"http_service\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"app\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tHttpService: \u0026scaleway.DomainRecordHttpServiceArgs{\n\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1.2.3.5\"),\n\t\t\t\t\tpulumi.String(\"1.2.3.6\"),\n\t\t\t\t},\n\t\t\t\tMustContain: pulumi.String(\"up\"),\n\t\t\t\tUrl: pulumi.String(\"http://mywebsite.com/health\"),\n\t\t\t\tUserAgent: pulumi.String(\"scw_service_up\"),\n\t\t\t\tStrategy: pulumi.String(\"hashed\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"view\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"db\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tViews: scaleway.DomainRecordViewArray{\n\t\t\t\t\u0026scaleway.DomainRecordViewArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"100.0.0.0/16\"),\n\t\t\t\t\tData: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.DomainRecordViewArgs{\n\t\t\t\t\tSubnet: pulumi.String(\"100.1.0.0/16\"),\n\t\t\t\t\tData: pulumi.String(\"1.2.3.6\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"weighted\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(\"domain.tld\"),\n\t\t\tName: pulumi.String(\"web\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: pulumi.String(\"1.2.3.4\"),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t\tWeighteds: scaleway.DomainRecordWeightedArray{\n\t\t\t\t\u0026scaleway.DomainRecordWeightedArgs{\n\t\t\t\t\tIp: pulumi.String(\"1.2.3.5\"),\n\t\t\t\t\tWeight: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t\t\u0026scaleway.DomainRecordWeightedArgs{\n\t\t\t\t\tIp: pulumi.String(\"1.2.3.6\"),\n\t\t\t\t\tWeight: pulumi.Int(2),\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.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordGeoIpArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordHttpServiceArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordViewArgs;\nimport com.pulumi.scaleway.inputs.DomainRecordWeightedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 geoIp = new DomainRecord(\"geoIp\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"images\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .geoIp(DomainRecordGeoIpArgs.builder()\n .matches( \n DomainRecordGeoIpMatchArgs.builder()\n .continents(\"EU\")\n .countries(\"FR\")\n .data(\"1.2.3.5\")\n .build(),\n DomainRecordGeoIpMatchArgs.builder()\n .continents(\"NA\")\n .data(\"4.3.2.1\")\n .build())\n .build())\n .build());\n\n var httpService = new DomainRecord(\"httpService\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"app\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .httpService(DomainRecordHttpServiceArgs.builder()\n .ips( \n \"1.2.3.5\",\n \"1.2.3.6\")\n .mustContain(\"up\")\n .url(\"http://mywebsite.com/health\")\n .userAgent(\"scw_service_up\")\n .strategy(\"hashed\")\n .build())\n .build());\n\n var view = new DomainRecord(\"view\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"db\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .views( \n DomainRecordViewArgs.builder()\n .subnet(\"100.0.0.0/16\")\n .data(\"1.2.3.5\")\n .build(),\n DomainRecordViewArgs.builder()\n .subnet(\"100.1.0.0/16\")\n .data(\"1.2.3.6\")\n .build())\n .build());\n\n var weighted = new DomainRecord(\"weighted\", DomainRecordArgs.builder()\n .dnsZone(\"domain.tld\")\n .name(\"web\")\n .type(\"A\")\n .data(\"1.2.3.4\")\n .ttl(3600)\n .weighteds( \n DomainRecordWeightedArgs.builder()\n .ip(\"1.2.3.5\")\n .weight(1)\n .build(),\n DomainRecordWeightedArgs.builder()\n .ip(\"1.2.3.6\")\n .weight(2)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n geoIp:\n type: scaleway:DomainRecord\n name: geo_ip\n properties:\n dnsZone: domain.tld\n name: images\n type: A\n data: 1.2.3.4\n ttl: 3600\n geoIp:\n matches:\n - continents:\n - EU\n countries:\n - FR\n data: 1.2.3.5\n - continents:\n - NA\n data: 4.3.2.1\n httpService:\n type: scaleway:DomainRecord\n name: http_service\n properties:\n dnsZone: domain.tld\n name: app\n type: A\n data: 1.2.3.4\n ttl: 3600\n httpService:\n ips:\n - 1.2.3.5\n - 1.2.3.6\n mustContain: up\n url: http://mywebsite.com/health\n userAgent: scw_service_up\n strategy: hashed\n view:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: db\n type: A\n data: 1.2.3.4\n ttl: 3600\n views:\n - subnet: 100.0.0.0/16\n data: 1.2.3.5\n - subnet: 100.1.0.0/16\n data: 1.2.3.6\n weighted:\n type: scaleway:DomainRecord\n properties:\n dnsZone: domain.tld\n name: web\n type: A\n data: 1.2.3.4\n ttl: 3600\n weighteds:\n - ip: 1.2.3.5\n weight: 1\n - ip: 1.2.3.6\n weight: 2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Create an Instance and add records with the new Instance IP\n\nThe following commands allow you to:\n\n- create a Scaleway Instance\n- assign The Instance's IP address to various DNS records for a specified DNS zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst config = new pulumi.Config();\n// Your project ID.\nconst projectId = config.require(\"projectId\");\n// The DNS Zone used for testing records.\nconst dnsZone = config.require(\"dnsZone\");\nconst publicIp = new scaleway.InstanceIp(\"public_ip\", {projectId: projectId});\nconst web = new scaleway.InstanceServer(\"web\", {\n projectId: projectId,\n type: \"DEV1-S\",\n image: \"ubuntu_jammy\",\n tags: [\n \"front\",\n \"web\",\n ],\n ipId: publicIp.id,\n rootVolume: {\n sizeInGb: 20,\n },\n});\nconst webA = new scaleway.DomainRecord(\"web_A\", {\n dnsZone: dnsZone,\n name: \"web\",\n type: \"A\",\n data: web.publicIp,\n ttl: 3600,\n});\nconst webCname = new scaleway.DomainRecord(\"web_cname\", {\n dnsZone: dnsZone,\n name: \"www\",\n type: \"CNAME\",\n data: `web.${dnsZone}.`,\n ttl: 3600,\n});\nconst webAlias = new scaleway.DomainRecord(\"web_alias\", {\n dnsZone: dnsZone,\n name: \"\",\n type: \"ALIAS\",\n data: `web.${dnsZone}.`,\n ttl: 3600,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nconfig = pulumi.Config()\n# Your project ID.\nproject_id = config.require(\"projectId\")\n# The DNS Zone used for testing records.\ndns_zone = config.require(\"dnsZone\")\npublic_ip = scaleway.InstanceIp(\"public_ip\", project_id=project_id)\nweb = scaleway.InstanceServer(\"web\",\n project_id=project_id,\n type=\"DEV1-S\",\n image=\"ubuntu_jammy\",\n tags=[\n \"front\",\n \"web\",\n ],\n ip_id=public_ip.id,\n root_volume={\n \"size_in_gb\": 20,\n })\nweb_a = scaleway.DomainRecord(\"web_A\",\n dns_zone=dns_zone,\n name=\"web\",\n type=\"A\",\n data=web.public_ip,\n ttl=3600)\nweb_cname = scaleway.DomainRecord(\"web_cname\",\n dns_zone=dns_zone,\n name=\"www\",\n type=\"CNAME\",\n data=f\"web.{dns_zone}.\",\n ttl=3600)\nweb_alias = scaleway.DomainRecord(\"web_alias\",\n dns_zone=dns_zone,\n name=\"\",\n type=\"ALIAS\",\n data=f\"web.{dns_zone}.\",\n ttl=3600)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // Your project ID.\n var projectId = config.Require(\"projectId\");\n // The DNS Zone used for testing records.\n var dnsZone = config.Require(\"dnsZone\");\n var publicIp = new Scaleway.InstanceIp(\"public_ip\", new()\n {\n ProjectId = projectId,\n });\n\n var web = new Scaleway.InstanceServer(\"web\", new()\n {\n ProjectId = projectId,\n Type = \"DEV1-S\",\n Image = \"ubuntu_jammy\",\n Tags = new[]\n {\n \"front\",\n \"web\",\n },\n IpId = publicIp.Id,\n RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs\n {\n SizeInGb = 20,\n },\n });\n\n var webA = new Scaleway.DomainRecord(\"web_A\", new()\n {\n DnsZone = dnsZone,\n Name = \"web\",\n Type = \"A\",\n Data = web.PublicIp,\n Ttl = 3600,\n });\n\n var webCname = new Scaleway.DomainRecord(\"web_cname\", new()\n {\n DnsZone = dnsZone,\n Name = \"www\",\n Type = \"CNAME\",\n Data = $\"web.{dnsZone}.\",\n Ttl = 3600,\n });\n\n var webAlias = new Scaleway.DomainRecord(\"web_alias\", new()\n {\n DnsZone = dnsZone,\n Name = \"\",\n Type = \"ALIAS\",\n Data = $\"web.{dnsZone}.\",\n Ttl = 3600,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// Your project ID.\n\t\tprojectId := cfg.Require(\"projectId\")\n\t\t// The DNS Zone used for testing records.\n\t\tdnsZone := cfg.Require(\"dnsZone\")\n\t\tpublicIp, err := scaleway.NewInstanceIp(ctx, \"public_ip\", \u0026scaleway.InstanceIpArgs{\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tweb, err := scaleway.NewInstanceServer(ctx, \"web\", \u0026scaleway.InstanceServerArgs{\n\t\t\tProjectId: pulumi.String(projectId),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"front\"),\n\t\t\t\tpulumi.String(\"web\"),\n\t\t\t},\n\t\t\tIpId: publicIp.ID(),\n\t\t\tRootVolume: \u0026scaleway.InstanceServerRootVolumeArgs{\n\t\t\t\tSizeInGb: pulumi.Int(20),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_A\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"web\"),\n\t\t\tType: pulumi.String(\"A\"),\n\t\t\tData: web.PublicIp,\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_cname\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"www\"),\n\t\t\tType: pulumi.String(\"CNAME\"),\n\t\t\tData: pulumi.Sprintf(\"web.%v.\", dnsZone),\n\t\t\tTtl: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewDomainRecord(ctx, \"web_alias\", \u0026scaleway.DomainRecordArgs{\n\t\t\tDnsZone: pulumi.String(dnsZone),\n\t\t\tName: pulumi.String(\"\"),\n\t\t\tType: pulumi.String(\"ALIAS\"),\n\t\t\tData: pulumi.Sprintf(\"web.%v.\", dnsZone),\n\t\t\tTtl: pulumi.Int(3600),\n\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.scaleway.InstanceIp;\nimport com.pulumi.scaleway.InstanceIpArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;\nimport com.pulumi.scaleway.DomainRecord;\nimport com.pulumi.scaleway.DomainRecordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var projectId = config.get(\"projectId\");\n final var dnsZone = config.get(\"dnsZone\");\n var publicIp = new InstanceIp(\"publicIp\", InstanceIpArgs.builder()\n .projectId(projectId)\n .build());\n\n var web = new InstanceServer(\"web\", InstanceServerArgs.builder()\n .projectId(projectId)\n .type(\"DEV1-S\")\n .image(\"ubuntu_jammy\")\n .tags( \n \"front\",\n \"web\")\n .ipId(publicIp.id())\n .rootVolume(InstanceServerRootVolumeArgs.builder()\n .sizeInGb(20)\n .build())\n .build());\n\n var webA = new DomainRecord(\"webA\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"web\")\n .type(\"A\")\n .data(web.publicIp())\n .ttl(3600)\n .build());\n\n var webCname = new DomainRecord(\"webCname\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"www\")\n .type(\"CNAME\")\n .data(String.format(\"web.%s.\", dnsZone))\n .ttl(3600)\n .build());\n\n var webAlias = new DomainRecord(\"webAlias\", DomainRecordArgs.builder()\n .dnsZone(dnsZone)\n .name(\"\")\n .type(\"ALIAS\")\n .data(String.format(\"web.%s.\", dnsZone))\n .ttl(3600)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n projectId:\n type: string\n dnsZone:\n type: string\nresources:\n publicIp:\n type: scaleway:InstanceIp\n name: public_ip\n properties:\n projectId: ${projectId}\n web:\n type: scaleway:InstanceServer\n properties:\n projectId: ${projectId}\n type: DEV1-S\n image: ubuntu_jammy\n tags:\n - front\n - web\n ipId: ${publicIp.id}\n rootVolume:\n sizeInGb: 20\n webA:\n type: scaleway:DomainRecord\n name: web_A\n properties:\n dnsZone: ${dnsZone}\n name: web\n type: A\n data: ${web.publicIp}\n ttl: 3600\n webCname:\n type: scaleway:DomainRecord\n name: web_cname\n properties:\n dnsZone: ${dnsZone}\n name: www\n type: CNAME\n data: web.${dnsZone}.\n ttl: 3600\n webAlias:\n type: scaleway:DomainRecord\n name: web_alias\n properties:\n dnsZone: ${dnsZone}\n name:\n type: ALIAS\n data: web.${dnsZone}.\n ttl: 3600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Multiple records\n\nSome record types can have multiple data with the same name (e.g., `A`, `AAAA`, `MX`, `NS`, etc.). You can duplicate a `scaleway.DomainRecord` resource with the same `name`, and the records will be added.\n\nNote however, that some records (e.g., CNAME, multiple dynamic records of different types) must be unique.\n\n## Import\n\nThis section explains how to import a record using the `{dns_zone}/{id}` format.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/domainRecord:DomainRecord www subdomain.domain.tld/11111111-1111-1111-1111-111111111111\n```\n\n", - "properties": { - "data": { - "type": "string", - "description": "The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).\n" - }, - "dnsZone": { - "type": "string", - "description": "The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created.\n" - }, - "fqdn": { - "type": "string", - "description": "The FQDN of the record.\n" - }, - "geoIp": { - "$ref": "#/types/scaleway:index/DomainRecordGeoIp:DomainRecordGeoIp", - "description": "Return record based on client localisation\n" - }, - "httpService": { - "$ref": "#/types/scaleway:index/DomainRecordHttpService:DomainRecordHttpService", - "description": "Return record based on client localisation\n" - }, - "keepEmptyZone": { - "type": "boolean", - "description": "When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Note that each zone not deleted will [be billed](https://www.scaleway.com/en/dns/).\n" - }, - "name": { - "type": "string", - "description": "The name of the record (can be an empty string for a root record).\n" - }, - "priority": { - "type": "integer", - "description": "The priority of the record (mostly used with an `MX` record).\n" - }, - "projectId": { - "type": "string", - "description": "The project_id you want to attach the resource to\n" - }, - "rootZone": { - "type": "boolean", - "description": "Does the DNS zone is the root zone or not\n" - }, - "ttl": { - "type": "integer", - "description": "Time To Live of the record in seconds.\n" - }, - "type": { - "type": "string", - "description": "The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`).\n" - }, - "views": { - "type": "array", - "items": { - "$ref": "#/types/scaleway:index/DomainRecordView:DomainRecordView" - }, - "description": "Return record based on client subnet\n" - }, - "weighteds": { - "type": "array", - "items": { - "$ref": "#/types/scaleway:index/DomainRecordWeighted:DomainRecordWeighted" - }, - "description": "Return record based on weight\n" - } - }, - "required": [ - "data", - "dnsZone", - "fqdn", - "name", - "priority", - "projectId", - "rootZone", - "type" - ], - "inputProperties": { - "data": { - "type": "string", - "description": "The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).\n" - }, - "dnsZone": { - "type": "string", - "description": "The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created.\n", - "willReplaceOnChanges": true - }, - "geoIp": { - "$ref": "#/types/scaleway:index/DomainRecordGeoIp:DomainRecordGeoIp", - "description": "Return record based on client localisation\n" - }, - "httpService": { - "$ref": "#/types/scaleway:index/DomainRecordHttpService:DomainRecordHttpService", - "description": "Return record based on client localisation\n" - }, - "keepEmptyZone": { - "type": "boolean", - "description": "When destroying a resource, if only NS records remain and this is set to `false`, the zone will be deleted. Note that each zone not deleted will [be billed](https://www.scaleway.com/en/dns/).\n" - }, - "name": { - "type": "string", - "description": "The name of the record (can be an empty string for a root record).\n", - "willReplaceOnChanges": true - }, - "priority": { - "type": "integer", - "description": "The priority of the record (mostly used with an `MX` record).\n" - }, - "projectId": { - "type": "string", - "description": "The project_id you want to attach the resource to\n", - "willReplaceOnChanges": true - }, - "ttl": { - "type": "integer", - "description": "Time To Live of the record in seconds.\n" - }, - "type": { - "type": "string", - "description": "The type of the record (`A`, `AAAA`, `MX`, `CNAME`, `DNAME`, `ALIAS`, `NS`, `PTR`, `SRV`, `TXT`, `TLSA`, or `CAA`).\n", - "willReplaceOnChanges": true - }, - "views": { - "type": "array", - "items": { - "$ref": "#/types/scaleway:index/DomainRecordView:DomainRecordView" - }, - "description": "Return record based on client subnet\n" - }, - "weighteds": { - "type": "array", - "items": { - "$ref": "#/types/scaleway:index/DomainRecordWeighted:DomainRecordWeighted" - }, - "description": "Return record based on weight\n" - } - }, - "requiredInputs": [ - "data", - "dnsZone", - "type" - ], - "stateInputs": { - "description": "Input properties used for looking up and filtering DomainRecord resources.\n", - "properties": { - "data": { - "type": "string", - "description": "The content of the record (an IPv4 for an `A` record, a string for a `TXT` record, etc.).\n" - }, - "dnsZone": { + "dnsZone": { "type": "string", "description": "The DNS zone of the domain. If the domain has no DNS zone, one will be automatically created.\n", "willReplaceOnChanges": true @@ -12875,7 +12128,7 @@ } }, "scaleway:index/instancePrivateNic:InstancePrivateNic": { - "description": "Creates and manages Scaleway Instance Private NICs. For more information, see\n[the documentation](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pnic01 = new scaleway.InstancePrivateNic(\"pnic01\", {\n serverId: \"fr-par-1/11111111-1111-1111-1111-111111111111\",\n privateNetworkId: \"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npnic01 = scaleway.InstancePrivateNic(\"pnic01\",\n server_id=\"fr-par-1/11111111-1111-1111-1111-111111111111\",\n private_network_id=\"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pnic01 = new Scaleway.InstancePrivateNic(\"pnic01\", new()\n {\n ServerId = \"fr-par-1/11111111-1111-1111-1111-111111111111\",\n PrivateNetworkId = \"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewInstancePrivateNic(ctx, \"pnic01\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: pulumi.String(\"fr-par-1/11111111-1111-1111-1111-111111111111\"),\n\t\t\tPrivateNetworkId: pulumi.String(\"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\"),\n\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.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pnic01 = new InstancePrivateNic(\"pnic01\", InstancePrivateNicArgs.builder()\n .serverId(\"fr-par-1/11111111-1111-1111-1111-111111111111\")\n .privateNetworkId(\"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pnic01:\n type: scaleway:InstancePrivateNic\n properties:\n serverId: fr-par-1/11111111-1111-1111-1111-111111111111\n privateNetworkId: fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {\n name: \"private_network_instance\",\n zone: \"fr-par-2\",\n});\nconst base = new scaleway.InstanceServer(\"base\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n zone: pn01.zone,\n});\nconst pnic01 = new scaleway.InstancePrivateNic(\"pnic01\", {\n serverId: base.id,\n privateNetworkId: pn01.id,\n zone: pn01.zone,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn01 = scaleway.VpcPrivateNetwork(\"pn01\",\n name=\"private_network_instance\",\n zone=\"fr-par-2\")\nbase = scaleway.InstanceServer(\"base\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n zone=pn01.zone)\npnic01 = scaleway.InstancePrivateNic(\"pnic01\",\n server_id=base.id,\n private_network_id=pn01.id,\n zone=pn01.zone)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"private_network_instance\",\n Zone = \"fr-par-2\",\n });\n\n var @base = new Scaleway.InstanceServer(\"base\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n Zone = pn01.Zone,\n });\n\n var pnic01 = new Scaleway.InstancePrivateNic(\"pnic01\", new()\n {\n ServerId = @base.Id,\n PrivateNetworkId = pn01.Id,\n Zone = pn01.Zone,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private_network_instance\"),\n\t\t\tZone: pulumi.String(\"fr-par-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbase, err := scaleway.NewInstanceServer(ctx, \"base\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tZone: pn01.Zone,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstancePrivateNic(ctx, \"pnic01\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: base.ID(),\n\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t\tZone: pn01.Zone,\n\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.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"private_network_instance\")\n .zone(\"fr-par-2\")\n .build());\n\n var base = new InstanceServer(\"base\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .zone(pn01.zone())\n .build());\n\n var pnic01 = new InstancePrivateNic(\"pnic01\", InstancePrivateNicArgs.builder()\n .serverId(base.id())\n .privateNetworkId(pn01.id())\n .zone(pn01.zone())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private_network_instance\n zone: fr-par-2\n base:\n type: scaleway:InstanceServer\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n zone: ${pn01.zone}\n pnic01:\n type: scaleway:InstancePrivateNic\n properties:\n serverId: ${base.id}\n privateNetworkId: ${pn01.id}\n zone: ${pn01.zone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate NICs can be imported using the `{zone}/{server_id}/{private_nic_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/instancePrivateNic:InstancePrivateNic pnic01 fr-par-1/11111111-1111-1111-1111-111111111111/22222222-2222-2222-2222-222222222222\n```\n\n", + "description": "Creates and manages Scaleway Instance Private NICs. For more information, see\n[the documentation](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics).\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pnic01 = new scaleway.InstancePrivateNic(\"pnic01\", {\n serverId: \"fr-par-1/11111111-1111-1111-1111-111111111111\",\n privateNetworkId: \"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npnic01 = scaleway.InstancePrivateNic(\"pnic01\",\n server_id=\"fr-par-1/11111111-1111-1111-1111-111111111111\",\n private_network_id=\"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pnic01 = new Scaleway.InstancePrivateNic(\"pnic01\", new()\n {\n ServerId = \"fr-par-1/11111111-1111-1111-1111-111111111111\",\n PrivateNetworkId = \"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.NewInstancePrivateNic(ctx, \"pnic01\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: pulumi.String(\"fr-par-1/11111111-1111-1111-1111-111111111111\"),\n\t\t\tPrivateNetworkId: pulumi.String(\"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\"),\n\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.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pnic01 = new InstancePrivateNic(\"pnic01\", InstancePrivateNicArgs.builder()\n .serverId(\"fr-par-1/11111111-1111-1111-1111-111111111111\")\n .privateNetworkId(\"fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pnic01:\n type: scaleway:InstancePrivateNic\n properties:\n serverId: fr-par-1/11111111-1111-1111-1111-111111111111\n privateNetworkId: fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With zone\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {\n name: \"private_network_instance\",\n region: \"fr-par\",\n});\nconst base = new scaleway.InstanceServer(\"base\", {\n image: \"ubuntu_jammy\",\n type: \"DEV1-S\",\n zone: pn01.zone,\n});\nconst pnic01 = new scaleway.InstancePrivateNic(\"pnic01\", {\n serverId: base.id,\n privateNetworkId: pn01.id,\n zone: pn01.zone,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\npn01 = scaleway.VpcPrivateNetwork(\"pn01\",\n name=\"private_network_instance\",\n region=\"fr-par\")\nbase = scaleway.InstanceServer(\"base\",\n image=\"ubuntu_jammy\",\n type=\"DEV1-S\",\n zone=pn01.zone)\npnic01 = scaleway.InstancePrivateNic(\"pnic01\",\n server_id=base.id,\n private_network_id=pn01.id,\n zone=pn01.zone)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"private_network_instance\",\n Region = \"fr-par\",\n });\n\n var @base = new Scaleway.InstanceServer(\"base\", new()\n {\n Image = \"ubuntu_jammy\",\n Type = \"DEV1-S\",\n Zone = pn01.Zone,\n });\n\n var pnic01 = new Scaleway.InstancePrivateNic(\"pnic01\", new()\n {\n ServerId = @base.Id,\n PrivateNetworkId = pn01.Id,\n Zone = pn01.Zone,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private_network_instance\"),\n\t\t\tRegion: pulumi.String(\"fr-par\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbase, err := scaleway.NewInstanceServer(ctx, \"base\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_jammy\"),\n\t\t\tType: pulumi.String(\"DEV1-S\"),\n\t\t\tZone: pn01.Zone,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstancePrivateNic(ctx, \"pnic01\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tServerId: base.ID(),\n\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t\tZone: pn01.Zone,\n\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.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"private_network_instance\")\n .region(\"fr-par\")\n .build());\n\n var base = new InstanceServer(\"base\", InstanceServerArgs.builder()\n .image(\"ubuntu_jammy\")\n .type(\"DEV1-S\")\n .zone(pn01.zone())\n .build());\n\n var pnic01 = new InstancePrivateNic(\"pnic01\", InstancePrivateNicArgs.builder()\n .serverId(base.id())\n .privateNetworkId(pn01.id())\n .zone(pn01.zone())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private_network_instance\n region: fr-par\n base:\n type: scaleway:InstanceServer\n properties:\n image: ubuntu_jammy\n type: DEV1-S\n zone: ${pn01.zone}\n pnic01:\n type: scaleway:InstancePrivateNic\n properties:\n serverId: ${base.id}\n privateNetworkId: ${pn01.id}\n zone: ${pn01.zone}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### With IPAM IP IDs\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumiverse/scaleway\";\n\nconst vpc01 = new scaleway.Vpc(\"vpc01\", {name: \"vpc_instance\"});\nconst pn01 = new scaleway.VpcPrivateNetwork(\"pn01\", {\n name: \"private_network_instance\",\n ipv4Subnet: {\n subnet: \"172.16.64.0/22\",\n },\n vpcId: vpc01.id,\n});\nconst ip01 = new scaleway.IpamIp(\"ip01\", {\n address: \"172.16.64.7\",\n sources: [{\n privateNetworkId: pn01.id,\n }],\n});\nconst server01 = new scaleway.InstanceServer(\"server01\", {\n image: \"ubuntu_focal\",\n type: \"PLAY2-MICRO\",\n});\nconst pnic01 = new scaleway.InstancePrivateNic(\"pnic01\", {\n privateNetworkId: pn01.id,\n serverId: server01.id,\n ipamIpIds: [ip01.id],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_scaleway as scaleway\n\nvpc01 = scaleway.Vpc(\"vpc01\", name=\"vpc_instance\")\npn01 = scaleway.VpcPrivateNetwork(\"pn01\",\n name=\"private_network_instance\",\n ipv4_subnet={\n \"subnet\": \"172.16.64.0/22\",\n },\n vpc_id=vpc01.id)\nip01 = scaleway.IpamIp(\"ip01\",\n address=\"172.16.64.7\",\n sources=[{\n \"private_network_id\": pn01.id,\n }])\nserver01 = scaleway.InstanceServer(\"server01\",\n image=\"ubuntu_focal\",\n type=\"PLAY2-MICRO\")\npnic01 = scaleway.InstancePrivateNic(\"pnic01\",\n private_network_id=pn01.id,\n server_id=server01.id,\n ipam_ip_ids=[ip01.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumiverse.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var vpc01 = new Scaleway.Vpc(\"vpc01\", new()\n {\n Name = \"vpc_instance\",\n });\n\n var pn01 = new Scaleway.VpcPrivateNetwork(\"pn01\", new()\n {\n Name = \"private_network_instance\",\n Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs\n {\n Subnet = \"172.16.64.0/22\",\n },\n VpcId = vpc01.Id,\n });\n\n var ip01 = new Scaleway.IpamIp(\"ip01\", new()\n {\n Address = \"172.16.64.7\",\n Sources = new[]\n {\n new Scaleway.Inputs.IpamIpSourceArgs\n {\n PrivateNetworkId = pn01.Id,\n },\n },\n });\n\n var server01 = new Scaleway.InstanceServer(\"server01\", new()\n {\n Image = \"ubuntu_focal\",\n Type = \"PLAY2-MICRO\",\n });\n\n var pnic01 = new Scaleway.InstancePrivateNic(\"pnic01\", new()\n {\n PrivateNetworkId = pn01.Id,\n ServerId = server01.Id,\n IpamIpIds = new[]\n {\n ip01.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc01, err := scaleway.NewVpc(ctx, \"vpc01\", \u0026scaleway.VpcArgs{\n\t\t\tName: pulumi.String(\"vpc_instance\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpn01, err := scaleway.NewVpcPrivateNetwork(ctx, \"pn01\", \u0026scaleway.VpcPrivateNetworkArgs{\n\t\t\tName: pulumi.String(\"private_network_instance\"),\n\t\t\tIpv4Subnet: \u0026scaleway.VpcPrivateNetworkIpv4SubnetArgs{\n\t\t\t\tSubnet: pulumi.String(\"172.16.64.0/22\"),\n\t\t\t},\n\t\t\tVpcId: vpc01.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tip01, err := scaleway.NewIpamIp(ctx, \"ip01\", \u0026scaleway.IpamIpArgs{\n\t\t\tAddress: pulumi.String(\"172.16.64.7\"),\n\t\t\tSources: scaleway.IpamIpSourceArray{\n\t\t\t\t\u0026scaleway.IpamIpSourceArgs{\n\t\t\t\t\tPrivateNetworkId: pn01.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\tserver01, err := scaleway.NewInstanceServer(ctx, \"server01\", \u0026scaleway.InstanceServerArgs{\n\t\t\tImage: pulumi.String(\"ubuntu_focal\"),\n\t\t\tType: pulumi.String(\"PLAY2-MICRO\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.NewInstancePrivateNic(ctx, \"pnic01\", \u0026scaleway.InstancePrivateNicArgs{\n\t\t\tPrivateNetworkId: pn01.ID(),\n\t\t\tServerId: server01.ID(),\n\t\t\tIpamIpIds: pulumi.StringArray{\n\t\t\t\tip01.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.scaleway.Vpc;\nimport com.pulumi.scaleway.VpcArgs;\nimport com.pulumi.scaleway.VpcPrivateNetwork;\nimport com.pulumi.scaleway.VpcPrivateNetworkArgs;\nimport com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;\nimport com.pulumi.scaleway.IpamIp;\nimport com.pulumi.scaleway.IpamIpArgs;\nimport com.pulumi.scaleway.inputs.IpamIpSourceArgs;\nimport com.pulumi.scaleway.InstanceServer;\nimport com.pulumi.scaleway.InstanceServerArgs;\nimport com.pulumi.scaleway.InstancePrivateNic;\nimport com.pulumi.scaleway.InstancePrivateNicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 vpc01 = new Vpc(\"vpc01\", VpcArgs.builder()\n .name(\"vpc_instance\")\n .build());\n\n var pn01 = new VpcPrivateNetwork(\"pn01\", VpcPrivateNetworkArgs.builder()\n .name(\"private_network_instance\")\n .ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()\n .subnet(\"172.16.64.0/22\")\n .build())\n .vpcId(vpc01.id())\n .build());\n\n var ip01 = new IpamIp(\"ip01\", IpamIpArgs.builder()\n .address(\"172.16.64.7\")\n .sources(IpamIpSourceArgs.builder()\n .privateNetworkId(pn01.id())\n .build())\n .build());\n\n var server01 = new InstanceServer(\"server01\", InstanceServerArgs.builder()\n .image(\"ubuntu_focal\")\n .type(\"PLAY2-MICRO\")\n .build());\n\n var pnic01 = new InstancePrivateNic(\"pnic01\", InstancePrivateNicArgs.builder()\n .privateNetworkId(pn01.id())\n .serverId(server01.id())\n .ipamIpIds(ip01.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n vpc01:\n type: scaleway:Vpc\n properties:\n name: vpc_instance\n pn01:\n type: scaleway:VpcPrivateNetwork\n properties:\n name: private_network_instance\n ipv4Subnet:\n subnet: 172.16.64.0/22\n vpcId: ${vpc01.id}\n ip01:\n type: scaleway:IpamIp\n properties:\n address: 172.16.64.7\n sources:\n - privateNetworkId: ${pn01.id}\n server01:\n type: scaleway:InstanceServer\n properties:\n image: ubuntu_focal\n type: PLAY2-MICRO\n pnic01:\n type: scaleway:InstancePrivateNic\n properties:\n privateNetworkId: ${pn01.id}\n serverId: ${server01.id}\n ipamIpIds:\n - ${ip01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate NICs can be imported using the `{zone}/{server_id}/{private_nic_id}`, e.g.\n\nbash\n\n```sh\n$ pulumi import scaleway:index/instancePrivateNic:InstancePrivateNic pnic01 fr-par-1/11111111-1111-1111-1111-111111111111/22222222-2222-2222-2222-222222222222\n```\n\n", "properties": { "ipIds": { "type": "array", @@ -12884,6 +12137,13 @@ }, "description": "IPAM ip list, should be for internal use only\n" }, + "ipamIpIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network.\n" + }, "macAddress": { "type": "string", "description": "The MAC address of the private NIC.\n" @@ -12923,6 +12183,14 @@ "description": "IPAM ip list, should be for internal use only\n", "willReplaceOnChanges": true }, + "ipamIpIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network.\n", + "willReplaceOnChanges": true + }, "privateNetworkId": { "type": "string", "description": "The ID of the private network attached to.\n", @@ -12961,6 +12229,14 @@ "description": "IPAM ip list, should be for internal use only\n", "willReplaceOnChanges": true }, + "ipamIpIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network.\n", + "willReplaceOnChanges": true + }, "macAddress": { "type": "string", "description": "The MAC address of the private NIC.\n" @@ -22939,235 +22215,34 @@ "type": "object" }, "outputs": { - "description": "A collection of values returned by getContainerNamespace.\n", - "properties": { - "description": { - "description": "The description of the namespace.\n", - "type": "string" - }, - "destroyRegistry": { - "type": "boolean" - }, - "environmentVariables": { - "additionalProperties": { - "type": "string" - }, - "description": "The environment variables of the namespace.\n", - "type": "object" - }, - "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", - "type": "string" - }, - "name": { - "type": "string" - }, - "namespaceId": { - "type": "string" - }, - "organizationId": { - "description": "The unique identifier of the organization with which the namespace is associated.\n", - "type": "string" - }, - "projectId": { - "type": "string" - }, - "region": { - "type": "string" - }, - "registryEndpoint": { - "description": "The registry endpoint of the namespace.\n", - "type": "string" - }, - "registryNamespaceId": { - "description": "The unique identifier of the registry namespace of the Serverless Containers namespace.\n", - "type": "string" - }, - "secretEnvironmentVariables": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "description", - "destroyRegistry", - "environmentVariables", - "organizationId", - "registryEndpoint", - "registryNamespaceId", - "secretEnvironmentVariables", - "id" - ], - "type": "object" - } - }, - "scaleway:index/getDatabase:getDatabase": { - "description": "Gets information about a database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nconst myDb = scaleway.getDatabase({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nmy_db = scaleway.get_database(instance_id=\"11111111-1111-1111-1111-111111111111\",\n name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n var myDb = Scaleway.GetDatabase.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n Name = \"foobar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n\t\t_, err := scaleway.LookupDatabase(ctx, \u0026scaleway.LookupDatabaseArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tName: \"foobar\",\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n final var myDb = ScalewayFunctions.getDatabase(GetDatabaseArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .name(\"foobar\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n myDb:\n fn::invoke:\n Function: scaleway:getDatabase\n Arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", - "inputs": { - "description": "A collection of arguments for invoking getDatabase.\n", - "properties": { - "instanceId": { - "type": "string", - "description": "The RDB instance ID.\n" - }, - "name": { - "type": "string", - "description": "The name of the RDB instance.\n" - }, - "region": { - "type": "string" - } - }, - "type": "object", - "required": [ - "instanceId", - "name" - ] - }, - "outputs": { - "description": "A collection of values returned by getDatabase.\n", - "properties": { - "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", - "type": "string" - }, - "instanceId": { - "type": "string" - }, - "managed": { - "description": "Whether the database is managed or not.\n", - "type": "boolean" - }, - "name": { - "type": "string" - }, - "owner": { - "description": "The name of the owner of the database.\n", - "type": "string" - }, - "region": { - "type": "string" - }, - "size": { - "description": "Size of the database (in bytes).\n", - "type": "string" - } - }, - "required": [ - "instanceId", - "managed", - "name", - "owner", - "size", - "id" - ], - "type": "object" - } - }, - "scaleway:index/getDatabaseAcl:getDatabaseAcl": { - "description": "Gets information about the Database Instance network Access Control List.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\nconst myAcl = scaleway.getDatabaseAcl({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\nmy_acl = scaleway.get_database_acl(instance_id=\"11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n var myAcl = Scaleway.GetDatabaseAcl.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n\t\t_, err := scaleway.LookupDatabaseAcl(ctx, \u0026scaleway.LookupDatabaseAclArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n final var myAcl = ScalewayFunctions.getDatabaseAcl(GetDatabaseAclArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n myAcl:\n fn::invoke:\n Function: scaleway:getDatabaseAcl\n Arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", - "inputs": { - "description": "A collection of arguments for invoking getDatabaseAcl.\n", - "properties": { - "instanceId": { - "type": "string", - "description": "The RDB instance ID.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region in which the Database Instance should be created.\n" - } - }, - "type": "object", - "required": [ - "instanceId" - ] - }, - "outputs": { - "description": "A collection of values returned by getDatabaseAcl.\n", - "properties": { - "aclRules": { - "description": "A list of ACLs rules (structure is described below)\n", - "items": { - "$ref": "#/types/scaleway:index/getDatabaseAclAclRule:getDatabaseAclAclRule" - }, - "type": "array" - }, - "id": { - "description": "The provider-assigned unique ID for this managed resource.\n", - "type": "string" - }, - "instanceId": { - "type": "string" - }, - "region": { - "type": "string" - } - }, - "required": [ - "aclRules", - "instanceId", - "id" - ], - "type": "object" - } - }, - "scaleway:index/getDatabaseBackup:getDatabaseBackup": { - "description": "Gets information about an RDB backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst findByName = scaleway.getDatabaseBackup({\n name: \"mybackup\",\n});\nconst findByNameAndInstance = scaleway.getDatabaseBackup({\n name: \"mybackup\",\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n});\nconst findById = scaleway.getDatabaseBackup({\n backupId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nfind_by_name = scaleway.get_database_backup(name=\"mybackup\")\nfind_by_name_and_instance = scaleway.get_database_backup(name=\"mybackup\",\n instance_id=\"11111111-1111-1111-1111-111111111111\")\nfind_by_id = scaleway.get_database_backup(backup_id=\"11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var findByName = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n Name = \"mybackup\",\n });\n\n var findByNameAndInstance = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n Name = \"mybackup\",\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n var findById = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n BackupId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tName: pulumi.StringRef(\"mybackup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tName: pulumi.StringRef(\"mybackup\"),\n\t\t\tInstanceId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tBackupId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 findByName = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .name(\"mybackup\")\n .build());\n\n final var findByNameAndInstance = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .name(\"mybackup\")\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n final var findById = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .backupId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n findByName:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n name: mybackup\n findByNameAndInstance:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n name: mybackup\n instanceId: 11111111-1111-1111-1111-111111111111\n findById:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n backupId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", - "inputs": { - "description": "A collection of arguments for invoking getDatabaseBackup.\n", - "properties": { - "backupId": { - "type": "string", - "description": "The backup ID.\n" - }, - "instanceId": { - "type": "string", - "description": "The Database Instance ID.\n" - }, - "name": { - "type": "string", - "description": "The name of the RDB instance.\n\n\u003e **Note** You must specify at least one: `name` and/or `backup_id`.\n" - }, - "projectId": { - "type": "string", - "description": "The ID of the project the Database Backup is associated with.\n" - }, - "region": { - "type": "string", - "description": "`region`) The region in which the Database Backup is associated with.\n" - } - }, - "type": "object" - }, - "outputs": { - "description": "A collection of values returned by getDatabaseBackup.\n", + "description": "A collection of values returned by getContainerNamespace.\n", "properties": { - "backupId": { - "type": "string" - }, - "createdAt": { + "description": { + "description": "The description of the namespace.\n", "type": "string" }, - "databaseName": { - "type": "string" + "destroyRegistry": { + "type": "boolean" }, - "expiresAt": { - "type": "string" + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "The environment variables of the namespace.\n", + "type": "object" }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, - "instanceId": { + "name": { "type": "string" }, - "instanceName": { + "namespaceId": { "type": "string" }, - "name": { + "organizationId": { + "description": "The unique identifier of the organization with which the namespace is associated.\n", "type": "string" }, "projectId": { @@ -23176,222 +22251,125 @@ "region": { "type": "string" }, - "size": { - "type": "integer" + "registryEndpoint": { + "description": "The registry endpoint of the namespace.\n", + "type": "string" }, - "updatedAt": { + "registryNamespaceId": { + "description": "The unique identifier of the registry namespace of the Serverless Containers namespace.\n", "type": "string" + }, + "secretEnvironmentVariables": { + "additionalProperties": { + "type": "string" + }, + "type": "object" } }, "required": [ - "createdAt", - "databaseName", - "expiresAt", - "instanceName", - "size", - "updatedAt", + "description", + "destroyRegistry", + "environmentVariables", + "organizationId", + "registryEndpoint", + "registryNamespaceId", + "secretEnvironmentVariables", "id" ], "type": "object" } }, - "scaleway:index/getDatabaseInstance:getDatabaseInstance": { - "description": "Gets information about an Database Instance.\n\nFor further information refer the Managed Databases for PostgreSQL and MySQL [API documentation](https://developers.scaleway.com/en/products/rdb/api/#database-instance)\n\n", + "scaleway:index/getDatabase:getDatabase": { + "description": "Gets information about a database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nconst myDb = scaleway.getDatabase({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nmy_db = scaleway.get_database(instance_id=\"11111111-1111-1111-1111-111111111111\",\n name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n var myDb = Scaleway.GetDatabase.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n Name = \"foobar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n\t\t_, err := scaleway.LookupDatabase(ctx, \u0026scaleway.LookupDatabaseArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tName: \"foobar\",\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n final var myDb = ScalewayFunctions.getDatabase(GetDatabaseArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .name(\"foobar\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n myDb:\n fn::invoke:\n Function: scaleway:getDatabase\n Arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { - "description": "A collection of arguments for invoking getDatabaseInstance.\n", + "description": "A collection of arguments for invoking getDatabase.\n", "properties": { "instanceId": { "type": "string", - "description": "The RDB instance ID.\n\n\u003e **Note** You must specify at least one: `name` and/or `instance_id`.\n" + "description": "The RDB instance ID.\n" }, "name": { "type": "string", "description": "The name of the RDB instance.\n" }, - "projectId": { - "type": "string", - "description": "The ID of the project the Database Instance is in. Can be used to filter instances when using `name`.\n" - }, "region": { - "type": "string", - "description": "`region`) The region in which the Database Instance exists.\n" + "type": "string" } }, - "type": "object" + "type": "object", + "required": [ + "instanceId", + "name" + ] }, "outputs": { - "description": "A collection of values returned by getDatabaseInstance.\n", + "description": "A collection of values returned by getDatabase.\n", "properties": { - "backupSameRegion": { - "type": "boolean" - }, - "backupScheduleFrequency": { - "type": "integer" - }, - "backupScheduleRetention": { - "type": "integer" - }, - "certificate": { - "type": "string" - }, - "disableBackup": { - "type": "boolean" - }, - "encryptionAtRest": { - "type": "boolean" - }, - "endpointIp": { - "type": "string" - }, - "endpointPort": { - "type": "integer" - }, - "engine": { - "type": "string" - }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, - "initSettings": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, "instanceId": { "type": "string" }, - "isHaCluster": { + "managed": { + "description": "Whether the database is managed or not.\n", "type": "boolean" }, - "loadBalancers": { - "items": { - "$ref": "#/types/scaleway:index/getDatabaseInstanceLoadBalancer:getDatabaseInstanceLoadBalancer" - }, - "type": "array" - }, - "logsPolicies": { - "items": { - "$ref": "#/types/scaleway:index/getDatabaseInstanceLogsPolicy:getDatabaseInstanceLogsPolicy" - }, - "type": "array" - }, "name": { "type": "string" }, - "nodeType": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "password": { - "type": "string" - }, - "privateNetworks": { - "items": { - "$ref": "#/types/scaleway:index/getDatabaseInstancePrivateNetwork:getDatabaseInstancePrivateNetwork" - }, - "type": "array" - }, - "projectId": { + "owner": { + "description": "The name of the owner of the database.\n", "type": "string" }, - "readReplicas": { - "items": { - "$ref": "#/types/scaleway:index/getDatabaseInstanceReadReplica:getDatabaseInstanceReadReplica" - }, - "type": "array" - }, "region": { "type": "string" }, - "settings": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "userName": { - "type": "string" - }, - "volumeSizeInGb": { - "type": "integer" - }, - "volumeType": { + "size": { + "description": "Size of the database (in bytes).\n", "type": "string" } }, "required": [ - "backupSameRegion", - "backupScheduleFrequency", - "backupScheduleRetention", - "certificate", - "disableBackup", - "encryptionAtRest", - "endpointIp", - "endpointPort", - "engine", - "initSettings", - "isHaCluster", - "loadBalancers", - "logsPolicies", - "nodeType", - "organizationId", - "password", - "privateNetworks", - "readReplicas", - "settings", - "tags", - "userName", - "volumeSizeInGb", - "volumeType", + "instanceId", + "managed", + "name", + "owner", + "size", "id" ], "type": "object" } }, - "scaleway:index/getDatabasePrivilege:getDatabasePrivilege": { - "description": "Gets information about the privileges in a database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\nconst main = scaleway.getDatabasePrivilege({\n instanceId: \"11111111-1111-111111111111\",\n userName: \"my-user\",\n databaseName: \"my-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\nmain = scaleway.get_database_privilege(instance_id=\"11111111-1111-111111111111\",\n user_name=\"my-user\",\n database_name=\"my-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n var main = Scaleway.GetDatabasePrivilege.Invoke(new()\n {\n InstanceId = \"11111111-1111-111111111111\",\n UserName = \"my-user\",\n DatabaseName = \"my-database\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n\t\t_, err := scaleway.LookupDatabasePrivilege(ctx, \u0026scaleway.LookupDatabasePrivilegeArgs{\n\t\t\tInstanceId: \"11111111-1111-111111111111\",\n\t\t\tUserName: \"my-user\",\n\t\t\tDatabaseName: \"my-database\",\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabasePrivilegeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n final var main = ScalewayFunctions.getDatabasePrivilege(GetDatabasePrivilegeArgs.builder()\n .instanceId(\"11111111-1111-111111111111\")\n .userName(\"my-user\")\n .databaseName(\"my-database\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n main:\n fn::invoke:\n Function: scaleway:getDatabasePrivilege\n Arguments:\n instanceId: 11111111-1111-111111111111\n userName: my-user\n databaseName: my-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "scaleway:index/getDatabaseAcl:getDatabaseAcl": { + "description": "Gets information about the Database Instance network Access Control List.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\nconst myAcl = scaleway.getDatabaseAcl({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\nmy_acl = scaleway.get_database_acl(instance_id=\"11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n var myAcl = Scaleway.GetDatabaseAcl.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n\t\t_, err := scaleway.LookupDatabaseAcl(ctx, \u0026scaleway.LookupDatabaseAclArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n final var myAcl = ScalewayFunctions.getDatabaseAcl(GetDatabaseAclArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database ACL for the instance id 11111111-1111-1111-1111-111111111111 located in the default region e.g: fr-par\n myAcl:\n fn::invoke:\n Function: scaleway:getDatabaseAcl\n Arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { - "description": "A collection of arguments for invoking getDatabasePrivilege.\n", + "description": "A collection of arguments for invoking getDatabaseAcl.\n", "properties": { - "databaseName": { - "type": "string", - "description": "The database name.\n" - }, "instanceId": { "type": "string", - "description": "The Database Instance ID.\n" + "description": "The RDB instance ID.\n" }, "region": { "type": "string", - "description": "`region`) The region in which the resource exists.\n" - }, - "userName": { - "type": "string", - "description": "The user name.\n" + "description": "`region`) The region in which the Database Instance should be created.\n" } }, "type": "object", "required": [ - "databaseName", - "instanceId", - "userName" + "instanceId" ] }, "outputs": { - "description": "A collection of values returned by getDatabasePrivilege.\n", + "description": "A collection of values returned by getDatabaseAcl.\n", "properties": { - "databaseName": { - "type": "string" + "aclRules": { + "description": "A list of ACLs rules (structure is described below)\n", + "items": { + "$ref": "#/types/scaleway:index/getDatabaseAclAclRule:getDatabaseAclAclRule" + }, + "type": "array" }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", @@ -23400,52 +22378,61 @@ "instanceId": { "type": "string" }, - "permission": { - "description": "The permission for this user on the database. Possible values are `readonly`, `readwrite`, `all`\n, `custom` and `none`.\n", - "type": "string" - }, "region": { "type": "string" - }, - "userName": { - "type": "string" } }, "required": [ - "databaseName", + "aclRules", "instanceId", - "permission", - "userName", "id" ], "type": "object" } }, - "scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase": { - "description": "Gets information about DocumentDB database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nconst main = scaleway.getDocumentdbDatabase({\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n name: \"foobar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\nmain = scaleway.get_documentdb_database(instance_id=\"11111111-1111-1111-1111-111111111111\",\n name=\"foobar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n var main = Scaleway.GetDocumentdbDatabase.Invoke(new()\n {\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n Name = \"foobar\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n\t\t_, err := scaleway.LookupDocumentdbDatabase(ctx, \u0026scaleway.LookupDocumentdbDatabaseArgs{\n\t\t\tInstanceId: \"11111111-1111-1111-1111-111111111111\",\n\t\t\tName: pulumi.StringRef(\"foobar\"),\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDocumentdbDatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n final var main = ScalewayFunctions.getDocumentdbDatabase(GetDocumentdbDatabaseArgs.builder()\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .name(\"foobar\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111\n main:\n fn::invoke:\n Function: scaleway:getDocumentdbDatabase\n Arguments:\n instanceId: 11111111-1111-1111-1111-111111111111\n name: foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "scaleway:index/getDatabaseBackup:getDatabaseBackup": { + "description": "Gets information about an RDB backup.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\nconst findByName = scaleway.getDatabaseBackup({\n name: \"mybackup\",\n});\nconst findByNameAndInstance = scaleway.getDatabaseBackup({\n name: \"mybackup\",\n instanceId: \"11111111-1111-1111-1111-111111111111\",\n});\nconst findById = scaleway.getDatabaseBackup({\n backupId: \"11111111-1111-1111-1111-111111111111\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\nfind_by_name = scaleway.get_database_backup(name=\"mybackup\")\nfind_by_name_and_instance = scaleway.get_database_backup(name=\"mybackup\",\n instance_id=\"11111111-1111-1111-1111-111111111111\")\nfind_by_id = scaleway.get_database_backup(backup_id=\"11111111-1111-1111-1111-111111111111\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var findByName = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n Name = \"mybackup\",\n });\n\n var findByNameAndInstance = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n Name = \"mybackup\",\n InstanceId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n var findById = Scaleway.GetDatabaseBackup.Invoke(new()\n {\n BackupId = \"11111111-1111-1111-1111-111111111111\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tName: pulumi.StringRef(\"mybackup\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tName: pulumi.StringRef(\"mybackup\"),\n\t\t\tInstanceId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = scaleway.LookupDatabaseBackup(ctx, \u0026scaleway.LookupDatabaseBackupArgs{\n\t\t\tBackupId: pulumi.StringRef(\"11111111-1111-1111-1111-111111111111\"),\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabaseBackupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 findByName = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .name(\"mybackup\")\n .build());\n\n final var findByNameAndInstance = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .name(\"mybackup\")\n .instanceId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n final var findById = ScalewayFunctions.getDatabaseBackup(GetDatabaseBackupArgs.builder()\n .backupId(\"11111111-1111-1111-1111-111111111111\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n findByName:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n name: mybackup\n findByNameAndInstance:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n name: mybackup\n instanceId: 11111111-1111-1111-1111-111111111111\n findById:\n fn::invoke:\n Function: scaleway:getDatabaseBackup\n Arguments:\n backupId: 11111111-1111-1111-1111-111111111111\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { - "description": "A collection of arguments for invoking getDocumentdbDatabase.\n", + "description": "A collection of arguments for invoking getDatabaseBackup.\n", "properties": { + "backupId": { + "type": "string", + "description": "The backup ID.\n" + }, "instanceId": { "type": "string", - "description": "The DocumentDB instance ID.\n" + "description": "The Database Instance ID.\n" }, "name": { "type": "string", - "description": "The name of the DocumentDB instance.\n" + "description": "The name of the RDB instance.\n\n\u003e **Note** You must specify at least one: `name` and/or `backup_id`.\n" + }, + "projectId": { + "type": "string", + "description": "The ID of the project the Database Backup is associated with.\n" }, "region": { - "type": "string" + "type": "string", + "description": "`region`) The region in which the Database Backup is associated with.\n" } }, - "type": "object", - "required": [ - "instanceId" - ] + "type": "object" }, "outputs": { - "description": "A collection of values returned by getDocumentdbDatabase.\n", + "description": "A collection of values returned by getDatabaseBackup.\n", "properties": { + "backupId": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "expiresAt": { + "type": "string" + }, "id": { "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" @@ -23453,15 +22440,10 @@ "instanceId": { "type": "string" }, - "managed": { - "description": "Whether the database is managed or not.\n", - "type": "boolean" - }, - "name": { + "instanceName": { "type": "string" }, - "owner": { - "description": "The name of the owner of the database.\n", + "name": { "type": "string" }, "projectId": { @@ -23471,48 +22453,75 @@ "type": "string" }, "size": { - "description": "Size of the database (in bytes).\n", + "type": "integer" + }, + "updatedAt": { "type": "string" } }, "required": [ - "instanceId", - "managed", - "owner", - "projectId", + "createdAt", + "databaseName", + "expiresAt", + "instanceName", "size", + "updatedAt", "id" ], "type": "object" } }, - "scaleway:index/getDocumentdbInstance:getDocumentdbInstance": { - "description": "Gets information about an DocumentDB instance.\n\n", + "scaleway:index/getDatabaseInstance:getDatabaseInstance": { + "description": "Gets information about an Database Instance.\n\nFor further information refer the Managed Databases for PostgreSQL and MySQL [API documentation](https://developers.scaleway.com/en/products/rdb/api/#database-instance)\n\n", "inputs": { - "description": "A collection of arguments for invoking getDocumentdbInstance.\n", + "description": "A collection of arguments for invoking getDatabaseInstance.\n", "properties": { "instanceId": { "type": "string", - "description": "The DocumentDB instance ID.\nOnly one of `name` and `instance_id` should be specified.\n" + "description": "The RDB instance ID.\n\n\u003e **Note** You must specify at least one: `name` and/or `instance_id`.\n" }, "name": { "type": "string", - "description": "The name of the DocumentDB instance.\nOnly one of `name` and `instance_id` should be specified.\n" + "description": "The name of the RDB instance.\n" }, "projectId": { "type": "string", - "description": "The ID of the project the DocumentDB instance is associated with.\n" + "description": "The ID of the project the Database Instance is in. Can be used to filter instances when using `name`.\n" }, "region": { "type": "string", - "description": "`region`) The region in which the DocumentDB instance exists.\n" + "description": "`region`) The region in which the Database Instance exists.\n" } }, "type": "object" }, "outputs": { - "description": "A collection of values returned by getDocumentdbInstance.\n", + "description": "A collection of values returned by getDatabaseInstance.\n", "properties": { + "backupSameRegion": { + "type": "boolean" + }, + "backupScheduleFrequency": { + "type": "integer" + }, + "backupScheduleRetention": { + "type": "integer" + }, + "certificate": { + "type": "string" + }, + "disableBackup": { + "type": "boolean" + }, + "encryptionAtRest": { + "type": "boolean" + }, + "endpointIp": { + "type": "string" + }, + "endpointPort": { + "type": "integer" + }, "engine": { "type": "string" }, @@ -23520,36 +22529,72 @@ "description": "The provider-assigned unique ID for this managed resource.\n", "type": "string" }, + "initSettings": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, "instanceId": { "type": "string" }, "isHaCluster": { "type": "boolean" }, + "loadBalancers": { + "items": { + "$ref": "#/types/scaleway:index/getDatabaseInstanceLoadBalancer:getDatabaseInstanceLoadBalancer" + }, + "type": "array" + }, + "logsPolicies": { + "items": { + "$ref": "#/types/scaleway:index/getDatabaseInstanceLogsPolicy:getDatabaseInstanceLogsPolicy" + }, + "type": "array" + }, "name": { "type": "string" }, "nodeType": { "type": "string" }, + "organizationId": { + "type": "string" + }, "password": { "type": "string" }, + "privateNetworks": { + "items": { + "$ref": "#/types/scaleway:index/getDatabaseInstancePrivateNetwork:getDatabaseInstancePrivateNetwork" + }, + "type": "array" + }, "projectId": { "type": "string" }, + "readReplicas": { + "items": { + "$ref": "#/types/scaleway:index/getDatabaseInstanceReadReplica:getDatabaseInstanceReadReplica" + }, + "type": "array" + }, "region": { "type": "string" }, + "settings": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, "tags": { "items": { "type": "string" }, "type": "array" }, - "telemetryEnabled": { - "type": "boolean" - }, "userName": { "type": "string" }, @@ -23561,12 +22606,26 @@ } }, "required": [ + "backupSameRegion", + "backupScheduleFrequency", + "backupScheduleRetention", + "certificate", + "disableBackup", + "encryptionAtRest", + "endpointIp", + "endpointPort", "engine", + "initSettings", "isHaCluster", + "loadBalancers", + "logsPolicies", "nodeType", + "organizationId", "password", + "privateNetworks", + "readReplicas", + "settings", "tags", - "telemetryEnabled", "userName", "volumeSizeInGb", "volumeType", @@ -23575,37 +22634,39 @@ "type": "object" } }, - "scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint": { - "description": "Gets information about an DocumentDB load balancer endpoint.\n\n", + "scaleway:index/getDatabasePrivilege:getDatabasePrivilege": { + "description": "Gets information about the privileges in a database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as scaleway from \"@pulumi/scaleway\";\n\n// Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\nconst main = scaleway.getDatabasePrivilege({\n instanceId: \"11111111-1111-111111111111\",\n userName: \"my-user\",\n databaseName: \"my-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_scaleway as scaleway\n\n# Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\nmain = scaleway.get_database_privilege(instance_id=\"11111111-1111-111111111111\",\n user_name=\"my-user\",\n database_name=\"my-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Scaleway = Pulumi.Scaleway;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n var main = Scaleway.GetDatabasePrivilege.Invoke(new()\n {\n InstanceId = \"11111111-1111-111111111111\",\n UserName = \"my-user\",\n DatabaseName = \"my-database\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n\t\t_, err := scaleway.LookupDatabasePrivilege(ctx, \u0026scaleway.LookupDatabasePrivilegeArgs{\n\t\t\tInstanceId: \"11111111-1111-111111111111\",\n\t\t\tUserName: \"my-user\",\n\t\t\tDatabaseName: \"my-database\",\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.scaleway.ScalewayFunctions;\nimport com.pulumi.scaleway.inputs.GetDatabasePrivilegeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n final var main = ScalewayFunctions.getDatabasePrivilege(GetDatabasePrivilegeArgs.builder()\n .instanceId(\"11111111-1111-111111111111\")\n .userName(\"my-user\")\n .databaseName(\"my-database\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # Get the database privilege for the user \"my-user\" on the database \"my-database\" hosted on instance id 11111111-1111-1111-1111-111111111111 and on the default region. e.g: fr-par\n main:\n fn::invoke:\n Function: scaleway:getDatabasePrivilege\n Arguments:\n instanceId: 11111111-1111-111111111111\n userName: my-user\n databaseName: my-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { - "description": "A collection of arguments for invoking getDocumentdbLoadBalancerEndpoint.\n", + "description": "A collection of arguments for invoking getDatabasePrivilege.\n", "properties": { - "instanceId": { + "databaseName": { "type": "string", - "description": "The DocumentDB Instance on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified.\n" + "description": "The database name.\n" }, - "instanceName": { + "instanceId": { "type": "string", - "description": "The DocumentDB Instance Name on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified.\n" + "description": "The Database Instance ID.\n" }, - "projectId": { + "region": { "type": "string", - "description": "The ID of the project the DocumentDB endpoint is associated with.\n", - "willReplaceOnChanges": true + "description": "`region`) The region in which the resource exists.\n" }, - "region": { + "userName": { "type": "string", - "description": "`region`) The region in which the DocumentDB endpoint exists.\n", - "willReplaceOnChanges": true + "description": "The user name.\n" } }, - "type": "object" + "type": "object", + "required": [ + "databaseName", + "instanceId", + "userName" + ] }, "outputs": { - "description": "A collection of values returned by getDocumentdbLoadBalancerEndpoint.\n", + "description": "A collection of values returned by getDatabasePrivilege.\n", "properties": { - "hostname": { - "description": "The hostname of your endpoint.\n", + "databaseName": { "type": "string" }, "id": { @@ -23615,37 +22676,22 @@ "instanceId": { "type": "string" }, - "instanceName": { - "type": "string" - }, - "ip": { - "description": "The IP of your load balancer service.\n", - "type": "string" - }, - "name": { - "description": "The name of your load balancer service.\n", + "permission": { + "description": "The permission for this user on the database. Possible values are `readonly`, `readwrite`, `all`\n, `custom` and `none`.\n", "type": "string" }, - "port": { - "description": "The port of your load balancer service.\n", - "type": "integer" - }, - "projectId": { + "region": { "type": "string" }, - "region": { + "userName": { "type": "string" } }, "required": [ - "hostname", + "databaseName", "instanceId", - "instanceName", - "ip", - "name", - "port", - "projectId", - "region", + "permission", + "userName", "id" ], "type": "object" @@ -24889,6 +23935,12 @@ }, "type": "array" }, + "ipamIpIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "macAddress": { "type": "string" }, @@ -24913,6 +23965,7 @@ }, "required": [ "ipIds", + "ipamIpIds", "macAddress", "serverId", "id" @@ -27829,6 +26882,96 @@ "type": "object" } }, + "scaleway:index/getRegistryImageTag:getRegistryImageTag": { + "description": "Gets information about a specific tag of a Container Registry image.\n\n", + "inputs": { + "description": "A collection of arguments for invoking getRegistryImageTag.\n", + "properties": { + "imageId": { + "type": "string", + "description": "The ID of the registry image.\n" + }, + "name": { + "type": "string", + "description": "The name of the registry image tag.\n" + }, + "projectId": { + "type": "string", + "description": "The ID of the project the image tag is associated with.\n", + "willReplaceOnChanges": true + }, + "region": { + "type": "string", + "description": "The region in which the registry image tag exists.\n", + "willReplaceOnChanges": true + }, + "tagId": { + "type": "string", + "description": "The ID of the registry image tag.\n" + } + }, + "type": "object", + "required": [ + "imageId" + ] + }, + "outputs": { + "description": "A collection of values returned by getRegistryImageTag.\n", + "properties": { + "createdAt": { + "description": "The date and time when the registry image tag was created.\n", + "type": "string" + }, + "digest": { + "description": "Hash of the tag content. Several tags of the same image may have the same digest.\n", + "type": "string" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "imageId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organizationId": { + "description": "The organization ID the image tag is associated with.\n", + "type": "string" + }, + "projectId": { + "type": "string" + }, + "region": { + "type": "string" + }, + "status": { + "description": "The status of the registry image tag.\n", + "type": "string" + }, + "tagId": { + "type": "string" + }, + "updatedAt": { + "description": "The date and time of the last update to the registry image tag.\n", + "type": "string" + } + }, + "required": [ + "createdAt", + "digest", + "imageId", + "organizationId", + "projectId", + "region", + "status", + "updatedAt", + "id" + ], + "type": "object" + } + }, "scaleway:index/getRegistryNamespace:getRegistryNamespace": { "description": "Gets information about a registry namespace.\n\n", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index 2d357900..722db5d6 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -195,7 +195,7 @@ require ( github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30 // indirect - github.com/scaleway/terraform-provider-scaleway/v2 v2.45.0 // indirect + github.com/scaleway/terraform-provider-scaleway/v2 v2.46.0 // indirect github.com/segmentio/asm v1.1.3 // indirect github.com/segmentio/encoding v0.3.5 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect diff --git a/provider/go.sum b/provider/go.sum index 8022e872..285ea10f 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1990,8 +1990,8 @@ github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9Am github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30 h1:yoKAVkEVwAqbGbR8n87rHQ1dulL25rKloGadb3vm770= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30/go.mod h1:sH0u6fq6x4R5M7WxkoQFY/o7UaiItec0o1LinLCJNq8= -github.com/scaleway/terraform-provider-scaleway/v2 v2.45.0 h1:47OF1l/AhTJztNb6pRMa2wY4oyyRtehOFUuvO/EAkR8= -github.com/scaleway/terraform-provider-scaleway/v2 v2.45.0/go.mod h1:UIl6/JpUkO30efjRsV5fh+WU3Bcg0j0LA+qc6E+bhlU= +github.com/scaleway/terraform-provider-scaleway/v2 v2.46.0 h1:VD9V/t43In0CDmjzcZv0gLcMmGprd0eZP/ZIs91vbxs= +github.com/scaleway/terraform-provider-scaleway/v2 v2.46.0/go.mod h1:UIl6/JpUkO30efjRsV5fh+WU3Bcg0j0LA+qc6E+bhlU= github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= diff --git a/provider/resources.go b/provider/resources.go index 22d34a21..2cdb89af 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -233,42 +233,6 @@ func Provider() tfbridge.ProviderInfo { Source: "domain_zone.md", }, }, - "scaleway_documentdb_database": { - Tok: scalewayResource(scalewayMod, "DocumentdbDatabase"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_database.md", - }, - }, - "scaleway_documentdb_instance": { - Tok: scalewayResource(scalewayMod, "DocumentdbInstance"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_instance.md", - }, - }, - "scaleway_documentdb_private_network_endpoint": { - Tok: scalewayResource(scalewayMod, "DocumentdbPrivateNetworkEndpoint"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_private_network_endpoint.md", - }, - }, - "scaleway_documentdb_privilege": { - Tok: scalewayResource(scalewayMod, "DocumentdbPrivilege"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_privilege.md", - }, - }, - "scaleway_documentdb_read_replica": { - Tok: scalewayResource(scalewayMod, "DocumentdbReadReplica"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_read_replica.md", - }, - }, - "scaleway_documentdb_user": { - Tok: scalewayResource(scalewayMod, "DocumentdbUser"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_user.md", - }, - }, "scaleway_flexible_ip_mac_address": { Tok: scalewayResource(scalewayMod, "FlexibleIpMacAddress"), Docs: &tfbridge.DocInfo{ @@ -871,24 +835,6 @@ func Provider() tfbridge.ProviderInfo { Source: "domain_zone.md", }, }, - "scaleway_documentdb_database": { - Tok: scalewayDataSource(scalewayMod, "getDocumentdbDatabase"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_database.md", - }, - }, - "scaleway_documentdb_instance": { - Tok: scalewayDataSource(scalewayMod, "getDocumentdbInstance"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_instance.md", - }, - }, - "scaleway_documentdb_load_balancer_endpoint": { - Tok: scalewayDataSource(scalewayMod, "getDocumentdbLoadBalancerEndpoint"), - Docs: &tfbridge.DocInfo{ - Source: "documentdb_load_balancer_endpoint.md", - }, - }, "scaleway_flexible_ip": { Tok: scalewayDataSource(scalewayMod, "getFlexibleIp"), Docs: &tfbridge.DocInfo{ @@ -1171,6 +1117,12 @@ func Provider() tfbridge.ProviderInfo { Source: "registry_image.md", }, }, + "scaleway_registry_image_tag": { + Tok: scalewayDataSource(scalewayMod, "getRegistryImageTag"), + Docs: &tfbridge.DocInfo{ + Source: "registry_image_tag.md", + }, + }, "scaleway_registry_namespace": { Tok: scalewayDataSource(scalewayMod, "getRegistryNamespace"), Docs: &tfbridge.DocInfo{ diff --git a/provider/shim/go.mod b/provider/shim/go.mod index ac406113..305408f4 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -4,7 +4,7 @@ go 1.22 require ( github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0 - github.com/scaleway/terraform-provider-scaleway/v2 v2.45.0 + github.com/scaleway/terraform-provider-scaleway/v2 v2.46.0 ) require ( diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 5af0d697..9411c70d 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -180,8 +180,8 @@ github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30 h1:yoKAVkEVwAqbGbR8n87rHQ1dulL25rKloGadb3vm770= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30/go.mod h1:sH0u6fq6x4R5M7WxkoQFY/o7UaiItec0o1LinLCJNq8= -github.com/scaleway/terraform-provider-scaleway/v2 v2.45.0 h1:47OF1l/AhTJztNb6pRMa2wY4oyyRtehOFUuvO/EAkR8= -github.com/scaleway/terraform-provider-scaleway/v2 v2.45.0/go.mod h1:UIl6/JpUkO30efjRsV5fh+WU3Bcg0j0LA+qc6E+bhlU= +github.com/scaleway/terraform-provider-scaleway/v2 v2.46.0 h1:VD9V/t43In0CDmjzcZv0gLcMmGprd0eZP/ZIs91vbxs= +github.com/scaleway/terraform-provider-scaleway/v2 v2.46.0/go.mod h1:UIl6/JpUkO30efjRsV5fh+WU3Bcg0j0LA+qc6E+bhlU= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= diff --git a/sdk/dotnet/CockpitAlertManager.cs b/sdk/dotnet/CockpitAlertManager.cs index 5cb9b7ca..8cc140e0 100644 --- a/sdk/dotnet/CockpitAlertManager.cs +++ b/sdk/dotnet/CockpitAlertManager.cs @@ -17,6 +17,47 @@ namespace Pulumiverse.Scaleway /// /// ## Example Usage /// + /// ### Enable the alert manager and configure managed alerts + /// + /// The following commands allow you to: + /// + /// - enable the alert manager in a Project named `tf_test_project` + /// - enable [managed alerts](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#managed-alerts) + /// - set up [contact points](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#contact-points) to receive alert notifications + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var project = new Scaleway.AccountProject("project", new() + /// { + /// Name = "tf_test_project", + /// }); + /// + /// var alertManager = new Scaleway.CockpitAlertManager("alert_manager", new() + /// { + /// ProjectId = project.Id, + /// EnableManagedAlerts = true, + /// ContactPoints = new[] + /// { + /// new Scaleway.Inputs.CockpitAlertManagerContactPointArgs + /// { + /// Email = "alert1@example.com", + /// }, + /// new Scaleway.Inputs.CockpitAlertManagerContactPointArgs + /// { + /// Email = "alert2@example.com", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// This section explains how to import alert managers using the ID of the Project associated with Cockpit. diff --git a/sdk/dotnet/DocumentdbDatabase.cs b/sdk/dotnet/DocumentdbDatabase.cs deleted file mode 100644 index ca17f643..00000000 --- a/sdk/dotnet/DocumentdbDatabase.cs +++ /dev/null @@ -1,234 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - /// - /// Creates and manages Scaleway DocumentDB database. - /// - /// ## Example Usage - /// - /// ### Basic - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var instance = new Scaleway.DocumentdbInstance("instance", new() - /// { - /// Name = "test-document_db-basic", - /// NodeType = "docdb-play2-pico", - /// Engine = "FerretDB-1", - /// UserName = "my_initial_user", - /// Password = "thiZ_is_v&ry_s3cret", - /// VolumeSizeInGb = 20, - /// }); - /// - /// var main = new Scaleway.DocumentdbDatabase("main", new() - /// { - /// InstanceId = instance.Id, - /// Name = "my-new-database", - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// DocumentDB Database can be imported using the `{region}/{id}/{DBNAME}`, e.g. - /// - /// bash - /// - /// ```sh - /// $ pulumi import scaleway:index/documentdbDatabase:DocumentdbDatabase mydb fr-par/11111111-1111-1111-1111-111111111111/mydb - /// ``` - /// - [ScalewayResourceType("scaleway:index/documentdbDatabase:DocumentdbDatabase")] - public partial class DocumentdbDatabase : global::Pulumi.CustomResource - { - /// - /// UUID of the documentdb instance. - /// - /// > **Important:** Updates to `instance_id` will recreate the Database. - /// - [Output("instanceId")] - public Output InstanceId { get; private set; } = null!; - - /// - /// Whether the database is managed or not. - /// - [Output("managed")] - public Output Managed { get; private set; } = null!; - - /// - /// Name of the database (e.g. `my-new-database`). - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// The name of the owner of the database. - /// - [Output("owner")] - public Output Owner { get; private set; } = null!; - - /// - /// The project_id you want to attach the resource to - /// - [Output("projectId")] - public Output ProjectId { get; private set; } = null!; - - /// - /// `region`) The region in which the resource exists. - /// - [Output("region")] - public Output Region { get; private set; } = null!; - - /// - /// Size in gigabytes of the database. - /// - [Output("size")] - public Output Size { get; private set; } = null!; - - - /// - /// Create a DocumentdbDatabase resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public DocumentdbDatabase(string name, DocumentdbDatabaseArgs args, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbDatabase:DocumentdbDatabase", name, args ?? new DocumentdbDatabaseArgs(), MakeResourceOptions(options, "")) - { - } - - private DocumentdbDatabase(string name, Input id, DocumentdbDatabaseState? state = null, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbDatabase:DocumentdbDatabase", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing DocumentdbDatabase resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static DocumentdbDatabase Get(string name, Input id, DocumentdbDatabaseState? state = null, CustomResourceOptions? options = null) - { - return new DocumentdbDatabase(name, id, state, options); - } - } - - public sealed class DocumentdbDatabaseArgs : global::Pulumi.ResourceArgs - { - /// - /// UUID of the documentdb instance. - /// - /// > **Important:** Updates to `instance_id` will recreate the Database. - /// - [Input("instanceId", required: true)] - public Input InstanceId { get; set; } = null!; - - /// - /// Name of the database (e.g. `my-new-database`). - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The project_id you want to attach the resource to - /// - [Input("projectId")] - public Input? ProjectId { get; set; } - - /// - /// `region`) The region in which the resource exists. - /// - [Input("region")] - public Input? Region { get; set; } - - public DocumentdbDatabaseArgs() - { - } - public static new DocumentdbDatabaseArgs Empty => new DocumentdbDatabaseArgs(); - } - - public sealed class DocumentdbDatabaseState : global::Pulumi.ResourceArgs - { - /// - /// UUID of the documentdb instance. - /// - /// > **Important:** Updates to `instance_id` will recreate the Database. - /// - [Input("instanceId")] - public Input? InstanceId { get; set; } - - /// - /// Whether the database is managed or not. - /// - [Input("managed")] - public Input? Managed { get; set; } - - /// - /// Name of the database (e.g. `my-new-database`). - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The name of the owner of the database. - /// - [Input("owner")] - public Input? Owner { get; set; } - - /// - /// The project_id you want to attach the resource to - /// - [Input("projectId")] - public Input? ProjectId { get; set; } - - /// - /// `region`) The region in which the resource exists. - /// - [Input("region")] - public Input? Region { get; set; } - - /// - /// Size in gigabytes of the database. - /// - [Input("size")] - public Input? Size { get; set; } - - public DocumentdbDatabaseState() - { - } - public static new DocumentdbDatabaseState Empty => new DocumentdbDatabaseState(); - } -} diff --git a/sdk/dotnet/DocumentdbInstance.cs b/sdk/dotnet/DocumentdbInstance.cs deleted file mode 100644 index 3e4a5a64..00000000 --- a/sdk/dotnet/DocumentdbInstance.cs +++ /dev/null @@ -1,405 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - /// - /// Creates and manages Scaleway Database Instances. - /// - /// ## Example Usage - /// - /// ### Example Basic - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var main = new Scaleway.DocumentdbInstance("main", new() - /// { - /// Name = "test-documentdb-instance-basic", - /// NodeType = "docdb-play2-pico", - /// Engine = "FerretDB-1", - /// UserName = "my_initial_user", - /// Password = "thiZ_is_v&ry_s3cret", - /// Tags = new[] - /// { - /// "terraform-test", - /// "scaleway_documentdb_instance", - /// "minimal", - /// }, - /// VolumeSizeInGb = 20, - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// Database Instance can be imported using the `{region}/{id}`, e.g. - /// - /// bash - /// - /// ```sh - /// $ pulumi import scaleway:index/documentdbInstance:DocumentdbInstance db fr-par/11111111-1111-1111-1111-111111111111 - /// ``` - /// - [ScalewayResourceType("scaleway:index/documentdbInstance:DocumentdbInstance")] - public partial class DocumentdbInstance : global::Pulumi.CustomResource - { - /// - /// Database Instance's engine version (e.g. `FerretDB-1`). - /// - /// > **Important:** Updates to `engine` will recreate the Database Instance. - /// - [Output("engine")] - public Output Engine { get; private set; } = null!; - - /// - /// Enable or disable high availability for the database instance. - /// - [Output("isHaCluster")] - public Output IsHaCluster { get; private set; } = null!; - - /// - /// The name of the Database Instance. - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// The type of database instance you want to create (e.g. `docdb-play2-pico`). - /// - /// > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - /// interruption. Keep in mind that you cannot downgrade a Database Instance. - /// - [Output("nodeType")] - public Output NodeType { get; private set; } = null!; - - /// - /// Password for the first user of the database instance. - /// - [Output("password")] - public Output Password { get; private set; } = null!; - - /// - /// `project_id`) The ID of the project the Database - /// Instance is associated with. - /// - [Output("projectId")] - public Output ProjectId { get; private set; } = null!; - - /// - /// `region`) The region - /// in which the Database Instance should be created. - /// - [Output("region")] - public Output Region { get; private set; } = null!; - - /// - /// The tags associated with the Database Instance. - /// - [Output("tags")] - public Output> Tags { get; private set; } = null!; - - /// - /// Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - /// - /// > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - /// - [Output("telemetryEnabled")] - public Output TelemetryEnabled { get; private set; } = null!; - - /// - /// Identifier for the first user of the database instance. - /// - /// > **Important:** Updates to `user_name` will recreate the Database Instance. - /// - [Output("userName")] - public Output UserName { get; private set; } = null!; - - /// - /// Volume size (in GB) when `volume_type` is set to `bssd`. - /// - [Output("volumeSizeInGb")] - public Output VolumeSizeInGb { get; private set; } = null!; - - /// - /// Type of volume where data are stored (`bssd` or `lssd`). - /// - [Output("volumeType")] - public Output VolumeType { get; private set; } = null!; - - - /// - /// Create a DocumentdbInstance resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public DocumentdbInstance(string name, DocumentdbInstanceArgs args, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbInstance:DocumentdbInstance", name, args ?? new DocumentdbInstanceArgs(), MakeResourceOptions(options, "")) - { - } - - private DocumentdbInstance(string name, Input id, DocumentdbInstanceState? state = null, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbInstance:DocumentdbInstance", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", - AdditionalSecretOutputs = - { - "password", - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing DocumentdbInstance resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static DocumentdbInstance Get(string name, Input id, DocumentdbInstanceState? state = null, CustomResourceOptions? options = null) - { - return new DocumentdbInstance(name, id, state, options); - } - } - - public sealed class DocumentdbInstanceArgs : global::Pulumi.ResourceArgs - { - /// - /// Database Instance's engine version (e.g. `FerretDB-1`). - /// - /// > **Important:** Updates to `engine` will recreate the Database Instance. - /// - [Input("engine", required: true)] - public Input Engine { get; set; } = null!; - - /// - /// Enable or disable high availability for the database instance. - /// - [Input("isHaCluster")] - public Input? IsHaCluster { get; set; } - - /// - /// The name of the Database Instance. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The type of database instance you want to create (e.g. `docdb-play2-pico`). - /// - /// > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - /// interruption. Keep in mind that you cannot downgrade a Database Instance. - /// - [Input("nodeType", required: true)] - public Input NodeType { get; set; } = null!; - - [Input("password")] - private Input? _password; - - /// - /// Password for the first user of the database instance. - /// - public Input? Password - { - get => _password; - set - { - var emptySecret = Output.CreateSecret(0); - _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); - } - } - - /// - /// `project_id`) The ID of the project the Database - /// Instance is associated with. - /// - [Input("projectId")] - public Input? ProjectId { get; set; } - - /// - /// `region`) The region - /// in which the Database Instance should be created. - /// - [Input("region")] - public Input? Region { get; set; } - - [Input("tags")] - private InputList? _tags; - - /// - /// The tags associated with the Database Instance. - /// - public InputList Tags - { - get => _tags ?? (_tags = new InputList()); - set => _tags = value; - } - - /// - /// Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - /// - /// > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - /// - [Input("telemetryEnabled")] - public Input? TelemetryEnabled { get; set; } - - /// - /// Identifier for the first user of the database instance. - /// - /// > **Important:** Updates to `user_name` will recreate the Database Instance. - /// - [Input("userName")] - public Input? UserName { get; set; } - - /// - /// Volume size (in GB) when `volume_type` is set to `bssd`. - /// - [Input("volumeSizeInGb")] - public Input? VolumeSizeInGb { get; set; } - - /// - /// Type of volume where data are stored (`bssd` or `lssd`). - /// - [Input("volumeType")] - public Input? VolumeType { get; set; } - - public DocumentdbInstanceArgs() - { - } - public static new DocumentdbInstanceArgs Empty => new DocumentdbInstanceArgs(); - } - - public sealed class DocumentdbInstanceState : global::Pulumi.ResourceArgs - { - /// - /// Database Instance's engine version (e.g. `FerretDB-1`). - /// - /// > **Important:** Updates to `engine` will recreate the Database Instance. - /// - [Input("engine")] - public Input? Engine { get; set; } - - /// - /// Enable or disable high availability for the database instance. - /// - [Input("isHaCluster")] - public Input? IsHaCluster { get; set; } - - /// - /// The name of the Database Instance. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The type of database instance you want to create (e.g. `docdb-play2-pico`). - /// - /// > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - /// interruption. Keep in mind that you cannot downgrade a Database Instance. - /// - [Input("nodeType")] - public Input? NodeType { get; set; } - - [Input("password")] - private Input? _password; - - /// - /// Password for the first user of the database instance. - /// - public Input? Password - { - get => _password; - set - { - var emptySecret = Output.CreateSecret(0); - _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); - } - } - - /// - /// `project_id`) The ID of the project the Database - /// Instance is associated with. - /// - [Input("projectId")] - public Input? ProjectId { get; set; } - - /// - /// `region`) The region - /// in which the Database Instance should be created. - /// - [Input("region")] - public Input? Region { get; set; } - - [Input("tags")] - private InputList? _tags; - - /// - /// The tags associated with the Database Instance. - /// - public InputList Tags - { - get => _tags ?? (_tags = new InputList()); - set => _tags = value; - } - - /// - /// Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - /// - /// > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - /// - [Input("telemetryEnabled")] - public Input? TelemetryEnabled { get; set; } - - /// - /// Identifier for the first user of the database instance. - /// - /// > **Important:** Updates to `user_name` will recreate the Database Instance. - /// - [Input("userName")] - public Input? UserName { get; set; } - - /// - /// Volume size (in GB) when `volume_type` is set to `bssd`. - /// - [Input("volumeSizeInGb")] - public Input? VolumeSizeInGb { get; set; } - - /// - /// Type of volume where data are stored (`bssd` or `lssd`). - /// - [Input("volumeType")] - public Input? VolumeType { get; set; } - - public DocumentdbInstanceState() - { - } - public static new DocumentdbInstanceState Empty => new DocumentdbInstanceState(); - } -} diff --git a/sdk/dotnet/DocumentdbPrivateNetworkEndpoint.cs b/sdk/dotnet/DocumentdbPrivateNetworkEndpoint.cs deleted file mode 100644 index e9c69677..00000000 --- a/sdk/dotnet/DocumentdbPrivateNetworkEndpoint.cs +++ /dev/null @@ -1,204 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - /// - /// Creates and manages Scaleway Database Private Network Endpoint. - /// - /// ## Example Usage - /// - /// ### Example Basic - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var pn = new Scaleway.VpcPrivateNetwork("pn", new() - /// { - /// Name = "my_private_network", - /// }); - /// - /// var instance = new Scaleway.DocumentdbInstance("instance", new() - /// { - /// Name = "test-document_db-basic", - /// NodeType = "docdb-play2-pico", - /// Engine = "FerretDB-1", - /// UserName = "my_initial_user", - /// Password = "thiZ_is_v&ry_s3cret", - /// VolumeSizeInGb = 20, - /// }); - /// - /// var main = new Scaleway.DocumentdbPrivateNetworkEndpoint("main", new() - /// { - /// InstanceId = instance.Id, - /// PrivateNetwork = new Scaleway.Inputs.DocumentdbPrivateNetworkEndpointPrivateNetworkArgs - /// { - /// IpNet = "172.16.32.3/22", - /// Id = pn.Id, - /// }, - /// }, new CustomResourceOptions - /// { - /// DependsOn = - /// { - /// pn, - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// Database Instance Endpoint can be imported using the `{region}/{endpoint_id}`, e.g. - /// - /// bash - /// - /// ```sh - /// $ pulumi import scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint end fr-par/11111111-1111-1111-1111-111111111111 - /// ``` - /// - [ScalewayResourceType("scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint")] - public partial class DocumentdbPrivateNetworkEndpoint : global::Pulumi.CustomResource - { - /// - /// UUID of the documentdb instance. - /// - [Output("instanceId")] - public Output InstanceId { get; private set; } = null!; - - /// - /// The private network specs details. This is a list with maximum one element and supports the following attributes: - /// - [Output("privateNetwork")] - public Output PrivateNetwork { get; private set; } = null!; - - /// - /// The region of the endpoint. - /// - /// - /// > **NOTE:** Please calculate your host IP. - /// using cirhost. Otherwise, lets IPAM service - /// handle the host IP on the network. - /// - [Output("region")] - public Output Region { get; private set; } = null!; - - - /// - /// Create a DocumentdbPrivateNetworkEndpoint resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public DocumentdbPrivateNetworkEndpoint(string name, DocumentdbPrivateNetworkEndpointArgs args, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint", name, args ?? new DocumentdbPrivateNetworkEndpointArgs(), MakeResourceOptions(options, "")) - { - } - - private DocumentdbPrivateNetworkEndpoint(string name, Input id, DocumentdbPrivateNetworkEndpointState? state = null, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing DocumentdbPrivateNetworkEndpoint resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static DocumentdbPrivateNetworkEndpoint Get(string name, Input id, DocumentdbPrivateNetworkEndpointState? state = null, CustomResourceOptions? options = null) - { - return new DocumentdbPrivateNetworkEndpoint(name, id, state, options); - } - } - - public sealed class DocumentdbPrivateNetworkEndpointArgs : global::Pulumi.ResourceArgs - { - /// - /// UUID of the documentdb instance. - /// - [Input("instanceId", required: true)] - public Input InstanceId { get; set; } = null!; - - /// - /// The private network specs details. This is a list with maximum one element and supports the following attributes: - /// - [Input("privateNetwork")] - public Input? PrivateNetwork { get; set; } - - /// - /// The region of the endpoint. - /// - /// - /// > **NOTE:** Please calculate your host IP. - /// using cirhost. Otherwise, lets IPAM service - /// handle the host IP on the network. - /// - [Input("region")] - public Input? Region { get; set; } - - public DocumentdbPrivateNetworkEndpointArgs() - { - } - public static new DocumentdbPrivateNetworkEndpointArgs Empty => new DocumentdbPrivateNetworkEndpointArgs(); - } - - public sealed class DocumentdbPrivateNetworkEndpointState : global::Pulumi.ResourceArgs - { - /// - /// UUID of the documentdb instance. - /// - [Input("instanceId")] - public Input? InstanceId { get; set; } - - /// - /// The private network specs details. This is a list with maximum one element and supports the following attributes: - /// - [Input("privateNetwork")] - public Input? PrivateNetwork { get; set; } - - /// - /// The region of the endpoint. - /// - /// - /// > **NOTE:** Please calculate your host IP. - /// using cirhost. Otherwise, lets IPAM service - /// handle the host IP on the network. - /// - [Input("region")] - public Input? Region { get; set; } - - public DocumentdbPrivateNetworkEndpointState() - { - } - public static new DocumentdbPrivateNetworkEndpointState Empty => new DocumentdbPrivateNetworkEndpointState(); - } -} diff --git a/sdk/dotnet/DocumentdbPrivilege.cs b/sdk/dotnet/DocumentdbPrivilege.cs deleted file mode 100644 index 8204696e..00000000 --- a/sdk/dotnet/DocumentdbPrivilege.cs +++ /dev/null @@ -1,210 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - /// - /// Create and manage Scaleway DocumentDB database privilege. - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var instance = new Scaleway.DocumentdbInstance("instance", new() - /// { - /// Name = "test-document_db-basic", - /// NodeType = "docdb-play2-pico", - /// Engine = "FerretDB-1", - /// UserName = "my_initial_user", - /// Password = "thiZ_is_v&ry_s3cret", - /// VolumeSizeInGb = 20, - /// }); - /// - /// var main = new Scaleway.DocumentdbPrivilege("main", new() - /// { - /// InstanceId = instance.Id, - /// UserName = "my-db-user", - /// DatabaseName = "my-db-name", - /// Permission = "all", - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// The user privileges can be imported using the `{region}/{instance_id}/{database_name}/{user_name}`, e.g. - /// - /// bash - /// - /// ```sh - /// $ pulumi import scaleway:index/documentdbPrivilege:DocumentdbPrivilege o fr-par/11111111-1111-1111-1111-111111111111/database_name/foo - /// ``` - /// - [ScalewayResourceType("scaleway:index/documentdbPrivilege:DocumentdbPrivilege")] - public partial class DocumentdbPrivilege : global::Pulumi.CustomResource - { - /// - /// Name of the database (e.g. `my-db-name`). - /// - [Output("databaseName")] - public Output DatabaseName { get; private set; } = null!; - - /// - /// UUID of the rdb instance. - /// - [Output("instanceId")] - public Output InstanceId { get; private set; } = null!; - - /// - /// Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - /// - [Output("permission")] - public Output Permission { get; private set; } = null!; - - /// - /// `region`) The region in which the resource exists. - /// - [Output("region")] - public Output Region { get; private set; } = null!; - - /// - /// Name of the user (e.g. `my-db-user`). - /// - [Output("userName")] - public Output UserName { get; private set; } = null!; - - - /// - /// Create a DocumentdbPrivilege resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public DocumentdbPrivilege(string name, DocumentdbPrivilegeArgs args, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbPrivilege:DocumentdbPrivilege", name, args ?? new DocumentdbPrivilegeArgs(), MakeResourceOptions(options, "")) - { - } - - private DocumentdbPrivilege(string name, Input id, DocumentdbPrivilegeState? state = null, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbPrivilege:DocumentdbPrivilege", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing DocumentdbPrivilege resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static DocumentdbPrivilege Get(string name, Input id, DocumentdbPrivilegeState? state = null, CustomResourceOptions? options = null) - { - return new DocumentdbPrivilege(name, id, state, options); - } - } - - public sealed class DocumentdbPrivilegeArgs : global::Pulumi.ResourceArgs - { - /// - /// Name of the database (e.g. `my-db-name`). - /// - [Input("databaseName", required: true)] - public Input DatabaseName { get; set; } = null!; - - /// - /// UUID of the rdb instance. - /// - [Input("instanceId", required: true)] - public Input InstanceId { get; set; } = null!; - - /// - /// Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - /// - [Input("permission", required: true)] - public Input Permission { get; set; } = null!; - - /// - /// `region`) The region in which the resource exists. - /// - [Input("region")] - public Input? Region { get; set; } - - /// - /// Name of the user (e.g. `my-db-user`). - /// - [Input("userName", required: true)] - public Input UserName { get; set; } = null!; - - public DocumentdbPrivilegeArgs() - { - } - public static new DocumentdbPrivilegeArgs Empty => new DocumentdbPrivilegeArgs(); - } - - public sealed class DocumentdbPrivilegeState : global::Pulumi.ResourceArgs - { - /// - /// Name of the database (e.g. `my-db-name`). - /// - [Input("databaseName")] - public Input? DatabaseName { get; set; } - - /// - /// UUID of the rdb instance. - /// - [Input("instanceId")] - public Input? InstanceId { get; set; } - - /// - /// Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - /// - [Input("permission")] - public Input? Permission { get; set; } - - /// - /// `region`) The region in which the resource exists. - /// - [Input("region")] - public Input? Region { get; set; } - - /// - /// Name of the user (e.g. `my-db-user`). - /// - [Input("userName")] - public Input? UserName { get; set; } - - public DocumentdbPrivilegeState() - { - } - public static new DocumentdbPrivilegeState Empty => new DocumentdbPrivilegeState(); - } -} diff --git a/sdk/dotnet/DocumentdbReadReplica.cs b/sdk/dotnet/DocumentdbReadReplica.cs deleted file mode 100644 index 32448e0b..00000000 --- a/sdk/dotnet/DocumentdbReadReplica.cs +++ /dev/null @@ -1,226 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - /// - /// Creates and manages Scaleway DocumentDB Database read replicas. - /// - /// ## Example Usage - /// - /// ### Basic - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var replica = new Scaleway.DocumentdbReadReplica("replica", new() - /// { - /// InstanceId = "11111111-1111-1111-1111-111111111111", - /// DirectAccess = null, - /// }); - /// - /// }); - /// ``` - /// - /// ### Private network - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var pn = new Scaleway.VpcPrivateNetwork("pn"); - /// - /// var instance = new Scaleway.DocumentdbInstance("instance", new() - /// { - /// Name = "document_db-read-replica-basic", - /// NodeType = "docdb-play2-pico", - /// Engine = "FerretDB-1", - /// UserName = "my_initial_user", - /// Password = "thiZ_is_v&ry_s3cret", - /// VolumeSizeInGb = 20, - /// }); - /// - /// var replica = new Scaleway.DocumentdbReadReplica("replica", new() - /// { - /// InstanceId = instance.Id, - /// PrivateNetwork = new Scaleway.Inputs.DocumentdbReadReplicaPrivateNetworkArgs - /// { - /// PrivateNetworkId = pn.Id, - /// ServiceIp = "192.168.1.254/24", - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// Database Read replica can be imported using the `{region}/{id}`, e.g. - /// - /// bash - /// - /// ```sh - /// $ pulumi import scaleway:index/documentdbReadReplica:DocumentdbReadReplica rr fr-par/11111111-1111-1111-1111-111111111111 - /// ``` - /// - [ScalewayResourceType("scaleway:index/documentdbReadReplica:DocumentdbReadReplica")] - public partial class DocumentdbReadReplica : global::Pulumi.CustomResource - { - /// - /// Creates a direct access endpoint to documentdb replica. - /// - [Output("directAccess")] - public Output DirectAccess { get; private set; } = null!; - - /// - /// UUID of the documentdb instance. - /// - /// > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - /// - [Output("instanceId")] - public Output InstanceId { get; private set; } = null!; - - /// - /// Create an endpoint in a private network. - /// - [Output("privateNetwork")] - public Output PrivateNetwork { get; private set; } = null!; - - /// - /// `region`) The region - /// in which the Database read replica should be created. - /// - [Output("region")] - public Output Region { get; private set; } = null!; - - - /// - /// Create a DocumentdbReadReplica resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public DocumentdbReadReplica(string name, DocumentdbReadReplicaArgs args, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbReadReplica:DocumentdbReadReplica", name, args ?? new DocumentdbReadReplicaArgs(), MakeResourceOptions(options, "")) - { - } - - private DocumentdbReadReplica(string name, Input id, DocumentdbReadReplicaState? state = null, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbReadReplica:DocumentdbReadReplica", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing DocumentdbReadReplica resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static DocumentdbReadReplica Get(string name, Input id, DocumentdbReadReplicaState? state = null, CustomResourceOptions? options = null) - { - return new DocumentdbReadReplica(name, id, state, options); - } - } - - public sealed class DocumentdbReadReplicaArgs : global::Pulumi.ResourceArgs - { - /// - /// Creates a direct access endpoint to documentdb replica. - /// - [Input("directAccess")] - public Input? DirectAccess { get; set; } - - /// - /// UUID of the documentdb instance. - /// - /// > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - /// - [Input("instanceId", required: true)] - public Input InstanceId { get; set; } = null!; - - /// - /// Create an endpoint in a private network. - /// - [Input("privateNetwork")] - public Input? PrivateNetwork { get; set; } - - /// - /// `region`) The region - /// in which the Database read replica should be created. - /// - [Input("region")] - public Input? Region { get; set; } - - public DocumentdbReadReplicaArgs() - { - } - public static new DocumentdbReadReplicaArgs Empty => new DocumentdbReadReplicaArgs(); - } - - public sealed class DocumentdbReadReplicaState : global::Pulumi.ResourceArgs - { - /// - /// Creates a direct access endpoint to documentdb replica. - /// - [Input("directAccess")] - public Input? DirectAccess { get; set; } - - /// - /// UUID of the documentdb instance. - /// - /// > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - /// - [Input("instanceId")] - public Input? InstanceId { get; set; } - - /// - /// Create an endpoint in a private network. - /// - [Input("privateNetwork")] - public Input? PrivateNetwork { get; set; } - - /// - /// `region`) The region - /// in which the Database read replica should be created. - /// - [Input("region")] - public Input? Region { get; set; } - - public DocumentdbReadReplicaState() - { - } - public static new DocumentdbReadReplicaState Empty => new DocumentdbReadReplicaState(); - } -} diff --git a/sdk/dotnet/DocumentdbUser.cs b/sdk/dotnet/DocumentdbUser.cs deleted file mode 100644 index 67de7a5b..00000000 --- a/sdk/dotnet/DocumentdbUser.cs +++ /dev/null @@ -1,255 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - /// - /// Creates and manages Scaleway Database DocumentDB Users. - /// - /// ## Example Usage - /// - /// ### Basic - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Random = Pulumi.Random; - /// using Scaleway = Pulumiverse.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var instance = new Scaleway.DocumentdbInstance("instance", new() - /// { - /// Name = "test-document_db-basic", - /// NodeType = "docdb-play2-pico", - /// Engine = "FerretDB-1", - /// UserName = "my_initial_user", - /// Password = "thiZ_is_v&ry_s3cret", - /// VolumeSizeInGb = 20, - /// }); - /// - /// var dbPassword = new Random.RandomPassword("db_password", new() - /// { - /// Length = 16, - /// Special = true, - /// }); - /// - /// var dbAdmin = new Scaleway.DocumentdbUser("db_admin", new() - /// { - /// InstanceId = instance.Id, - /// Name = "devtools", - /// Password = dbPassword.Result, - /// IsAdmin = true, - /// }); - /// - /// }); - /// ``` - /// - /// ## Import - /// - /// Database User can be imported using `{region}/{instance_id}/{user_name}`, e.g. - /// - /// bash - /// - /// ```sh - /// $ pulumi import scaleway:index/documentdbUser:DocumentdbUser admin fr-par/11111111-1111-1111-1111-111111111111/admin - /// ``` - /// - [ScalewayResourceType("scaleway:index/documentdbUser:DocumentdbUser")] - public partial class DocumentdbUser : global::Pulumi.CustomResource - { - /// - /// UUID of the documentDB instance. - /// - /// > **Important:** Updates to `instance_id` will recreate the Database User. - /// - [Output("instanceId")] - public Output InstanceId { get; private set; } = null!; - - /// - /// Grant admin permissions to the Database User. - /// - [Output("isAdmin")] - public Output IsAdmin { get; private set; } = null!; - - /// - /// Database Username. - /// - /// > **Important:** Updates to `name` will recreate the Database User. - /// - [Output("name")] - public Output Name { get; private set; } = null!; - - /// - /// Database User password. - /// - [Output("password")] - public Output Password { get; private set; } = null!; - - /// - /// The Scaleway region this resource resides in. - /// - [Output("region")] - public Output Region { get; private set; } = null!; - - - /// - /// Create a DocumentdbUser resource with the given unique name, arguments, and options. - /// - /// - /// The unique name of the resource - /// The arguments used to populate this resource's properties - /// A bag of options that control this resource's behavior - public DocumentdbUser(string name, DocumentdbUserArgs args, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbUser:DocumentdbUser", name, args ?? new DocumentdbUserArgs(), MakeResourceOptions(options, "")) - { - } - - private DocumentdbUser(string name, Input id, DocumentdbUserState? state = null, CustomResourceOptions? options = null) - : base("scaleway:index/documentdbUser:DocumentdbUser", name, state, MakeResourceOptions(options, id)) - { - } - - private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) - { - var defaultOptions = new CustomResourceOptions - { - Version = Utilities.Version, - PluginDownloadURL = "github://api.github.com/pulumiverse", - AdditionalSecretOutputs = - { - "password", - }, - }; - var merged = CustomResourceOptions.Merge(defaultOptions, options); - // Override the ID if one was specified for consistency with other language SDKs. - merged.Id = id ?? merged.Id; - return merged; - } - /// - /// Get an existing DocumentdbUser resource's state with the given name, ID, and optional extra - /// properties used to qualify the lookup. - /// - /// - /// The unique name of the resulting resource. - /// The unique provider ID of the resource to lookup. - /// Any extra arguments used during the lookup. - /// A bag of options that control this resource's behavior - public static DocumentdbUser Get(string name, Input id, DocumentdbUserState? state = null, CustomResourceOptions? options = null) - { - return new DocumentdbUser(name, id, state, options); - } - } - - public sealed class DocumentdbUserArgs : global::Pulumi.ResourceArgs - { - /// - /// UUID of the documentDB instance. - /// - /// > **Important:** Updates to `instance_id` will recreate the Database User. - /// - [Input("instanceId", required: true)] - public Input InstanceId { get; set; } = null!; - - /// - /// Grant admin permissions to the Database User. - /// - [Input("isAdmin")] - public Input? IsAdmin { get; set; } - - /// - /// Database Username. - /// - /// > **Important:** Updates to `name` will recreate the Database User. - /// - [Input("name")] - public Input? Name { get; set; } - - [Input("password", required: true)] - private Input? _password; - - /// - /// Database User password. - /// - public Input? Password - { - get => _password; - set - { - var emptySecret = Output.CreateSecret(0); - _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); - } - } - - /// - /// The Scaleway region this resource resides in. - /// - [Input("region")] - public Input? Region { get; set; } - - public DocumentdbUserArgs() - { - } - public static new DocumentdbUserArgs Empty => new DocumentdbUserArgs(); - } - - public sealed class DocumentdbUserState : global::Pulumi.ResourceArgs - { - /// - /// UUID of the documentDB instance. - /// - /// > **Important:** Updates to `instance_id` will recreate the Database User. - /// - [Input("instanceId")] - public Input? InstanceId { get; set; } - - /// - /// Grant admin permissions to the Database User. - /// - [Input("isAdmin")] - public Input? IsAdmin { get; set; } - - /// - /// Database Username. - /// - /// > **Important:** Updates to `name` will recreate the Database User. - /// - [Input("name")] - public Input? Name { get; set; } - - [Input("password")] - private Input? _password; - - /// - /// Database User password. - /// - public Input? Password - { - get => _password; - set - { - var emptySecret = Output.CreateSecret(0); - _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); - } - } - - /// - /// The Scaleway region this resource resides in. - /// - [Input("region")] - public Input? Region { get; set; } - - public DocumentdbUserState() - { - } - public static new DocumentdbUserState Empty => new DocumentdbUserState(); - } -} diff --git a/sdk/dotnet/GetDocumentdbDatabase.cs b/sdk/dotnet/GetDocumentdbDatabase.cs deleted file mode 100644 index a66e0487..00000000 --- a/sdk/dotnet/GetDocumentdbDatabase.cs +++ /dev/null @@ -1,168 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - public static class GetDocumentdbDatabase - { - /// - /// Gets information about DocumentDB database. - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumi.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111 - /// var main = Scaleway.GetDocumentdbDatabase.Invoke(new() - /// { - /// InstanceId = "11111111-1111-1111-1111-111111111111", - /// Name = "foobar", - /// }); - /// - /// }); - /// ``` - /// - public static Task InvokeAsync(GetDocumentdbDatabaseArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase", args ?? new GetDocumentdbDatabaseArgs(), options.WithDefaults()); - - /// - /// Gets information about DocumentDB database. - /// - /// ## Example Usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Scaleway = Pulumi.Scaleway; - /// - /// return await Deployment.RunAsync(() => - /// { - /// // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111 - /// var main = Scaleway.GetDocumentdbDatabase.Invoke(new() - /// { - /// InstanceId = "11111111-1111-1111-1111-111111111111", - /// Name = "foobar", - /// }); - /// - /// }); - /// ``` - /// - public static Output Invoke(GetDocumentdbDatabaseInvokeArgs args, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase", args ?? new GetDocumentdbDatabaseInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetDocumentdbDatabaseArgs : global::Pulumi.InvokeArgs - { - /// - /// The DocumentDB instance ID. - /// - [Input("instanceId", required: true)] - public string InstanceId { get; set; } = null!; - - /// - /// The name of the DocumentDB instance. - /// - [Input("name")] - public string? Name { get; set; } - - [Input("region")] - public string? Region { get; set; } - - public GetDocumentdbDatabaseArgs() - { - } - public static new GetDocumentdbDatabaseArgs Empty => new GetDocumentdbDatabaseArgs(); - } - - public sealed class GetDocumentdbDatabaseInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The DocumentDB instance ID. - /// - [Input("instanceId", required: true)] - public Input InstanceId { get; set; } = null!; - - /// - /// The name of the DocumentDB instance. - /// - [Input("name")] - public Input? Name { get; set; } - - [Input("region")] - public Input? Region { get; set; } - - public GetDocumentdbDatabaseInvokeArgs() - { - } - public static new GetDocumentdbDatabaseInvokeArgs Empty => new GetDocumentdbDatabaseInvokeArgs(); - } - - - [OutputType] - public sealed class GetDocumentdbDatabaseResult - { - /// - /// The provider-assigned unique ID for this managed resource. - /// - public readonly string Id; - public readonly string InstanceId; - /// - /// Whether the database is managed or not. - /// - public readonly bool Managed; - public readonly string? Name; - /// - /// The name of the owner of the database. - /// - public readonly string Owner; - public readonly string ProjectId; - public readonly string? Region; - /// - /// Size of the database (in bytes). - /// - public readonly string Size; - - [OutputConstructor] - private GetDocumentdbDatabaseResult( - string id, - - string instanceId, - - bool managed, - - string? name, - - string owner, - - string projectId, - - string? region, - - string size) - { - Id = id; - InstanceId = instanceId; - Managed = managed; - Name = name; - Owner = owner; - ProjectId = projectId; - Region = region; - Size = size; - } - } -} diff --git a/sdk/dotnet/GetDocumentdbInstance.cs b/sdk/dotnet/GetDocumentdbInstance.cs deleted file mode 100644 index 0bbf6738..00000000 --- a/sdk/dotnet/GetDocumentdbInstance.cs +++ /dev/null @@ -1,165 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - public static class GetDocumentdbInstance - { - /// - /// Gets information about an DocumentDB instance. - /// - public static Task InvokeAsync(GetDocumentdbInstanceArgs? args = null, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getDocumentdbInstance:getDocumentdbInstance", args ?? new GetDocumentdbInstanceArgs(), options.WithDefaults()); - - /// - /// Gets information about an DocumentDB instance. - /// - public static Output Invoke(GetDocumentdbInstanceInvokeArgs? args = null, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDocumentdbInstance:getDocumentdbInstance", args ?? new GetDocumentdbInstanceInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetDocumentdbInstanceArgs : global::Pulumi.InvokeArgs - { - /// - /// The DocumentDB instance ID. - /// Only one of `name` and `instance_id` should be specified. - /// - [Input("instanceId")] - public string? InstanceId { get; set; } - - /// - /// The name of the DocumentDB instance. - /// Only one of `name` and `instance_id` should be specified. - /// - [Input("name")] - public string? Name { get; set; } - - /// - /// The ID of the project the DocumentDB instance is associated with. - /// - [Input("projectId")] - public string? ProjectId { get; set; } - - /// - /// `region`) The region in which the DocumentDB instance exists. - /// - [Input("region")] - public string? Region { get; set; } - - public GetDocumentdbInstanceArgs() - { - } - public static new GetDocumentdbInstanceArgs Empty => new GetDocumentdbInstanceArgs(); - } - - public sealed class GetDocumentdbInstanceInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The DocumentDB instance ID. - /// Only one of `name` and `instance_id` should be specified. - /// - [Input("instanceId")] - public Input? InstanceId { get; set; } - - /// - /// The name of the DocumentDB instance. - /// Only one of `name` and `instance_id` should be specified. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The ID of the project the DocumentDB instance is associated with. - /// - [Input("projectId")] - public Input? ProjectId { get; set; } - - /// - /// `region`) The region in which the DocumentDB instance exists. - /// - [Input("region")] - public Input? Region { get; set; } - - public GetDocumentdbInstanceInvokeArgs() - { - } - public static new GetDocumentdbInstanceInvokeArgs Empty => new GetDocumentdbInstanceInvokeArgs(); - } - - - [OutputType] - public sealed class GetDocumentdbInstanceResult - { - public readonly string Engine; - /// - /// The provider-assigned unique ID for this managed resource. - /// - public readonly string Id; - public readonly string? InstanceId; - public readonly bool IsHaCluster; - public readonly string? Name; - public readonly string NodeType; - public readonly string Password; - public readonly string? ProjectId; - public readonly string? Region; - public readonly ImmutableArray Tags; - public readonly bool TelemetryEnabled; - public readonly string UserName; - public readonly int VolumeSizeInGb; - public readonly string VolumeType; - - [OutputConstructor] - private GetDocumentdbInstanceResult( - string engine, - - string id, - - string? instanceId, - - bool isHaCluster, - - string? name, - - string nodeType, - - string password, - - string? projectId, - - string? region, - - ImmutableArray tags, - - bool telemetryEnabled, - - string userName, - - int volumeSizeInGb, - - string volumeType) - { - Engine = engine; - Id = id; - InstanceId = instanceId; - IsHaCluster = isHaCluster; - Name = name; - NodeType = nodeType; - Password = password; - ProjectId = projectId; - Region = region; - Tags = tags; - TelemetryEnabled = telemetryEnabled; - UserName = userName; - VolumeSizeInGb = volumeSizeInGb; - VolumeType = volumeType; - } - } -} diff --git a/sdk/dotnet/GetDocumentdbLoadBalancerEndpoint.cs b/sdk/dotnet/GetDocumentdbLoadBalancerEndpoint.cs deleted file mode 100644 index 32000379..00000000 --- a/sdk/dotnet/GetDocumentdbLoadBalancerEndpoint.cs +++ /dev/null @@ -1,153 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway -{ - public static class GetDocumentdbLoadBalancerEndpoint - { - /// - /// Gets information about an DocumentDB load balancer endpoint. - /// - public static Task InvokeAsync(GetDocumentdbLoadBalancerEndpointArgs? args = null, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint", args ?? new GetDocumentdbLoadBalancerEndpointArgs(), options.WithDefaults()); - - /// - /// Gets information about an DocumentDB load balancer endpoint. - /// - public static Output Invoke(GetDocumentdbLoadBalancerEndpointInvokeArgs? args = null, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint", args ?? new GetDocumentdbLoadBalancerEndpointInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetDocumentdbLoadBalancerEndpointArgs : global::Pulumi.InvokeArgs - { - /// - /// The DocumentDB Instance on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified. - /// - [Input("instanceId")] - public string? InstanceId { get; set; } - - /// - /// The DocumentDB Instance Name on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified. - /// - [Input("instanceName")] - public string? InstanceName { get; set; } - - /// - /// The ID of the project the DocumentDB endpoint is associated with. - /// - [Input("projectId")] - public string? ProjectId { get; set; } - - /// - /// `region`) The region in which the DocumentDB endpoint exists. - /// - [Input("region")] - public string? Region { get; set; } - - public GetDocumentdbLoadBalancerEndpointArgs() - { - } - public static new GetDocumentdbLoadBalancerEndpointArgs Empty => new GetDocumentdbLoadBalancerEndpointArgs(); - } - - public sealed class GetDocumentdbLoadBalancerEndpointInvokeArgs : global::Pulumi.InvokeArgs - { - /// - /// The DocumentDB Instance on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified. - /// - [Input("instanceId")] - public Input? InstanceId { get; set; } - - /// - /// The DocumentDB Instance Name on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified. - /// - [Input("instanceName")] - public Input? InstanceName { get; set; } - - /// - /// The ID of the project the DocumentDB endpoint is associated with. - /// - [Input("projectId")] - public Input? ProjectId { get; set; } - - /// - /// `region`) The region in which the DocumentDB endpoint exists. - /// - [Input("region")] - public Input? Region { get; set; } - - public GetDocumentdbLoadBalancerEndpointInvokeArgs() - { - } - public static new GetDocumentdbLoadBalancerEndpointInvokeArgs Empty => new GetDocumentdbLoadBalancerEndpointInvokeArgs(); - } - - - [OutputType] - public sealed class GetDocumentdbLoadBalancerEndpointResult - { - /// - /// The hostname of your endpoint. - /// - public readonly string Hostname; - /// - /// The provider-assigned unique ID for this managed resource. - /// - public readonly string Id; - public readonly string InstanceId; - public readonly string InstanceName; - /// - /// The IP of your load balancer service. - /// - public readonly string Ip; - /// - /// The name of your load balancer service. - /// - public readonly string Name; - /// - /// The port of your load balancer service. - /// - public readonly int Port; - public readonly string ProjectId; - public readonly string Region; - - [OutputConstructor] - private GetDocumentdbLoadBalancerEndpointResult( - string hostname, - - string id, - - string instanceId, - - string instanceName, - - string ip, - - string name, - - int port, - - string projectId, - - string region) - { - Hostname = hostname; - Id = id; - InstanceId = instanceId; - InstanceName = instanceName; - Ip = ip; - Name = name; - Port = port; - ProjectId = projectId; - Region = region; - } - } -} diff --git a/sdk/dotnet/GetInstancePrivateNic.cs b/sdk/dotnet/GetInstancePrivateNic.cs index 6cd30312..b99bd7c4 100644 --- a/sdk/dotnet/GetInstancePrivateNic.cs +++ b/sdk/dotnet/GetInstancePrivateNic.cs @@ -197,6 +197,7 @@ public sealed class GetInstancePrivateNicResult /// public readonly string Id; public readonly ImmutableArray IpIds; + public readonly ImmutableArray IpamIpIds; public readonly string MacAddress; public readonly string? PrivateNetworkId; public readonly string? PrivateNicId; @@ -210,6 +211,8 @@ private GetInstancePrivateNicResult( ImmutableArray ipIds, + ImmutableArray ipamIpIds, + string macAddress, string? privateNetworkId, @@ -224,6 +227,7 @@ private GetInstancePrivateNicResult( { Id = id; IpIds = ipIds; + IpamIpIds = ipamIpIds; MacAddress = macAddress; PrivateNetworkId = privateNetworkId; PrivateNicId = privateNicId; diff --git a/sdk/dotnet/GetRegistryImageTag.cs b/sdk/dotnet/GetRegistryImageTag.cs new file mode 100644 index 00000000..4ffed3d8 --- /dev/null +++ b/sdk/dotnet/GetRegistryImageTag.cs @@ -0,0 +1,176 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; +using Pulumi; + +namespace Pulumiverse.Scaleway +{ + public static class GetRegistryImageTag + { + /// + /// Gets information about a specific tag of a Container Registry image. + /// + public static Task InvokeAsync(GetRegistryImageTagArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("scaleway:index/getRegistryImageTag:getRegistryImageTag", args ?? new GetRegistryImageTagArgs(), options.WithDefaults()); + + /// + /// Gets information about a specific tag of a Container Registry image. + /// + public static Output Invoke(GetRegistryImageTagInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("scaleway:index/getRegistryImageTag:getRegistryImageTag", args ?? new GetRegistryImageTagInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetRegistryImageTagArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the registry image. + /// + [Input("imageId", required: true)] + public string ImageId { get; set; } = null!; + + /// + /// The name of the registry image tag. + /// + [Input("name")] + public string? Name { get; set; } + + /// + /// The ID of the project the image tag is associated with. + /// + [Input("projectId")] + public string? ProjectId { get; set; } + + /// + /// The region in which the registry image tag exists. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// The ID of the registry image tag. + /// + [Input("tagId")] + public string? TagId { get; set; } + + public GetRegistryImageTagArgs() + { + } + public static new GetRegistryImageTagArgs Empty => new GetRegistryImageTagArgs(); + } + + public sealed class GetRegistryImageTagInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the registry image. + /// + [Input("imageId", required: true)] + public Input ImageId { get; set; } = null!; + + /// + /// The name of the registry image tag. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The ID of the project the image tag is associated with. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The region in which the registry image tag exists. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The ID of the registry image tag. + /// + [Input("tagId")] + public Input? TagId { get; set; } + + public GetRegistryImageTagInvokeArgs() + { + } + public static new GetRegistryImageTagInvokeArgs Empty => new GetRegistryImageTagInvokeArgs(); + } + + + [OutputType] + public sealed class GetRegistryImageTagResult + { + /// + /// The date and time when the registry image tag was created. + /// + public readonly string CreatedAt; + /// + /// Hash of the tag content. Several tags of the same image may have the same digest. + /// + public readonly string Digest; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string ImageId; + public readonly string? Name; + /// + /// The organization ID the image tag is associated with. + /// + public readonly string OrganizationId; + public readonly string ProjectId; + public readonly string Region; + /// + /// The status of the registry image tag. + /// + public readonly string Status; + public readonly string? TagId; + /// + /// The date and time of the last update to the registry image tag. + /// + public readonly string UpdatedAt; + + [OutputConstructor] + private GetRegistryImageTagResult( + string createdAt, + + string digest, + + string id, + + string imageId, + + string? name, + + string organizationId, + + string projectId, + + string region, + + string status, + + string? tagId, + + string updatedAt) + { + CreatedAt = createdAt; + Digest = digest; + Id = id; + ImageId = imageId; + Name = name; + OrganizationId = organizationId; + ProjectId = projectId; + Region = region; + Status = status; + TagId = tagId; + UpdatedAt = updatedAt; + } + } +} diff --git a/sdk/dotnet/Inputs/DocumentdbPrivateNetworkEndpointPrivateNetworkArgs.cs b/sdk/dotnet/Inputs/DocumentdbPrivateNetworkEndpointPrivateNetworkArgs.cs deleted file mode 100644 index 8bb194f0..00000000 --- a/sdk/dotnet/Inputs/DocumentdbPrivateNetworkEndpointPrivateNetworkArgs.cs +++ /dev/null @@ -1,63 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Inputs -{ - - public sealed class DocumentdbPrivateNetworkEndpointPrivateNetworkArgs : global::Pulumi.ResourceArgs - { - /// - /// The hostname of your endpoint. - /// - [Input("hostname")] - public Input? Hostname { get; set; } - - /// - /// The private network ID. - /// - [Input("id", required: true)] - public Input Id { get; set; } = null!; - - /// - /// The IP of your private network service. - /// - [Input("ip")] - public Input? Ip { get; set; } - - /// - /// The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - /// - [Input("ipNet")] - public Input? IpNet { get; set; } - - /// - /// The name of your private service. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The port of your private service. - /// - [Input("port")] - public Input? Port { get; set; } - - /// - /// The zone of your endpoint. - /// - [Input("zone")] - public Input? Zone { get; set; } - - public DocumentdbPrivateNetworkEndpointPrivateNetworkArgs() - { - } - public static new DocumentdbPrivateNetworkEndpointPrivateNetworkArgs Empty => new DocumentdbPrivateNetworkEndpointPrivateNetworkArgs(); - } -} diff --git a/sdk/dotnet/Inputs/DocumentdbPrivateNetworkEndpointPrivateNetworkGetArgs.cs b/sdk/dotnet/Inputs/DocumentdbPrivateNetworkEndpointPrivateNetworkGetArgs.cs deleted file mode 100644 index 05add152..00000000 --- a/sdk/dotnet/Inputs/DocumentdbPrivateNetworkEndpointPrivateNetworkGetArgs.cs +++ /dev/null @@ -1,63 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Inputs -{ - - public sealed class DocumentdbPrivateNetworkEndpointPrivateNetworkGetArgs : global::Pulumi.ResourceArgs - { - /// - /// The hostname of your endpoint. - /// - [Input("hostname")] - public Input? Hostname { get; set; } - - /// - /// The private network ID. - /// - [Input("id", required: true)] - public Input Id { get; set; } = null!; - - /// - /// The IP of your private network service. - /// - [Input("ip")] - public Input? Ip { get; set; } - - /// - /// The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - /// - [Input("ipNet")] - public Input? IpNet { get; set; } - - /// - /// The name of your private service. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// The port of your private service. - /// - [Input("port")] - public Input? Port { get; set; } - - /// - /// The zone of your endpoint. - /// - [Input("zone")] - public Input? Zone { get; set; } - - public DocumentdbPrivateNetworkEndpointPrivateNetworkGetArgs() - { - } - public static new DocumentdbPrivateNetworkEndpointPrivateNetworkGetArgs Empty => new DocumentdbPrivateNetworkEndpointPrivateNetworkGetArgs(); - } -} diff --git a/sdk/dotnet/Inputs/DocumentdbReadReplicaDirectAccessArgs.cs b/sdk/dotnet/Inputs/DocumentdbReadReplicaDirectAccessArgs.cs deleted file mode 100644 index c418a7cf..00000000 --- a/sdk/dotnet/Inputs/DocumentdbReadReplicaDirectAccessArgs.cs +++ /dev/null @@ -1,51 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Inputs -{ - - public sealed class DocumentdbReadReplicaDirectAccessArgs : global::Pulumi.ResourceArgs - { - /// - /// The ID of the endpoint of the read replica. - /// - [Input("endpointId")] - public Input? EndpointId { get; set; } - - /// - /// Hostname of the endpoint. Only one of ip and hostname may be set. - /// - [Input("hostname")] - public Input? Hostname { get; set; } - - /// - /// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - /// - [Input("ip")] - public Input? Ip { get; set; } - - /// - /// Name of the endpoint. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// TCP port of the endpoint. - /// - [Input("port")] - public Input? Port { get; set; } - - public DocumentdbReadReplicaDirectAccessArgs() - { - } - public static new DocumentdbReadReplicaDirectAccessArgs Empty => new DocumentdbReadReplicaDirectAccessArgs(); - } -} diff --git a/sdk/dotnet/Inputs/DocumentdbReadReplicaDirectAccessGetArgs.cs b/sdk/dotnet/Inputs/DocumentdbReadReplicaDirectAccessGetArgs.cs deleted file mode 100644 index cfe198e6..00000000 --- a/sdk/dotnet/Inputs/DocumentdbReadReplicaDirectAccessGetArgs.cs +++ /dev/null @@ -1,51 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Inputs -{ - - public sealed class DocumentdbReadReplicaDirectAccessGetArgs : global::Pulumi.ResourceArgs - { - /// - /// The ID of the endpoint of the read replica. - /// - [Input("endpointId")] - public Input? EndpointId { get; set; } - - /// - /// Hostname of the endpoint. Only one of ip and hostname may be set. - /// - [Input("hostname")] - public Input? Hostname { get; set; } - - /// - /// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - /// - [Input("ip")] - public Input? Ip { get; set; } - - /// - /// Name of the endpoint. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// TCP port of the endpoint. - /// - [Input("port")] - public Input? Port { get; set; } - - public DocumentdbReadReplicaDirectAccessGetArgs() - { - } - public static new DocumentdbReadReplicaDirectAccessGetArgs Empty => new DocumentdbReadReplicaDirectAccessGetArgs(); - } -} diff --git a/sdk/dotnet/Inputs/DocumentdbReadReplicaPrivateNetworkArgs.cs b/sdk/dotnet/Inputs/DocumentdbReadReplicaPrivateNetworkArgs.cs deleted file mode 100644 index f58e4a20..00000000 --- a/sdk/dotnet/Inputs/DocumentdbReadReplicaPrivateNetworkArgs.cs +++ /dev/null @@ -1,71 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Inputs -{ - - public sealed class DocumentdbReadReplicaPrivateNetworkArgs : global::Pulumi.ResourceArgs - { - /// - /// The ID of the endpoint of the read replica. - /// - [Input("endpointId")] - public Input? EndpointId { get; set; } - - /// - /// Hostname of the endpoint. Only one of ip and hostname may be set. - /// - [Input("hostname")] - public Input? Hostname { get; set; } - - /// - /// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - /// - [Input("ip")] - public Input? Ip { get; set; } - - /// - /// Name of the endpoint. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// TCP port of the endpoint. - /// - [Input("port")] - public Input? Port { get; set; } - - /// - /// UUID of the private network to be connected to the read replica. - /// - [Input("privateNetworkId", required: true)] - public Input PrivateNetworkId { get; set; } = null!; - - /// - /// The IP network address within the private subnet. This must be an IPv4 address with a - /// CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - /// service if not set. - /// - [Input("serviceIp")] - public Input? ServiceIp { get; set; } - - /// - /// Private network zone - /// - [Input("zone")] - public Input? Zone { get; set; } - - public DocumentdbReadReplicaPrivateNetworkArgs() - { - } - public static new DocumentdbReadReplicaPrivateNetworkArgs Empty => new DocumentdbReadReplicaPrivateNetworkArgs(); - } -} diff --git a/sdk/dotnet/Inputs/DocumentdbReadReplicaPrivateNetworkGetArgs.cs b/sdk/dotnet/Inputs/DocumentdbReadReplicaPrivateNetworkGetArgs.cs deleted file mode 100644 index fe151267..00000000 --- a/sdk/dotnet/Inputs/DocumentdbReadReplicaPrivateNetworkGetArgs.cs +++ /dev/null @@ -1,71 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Inputs -{ - - public sealed class DocumentdbReadReplicaPrivateNetworkGetArgs : global::Pulumi.ResourceArgs - { - /// - /// The ID of the endpoint of the read replica. - /// - [Input("endpointId")] - public Input? EndpointId { get; set; } - - /// - /// Hostname of the endpoint. Only one of ip and hostname may be set. - /// - [Input("hostname")] - public Input? Hostname { get; set; } - - /// - /// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - /// - [Input("ip")] - public Input? Ip { get; set; } - - /// - /// Name of the endpoint. - /// - [Input("name")] - public Input? Name { get; set; } - - /// - /// TCP port of the endpoint. - /// - [Input("port")] - public Input? Port { get; set; } - - /// - /// UUID of the private network to be connected to the read replica. - /// - [Input("privateNetworkId", required: true)] - public Input PrivateNetworkId { get; set; } = null!; - - /// - /// The IP network address within the private subnet. This must be an IPv4 address with a - /// CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - /// service if not set. - /// - [Input("serviceIp")] - public Input? ServiceIp { get; set; } - - /// - /// Private network zone - /// - [Input("zone")] - public Input? Zone { get; set; } - - public DocumentdbReadReplicaPrivateNetworkGetArgs() - { - } - public static new DocumentdbReadReplicaPrivateNetworkGetArgs Empty => new DocumentdbReadReplicaPrivateNetworkGetArgs(); - } -} diff --git a/sdk/dotnet/InstancePrivateNic.cs b/sdk/dotnet/InstancePrivateNic.cs index aa719ce1..ae221994 100644 --- a/sdk/dotnet/InstancePrivateNic.cs +++ b/sdk/dotnet/InstancePrivateNic.cs @@ -48,7 +48,7 @@ namespace Pulumiverse.Scaleway /// var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new() /// { /// Name = "private_network_instance", - /// Zone = "fr-par-2", + /// Region = "fr-par", /// }); /// /// var @base = new Scaleway.InstanceServer("base", new() @@ -68,6 +68,62 @@ namespace Pulumiverse.Scaleway /// }); /// ``` /// + /// ### With IPAM IP IDs + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Scaleway = Pulumiverse.Scaleway; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var vpc01 = new Scaleway.Vpc("vpc01", new() + /// { + /// Name = "vpc_instance", + /// }); + /// + /// var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new() + /// { + /// Name = "private_network_instance", + /// Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs + /// { + /// Subnet = "172.16.64.0/22", + /// }, + /// VpcId = vpc01.Id, + /// }); + /// + /// var ip01 = new Scaleway.IpamIp("ip01", new() + /// { + /// Address = "172.16.64.7", + /// Sources = new[] + /// { + /// new Scaleway.Inputs.IpamIpSourceArgs + /// { + /// PrivateNetworkId = pn01.Id, + /// }, + /// }, + /// }); + /// + /// var server01 = new Scaleway.InstanceServer("server01", new() + /// { + /// Image = "ubuntu_focal", + /// Type = "PLAY2-MICRO", + /// }); + /// + /// var pnic01 = new Scaleway.InstancePrivateNic("pnic01", new() + /// { + /// PrivateNetworkId = pn01.Id, + /// ServerId = server01.Id, + /// IpamIpIds = new[] + /// { + /// ip01.Id, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Private NICs can be imported using the `{zone}/{server_id}/{private_nic_id}`, e.g. @@ -87,6 +143,12 @@ public partial class InstancePrivateNic : global::Pulumi.CustomResource [Output("ipIds")] public Output> IpIds { get; private set; } = null!; + /// + /// IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + /// + [Output("ipamIpIds")] + public Output> IpamIpIds { get; private set; } = null!; + /// /// The MAC address of the private NIC. /// @@ -176,6 +238,18 @@ public InputList IpIds set => _ipIds = value; } + [Input("ipamIpIds")] + private InputList? _ipamIpIds; + + /// + /// IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + /// + public InputList IpamIpIds + { + get => _ipamIpIds ?? (_ipamIpIds = new InputList()); + set => _ipamIpIds = value; + } + /// /// The ID of the private network attached to. /// @@ -226,6 +300,18 @@ public InputList IpIds set => _ipIds = value; } + [Input("ipamIpIds")] + private InputList? _ipamIpIds; + + /// + /// IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + /// + public InputList IpamIpIds + { + get => _ipamIpIds ?? (_ipamIpIds = new InputList()); + set => _ipamIpIds = value; + } + /// /// The MAC address of the private NIC. /// diff --git a/sdk/dotnet/Outputs/DocumentdbPrivateNetworkEndpointPrivateNetwork.cs b/sdk/dotnet/Outputs/DocumentdbPrivateNetworkEndpointPrivateNetwork.cs deleted file mode 100644 index 5571ab10..00000000 --- a/sdk/dotnet/Outputs/DocumentdbPrivateNetworkEndpointPrivateNetwork.cs +++ /dev/null @@ -1,71 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Outputs -{ - - [OutputType] - public sealed class DocumentdbPrivateNetworkEndpointPrivateNetwork - { - /// - /// The hostname of your endpoint. - /// - public readonly string? Hostname; - /// - /// The private network ID. - /// - public readonly string Id; - /// - /// The IP of your private network service. - /// - public readonly string? Ip; - /// - /// The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - /// - public readonly string? IpNet; - /// - /// The name of your private service. - /// - public readonly string? Name; - /// - /// The port of your private service. - /// - public readonly int? Port; - /// - /// The zone of your endpoint. - /// - public readonly string? Zone; - - [OutputConstructor] - private DocumentdbPrivateNetworkEndpointPrivateNetwork( - string? hostname, - - string id, - - string? ip, - - string? ipNet, - - string? name, - - int? port, - - string? zone) - { - Hostname = hostname; - Id = id; - Ip = ip; - IpNet = ipNet; - Name = name; - Port = port; - Zone = zone; - } - } -} diff --git a/sdk/dotnet/Outputs/DocumentdbReadReplicaDirectAccess.cs b/sdk/dotnet/Outputs/DocumentdbReadReplicaDirectAccess.cs deleted file mode 100644 index 909eaa5e..00000000 --- a/sdk/dotnet/Outputs/DocumentdbReadReplicaDirectAccess.cs +++ /dev/null @@ -1,57 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Outputs -{ - - [OutputType] - public sealed class DocumentdbReadReplicaDirectAccess - { - /// - /// The ID of the endpoint of the read replica. - /// - public readonly string? EndpointId; - /// - /// Hostname of the endpoint. Only one of ip and hostname may be set. - /// - public readonly string? Hostname; - /// - /// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - /// - public readonly string? Ip; - /// - /// Name of the endpoint. - /// - public readonly string? Name; - /// - /// TCP port of the endpoint. - /// - public readonly int? Port; - - [OutputConstructor] - private DocumentdbReadReplicaDirectAccess( - string? endpointId, - - string? hostname, - - string? ip, - - string? name, - - int? port) - { - EndpointId = endpointId; - Hostname = hostname; - Ip = ip; - Name = name; - Port = port; - } - } -} diff --git a/sdk/dotnet/Outputs/DocumentdbReadReplicaPrivateNetwork.cs b/sdk/dotnet/Outputs/DocumentdbReadReplicaPrivateNetwork.cs deleted file mode 100644 index 10143420..00000000 --- a/sdk/dotnet/Outputs/DocumentdbReadReplicaPrivateNetwork.cs +++ /dev/null @@ -1,80 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; -using Pulumi; - -namespace Pulumiverse.Scaleway.Outputs -{ - - [OutputType] - public sealed class DocumentdbReadReplicaPrivateNetwork - { - /// - /// The ID of the endpoint of the read replica. - /// - public readonly string? EndpointId; - /// - /// Hostname of the endpoint. Only one of ip and hostname may be set. - /// - public readonly string? Hostname; - /// - /// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - /// - public readonly string? Ip; - /// - /// Name of the endpoint. - /// - public readonly string? Name; - /// - /// TCP port of the endpoint. - /// - public readonly int? Port; - /// - /// UUID of the private network to be connected to the read replica. - /// - public readonly string PrivateNetworkId; - /// - /// The IP network address within the private subnet. This must be an IPv4 address with a - /// CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - /// service if not set. - /// - public readonly string? ServiceIp; - /// - /// Private network zone - /// - public readonly string? Zone; - - [OutputConstructor] - private DocumentdbReadReplicaPrivateNetwork( - string? endpointId, - - string? hostname, - - string? ip, - - string? name, - - int? port, - - string privateNetworkId, - - string? serviceIp, - - string? zone) - { - EndpointId = endpointId; - Hostname = hostname; - Ip = ip; - Name = name; - Port = port; - PrivateNetworkId = privateNetworkId; - ServiceIp = serviceIp; - Zone = zone; - } - } -} diff --git a/sdk/go/scaleway/cockpitAlertManager.go b/sdk/go/scaleway/cockpitAlertManager.go index 737e171f..2528d269 100644 --- a/sdk/go/scaleway/cockpitAlertManager.go +++ b/sdk/go/scaleway/cockpitAlertManager.go @@ -17,6 +17,53 @@ import ( // // ## Example Usage // +// ### Enable the alert manager and configure managed alerts +// +// The following commands allow you to: +// +// - enable the alert manager in a Project named `tfTestProject` +// - enable [managed alerts](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#managed-alerts) +// - set up [contact points](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#contact-points) to receive alert notifications +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// project, err := scaleway.NewAccountProject(ctx, "project", &scaleway.AccountProjectArgs{ +// Name: pulumi.String("tf_test_project"), +// }) +// if err != nil { +// return err +// } +// _, err = scaleway.NewCockpitAlertManager(ctx, "alert_manager", &scaleway.CockpitAlertManagerArgs{ +// ProjectId: project.ID(), +// EnableManagedAlerts: pulumi.Bool(true), +// ContactPoints: scaleway.CockpitAlertManagerContactPointArray{ +// &scaleway.CockpitAlertManagerContactPointArgs{ +// Email: pulumi.String("alert1@example.com"), +// }, +// &scaleway.CockpitAlertManagerContactPointArgs{ +// Email: pulumi.String("alert2@example.com"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // This section explains how to import alert managers using the ID of the Project associated with Cockpit. diff --git a/sdk/go/scaleway/documentdbDatabase.go b/sdk/go/scaleway/documentdbDatabase.go deleted file mode 100644 index 568afe3e..00000000 --- a/sdk/go/scaleway/documentdbDatabase.go +++ /dev/null @@ -1,359 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Creates and manages Scaleway DocumentDB database. -// -// ## Example Usage -// -// ### Basic -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// instance, err := scaleway.NewDocumentdbInstance(ctx, "instance", &scaleway.DocumentdbInstanceArgs{ -// Name: pulumi.String("test-document_db-basic"), -// NodeType: pulumi.String("docdb-play2-pico"), -// Engine: pulumi.String("FerretDB-1"), -// UserName: pulumi.String("my_initial_user"), -// Password: pulumi.String("thiZ_is_v&ry_s3cret"), -// VolumeSizeInGb: pulumi.Int(20), -// }) -// if err != nil { -// return err -// } -// _, err = scaleway.NewDocumentdbDatabase(ctx, "main", &scaleway.DocumentdbDatabaseArgs{ -// InstanceId: instance.ID(), -// Name: pulumi.String("my-new-database"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// DocumentDB Database can be imported using the `{region}/{id}/{DBNAME}`, e.g. -// -// bash -// -// ```sh -// $ pulumi import scaleway:index/documentdbDatabase:DocumentdbDatabase mydb fr-par/11111111-1111-1111-1111-111111111111/mydb -// ``` -type DocumentdbDatabase struct { - pulumi.CustomResourceState - - // UUID of the documentdb instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database. - InstanceId pulumi.StringOutput `pulumi:"instanceId"` - // Whether the database is managed or not. - Managed pulumi.BoolOutput `pulumi:"managed"` - // Name of the database (e.g. `my-new-database`). - Name pulumi.StringOutput `pulumi:"name"` - // The name of the owner of the database. - Owner pulumi.StringOutput `pulumi:"owner"` - // The projectId you want to attach the resource to - ProjectId pulumi.StringOutput `pulumi:"projectId"` - // `region`) The region in which the resource exists. - Region pulumi.StringOutput `pulumi:"region"` - // Size in gigabytes of the database. - Size pulumi.StringOutput `pulumi:"size"` -} - -// NewDocumentdbDatabase registers a new resource with the given unique name, arguments, and options. -func NewDocumentdbDatabase(ctx *pulumi.Context, - name string, args *DocumentdbDatabaseArgs, opts ...pulumi.ResourceOption) (*DocumentdbDatabase, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.InstanceId == nil { - return nil, errors.New("invalid value for required argument 'InstanceId'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource DocumentdbDatabase - err := ctx.RegisterResource("scaleway:index/documentdbDatabase:DocumentdbDatabase", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetDocumentdbDatabase gets an existing DocumentdbDatabase resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetDocumentdbDatabase(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *DocumentdbDatabaseState, opts ...pulumi.ResourceOption) (*DocumentdbDatabase, error) { - var resource DocumentdbDatabase - err := ctx.ReadResource("scaleway:index/documentdbDatabase:DocumentdbDatabase", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering DocumentdbDatabase resources. -type documentdbDatabaseState struct { - // UUID of the documentdb instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database. - InstanceId *string `pulumi:"instanceId"` - // Whether the database is managed or not. - Managed *bool `pulumi:"managed"` - // Name of the database (e.g. `my-new-database`). - Name *string `pulumi:"name"` - // The name of the owner of the database. - Owner *string `pulumi:"owner"` - // The projectId you want to attach the resource to - ProjectId *string `pulumi:"projectId"` - // `region`) The region in which the resource exists. - Region *string `pulumi:"region"` - // Size in gigabytes of the database. - Size *string `pulumi:"size"` -} - -type DocumentdbDatabaseState struct { - // UUID of the documentdb instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database. - InstanceId pulumi.StringPtrInput - // Whether the database is managed or not. - Managed pulumi.BoolPtrInput - // Name of the database (e.g. `my-new-database`). - Name pulumi.StringPtrInput - // The name of the owner of the database. - Owner pulumi.StringPtrInput - // The projectId you want to attach the resource to - ProjectId pulumi.StringPtrInput - // `region`) The region in which the resource exists. - Region pulumi.StringPtrInput - // Size in gigabytes of the database. - Size pulumi.StringPtrInput -} - -func (DocumentdbDatabaseState) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbDatabaseState)(nil)).Elem() -} - -type documentdbDatabaseArgs struct { - // UUID of the documentdb instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database. - InstanceId string `pulumi:"instanceId"` - // Name of the database (e.g. `my-new-database`). - Name *string `pulumi:"name"` - // The projectId you want to attach the resource to - ProjectId *string `pulumi:"projectId"` - // `region`) The region in which the resource exists. - Region *string `pulumi:"region"` -} - -// The set of arguments for constructing a DocumentdbDatabase resource. -type DocumentdbDatabaseArgs struct { - // UUID of the documentdb instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database. - InstanceId pulumi.StringInput - // Name of the database (e.g. `my-new-database`). - Name pulumi.StringPtrInput - // The projectId you want to attach the resource to - ProjectId pulumi.StringPtrInput - // `region`) The region in which the resource exists. - Region pulumi.StringPtrInput -} - -func (DocumentdbDatabaseArgs) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbDatabaseArgs)(nil)).Elem() -} - -type DocumentdbDatabaseInput interface { - pulumi.Input - - ToDocumentdbDatabaseOutput() DocumentdbDatabaseOutput - ToDocumentdbDatabaseOutputWithContext(ctx context.Context) DocumentdbDatabaseOutput -} - -func (*DocumentdbDatabase) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbDatabase)(nil)).Elem() -} - -func (i *DocumentdbDatabase) ToDocumentdbDatabaseOutput() DocumentdbDatabaseOutput { - return i.ToDocumentdbDatabaseOutputWithContext(context.Background()) -} - -func (i *DocumentdbDatabase) ToDocumentdbDatabaseOutputWithContext(ctx context.Context) DocumentdbDatabaseOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbDatabaseOutput) -} - -// DocumentdbDatabaseArrayInput is an input type that accepts DocumentdbDatabaseArray and DocumentdbDatabaseArrayOutput values. -// You can construct a concrete instance of `DocumentdbDatabaseArrayInput` via: -// -// DocumentdbDatabaseArray{ DocumentdbDatabaseArgs{...} } -type DocumentdbDatabaseArrayInput interface { - pulumi.Input - - ToDocumentdbDatabaseArrayOutput() DocumentdbDatabaseArrayOutput - ToDocumentdbDatabaseArrayOutputWithContext(context.Context) DocumentdbDatabaseArrayOutput -} - -type DocumentdbDatabaseArray []DocumentdbDatabaseInput - -func (DocumentdbDatabaseArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbDatabase)(nil)).Elem() -} - -func (i DocumentdbDatabaseArray) ToDocumentdbDatabaseArrayOutput() DocumentdbDatabaseArrayOutput { - return i.ToDocumentdbDatabaseArrayOutputWithContext(context.Background()) -} - -func (i DocumentdbDatabaseArray) ToDocumentdbDatabaseArrayOutputWithContext(ctx context.Context) DocumentdbDatabaseArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbDatabaseArrayOutput) -} - -// DocumentdbDatabaseMapInput is an input type that accepts DocumentdbDatabaseMap and DocumentdbDatabaseMapOutput values. -// You can construct a concrete instance of `DocumentdbDatabaseMapInput` via: -// -// DocumentdbDatabaseMap{ "key": DocumentdbDatabaseArgs{...} } -type DocumentdbDatabaseMapInput interface { - pulumi.Input - - ToDocumentdbDatabaseMapOutput() DocumentdbDatabaseMapOutput - ToDocumentdbDatabaseMapOutputWithContext(context.Context) DocumentdbDatabaseMapOutput -} - -type DocumentdbDatabaseMap map[string]DocumentdbDatabaseInput - -func (DocumentdbDatabaseMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbDatabase)(nil)).Elem() -} - -func (i DocumentdbDatabaseMap) ToDocumentdbDatabaseMapOutput() DocumentdbDatabaseMapOutput { - return i.ToDocumentdbDatabaseMapOutputWithContext(context.Background()) -} - -func (i DocumentdbDatabaseMap) ToDocumentdbDatabaseMapOutputWithContext(ctx context.Context) DocumentdbDatabaseMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbDatabaseMapOutput) -} - -type DocumentdbDatabaseOutput struct{ *pulumi.OutputState } - -func (DocumentdbDatabaseOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbDatabase)(nil)).Elem() -} - -func (o DocumentdbDatabaseOutput) ToDocumentdbDatabaseOutput() DocumentdbDatabaseOutput { - return o -} - -func (o DocumentdbDatabaseOutput) ToDocumentdbDatabaseOutputWithContext(ctx context.Context) DocumentdbDatabaseOutput { - return o -} - -// UUID of the documentdb instance. -// -// > **Important:** Updates to `instanceId` will recreate the Database. -func (o DocumentdbDatabaseOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbDatabase) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) -} - -// Whether the database is managed or not. -func (o DocumentdbDatabaseOutput) Managed() pulumi.BoolOutput { - return o.ApplyT(func(v *DocumentdbDatabase) pulumi.BoolOutput { return v.Managed }).(pulumi.BoolOutput) -} - -// Name of the database (e.g. `my-new-database`). -func (o DocumentdbDatabaseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbDatabase) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) -} - -// The name of the owner of the database. -func (o DocumentdbDatabaseOutput) Owner() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbDatabase) pulumi.StringOutput { return v.Owner }).(pulumi.StringOutput) -} - -// The projectId you want to attach the resource to -func (o DocumentdbDatabaseOutput) ProjectId() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbDatabase) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) -} - -// `region`) The region in which the resource exists. -func (o DocumentdbDatabaseOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbDatabase) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) -} - -// Size in gigabytes of the database. -func (o DocumentdbDatabaseOutput) Size() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbDatabase) pulumi.StringOutput { return v.Size }).(pulumi.StringOutput) -} - -type DocumentdbDatabaseArrayOutput struct{ *pulumi.OutputState } - -func (DocumentdbDatabaseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbDatabase)(nil)).Elem() -} - -func (o DocumentdbDatabaseArrayOutput) ToDocumentdbDatabaseArrayOutput() DocumentdbDatabaseArrayOutput { - return o -} - -func (o DocumentdbDatabaseArrayOutput) ToDocumentdbDatabaseArrayOutputWithContext(ctx context.Context) DocumentdbDatabaseArrayOutput { - return o -} - -func (o DocumentdbDatabaseArrayOutput) Index(i pulumi.IntInput) DocumentdbDatabaseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DocumentdbDatabase { - return vs[0].([]*DocumentdbDatabase)[vs[1].(int)] - }).(DocumentdbDatabaseOutput) -} - -type DocumentdbDatabaseMapOutput struct{ *pulumi.OutputState } - -func (DocumentdbDatabaseMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbDatabase)(nil)).Elem() -} - -func (o DocumentdbDatabaseMapOutput) ToDocumentdbDatabaseMapOutput() DocumentdbDatabaseMapOutput { - return o -} - -func (o DocumentdbDatabaseMapOutput) ToDocumentdbDatabaseMapOutputWithContext(ctx context.Context) DocumentdbDatabaseMapOutput { - return o -} - -func (o DocumentdbDatabaseMapOutput) MapIndex(k pulumi.StringInput) DocumentdbDatabaseOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DocumentdbDatabase { - return vs[0].(map[string]*DocumentdbDatabase)[vs[1].(string)] - }).(DocumentdbDatabaseOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbDatabaseInput)(nil)).Elem(), &DocumentdbDatabase{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbDatabaseArrayInput)(nil)).Elem(), DocumentdbDatabaseArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbDatabaseMapInput)(nil)).Elem(), DocumentdbDatabaseMap{}) - pulumi.RegisterOutputType(DocumentdbDatabaseOutput{}) - pulumi.RegisterOutputType(DocumentdbDatabaseArrayOutput{}) - pulumi.RegisterOutputType(DocumentdbDatabaseMapOutput{}) -} diff --git a/sdk/go/scaleway/documentdbInstance.go b/sdk/go/scaleway/documentdbInstance.go deleted file mode 100644 index b170a478..00000000 --- a/sdk/go/scaleway/documentdbInstance.go +++ /dev/null @@ -1,508 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Creates and manages Scaleway Database Instances. -// -// ## Example Usage -// -// ### Example Basic -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := scaleway.NewDocumentdbInstance(ctx, "main", &scaleway.DocumentdbInstanceArgs{ -// Name: pulumi.String("test-documentdb-instance-basic"), -// NodeType: pulumi.String("docdb-play2-pico"), -// Engine: pulumi.String("FerretDB-1"), -// UserName: pulumi.String("my_initial_user"), -// Password: pulumi.String("thiZ_is_v&ry_s3cret"), -// Tags: pulumi.StringArray{ -// pulumi.String("terraform-test"), -// pulumi.String("scaleway_documentdb_instance"), -// pulumi.String("minimal"), -// }, -// VolumeSizeInGb: pulumi.Int(20), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Database Instance can be imported using the `{region}/{id}`, e.g. -// -// bash -// -// ```sh -// $ pulumi import scaleway:index/documentdbInstance:DocumentdbInstance db fr-par/11111111-1111-1111-1111-111111111111 -// ``` -type DocumentdbInstance struct { - pulumi.CustomResourceState - - // Database Instance's engine version (e.g. `FerretDB-1`). - // - // > **Important:** Updates to `engine` will recreate the Database Instance. - Engine pulumi.StringOutput `pulumi:"engine"` - // Enable or disable high availability for the database instance. - IsHaCluster pulumi.BoolPtrOutput `pulumi:"isHaCluster"` - // The name of the Database Instance. - Name pulumi.StringOutput `pulumi:"name"` - // The type of database instance you want to create (e.g. `docdb-play2-pico`). - // - // > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any - // interruption. Keep in mind that you cannot downgrade a Database Instance. - NodeType pulumi.StringOutput `pulumi:"nodeType"` - // Password for the first user of the database instance. - Password pulumi.StringPtrOutput `pulumi:"password"` - // `projectId`) The ID of the project the Database - // Instance is associated with. - ProjectId pulumi.StringOutput `pulumi:"projectId"` - // `region`) The region - // in which the Database Instance should be created. - Region pulumi.StringOutput `pulumi:"region"` - // The tags associated with the Database Instance. - Tags pulumi.StringArrayOutput `pulumi:"tags"` - // Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - // - // > **Important:** Updates to `isHaCluster` will recreate the Database Instance. - TelemetryEnabled pulumi.BoolPtrOutput `pulumi:"telemetryEnabled"` - // Identifier for the first user of the database instance. - // - // > **Important:** Updates to `userName` will recreate the Database Instance. - UserName pulumi.StringPtrOutput `pulumi:"userName"` - // Volume size (in GB) when `volumeType` is set to `bssd`. - VolumeSizeInGb pulumi.IntOutput `pulumi:"volumeSizeInGb"` - // Type of volume where data are stored (`bssd` or `lssd`). - VolumeType pulumi.StringPtrOutput `pulumi:"volumeType"` -} - -// NewDocumentdbInstance registers a new resource with the given unique name, arguments, and options. -func NewDocumentdbInstance(ctx *pulumi.Context, - name string, args *DocumentdbInstanceArgs, opts ...pulumi.ResourceOption) (*DocumentdbInstance, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.Engine == nil { - return nil, errors.New("invalid value for required argument 'Engine'") - } - if args.NodeType == nil { - return nil, errors.New("invalid value for required argument 'NodeType'") - } - if args.Password != nil { - args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) - } - secrets := pulumi.AdditionalSecretOutputs([]string{ - "password", - }) - opts = append(opts, secrets) - opts = internal.PkgResourceDefaultOpts(opts) - var resource DocumentdbInstance - err := ctx.RegisterResource("scaleway:index/documentdbInstance:DocumentdbInstance", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetDocumentdbInstance gets an existing DocumentdbInstance resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetDocumentdbInstance(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *DocumentdbInstanceState, opts ...pulumi.ResourceOption) (*DocumentdbInstance, error) { - var resource DocumentdbInstance - err := ctx.ReadResource("scaleway:index/documentdbInstance:DocumentdbInstance", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering DocumentdbInstance resources. -type documentdbInstanceState struct { - // Database Instance's engine version (e.g. `FerretDB-1`). - // - // > **Important:** Updates to `engine` will recreate the Database Instance. - Engine *string `pulumi:"engine"` - // Enable or disable high availability for the database instance. - IsHaCluster *bool `pulumi:"isHaCluster"` - // The name of the Database Instance. - Name *string `pulumi:"name"` - // The type of database instance you want to create (e.g. `docdb-play2-pico`). - // - // > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any - // interruption. Keep in mind that you cannot downgrade a Database Instance. - NodeType *string `pulumi:"nodeType"` - // Password for the first user of the database instance. - Password *string `pulumi:"password"` - // `projectId`) The ID of the project the Database - // Instance is associated with. - ProjectId *string `pulumi:"projectId"` - // `region`) The region - // in which the Database Instance should be created. - Region *string `pulumi:"region"` - // The tags associated with the Database Instance. - Tags []string `pulumi:"tags"` - // Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - // - // > **Important:** Updates to `isHaCluster` will recreate the Database Instance. - TelemetryEnabled *bool `pulumi:"telemetryEnabled"` - // Identifier for the first user of the database instance. - // - // > **Important:** Updates to `userName` will recreate the Database Instance. - UserName *string `pulumi:"userName"` - // Volume size (in GB) when `volumeType` is set to `bssd`. - VolumeSizeInGb *int `pulumi:"volumeSizeInGb"` - // Type of volume where data are stored (`bssd` or `lssd`). - VolumeType *string `pulumi:"volumeType"` -} - -type DocumentdbInstanceState struct { - // Database Instance's engine version (e.g. `FerretDB-1`). - // - // > **Important:** Updates to `engine` will recreate the Database Instance. - Engine pulumi.StringPtrInput - // Enable or disable high availability for the database instance. - IsHaCluster pulumi.BoolPtrInput - // The name of the Database Instance. - Name pulumi.StringPtrInput - // The type of database instance you want to create (e.g. `docdb-play2-pico`). - // - // > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any - // interruption. Keep in mind that you cannot downgrade a Database Instance. - NodeType pulumi.StringPtrInput - // Password for the first user of the database instance. - Password pulumi.StringPtrInput - // `projectId`) The ID of the project the Database - // Instance is associated with. - ProjectId pulumi.StringPtrInput - // `region`) The region - // in which the Database Instance should be created. - Region pulumi.StringPtrInput - // The tags associated with the Database Instance. - Tags pulumi.StringArrayInput - // Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - // - // > **Important:** Updates to `isHaCluster` will recreate the Database Instance. - TelemetryEnabled pulumi.BoolPtrInput - // Identifier for the first user of the database instance. - // - // > **Important:** Updates to `userName` will recreate the Database Instance. - UserName pulumi.StringPtrInput - // Volume size (in GB) when `volumeType` is set to `bssd`. - VolumeSizeInGb pulumi.IntPtrInput - // Type of volume where data are stored (`bssd` or `lssd`). - VolumeType pulumi.StringPtrInput -} - -func (DocumentdbInstanceState) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbInstanceState)(nil)).Elem() -} - -type documentdbInstanceArgs struct { - // Database Instance's engine version (e.g. `FerretDB-1`). - // - // > **Important:** Updates to `engine` will recreate the Database Instance. - Engine string `pulumi:"engine"` - // Enable or disable high availability for the database instance. - IsHaCluster *bool `pulumi:"isHaCluster"` - // The name of the Database Instance. - Name *string `pulumi:"name"` - // The type of database instance you want to create (e.g. `docdb-play2-pico`). - // - // > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any - // interruption. Keep in mind that you cannot downgrade a Database Instance. - NodeType string `pulumi:"nodeType"` - // Password for the first user of the database instance. - Password *string `pulumi:"password"` - // `projectId`) The ID of the project the Database - // Instance is associated with. - ProjectId *string `pulumi:"projectId"` - // `region`) The region - // in which the Database Instance should be created. - Region *string `pulumi:"region"` - // The tags associated with the Database Instance. - Tags []string `pulumi:"tags"` - // Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - // - // > **Important:** Updates to `isHaCluster` will recreate the Database Instance. - TelemetryEnabled *bool `pulumi:"telemetryEnabled"` - // Identifier for the first user of the database instance. - // - // > **Important:** Updates to `userName` will recreate the Database Instance. - UserName *string `pulumi:"userName"` - // Volume size (in GB) when `volumeType` is set to `bssd`. - VolumeSizeInGb *int `pulumi:"volumeSizeInGb"` - // Type of volume where data are stored (`bssd` or `lssd`). - VolumeType *string `pulumi:"volumeType"` -} - -// The set of arguments for constructing a DocumentdbInstance resource. -type DocumentdbInstanceArgs struct { - // Database Instance's engine version (e.g. `FerretDB-1`). - // - // > **Important:** Updates to `engine` will recreate the Database Instance. - Engine pulumi.StringInput - // Enable or disable high availability for the database instance. - IsHaCluster pulumi.BoolPtrInput - // The name of the Database Instance. - Name pulumi.StringPtrInput - // The type of database instance you want to create (e.g. `docdb-play2-pico`). - // - // > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any - // interruption. Keep in mind that you cannot downgrade a Database Instance. - NodeType pulumi.StringInput - // Password for the first user of the database instance. - Password pulumi.StringPtrInput - // `projectId`) The ID of the project the Database - // Instance is associated with. - ProjectId pulumi.StringPtrInput - // `region`) The region - // in which the Database Instance should be created. - Region pulumi.StringPtrInput - // The tags associated with the Database Instance. - Tags pulumi.StringArrayInput - // Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - // - // > **Important:** Updates to `isHaCluster` will recreate the Database Instance. - TelemetryEnabled pulumi.BoolPtrInput - // Identifier for the first user of the database instance. - // - // > **Important:** Updates to `userName` will recreate the Database Instance. - UserName pulumi.StringPtrInput - // Volume size (in GB) when `volumeType` is set to `bssd`. - VolumeSizeInGb pulumi.IntPtrInput - // Type of volume where data are stored (`bssd` or `lssd`). - VolumeType pulumi.StringPtrInput -} - -func (DocumentdbInstanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbInstanceArgs)(nil)).Elem() -} - -type DocumentdbInstanceInput interface { - pulumi.Input - - ToDocumentdbInstanceOutput() DocumentdbInstanceOutput - ToDocumentdbInstanceOutputWithContext(ctx context.Context) DocumentdbInstanceOutput -} - -func (*DocumentdbInstance) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbInstance)(nil)).Elem() -} - -func (i *DocumentdbInstance) ToDocumentdbInstanceOutput() DocumentdbInstanceOutput { - return i.ToDocumentdbInstanceOutputWithContext(context.Background()) -} - -func (i *DocumentdbInstance) ToDocumentdbInstanceOutputWithContext(ctx context.Context) DocumentdbInstanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbInstanceOutput) -} - -// DocumentdbInstanceArrayInput is an input type that accepts DocumentdbInstanceArray and DocumentdbInstanceArrayOutput values. -// You can construct a concrete instance of `DocumentdbInstanceArrayInput` via: -// -// DocumentdbInstanceArray{ DocumentdbInstanceArgs{...} } -type DocumentdbInstanceArrayInput interface { - pulumi.Input - - ToDocumentdbInstanceArrayOutput() DocumentdbInstanceArrayOutput - ToDocumentdbInstanceArrayOutputWithContext(context.Context) DocumentdbInstanceArrayOutput -} - -type DocumentdbInstanceArray []DocumentdbInstanceInput - -func (DocumentdbInstanceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbInstance)(nil)).Elem() -} - -func (i DocumentdbInstanceArray) ToDocumentdbInstanceArrayOutput() DocumentdbInstanceArrayOutput { - return i.ToDocumentdbInstanceArrayOutputWithContext(context.Background()) -} - -func (i DocumentdbInstanceArray) ToDocumentdbInstanceArrayOutputWithContext(ctx context.Context) DocumentdbInstanceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbInstanceArrayOutput) -} - -// DocumentdbInstanceMapInput is an input type that accepts DocumentdbInstanceMap and DocumentdbInstanceMapOutput values. -// You can construct a concrete instance of `DocumentdbInstanceMapInput` via: -// -// DocumentdbInstanceMap{ "key": DocumentdbInstanceArgs{...} } -type DocumentdbInstanceMapInput interface { - pulumi.Input - - ToDocumentdbInstanceMapOutput() DocumentdbInstanceMapOutput - ToDocumentdbInstanceMapOutputWithContext(context.Context) DocumentdbInstanceMapOutput -} - -type DocumentdbInstanceMap map[string]DocumentdbInstanceInput - -func (DocumentdbInstanceMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbInstance)(nil)).Elem() -} - -func (i DocumentdbInstanceMap) ToDocumentdbInstanceMapOutput() DocumentdbInstanceMapOutput { - return i.ToDocumentdbInstanceMapOutputWithContext(context.Background()) -} - -func (i DocumentdbInstanceMap) ToDocumentdbInstanceMapOutputWithContext(ctx context.Context) DocumentdbInstanceMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbInstanceMapOutput) -} - -type DocumentdbInstanceOutput struct{ *pulumi.OutputState } - -func (DocumentdbInstanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbInstance)(nil)).Elem() -} - -func (o DocumentdbInstanceOutput) ToDocumentdbInstanceOutput() DocumentdbInstanceOutput { - return o -} - -func (o DocumentdbInstanceOutput) ToDocumentdbInstanceOutputWithContext(ctx context.Context) DocumentdbInstanceOutput { - return o -} - -// Database Instance's engine version (e.g. `FerretDB-1`). -// -// > **Important:** Updates to `engine` will recreate the Database Instance. -func (o DocumentdbInstanceOutput) Engine() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringOutput { return v.Engine }).(pulumi.StringOutput) -} - -// Enable or disable high availability for the database instance. -func (o DocumentdbInstanceOutput) IsHaCluster() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.BoolPtrOutput { return v.IsHaCluster }).(pulumi.BoolPtrOutput) -} - -// The name of the Database Instance. -func (o DocumentdbInstanceOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) -} - -// The type of database instance you want to create (e.g. `docdb-play2-pico`). -// -// > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any -// interruption. Keep in mind that you cannot downgrade a Database Instance. -func (o DocumentdbInstanceOutput) NodeType() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringOutput { return v.NodeType }).(pulumi.StringOutput) -} - -// Password for the first user of the database instance. -func (o DocumentdbInstanceOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) -} - -// `projectId`) The ID of the project the Database -// Instance is associated with. -func (o DocumentdbInstanceOutput) ProjectId() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) -} - -// `region`) The region -// in which the Database Instance should be created. -func (o DocumentdbInstanceOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) -} - -// The tags associated with the Database Instance. -func (o DocumentdbInstanceOutput) Tags() pulumi.StringArrayOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) -} - -// Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). -// -// > **Important:** Updates to `isHaCluster` will recreate the Database Instance. -func (o DocumentdbInstanceOutput) TelemetryEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.BoolPtrOutput { return v.TelemetryEnabled }).(pulumi.BoolPtrOutput) -} - -// Identifier for the first user of the database instance. -// -// > **Important:** Updates to `userName` will recreate the Database Instance. -func (o DocumentdbInstanceOutput) UserName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringPtrOutput { return v.UserName }).(pulumi.StringPtrOutput) -} - -// Volume size (in GB) when `volumeType` is set to `bssd`. -func (o DocumentdbInstanceOutput) VolumeSizeInGb() pulumi.IntOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.IntOutput { return v.VolumeSizeInGb }).(pulumi.IntOutput) -} - -// Type of volume where data are stored (`bssd` or `lssd`). -func (o DocumentdbInstanceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbInstance) pulumi.StringPtrOutput { return v.VolumeType }).(pulumi.StringPtrOutput) -} - -type DocumentdbInstanceArrayOutput struct{ *pulumi.OutputState } - -func (DocumentdbInstanceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbInstance)(nil)).Elem() -} - -func (o DocumentdbInstanceArrayOutput) ToDocumentdbInstanceArrayOutput() DocumentdbInstanceArrayOutput { - return o -} - -func (o DocumentdbInstanceArrayOutput) ToDocumentdbInstanceArrayOutputWithContext(ctx context.Context) DocumentdbInstanceArrayOutput { - return o -} - -func (o DocumentdbInstanceArrayOutput) Index(i pulumi.IntInput) DocumentdbInstanceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DocumentdbInstance { - return vs[0].([]*DocumentdbInstance)[vs[1].(int)] - }).(DocumentdbInstanceOutput) -} - -type DocumentdbInstanceMapOutput struct{ *pulumi.OutputState } - -func (DocumentdbInstanceMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbInstance)(nil)).Elem() -} - -func (o DocumentdbInstanceMapOutput) ToDocumentdbInstanceMapOutput() DocumentdbInstanceMapOutput { - return o -} - -func (o DocumentdbInstanceMapOutput) ToDocumentdbInstanceMapOutputWithContext(ctx context.Context) DocumentdbInstanceMapOutput { - return o -} - -func (o DocumentdbInstanceMapOutput) MapIndex(k pulumi.StringInput) DocumentdbInstanceOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DocumentdbInstance { - return vs[0].(map[string]*DocumentdbInstance)[vs[1].(string)] - }).(DocumentdbInstanceOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbInstanceInput)(nil)).Elem(), &DocumentdbInstance{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbInstanceArrayInput)(nil)).Elem(), DocumentdbInstanceArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbInstanceMapInput)(nil)).Elem(), DocumentdbInstanceMap{}) - pulumi.RegisterOutputType(DocumentdbInstanceOutput{}) - pulumi.RegisterOutputType(DocumentdbInstanceArrayOutput{}) - pulumi.RegisterOutputType(DocumentdbInstanceMapOutput{}) -} diff --git a/sdk/go/scaleway/documentdbPrivateNetworkEndpoint.go b/sdk/go/scaleway/documentdbPrivateNetworkEndpoint.go deleted file mode 100644 index 94de1803..00000000 --- a/sdk/go/scaleway/documentdbPrivateNetworkEndpoint.go +++ /dev/null @@ -1,336 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Creates and manages Scaleway Database Private Network Endpoint. -// -// ## Example Usage -// -// ### Example Basic -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// pn, err := scaleway.NewVpcPrivateNetwork(ctx, "pn", &scaleway.VpcPrivateNetworkArgs{ -// Name: pulumi.String("my_private_network"), -// }) -// if err != nil { -// return err -// } -// instance, err := scaleway.NewDocumentdbInstance(ctx, "instance", &scaleway.DocumentdbInstanceArgs{ -// Name: pulumi.String("test-document_db-basic"), -// NodeType: pulumi.String("docdb-play2-pico"), -// Engine: pulumi.String("FerretDB-1"), -// UserName: pulumi.String("my_initial_user"), -// Password: pulumi.String("thiZ_is_v&ry_s3cret"), -// VolumeSizeInGb: pulumi.Int(20), -// }) -// if err != nil { -// return err -// } -// _, err = scaleway.NewDocumentdbPrivateNetworkEndpoint(ctx, "main", &scaleway.DocumentdbPrivateNetworkEndpointArgs{ -// InstanceId: instance.ID(), -// PrivateNetwork: &scaleway.DocumentdbPrivateNetworkEndpointPrivateNetworkArgs{ -// IpNet: pulumi.String("172.16.32.3/22"), -// Id: pn.ID(), -// }, -// }, pulumi.DependsOn([]pulumi.Resource{ -// pn, -// })) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Database Instance Endpoint can be imported using the `{region}/{endpoint_id}`, e.g. -// -// bash -// -// ```sh -// $ pulumi import scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint end fr-par/11111111-1111-1111-1111-111111111111 -// ``` -type DocumentdbPrivateNetworkEndpoint struct { - pulumi.CustomResourceState - - // UUID of the documentdb instance. - InstanceId pulumi.StringOutput `pulumi:"instanceId"` - // The private network specs details. This is a list with maximum one element and supports the following attributes: - PrivateNetwork DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput `pulumi:"privateNetwork"` - // The region of the endpoint. - // - // > **NOTE:** Please calculate your host IP. - // using cirhost. Otherwise, lets IPAM service - // handle the host IP on the network. - Region pulumi.StringOutput `pulumi:"region"` -} - -// NewDocumentdbPrivateNetworkEndpoint registers a new resource with the given unique name, arguments, and options. -func NewDocumentdbPrivateNetworkEndpoint(ctx *pulumi.Context, - name string, args *DocumentdbPrivateNetworkEndpointArgs, opts ...pulumi.ResourceOption) (*DocumentdbPrivateNetworkEndpoint, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.InstanceId == nil { - return nil, errors.New("invalid value for required argument 'InstanceId'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource DocumentdbPrivateNetworkEndpoint - err := ctx.RegisterResource("scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetDocumentdbPrivateNetworkEndpoint gets an existing DocumentdbPrivateNetworkEndpoint resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetDocumentdbPrivateNetworkEndpoint(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *DocumentdbPrivateNetworkEndpointState, opts ...pulumi.ResourceOption) (*DocumentdbPrivateNetworkEndpoint, error) { - var resource DocumentdbPrivateNetworkEndpoint - err := ctx.ReadResource("scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering DocumentdbPrivateNetworkEndpoint resources. -type documentdbPrivateNetworkEndpointState struct { - // UUID of the documentdb instance. - InstanceId *string `pulumi:"instanceId"` - // The private network specs details. This is a list with maximum one element and supports the following attributes: - PrivateNetwork *DocumentdbPrivateNetworkEndpointPrivateNetwork `pulumi:"privateNetwork"` - // The region of the endpoint. - // - // > **NOTE:** Please calculate your host IP. - // using cirhost. Otherwise, lets IPAM service - // handle the host IP on the network. - Region *string `pulumi:"region"` -} - -type DocumentdbPrivateNetworkEndpointState struct { - // UUID of the documentdb instance. - InstanceId pulumi.StringPtrInput - // The private network specs details. This is a list with maximum one element and supports the following attributes: - PrivateNetwork DocumentdbPrivateNetworkEndpointPrivateNetworkPtrInput - // The region of the endpoint. - // - // > **NOTE:** Please calculate your host IP. - // using cirhost. Otherwise, lets IPAM service - // handle the host IP on the network. - Region pulumi.StringPtrInput -} - -func (DocumentdbPrivateNetworkEndpointState) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbPrivateNetworkEndpointState)(nil)).Elem() -} - -type documentdbPrivateNetworkEndpointArgs struct { - // UUID of the documentdb instance. - InstanceId string `pulumi:"instanceId"` - // The private network specs details. This is a list with maximum one element and supports the following attributes: - PrivateNetwork *DocumentdbPrivateNetworkEndpointPrivateNetwork `pulumi:"privateNetwork"` - // The region of the endpoint. - // - // > **NOTE:** Please calculate your host IP. - // using cirhost. Otherwise, lets IPAM service - // handle the host IP on the network. - Region *string `pulumi:"region"` -} - -// The set of arguments for constructing a DocumentdbPrivateNetworkEndpoint resource. -type DocumentdbPrivateNetworkEndpointArgs struct { - // UUID of the documentdb instance. - InstanceId pulumi.StringInput - // The private network specs details. This is a list with maximum one element and supports the following attributes: - PrivateNetwork DocumentdbPrivateNetworkEndpointPrivateNetworkPtrInput - // The region of the endpoint. - // - // > **NOTE:** Please calculate your host IP. - // using cirhost. Otherwise, lets IPAM service - // handle the host IP on the network. - Region pulumi.StringPtrInput -} - -func (DocumentdbPrivateNetworkEndpointArgs) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbPrivateNetworkEndpointArgs)(nil)).Elem() -} - -type DocumentdbPrivateNetworkEndpointInput interface { - pulumi.Input - - ToDocumentdbPrivateNetworkEndpointOutput() DocumentdbPrivateNetworkEndpointOutput - ToDocumentdbPrivateNetworkEndpointOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointOutput -} - -func (*DocumentdbPrivateNetworkEndpoint) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbPrivateNetworkEndpoint)(nil)).Elem() -} - -func (i *DocumentdbPrivateNetworkEndpoint) ToDocumentdbPrivateNetworkEndpointOutput() DocumentdbPrivateNetworkEndpointOutput { - return i.ToDocumentdbPrivateNetworkEndpointOutputWithContext(context.Background()) -} - -func (i *DocumentdbPrivateNetworkEndpoint) ToDocumentdbPrivateNetworkEndpointOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivateNetworkEndpointOutput) -} - -// DocumentdbPrivateNetworkEndpointArrayInput is an input type that accepts DocumentdbPrivateNetworkEndpointArray and DocumentdbPrivateNetworkEndpointArrayOutput values. -// You can construct a concrete instance of `DocumentdbPrivateNetworkEndpointArrayInput` via: -// -// DocumentdbPrivateNetworkEndpointArray{ DocumentdbPrivateNetworkEndpointArgs{...} } -type DocumentdbPrivateNetworkEndpointArrayInput interface { - pulumi.Input - - ToDocumentdbPrivateNetworkEndpointArrayOutput() DocumentdbPrivateNetworkEndpointArrayOutput - ToDocumentdbPrivateNetworkEndpointArrayOutputWithContext(context.Context) DocumentdbPrivateNetworkEndpointArrayOutput -} - -type DocumentdbPrivateNetworkEndpointArray []DocumentdbPrivateNetworkEndpointInput - -func (DocumentdbPrivateNetworkEndpointArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbPrivateNetworkEndpoint)(nil)).Elem() -} - -func (i DocumentdbPrivateNetworkEndpointArray) ToDocumentdbPrivateNetworkEndpointArrayOutput() DocumentdbPrivateNetworkEndpointArrayOutput { - return i.ToDocumentdbPrivateNetworkEndpointArrayOutputWithContext(context.Background()) -} - -func (i DocumentdbPrivateNetworkEndpointArray) ToDocumentdbPrivateNetworkEndpointArrayOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivateNetworkEndpointArrayOutput) -} - -// DocumentdbPrivateNetworkEndpointMapInput is an input type that accepts DocumentdbPrivateNetworkEndpointMap and DocumentdbPrivateNetworkEndpointMapOutput values. -// You can construct a concrete instance of `DocumentdbPrivateNetworkEndpointMapInput` via: -// -// DocumentdbPrivateNetworkEndpointMap{ "key": DocumentdbPrivateNetworkEndpointArgs{...} } -type DocumentdbPrivateNetworkEndpointMapInput interface { - pulumi.Input - - ToDocumentdbPrivateNetworkEndpointMapOutput() DocumentdbPrivateNetworkEndpointMapOutput - ToDocumentdbPrivateNetworkEndpointMapOutputWithContext(context.Context) DocumentdbPrivateNetworkEndpointMapOutput -} - -type DocumentdbPrivateNetworkEndpointMap map[string]DocumentdbPrivateNetworkEndpointInput - -func (DocumentdbPrivateNetworkEndpointMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbPrivateNetworkEndpoint)(nil)).Elem() -} - -func (i DocumentdbPrivateNetworkEndpointMap) ToDocumentdbPrivateNetworkEndpointMapOutput() DocumentdbPrivateNetworkEndpointMapOutput { - return i.ToDocumentdbPrivateNetworkEndpointMapOutputWithContext(context.Background()) -} - -func (i DocumentdbPrivateNetworkEndpointMap) ToDocumentdbPrivateNetworkEndpointMapOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivateNetworkEndpointMapOutput) -} - -type DocumentdbPrivateNetworkEndpointOutput struct{ *pulumi.OutputState } - -func (DocumentdbPrivateNetworkEndpointOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbPrivateNetworkEndpoint)(nil)).Elem() -} - -func (o DocumentdbPrivateNetworkEndpointOutput) ToDocumentdbPrivateNetworkEndpointOutput() DocumentdbPrivateNetworkEndpointOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointOutput) ToDocumentdbPrivateNetworkEndpointOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointOutput { - return o -} - -// UUID of the documentdb instance. -func (o DocumentdbPrivateNetworkEndpointOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpoint) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) -} - -// The private network specs details. This is a list with maximum one element and supports the following attributes: -func (o DocumentdbPrivateNetworkEndpointOutput) PrivateNetwork() DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpoint) DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return v.PrivateNetwork - }).(DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) -} - -// The region of the endpoint. -// -// > **NOTE:** Please calculate your host IP. -// using cirhost. Otherwise, lets IPAM service -// handle the host IP on the network. -func (o DocumentdbPrivateNetworkEndpointOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpoint) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) -} - -type DocumentdbPrivateNetworkEndpointArrayOutput struct{ *pulumi.OutputState } - -func (DocumentdbPrivateNetworkEndpointArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbPrivateNetworkEndpoint)(nil)).Elem() -} - -func (o DocumentdbPrivateNetworkEndpointArrayOutput) ToDocumentdbPrivateNetworkEndpointArrayOutput() DocumentdbPrivateNetworkEndpointArrayOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointArrayOutput) ToDocumentdbPrivateNetworkEndpointArrayOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointArrayOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointArrayOutput) Index(i pulumi.IntInput) DocumentdbPrivateNetworkEndpointOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DocumentdbPrivateNetworkEndpoint { - return vs[0].([]*DocumentdbPrivateNetworkEndpoint)[vs[1].(int)] - }).(DocumentdbPrivateNetworkEndpointOutput) -} - -type DocumentdbPrivateNetworkEndpointMapOutput struct{ *pulumi.OutputState } - -func (DocumentdbPrivateNetworkEndpointMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbPrivateNetworkEndpoint)(nil)).Elem() -} - -func (o DocumentdbPrivateNetworkEndpointMapOutput) ToDocumentdbPrivateNetworkEndpointMapOutput() DocumentdbPrivateNetworkEndpointMapOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointMapOutput) ToDocumentdbPrivateNetworkEndpointMapOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointMapOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointMapOutput) MapIndex(k pulumi.StringInput) DocumentdbPrivateNetworkEndpointOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DocumentdbPrivateNetworkEndpoint { - return vs[0].(map[string]*DocumentdbPrivateNetworkEndpoint)[vs[1].(string)] - }).(DocumentdbPrivateNetworkEndpointOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbPrivateNetworkEndpointInput)(nil)).Elem(), &DocumentdbPrivateNetworkEndpoint{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbPrivateNetworkEndpointArrayInput)(nil)).Elem(), DocumentdbPrivateNetworkEndpointArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbPrivateNetworkEndpointMapInput)(nil)).Elem(), DocumentdbPrivateNetworkEndpointMap{}) - pulumi.RegisterOutputType(DocumentdbPrivateNetworkEndpointOutput{}) - pulumi.RegisterOutputType(DocumentdbPrivateNetworkEndpointArrayOutput{}) - pulumi.RegisterOutputType(DocumentdbPrivateNetworkEndpointMapOutput{}) -} diff --git a/sdk/go/scaleway/documentdbPrivilege.go b/sdk/go/scaleway/documentdbPrivilege.go deleted file mode 100644 index 7a5e1802..00000000 --- a/sdk/go/scaleway/documentdbPrivilege.go +++ /dev/null @@ -1,338 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Create and manage Scaleway DocumentDB database privilege. -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// instance, err := scaleway.NewDocumentdbInstance(ctx, "instance", &scaleway.DocumentdbInstanceArgs{ -// Name: pulumi.String("test-document_db-basic"), -// NodeType: pulumi.String("docdb-play2-pico"), -// Engine: pulumi.String("FerretDB-1"), -// UserName: pulumi.String("my_initial_user"), -// Password: pulumi.String("thiZ_is_v&ry_s3cret"), -// VolumeSizeInGb: pulumi.Int(20), -// }) -// if err != nil { -// return err -// } -// _, err = scaleway.NewDocumentdbPrivilege(ctx, "main", &scaleway.DocumentdbPrivilegeArgs{ -// InstanceId: instance.ID(), -// UserName: pulumi.String("my-db-user"), -// DatabaseName: pulumi.String("my-db-name"), -// Permission: pulumi.String("all"), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// The user privileges can be imported using the `{region}/{instance_id}/{database_name}/{user_name}`, e.g. -// -// bash -// -// ```sh -// $ pulumi import scaleway:index/documentdbPrivilege:DocumentdbPrivilege o fr-par/11111111-1111-1111-1111-111111111111/database_name/foo -// ``` -type DocumentdbPrivilege struct { - pulumi.CustomResourceState - - // Name of the database (e.g. `my-db-name`). - DatabaseName pulumi.StringOutput `pulumi:"databaseName"` - // UUID of the rdb instance. - InstanceId pulumi.StringOutput `pulumi:"instanceId"` - // Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - Permission pulumi.StringOutput `pulumi:"permission"` - // `region`) The region in which the resource exists. - Region pulumi.StringOutput `pulumi:"region"` - // Name of the user (e.g. `my-db-user`). - UserName pulumi.StringOutput `pulumi:"userName"` -} - -// NewDocumentdbPrivilege registers a new resource with the given unique name, arguments, and options. -func NewDocumentdbPrivilege(ctx *pulumi.Context, - name string, args *DocumentdbPrivilegeArgs, opts ...pulumi.ResourceOption) (*DocumentdbPrivilege, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.DatabaseName == nil { - return nil, errors.New("invalid value for required argument 'DatabaseName'") - } - if args.InstanceId == nil { - return nil, errors.New("invalid value for required argument 'InstanceId'") - } - if args.Permission == nil { - return nil, errors.New("invalid value for required argument 'Permission'") - } - if args.UserName == nil { - return nil, errors.New("invalid value for required argument 'UserName'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource DocumentdbPrivilege - err := ctx.RegisterResource("scaleway:index/documentdbPrivilege:DocumentdbPrivilege", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetDocumentdbPrivilege gets an existing DocumentdbPrivilege resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetDocumentdbPrivilege(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *DocumentdbPrivilegeState, opts ...pulumi.ResourceOption) (*DocumentdbPrivilege, error) { - var resource DocumentdbPrivilege - err := ctx.ReadResource("scaleway:index/documentdbPrivilege:DocumentdbPrivilege", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering DocumentdbPrivilege resources. -type documentdbPrivilegeState struct { - // Name of the database (e.g. `my-db-name`). - DatabaseName *string `pulumi:"databaseName"` - // UUID of the rdb instance. - InstanceId *string `pulumi:"instanceId"` - // Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - Permission *string `pulumi:"permission"` - // `region`) The region in which the resource exists. - Region *string `pulumi:"region"` - // Name of the user (e.g. `my-db-user`). - UserName *string `pulumi:"userName"` -} - -type DocumentdbPrivilegeState struct { - // Name of the database (e.g. `my-db-name`). - DatabaseName pulumi.StringPtrInput - // UUID of the rdb instance. - InstanceId pulumi.StringPtrInput - // Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - Permission pulumi.StringPtrInput - // `region`) The region in which the resource exists. - Region pulumi.StringPtrInput - // Name of the user (e.g. `my-db-user`). - UserName pulumi.StringPtrInput -} - -func (DocumentdbPrivilegeState) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbPrivilegeState)(nil)).Elem() -} - -type documentdbPrivilegeArgs struct { - // Name of the database (e.g. `my-db-name`). - DatabaseName string `pulumi:"databaseName"` - // UUID of the rdb instance. - InstanceId string `pulumi:"instanceId"` - // Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - Permission string `pulumi:"permission"` - // `region`) The region in which the resource exists. - Region *string `pulumi:"region"` - // Name of the user (e.g. `my-db-user`). - UserName string `pulumi:"userName"` -} - -// The set of arguments for constructing a DocumentdbPrivilege resource. -type DocumentdbPrivilegeArgs struct { - // Name of the database (e.g. `my-db-name`). - DatabaseName pulumi.StringInput - // UUID of the rdb instance. - InstanceId pulumi.StringInput - // Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - Permission pulumi.StringInput - // `region`) The region in which the resource exists. - Region pulumi.StringPtrInput - // Name of the user (e.g. `my-db-user`). - UserName pulumi.StringInput -} - -func (DocumentdbPrivilegeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbPrivilegeArgs)(nil)).Elem() -} - -type DocumentdbPrivilegeInput interface { - pulumi.Input - - ToDocumentdbPrivilegeOutput() DocumentdbPrivilegeOutput - ToDocumentdbPrivilegeOutputWithContext(ctx context.Context) DocumentdbPrivilegeOutput -} - -func (*DocumentdbPrivilege) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbPrivilege)(nil)).Elem() -} - -func (i *DocumentdbPrivilege) ToDocumentdbPrivilegeOutput() DocumentdbPrivilegeOutput { - return i.ToDocumentdbPrivilegeOutputWithContext(context.Background()) -} - -func (i *DocumentdbPrivilege) ToDocumentdbPrivilegeOutputWithContext(ctx context.Context) DocumentdbPrivilegeOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivilegeOutput) -} - -// DocumentdbPrivilegeArrayInput is an input type that accepts DocumentdbPrivilegeArray and DocumentdbPrivilegeArrayOutput values. -// You can construct a concrete instance of `DocumentdbPrivilegeArrayInput` via: -// -// DocumentdbPrivilegeArray{ DocumentdbPrivilegeArgs{...} } -type DocumentdbPrivilegeArrayInput interface { - pulumi.Input - - ToDocumentdbPrivilegeArrayOutput() DocumentdbPrivilegeArrayOutput - ToDocumentdbPrivilegeArrayOutputWithContext(context.Context) DocumentdbPrivilegeArrayOutput -} - -type DocumentdbPrivilegeArray []DocumentdbPrivilegeInput - -func (DocumentdbPrivilegeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbPrivilege)(nil)).Elem() -} - -func (i DocumentdbPrivilegeArray) ToDocumentdbPrivilegeArrayOutput() DocumentdbPrivilegeArrayOutput { - return i.ToDocumentdbPrivilegeArrayOutputWithContext(context.Background()) -} - -func (i DocumentdbPrivilegeArray) ToDocumentdbPrivilegeArrayOutputWithContext(ctx context.Context) DocumentdbPrivilegeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivilegeArrayOutput) -} - -// DocumentdbPrivilegeMapInput is an input type that accepts DocumentdbPrivilegeMap and DocumentdbPrivilegeMapOutput values. -// You can construct a concrete instance of `DocumentdbPrivilegeMapInput` via: -// -// DocumentdbPrivilegeMap{ "key": DocumentdbPrivilegeArgs{...} } -type DocumentdbPrivilegeMapInput interface { - pulumi.Input - - ToDocumentdbPrivilegeMapOutput() DocumentdbPrivilegeMapOutput - ToDocumentdbPrivilegeMapOutputWithContext(context.Context) DocumentdbPrivilegeMapOutput -} - -type DocumentdbPrivilegeMap map[string]DocumentdbPrivilegeInput - -func (DocumentdbPrivilegeMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbPrivilege)(nil)).Elem() -} - -func (i DocumentdbPrivilegeMap) ToDocumentdbPrivilegeMapOutput() DocumentdbPrivilegeMapOutput { - return i.ToDocumentdbPrivilegeMapOutputWithContext(context.Background()) -} - -func (i DocumentdbPrivilegeMap) ToDocumentdbPrivilegeMapOutputWithContext(ctx context.Context) DocumentdbPrivilegeMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivilegeMapOutput) -} - -type DocumentdbPrivilegeOutput struct{ *pulumi.OutputState } - -func (DocumentdbPrivilegeOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbPrivilege)(nil)).Elem() -} - -func (o DocumentdbPrivilegeOutput) ToDocumentdbPrivilegeOutput() DocumentdbPrivilegeOutput { - return o -} - -func (o DocumentdbPrivilegeOutput) ToDocumentdbPrivilegeOutputWithContext(ctx context.Context) DocumentdbPrivilegeOutput { - return o -} - -// Name of the database (e.g. `my-db-name`). -func (o DocumentdbPrivilegeOutput) DatabaseName() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbPrivilege) pulumi.StringOutput { return v.DatabaseName }).(pulumi.StringOutput) -} - -// UUID of the rdb instance. -func (o DocumentdbPrivilegeOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbPrivilege) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) -} - -// Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. -func (o DocumentdbPrivilegeOutput) Permission() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbPrivilege) pulumi.StringOutput { return v.Permission }).(pulumi.StringOutput) -} - -// `region`) The region in which the resource exists. -func (o DocumentdbPrivilegeOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbPrivilege) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) -} - -// Name of the user (e.g. `my-db-user`). -func (o DocumentdbPrivilegeOutput) UserName() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbPrivilege) pulumi.StringOutput { return v.UserName }).(pulumi.StringOutput) -} - -type DocumentdbPrivilegeArrayOutput struct{ *pulumi.OutputState } - -func (DocumentdbPrivilegeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbPrivilege)(nil)).Elem() -} - -func (o DocumentdbPrivilegeArrayOutput) ToDocumentdbPrivilegeArrayOutput() DocumentdbPrivilegeArrayOutput { - return o -} - -func (o DocumentdbPrivilegeArrayOutput) ToDocumentdbPrivilegeArrayOutputWithContext(ctx context.Context) DocumentdbPrivilegeArrayOutput { - return o -} - -func (o DocumentdbPrivilegeArrayOutput) Index(i pulumi.IntInput) DocumentdbPrivilegeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DocumentdbPrivilege { - return vs[0].([]*DocumentdbPrivilege)[vs[1].(int)] - }).(DocumentdbPrivilegeOutput) -} - -type DocumentdbPrivilegeMapOutput struct{ *pulumi.OutputState } - -func (DocumentdbPrivilegeMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbPrivilege)(nil)).Elem() -} - -func (o DocumentdbPrivilegeMapOutput) ToDocumentdbPrivilegeMapOutput() DocumentdbPrivilegeMapOutput { - return o -} - -func (o DocumentdbPrivilegeMapOutput) ToDocumentdbPrivilegeMapOutputWithContext(ctx context.Context) DocumentdbPrivilegeMapOutput { - return o -} - -func (o DocumentdbPrivilegeMapOutput) MapIndex(k pulumi.StringInput) DocumentdbPrivilegeOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DocumentdbPrivilege { - return vs[0].(map[string]*DocumentdbPrivilege)[vs[1].(string)] - }).(DocumentdbPrivilegeOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbPrivilegeInput)(nil)).Elem(), &DocumentdbPrivilege{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbPrivilegeArrayInput)(nil)).Elem(), DocumentdbPrivilegeArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbPrivilegeMapInput)(nil)).Elem(), DocumentdbPrivilegeMap{}) - pulumi.RegisterOutputType(DocumentdbPrivilegeOutput{}) - pulumi.RegisterOutputType(DocumentdbPrivilegeArrayOutput{}) - pulumi.RegisterOutputType(DocumentdbPrivilegeMapOutput{}) -} diff --git a/sdk/go/scaleway/documentdbReadReplica.go b/sdk/go/scaleway/documentdbReadReplica.go deleted file mode 100644 index 6dc987a6..00000000 --- a/sdk/go/scaleway/documentdbReadReplica.go +++ /dev/null @@ -1,366 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Creates and manages Scaleway DocumentDB Database read replicas. -// -// ## Example Usage -// -// ### Basic -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := scaleway.NewDocumentdbReadReplica(ctx, "replica", &scaleway.DocumentdbReadReplicaArgs{ -// InstanceId: pulumi.String("11111111-1111-1111-1111-111111111111"), -// DirectAccess: &scaleway.DocumentdbReadReplicaDirectAccessArgs{}, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ### Private network -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// pn, err := scaleway.NewVpcPrivateNetwork(ctx, "pn", nil) -// if err != nil { -// return err -// } -// instance, err := scaleway.NewDocumentdbInstance(ctx, "instance", &scaleway.DocumentdbInstanceArgs{ -// Name: pulumi.String("document_db-read-replica-basic"), -// NodeType: pulumi.String("docdb-play2-pico"), -// Engine: pulumi.String("FerretDB-1"), -// UserName: pulumi.String("my_initial_user"), -// Password: pulumi.String("thiZ_is_v&ry_s3cret"), -// VolumeSizeInGb: pulumi.Int(20), -// }) -// if err != nil { -// return err -// } -// _, err = scaleway.NewDocumentdbReadReplica(ctx, "replica", &scaleway.DocumentdbReadReplicaArgs{ -// InstanceId: instance.ID(), -// PrivateNetwork: &scaleway.DocumentdbReadReplicaPrivateNetworkArgs{ -// PrivateNetworkId: pn.ID(), -// ServiceIp: pulumi.String("192.168.1.254/24"), -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Database Read replica can be imported using the `{region}/{id}`, e.g. -// -// bash -// -// ```sh -// $ pulumi import scaleway:index/documentdbReadReplica:DocumentdbReadReplica rr fr-par/11111111-1111-1111-1111-111111111111 -// ``` -type DocumentdbReadReplica struct { - pulumi.CustomResourceState - - // Creates a direct access endpoint to documentdb replica. - DirectAccess DocumentdbReadReplicaDirectAccessPtrOutput `pulumi:"directAccess"` - // UUID of the documentdb instance. - // - // > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. - InstanceId pulumi.StringOutput `pulumi:"instanceId"` - // Create an endpoint in a private network. - PrivateNetwork DocumentdbReadReplicaPrivateNetworkPtrOutput `pulumi:"privateNetwork"` - // `region`) The region - // in which the Database read replica should be created. - Region pulumi.StringOutput `pulumi:"region"` -} - -// NewDocumentdbReadReplica registers a new resource with the given unique name, arguments, and options. -func NewDocumentdbReadReplica(ctx *pulumi.Context, - name string, args *DocumentdbReadReplicaArgs, opts ...pulumi.ResourceOption) (*DocumentdbReadReplica, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.InstanceId == nil { - return nil, errors.New("invalid value for required argument 'InstanceId'") - } - opts = internal.PkgResourceDefaultOpts(opts) - var resource DocumentdbReadReplica - err := ctx.RegisterResource("scaleway:index/documentdbReadReplica:DocumentdbReadReplica", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetDocumentdbReadReplica gets an existing DocumentdbReadReplica resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetDocumentdbReadReplica(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *DocumentdbReadReplicaState, opts ...pulumi.ResourceOption) (*DocumentdbReadReplica, error) { - var resource DocumentdbReadReplica - err := ctx.ReadResource("scaleway:index/documentdbReadReplica:DocumentdbReadReplica", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering DocumentdbReadReplica resources. -type documentdbReadReplicaState struct { - // Creates a direct access endpoint to documentdb replica. - DirectAccess *DocumentdbReadReplicaDirectAccess `pulumi:"directAccess"` - // UUID of the documentdb instance. - // - // > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. - InstanceId *string `pulumi:"instanceId"` - // Create an endpoint in a private network. - PrivateNetwork *DocumentdbReadReplicaPrivateNetwork `pulumi:"privateNetwork"` - // `region`) The region - // in which the Database read replica should be created. - Region *string `pulumi:"region"` -} - -type DocumentdbReadReplicaState struct { - // Creates a direct access endpoint to documentdb replica. - DirectAccess DocumentdbReadReplicaDirectAccessPtrInput - // UUID of the documentdb instance. - // - // > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. - InstanceId pulumi.StringPtrInput - // Create an endpoint in a private network. - PrivateNetwork DocumentdbReadReplicaPrivateNetworkPtrInput - // `region`) The region - // in which the Database read replica should be created. - Region pulumi.StringPtrInput -} - -func (DocumentdbReadReplicaState) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbReadReplicaState)(nil)).Elem() -} - -type documentdbReadReplicaArgs struct { - // Creates a direct access endpoint to documentdb replica. - DirectAccess *DocumentdbReadReplicaDirectAccess `pulumi:"directAccess"` - // UUID of the documentdb instance. - // - // > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. - InstanceId string `pulumi:"instanceId"` - // Create an endpoint in a private network. - PrivateNetwork *DocumentdbReadReplicaPrivateNetwork `pulumi:"privateNetwork"` - // `region`) The region - // in which the Database read replica should be created. - Region *string `pulumi:"region"` -} - -// The set of arguments for constructing a DocumentdbReadReplica resource. -type DocumentdbReadReplicaArgs struct { - // Creates a direct access endpoint to documentdb replica. - DirectAccess DocumentdbReadReplicaDirectAccessPtrInput - // UUID of the documentdb instance. - // - // > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. - InstanceId pulumi.StringInput - // Create an endpoint in a private network. - PrivateNetwork DocumentdbReadReplicaPrivateNetworkPtrInput - // `region`) The region - // in which the Database read replica should be created. - Region pulumi.StringPtrInput -} - -func (DocumentdbReadReplicaArgs) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbReadReplicaArgs)(nil)).Elem() -} - -type DocumentdbReadReplicaInput interface { - pulumi.Input - - ToDocumentdbReadReplicaOutput() DocumentdbReadReplicaOutput - ToDocumentdbReadReplicaOutputWithContext(ctx context.Context) DocumentdbReadReplicaOutput -} - -func (*DocumentdbReadReplica) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbReadReplica)(nil)).Elem() -} - -func (i *DocumentdbReadReplica) ToDocumentdbReadReplicaOutput() DocumentdbReadReplicaOutput { - return i.ToDocumentdbReadReplicaOutputWithContext(context.Background()) -} - -func (i *DocumentdbReadReplica) ToDocumentdbReadReplicaOutputWithContext(ctx context.Context) DocumentdbReadReplicaOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaOutput) -} - -// DocumentdbReadReplicaArrayInput is an input type that accepts DocumentdbReadReplicaArray and DocumentdbReadReplicaArrayOutput values. -// You can construct a concrete instance of `DocumentdbReadReplicaArrayInput` via: -// -// DocumentdbReadReplicaArray{ DocumentdbReadReplicaArgs{...} } -type DocumentdbReadReplicaArrayInput interface { - pulumi.Input - - ToDocumentdbReadReplicaArrayOutput() DocumentdbReadReplicaArrayOutput - ToDocumentdbReadReplicaArrayOutputWithContext(context.Context) DocumentdbReadReplicaArrayOutput -} - -type DocumentdbReadReplicaArray []DocumentdbReadReplicaInput - -func (DocumentdbReadReplicaArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbReadReplica)(nil)).Elem() -} - -func (i DocumentdbReadReplicaArray) ToDocumentdbReadReplicaArrayOutput() DocumentdbReadReplicaArrayOutput { - return i.ToDocumentdbReadReplicaArrayOutputWithContext(context.Background()) -} - -func (i DocumentdbReadReplicaArray) ToDocumentdbReadReplicaArrayOutputWithContext(ctx context.Context) DocumentdbReadReplicaArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaArrayOutput) -} - -// DocumentdbReadReplicaMapInput is an input type that accepts DocumentdbReadReplicaMap and DocumentdbReadReplicaMapOutput values. -// You can construct a concrete instance of `DocumentdbReadReplicaMapInput` via: -// -// DocumentdbReadReplicaMap{ "key": DocumentdbReadReplicaArgs{...} } -type DocumentdbReadReplicaMapInput interface { - pulumi.Input - - ToDocumentdbReadReplicaMapOutput() DocumentdbReadReplicaMapOutput - ToDocumentdbReadReplicaMapOutputWithContext(context.Context) DocumentdbReadReplicaMapOutput -} - -type DocumentdbReadReplicaMap map[string]DocumentdbReadReplicaInput - -func (DocumentdbReadReplicaMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbReadReplica)(nil)).Elem() -} - -func (i DocumentdbReadReplicaMap) ToDocumentdbReadReplicaMapOutput() DocumentdbReadReplicaMapOutput { - return i.ToDocumentdbReadReplicaMapOutputWithContext(context.Background()) -} - -func (i DocumentdbReadReplicaMap) ToDocumentdbReadReplicaMapOutputWithContext(ctx context.Context) DocumentdbReadReplicaMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaMapOutput) -} - -type DocumentdbReadReplicaOutput struct{ *pulumi.OutputState } - -func (DocumentdbReadReplicaOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbReadReplica)(nil)).Elem() -} - -func (o DocumentdbReadReplicaOutput) ToDocumentdbReadReplicaOutput() DocumentdbReadReplicaOutput { - return o -} - -func (o DocumentdbReadReplicaOutput) ToDocumentdbReadReplicaOutputWithContext(ctx context.Context) DocumentdbReadReplicaOutput { - return o -} - -// Creates a direct access endpoint to documentdb replica. -func (o DocumentdbReadReplicaOutput) DirectAccess() DocumentdbReadReplicaDirectAccessPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplica) DocumentdbReadReplicaDirectAccessPtrOutput { return v.DirectAccess }).(DocumentdbReadReplicaDirectAccessPtrOutput) -} - -// UUID of the documentdb instance. -// -// > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. -func (o DocumentdbReadReplicaOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbReadReplica) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) -} - -// Create an endpoint in a private network. -func (o DocumentdbReadReplicaOutput) PrivateNetwork() DocumentdbReadReplicaPrivateNetworkPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplica) DocumentdbReadReplicaPrivateNetworkPtrOutput { return v.PrivateNetwork }).(DocumentdbReadReplicaPrivateNetworkPtrOutput) -} - -// `region`) The region -// in which the Database read replica should be created. -func (o DocumentdbReadReplicaOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbReadReplica) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) -} - -type DocumentdbReadReplicaArrayOutput struct{ *pulumi.OutputState } - -func (DocumentdbReadReplicaArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbReadReplica)(nil)).Elem() -} - -func (o DocumentdbReadReplicaArrayOutput) ToDocumentdbReadReplicaArrayOutput() DocumentdbReadReplicaArrayOutput { - return o -} - -func (o DocumentdbReadReplicaArrayOutput) ToDocumentdbReadReplicaArrayOutputWithContext(ctx context.Context) DocumentdbReadReplicaArrayOutput { - return o -} - -func (o DocumentdbReadReplicaArrayOutput) Index(i pulumi.IntInput) DocumentdbReadReplicaOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DocumentdbReadReplica { - return vs[0].([]*DocumentdbReadReplica)[vs[1].(int)] - }).(DocumentdbReadReplicaOutput) -} - -type DocumentdbReadReplicaMapOutput struct{ *pulumi.OutputState } - -func (DocumentdbReadReplicaMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbReadReplica)(nil)).Elem() -} - -func (o DocumentdbReadReplicaMapOutput) ToDocumentdbReadReplicaMapOutput() DocumentdbReadReplicaMapOutput { - return o -} - -func (o DocumentdbReadReplicaMapOutput) ToDocumentdbReadReplicaMapOutputWithContext(ctx context.Context) DocumentdbReadReplicaMapOutput { - return o -} - -func (o DocumentdbReadReplicaMapOutput) MapIndex(k pulumi.StringInput) DocumentdbReadReplicaOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DocumentdbReadReplica { - return vs[0].(map[string]*DocumentdbReadReplica)[vs[1].(string)] - }).(DocumentdbReadReplicaOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbReadReplicaInput)(nil)).Elem(), &DocumentdbReadReplica{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbReadReplicaArrayInput)(nil)).Elem(), DocumentdbReadReplicaArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbReadReplicaMapInput)(nil)).Elem(), DocumentdbReadReplicaMap{}) - pulumi.RegisterOutputType(DocumentdbReadReplicaOutput{}) - pulumi.RegisterOutputType(DocumentdbReadReplicaArrayOutput{}) - pulumi.RegisterOutputType(DocumentdbReadReplicaMapOutput{}) -} diff --git a/sdk/go/scaleway/documentdbUser.go b/sdk/go/scaleway/documentdbUser.go deleted file mode 100644 index b942c3c6..00000000 --- a/sdk/go/scaleway/documentdbUser.go +++ /dev/null @@ -1,373 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "errors" - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Creates and manages Scaleway Database DocumentDB Users. -// -// ## Example Usage -// -// ### Basic -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-random/sdk/v4/go/random" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// instance, err := scaleway.NewDocumentdbInstance(ctx, "instance", &scaleway.DocumentdbInstanceArgs{ -// Name: pulumi.String("test-document_db-basic"), -// NodeType: pulumi.String("docdb-play2-pico"), -// Engine: pulumi.String("FerretDB-1"), -// UserName: pulumi.String("my_initial_user"), -// Password: pulumi.String("thiZ_is_v&ry_s3cret"), -// VolumeSizeInGb: pulumi.Int(20), -// }) -// if err != nil { -// return err -// } -// dbPassword, err := random.NewRandomPassword(ctx, "db_password", &random.RandomPasswordArgs{ -// Length: pulumi.Int(16), -// Special: pulumi.Bool(true), -// }) -// if err != nil { -// return err -// } -// _, err = scaleway.NewDocumentdbUser(ctx, "db_admin", &scaleway.DocumentdbUserArgs{ -// InstanceId: instance.ID(), -// Name: pulumi.String("devtools"), -// Password: dbPassword.Result, -// IsAdmin: pulumi.Bool(true), -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// Database User can be imported using `{region}/{instance_id}/{user_name}`, e.g. -// -// bash -// -// ```sh -// $ pulumi import scaleway:index/documentdbUser:DocumentdbUser admin fr-par/11111111-1111-1111-1111-111111111111/admin -// ``` -type DocumentdbUser struct { - pulumi.CustomResourceState - - // UUID of the documentDB instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database User. - InstanceId pulumi.StringOutput `pulumi:"instanceId"` - // Grant admin permissions to the Database User. - IsAdmin pulumi.BoolPtrOutput `pulumi:"isAdmin"` - // Database Username. - // - // > **Important:** Updates to `name` will recreate the Database User. - Name pulumi.StringOutput `pulumi:"name"` - // Database User password. - Password pulumi.StringOutput `pulumi:"password"` - // The Scaleway region this resource resides in. - Region pulumi.StringOutput `pulumi:"region"` -} - -// NewDocumentdbUser registers a new resource with the given unique name, arguments, and options. -func NewDocumentdbUser(ctx *pulumi.Context, - name string, args *DocumentdbUserArgs, opts ...pulumi.ResourceOption) (*DocumentdbUser, error) { - if args == nil { - return nil, errors.New("missing one or more required arguments") - } - - if args.InstanceId == nil { - return nil, errors.New("invalid value for required argument 'InstanceId'") - } - if args.Password == nil { - return nil, errors.New("invalid value for required argument 'Password'") - } - if args.Password != nil { - args.Password = pulumi.ToSecret(args.Password).(pulumi.StringInput) - } - secrets := pulumi.AdditionalSecretOutputs([]string{ - "password", - }) - opts = append(opts, secrets) - opts = internal.PkgResourceDefaultOpts(opts) - var resource DocumentdbUser - err := ctx.RegisterResource("scaleway:index/documentdbUser:DocumentdbUser", name, args, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// GetDocumentdbUser gets an existing DocumentdbUser resource's state with the given name, ID, and optional -// state properties that are used to uniquely qualify the lookup (nil if not required). -func GetDocumentdbUser(ctx *pulumi.Context, - name string, id pulumi.IDInput, state *DocumentdbUserState, opts ...pulumi.ResourceOption) (*DocumentdbUser, error) { - var resource DocumentdbUser - err := ctx.ReadResource("scaleway:index/documentdbUser:DocumentdbUser", name, id, state, &resource, opts...) - if err != nil { - return nil, err - } - return &resource, nil -} - -// Input properties used for looking up and filtering DocumentdbUser resources. -type documentdbUserState struct { - // UUID of the documentDB instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database User. - InstanceId *string `pulumi:"instanceId"` - // Grant admin permissions to the Database User. - IsAdmin *bool `pulumi:"isAdmin"` - // Database Username. - // - // > **Important:** Updates to `name` will recreate the Database User. - Name *string `pulumi:"name"` - // Database User password. - Password *string `pulumi:"password"` - // The Scaleway region this resource resides in. - Region *string `pulumi:"region"` -} - -type DocumentdbUserState struct { - // UUID of the documentDB instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database User. - InstanceId pulumi.StringPtrInput - // Grant admin permissions to the Database User. - IsAdmin pulumi.BoolPtrInput - // Database Username. - // - // > **Important:** Updates to `name` will recreate the Database User. - Name pulumi.StringPtrInput - // Database User password. - Password pulumi.StringPtrInput - // The Scaleway region this resource resides in. - Region pulumi.StringPtrInput -} - -func (DocumentdbUserState) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbUserState)(nil)).Elem() -} - -type documentdbUserArgs struct { - // UUID of the documentDB instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database User. - InstanceId string `pulumi:"instanceId"` - // Grant admin permissions to the Database User. - IsAdmin *bool `pulumi:"isAdmin"` - // Database Username. - // - // > **Important:** Updates to `name` will recreate the Database User. - Name *string `pulumi:"name"` - // Database User password. - Password string `pulumi:"password"` - // The Scaleway region this resource resides in. - Region *string `pulumi:"region"` -} - -// The set of arguments for constructing a DocumentdbUser resource. -type DocumentdbUserArgs struct { - // UUID of the documentDB instance. - // - // > **Important:** Updates to `instanceId` will recreate the Database User. - InstanceId pulumi.StringInput - // Grant admin permissions to the Database User. - IsAdmin pulumi.BoolPtrInput - // Database Username. - // - // > **Important:** Updates to `name` will recreate the Database User. - Name pulumi.StringPtrInput - // Database User password. - Password pulumi.StringInput - // The Scaleway region this resource resides in. - Region pulumi.StringPtrInput -} - -func (DocumentdbUserArgs) ElementType() reflect.Type { - return reflect.TypeOf((*documentdbUserArgs)(nil)).Elem() -} - -type DocumentdbUserInput interface { - pulumi.Input - - ToDocumentdbUserOutput() DocumentdbUserOutput - ToDocumentdbUserOutputWithContext(ctx context.Context) DocumentdbUserOutput -} - -func (*DocumentdbUser) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbUser)(nil)).Elem() -} - -func (i *DocumentdbUser) ToDocumentdbUserOutput() DocumentdbUserOutput { - return i.ToDocumentdbUserOutputWithContext(context.Background()) -} - -func (i *DocumentdbUser) ToDocumentdbUserOutputWithContext(ctx context.Context) DocumentdbUserOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbUserOutput) -} - -// DocumentdbUserArrayInput is an input type that accepts DocumentdbUserArray and DocumentdbUserArrayOutput values. -// You can construct a concrete instance of `DocumentdbUserArrayInput` via: -// -// DocumentdbUserArray{ DocumentdbUserArgs{...} } -type DocumentdbUserArrayInput interface { - pulumi.Input - - ToDocumentdbUserArrayOutput() DocumentdbUserArrayOutput - ToDocumentdbUserArrayOutputWithContext(context.Context) DocumentdbUserArrayOutput -} - -type DocumentdbUserArray []DocumentdbUserInput - -func (DocumentdbUserArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbUser)(nil)).Elem() -} - -func (i DocumentdbUserArray) ToDocumentdbUserArrayOutput() DocumentdbUserArrayOutput { - return i.ToDocumentdbUserArrayOutputWithContext(context.Background()) -} - -func (i DocumentdbUserArray) ToDocumentdbUserArrayOutputWithContext(ctx context.Context) DocumentdbUserArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbUserArrayOutput) -} - -// DocumentdbUserMapInput is an input type that accepts DocumentdbUserMap and DocumentdbUserMapOutput values. -// You can construct a concrete instance of `DocumentdbUserMapInput` via: -// -// DocumentdbUserMap{ "key": DocumentdbUserArgs{...} } -type DocumentdbUserMapInput interface { - pulumi.Input - - ToDocumentdbUserMapOutput() DocumentdbUserMapOutput - ToDocumentdbUserMapOutputWithContext(context.Context) DocumentdbUserMapOutput -} - -type DocumentdbUserMap map[string]DocumentdbUserInput - -func (DocumentdbUserMap) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbUser)(nil)).Elem() -} - -func (i DocumentdbUserMap) ToDocumentdbUserMapOutput() DocumentdbUserMapOutput { - return i.ToDocumentdbUserMapOutputWithContext(context.Background()) -} - -func (i DocumentdbUserMap) ToDocumentdbUserMapOutputWithContext(ctx context.Context) DocumentdbUserMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbUserMapOutput) -} - -type DocumentdbUserOutput struct{ *pulumi.OutputState } - -func (DocumentdbUserOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbUser)(nil)).Elem() -} - -func (o DocumentdbUserOutput) ToDocumentdbUserOutput() DocumentdbUserOutput { - return o -} - -func (o DocumentdbUserOutput) ToDocumentdbUserOutputWithContext(ctx context.Context) DocumentdbUserOutput { - return o -} - -// UUID of the documentDB instance. -// -// > **Important:** Updates to `instanceId` will recreate the Database User. -func (o DocumentdbUserOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbUser) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) -} - -// Grant admin permissions to the Database User. -func (o DocumentdbUserOutput) IsAdmin() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *DocumentdbUser) pulumi.BoolPtrOutput { return v.IsAdmin }).(pulumi.BoolPtrOutput) -} - -// Database Username. -// -// > **Important:** Updates to `name` will recreate the Database User. -func (o DocumentdbUserOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbUser) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) -} - -// Database User password. -func (o DocumentdbUserOutput) Password() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbUser) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) -} - -// The Scaleway region this resource resides in. -func (o DocumentdbUserOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v *DocumentdbUser) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) -} - -type DocumentdbUserArrayOutput struct{ *pulumi.OutputState } - -func (DocumentdbUserArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]*DocumentdbUser)(nil)).Elem() -} - -func (o DocumentdbUserArrayOutput) ToDocumentdbUserArrayOutput() DocumentdbUserArrayOutput { - return o -} - -func (o DocumentdbUserArrayOutput) ToDocumentdbUserArrayOutputWithContext(ctx context.Context) DocumentdbUserArrayOutput { - return o -} - -func (o DocumentdbUserArrayOutput) Index(i pulumi.IntInput) DocumentdbUserOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DocumentdbUser { - return vs[0].([]*DocumentdbUser)[vs[1].(int)] - }).(DocumentdbUserOutput) -} - -type DocumentdbUserMapOutput struct{ *pulumi.OutputState } - -func (DocumentdbUserMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*map[string]*DocumentdbUser)(nil)).Elem() -} - -func (o DocumentdbUserMapOutput) ToDocumentdbUserMapOutput() DocumentdbUserMapOutput { - return o -} - -func (o DocumentdbUserMapOutput) ToDocumentdbUserMapOutputWithContext(ctx context.Context) DocumentdbUserMapOutput { - return o -} - -func (o DocumentdbUserMapOutput) MapIndex(k pulumi.StringInput) DocumentdbUserOutput { - return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DocumentdbUser { - return vs[0].(map[string]*DocumentdbUser)[vs[1].(string)] - }).(DocumentdbUserOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbUserInput)(nil)).Elem(), &DocumentdbUser{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbUserArrayInput)(nil)).Elem(), DocumentdbUserArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbUserMapInput)(nil)).Elem(), DocumentdbUserMap{}) - pulumi.RegisterOutputType(DocumentdbUserOutput{}) - pulumi.RegisterOutputType(DocumentdbUserArrayOutput{}) - pulumi.RegisterOutputType(DocumentdbUserMapOutput{}) -} diff --git a/sdk/go/scaleway/getDocumentdbDatabase.go b/sdk/go/scaleway/getDocumentdbDatabase.go deleted file mode 100644 index e22e5b83..00000000 --- a/sdk/go/scaleway/getDocumentdbDatabase.go +++ /dev/null @@ -1,163 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Gets information about DocumentDB database. -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111 -// _, err := scaleway.LookupDocumentdbDatabase(ctx, &scaleway.LookupDocumentdbDatabaseArgs{ -// InstanceId: "11111111-1111-1111-1111-111111111111", -// Name: pulumi.StringRef("foobar"), -// }, nil) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -func LookupDocumentdbDatabase(ctx *pulumi.Context, args *LookupDocumentdbDatabaseArgs, opts ...pulumi.InvokeOption) (*LookupDocumentdbDatabaseResult, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDocumentdbDatabaseResult - err := ctx.Invoke("scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase", args, &rv, opts...) - if err != nil { - return nil, err - } - return &rv, nil -} - -// A collection of arguments for invoking getDocumentdbDatabase. -type LookupDocumentdbDatabaseArgs struct { - // The DocumentDB instance ID. - InstanceId string `pulumi:"instanceId"` - // The name of the DocumentDB instance. - Name *string `pulumi:"name"` - Region *string `pulumi:"region"` -} - -// A collection of values returned by getDocumentdbDatabase. -type LookupDocumentdbDatabaseResult struct { - // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - InstanceId string `pulumi:"instanceId"` - // Whether the database is managed or not. - Managed bool `pulumi:"managed"` - Name *string `pulumi:"name"` - // The name of the owner of the database. - Owner string `pulumi:"owner"` - ProjectId string `pulumi:"projectId"` - Region *string `pulumi:"region"` - // Size of the database (in bytes). - Size string `pulumi:"size"` -} - -func LookupDocumentdbDatabaseOutput(ctx *pulumi.Context, args LookupDocumentdbDatabaseOutputArgs, opts ...pulumi.InvokeOption) LookupDocumentdbDatabaseResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). - ApplyT(func(v interface{}) (LookupDocumentdbDatabaseResultOutput, error) { - args := v.(LookupDocumentdbDatabaseArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDocumentdbDatabaseResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase", args, &rv, "", opts...) - if err != nil { - return LookupDocumentdbDatabaseResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDocumentdbDatabaseResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDocumentdbDatabaseResultOutput), nil - } - return output, nil - }).(LookupDocumentdbDatabaseResultOutput) -} - -// A collection of arguments for invoking getDocumentdbDatabase. -type LookupDocumentdbDatabaseOutputArgs struct { - // The DocumentDB instance ID. - InstanceId pulumi.StringInput `pulumi:"instanceId"` - // The name of the DocumentDB instance. - Name pulumi.StringPtrInput `pulumi:"name"` - Region pulumi.StringPtrInput `pulumi:"region"` -} - -func (LookupDocumentdbDatabaseOutputArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LookupDocumentdbDatabaseArgs)(nil)).Elem() -} - -// A collection of values returned by getDocumentdbDatabase. -type LookupDocumentdbDatabaseResultOutput struct{ *pulumi.OutputState } - -func (LookupDocumentdbDatabaseResultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LookupDocumentdbDatabaseResult)(nil)).Elem() -} - -func (o LookupDocumentdbDatabaseResultOutput) ToLookupDocumentdbDatabaseResultOutput() LookupDocumentdbDatabaseResultOutput { - return o -} - -func (o LookupDocumentdbDatabaseResultOutput) ToLookupDocumentdbDatabaseResultOutputWithContext(ctx context.Context) LookupDocumentdbDatabaseResultOutput { - return o -} - -// The provider-assigned unique ID for this managed resource. -func (o LookupDocumentdbDatabaseResultOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbDatabaseResult) string { return v.Id }).(pulumi.StringOutput) -} - -func (o LookupDocumentdbDatabaseResultOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbDatabaseResult) string { return v.InstanceId }).(pulumi.StringOutput) -} - -// Whether the database is managed or not. -func (o LookupDocumentdbDatabaseResultOutput) Managed() pulumi.BoolOutput { - return o.ApplyT(func(v LookupDocumentdbDatabaseResult) bool { return v.Managed }).(pulumi.BoolOutput) -} - -func (o LookupDocumentdbDatabaseResultOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupDocumentdbDatabaseResult) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The name of the owner of the database. -func (o LookupDocumentdbDatabaseResultOutput) Owner() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbDatabaseResult) string { return v.Owner }).(pulumi.StringOutput) -} - -func (o LookupDocumentdbDatabaseResultOutput) ProjectId() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbDatabaseResult) string { return v.ProjectId }).(pulumi.StringOutput) -} - -func (o LookupDocumentdbDatabaseResultOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupDocumentdbDatabaseResult) *string { return v.Region }).(pulumi.StringPtrOutput) -} - -// Size of the database (in bytes). -func (o LookupDocumentdbDatabaseResultOutput) Size() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbDatabaseResult) string { return v.Size }).(pulumi.StringOutput) -} - -func init() { - pulumi.RegisterOutputType(LookupDocumentdbDatabaseResultOutput{}) -} diff --git a/sdk/go/scaleway/getDocumentdbInstance.go b/sdk/go/scaleway/getDocumentdbInstance.go deleted file mode 100644 index 2ee21f06..00000000 --- a/sdk/go/scaleway/getDocumentdbInstance.go +++ /dev/null @@ -1,169 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Gets information about an DocumentDB instance. -func LookupDocumentdbInstance(ctx *pulumi.Context, args *LookupDocumentdbInstanceArgs, opts ...pulumi.InvokeOption) (*LookupDocumentdbInstanceResult, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDocumentdbInstanceResult - err := ctx.Invoke("scaleway:index/getDocumentdbInstance:getDocumentdbInstance", args, &rv, opts...) - if err != nil { - return nil, err - } - return &rv, nil -} - -// A collection of arguments for invoking getDocumentdbInstance. -type LookupDocumentdbInstanceArgs struct { - // The DocumentDB instance ID. - // Only one of `name` and `instanceId` should be specified. - InstanceId *string `pulumi:"instanceId"` - // The name of the DocumentDB instance. - // Only one of `name` and `instanceId` should be specified. - Name *string `pulumi:"name"` - // The ID of the project the DocumentDB instance is associated with. - ProjectId *string `pulumi:"projectId"` - // `region`) The region in which the DocumentDB instance exists. - Region *string `pulumi:"region"` -} - -// A collection of values returned by getDocumentdbInstance. -type LookupDocumentdbInstanceResult struct { - Engine string `pulumi:"engine"` - // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - InstanceId *string `pulumi:"instanceId"` - IsHaCluster bool `pulumi:"isHaCluster"` - Name *string `pulumi:"name"` - NodeType string `pulumi:"nodeType"` - Password string `pulumi:"password"` - ProjectId *string `pulumi:"projectId"` - Region *string `pulumi:"region"` - Tags []string `pulumi:"tags"` - TelemetryEnabled bool `pulumi:"telemetryEnabled"` - UserName string `pulumi:"userName"` - VolumeSizeInGb int `pulumi:"volumeSizeInGb"` - VolumeType string `pulumi:"volumeType"` -} - -func LookupDocumentdbInstanceOutput(ctx *pulumi.Context, args LookupDocumentdbInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupDocumentdbInstanceResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). - ApplyT(func(v interface{}) (LookupDocumentdbInstanceResultOutput, error) { - args := v.(LookupDocumentdbInstanceArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv LookupDocumentdbInstanceResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDocumentdbInstance:getDocumentdbInstance", args, &rv, "", opts...) - if err != nil { - return LookupDocumentdbInstanceResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(LookupDocumentdbInstanceResultOutput) - if secret { - return pulumi.ToSecret(output).(LookupDocumentdbInstanceResultOutput), nil - } - return output, nil - }).(LookupDocumentdbInstanceResultOutput) -} - -// A collection of arguments for invoking getDocumentdbInstance. -type LookupDocumentdbInstanceOutputArgs struct { - // The DocumentDB instance ID. - // Only one of `name` and `instanceId` should be specified. - InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` - // The name of the DocumentDB instance. - // Only one of `name` and `instanceId` should be specified. - Name pulumi.StringPtrInput `pulumi:"name"` - // The ID of the project the DocumentDB instance is associated with. - ProjectId pulumi.StringPtrInput `pulumi:"projectId"` - // `region`) The region in which the DocumentDB instance exists. - Region pulumi.StringPtrInput `pulumi:"region"` -} - -func (LookupDocumentdbInstanceOutputArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LookupDocumentdbInstanceArgs)(nil)).Elem() -} - -// A collection of values returned by getDocumentdbInstance. -type LookupDocumentdbInstanceResultOutput struct{ *pulumi.OutputState } - -func (LookupDocumentdbInstanceResultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LookupDocumentdbInstanceResult)(nil)).Elem() -} - -func (o LookupDocumentdbInstanceResultOutput) ToLookupDocumentdbInstanceResultOutput() LookupDocumentdbInstanceResultOutput { - return o -} - -func (o LookupDocumentdbInstanceResultOutput) ToLookupDocumentdbInstanceResultOutputWithContext(ctx context.Context) LookupDocumentdbInstanceResultOutput { - return o -} - -func (o LookupDocumentdbInstanceResultOutput) Engine() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) string { return v.Engine }).(pulumi.StringOutput) -} - -// The provider-assigned unique ID for this managed resource. -func (o LookupDocumentdbInstanceResultOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) string { return v.Id }).(pulumi.StringOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) InstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) *string { return v.InstanceId }).(pulumi.StringPtrOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) IsHaCluster() pulumi.BoolOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) bool { return v.IsHaCluster }).(pulumi.BoolOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) NodeType() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) string { return v.NodeType }).(pulumi.StringOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) Password() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) string { return v.Password }).(pulumi.StringOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) ProjectId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) *string { return v.ProjectId }).(pulumi.StringPtrOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) *string { return v.Region }).(pulumi.StringPtrOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) Tags() pulumi.StringArrayOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) []string { return v.Tags }).(pulumi.StringArrayOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) TelemetryEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) bool { return v.TelemetryEnabled }).(pulumi.BoolOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) UserName() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) string { return v.UserName }).(pulumi.StringOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) VolumeSizeInGb() pulumi.IntOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) int { return v.VolumeSizeInGb }).(pulumi.IntOutput) -} - -func (o LookupDocumentdbInstanceResultOutput) VolumeType() pulumi.StringOutput { - return o.ApplyT(func(v LookupDocumentdbInstanceResult) string { return v.VolumeType }).(pulumi.StringOutput) -} - -func init() { - pulumi.RegisterOutputType(LookupDocumentdbInstanceResultOutput{}) -} diff --git a/sdk/go/scaleway/getDocumentdbLoadBalancerEndpoint.go b/sdk/go/scaleway/getDocumentdbLoadBalancerEndpoint.go deleted file mode 100644 index 77ea3d5c..00000000 --- a/sdk/go/scaleway/getDocumentdbLoadBalancerEndpoint.go +++ /dev/null @@ -1,148 +0,0 @@ -// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package scaleway - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" - "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" -) - -// Gets information about an DocumentDB load balancer endpoint. -func GetDocumentdbLoadBalancerEndpoint(ctx *pulumi.Context, args *GetDocumentdbLoadBalancerEndpointArgs, opts ...pulumi.InvokeOption) (*GetDocumentdbLoadBalancerEndpointResult, error) { - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetDocumentdbLoadBalancerEndpointResult - err := ctx.Invoke("scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint", args, &rv, opts...) - if err != nil { - return nil, err - } - return &rv, nil -} - -// A collection of arguments for invoking getDocumentdbLoadBalancerEndpoint. -type GetDocumentdbLoadBalancerEndpointArgs struct { - // The DocumentDB Instance on which the endpoint is attached. Only one of `instanceName` and `instanceId` should be specified. - InstanceId *string `pulumi:"instanceId"` - // The DocumentDB Instance Name on which the endpoint is attached. Only one of `instanceName` and `instanceId` should be specified. - InstanceName *string `pulumi:"instanceName"` - // The ID of the project the DocumentDB endpoint is associated with. - ProjectId *string `pulumi:"projectId"` - // `region`) The region in which the DocumentDB endpoint exists. - Region *string `pulumi:"region"` -} - -// A collection of values returned by getDocumentdbLoadBalancerEndpoint. -type GetDocumentdbLoadBalancerEndpointResult struct { - // The hostname of your endpoint. - Hostname string `pulumi:"hostname"` - // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - InstanceId string `pulumi:"instanceId"` - InstanceName string `pulumi:"instanceName"` - // The IP of your load balancer service. - Ip string `pulumi:"ip"` - // The name of your load balancer service. - Name string `pulumi:"name"` - // The port of your load balancer service. - Port int `pulumi:"port"` - ProjectId string `pulumi:"projectId"` - Region string `pulumi:"region"` -} - -func GetDocumentdbLoadBalancerEndpointOutput(ctx *pulumi.Context, args GetDocumentdbLoadBalancerEndpointOutputArgs, opts ...pulumi.InvokeOption) GetDocumentdbLoadBalancerEndpointResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). - ApplyT(func(v interface{}) (GetDocumentdbLoadBalancerEndpointResultOutput, error) { - args := v.(GetDocumentdbLoadBalancerEndpointArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetDocumentdbLoadBalancerEndpointResult - secret, err := ctx.InvokePackageRaw("scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint", args, &rv, "", opts...) - if err != nil { - return GetDocumentdbLoadBalancerEndpointResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetDocumentdbLoadBalancerEndpointResultOutput) - if secret { - return pulumi.ToSecret(output).(GetDocumentdbLoadBalancerEndpointResultOutput), nil - } - return output, nil - }).(GetDocumentdbLoadBalancerEndpointResultOutput) -} - -// A collection of arguments for invoking getDocumentdbLoadBalancerEndpoint. -type GetDocumentdbLoadBalancerEndpointOutputArgs struct { - // The DocumentDB Instance on which the endpoint is attached. Only one of `instanceName` and `instanceId` should be specified. - InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` - // The DocumentDB Instance Name on which the endpoint is attached. Only one of `instanceName` and `instanceId` should be specified. - InstanceName pulumi.StringPtrInput `pulumi:"instanceName"` - // The ID of the project the DocumentDB endpoint is associated with. - ProjectId pulumi.StringPtrInput `pulumi:"projectId"` - // `region`) The region in which the DocumentDB endpoint exists. - Region pulumi.StringPtrInput `pulumi:"region"` -} - -func (GetDocumentdbLoadBalancerEndpointOutputArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDocumentdbLoadBalancerEndpointArgs)(nil)).Elem() -} - -// A collection of values returned by getDocumentdbLoadBalancerEndpoint. -type GetDocumentdbLoadBalancerEndpointResultOutput struct{ *pulumi.OutputState } - -func (GetDocumentdbLoadBalancerEndpointResultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDocumentdbLoadBalancerEndpointResult)(nil)).Elem() -} - -func (o GetDocumentdbLoadBalancerEndpointResultOutput) ToGetDocumentdbLoadBalancerEndpointResultOutput() GetDocumentdbLoadBalancerEndpointResultOutput { - return o -} - -func (o GetDocumentdbLoadBalancerEndpointResultOutput) ToGetDocumentdbLoadBalancerEndpointResultOutputWithContext(ctx context.Context) GetDocumentdbLoadBalancerEndpointResultOutput { - return o -} - -// The hostname of your endpoint. -func (o GetDocumentdbLoadBalancerEndpointResultOutput) Hostname() pulumi.StringOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) string { return v.Hostname }).(pulumi.StringOutput) -} - -// The provider-assigned unique ID for this managed resource. -func (o GetDocumentdbLoadBalancerEndpointResultOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) string { return v.Id }).(pulumi.StringOutput) -} - -func (o GetDocumentdbLoadBalancerEndpointResultOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) string { return v.InstanceId }).(pulumi.StringOutput) -} - -func (o GetDocumentdbLoadBalancerEndpointResultOutput) InstanceName() pulumi.StringOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) string { return v.InstanceName }).(pulumi.StringOutput) -} - -// The IP of your load balancer service. -func (o GetDocumentdbLoadBalancerEndpointResultOutput) Ip() pulumi.StringOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) string { return v.Ip }).(pulumi.StringOutput) -} - -// The name of your load balancer service. -func (o GetDocumentdbLoadBalancerEndpointResultOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) string { return v.Name }).(pulumi.StringOutput) -} - -// The port of your load balancer service. -func (o GetDocumentdbLoadBalancerEndpointResultOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) int { return v.Port }).(pulumi.IntOutput) -} - -func (o GetDocumentdbLoadBalancerEndpointResultOutput) ProjectId() pulumi.StringOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) string { return v.ProjectId }).(pulumi.StringOutput) -} - -func (o GetDocumentdbLoadBalancerEndpointResultOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v GetDocumentdbLoadBalancerEndpointResult) string { return v.Region }).(pulumi.StringOutput) -} - -func init() { - pulumi.RegisterOutputType(GetDocumentdbLoadBalancerEndpointResultOutput{}) -} diff --git a/sdk/go/scaleway/getInstancePrivateNic.go b/sdk/go/scaleway/getInstancePrivateNic.go index 9c0f1957..349eb2e8 100644 --- a/sdk/go/scaleway/getInstancePrivateNic.go +++ b/sdk/go/scaleway/getInstancePrivateNic.go @@ -87,6 +87,7 @@ type LookupInstancePrivateNicResult struct { // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` IpIds []string `pulumi:"ipIds"` + IpamIpIds []string `pulumi:"ipamIpIds"` MacAddress string `pulumi:"macAddress"` PrivateNetworkId *string `pulumi:"privateNetworkId"` PrivateNicId *string `pulumi:"privateNicId"` @@ -159,6 +160,10 @@ func (o LookupInstancePrivateNicResultOutput) IpIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupInstancePrivateNicResult) []string { return v.IpIds }).(pulumi.StringArrayOutput) } +func (o LookupInstancePrivateNicResultOutput) IpamIpIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupInstancePrivateNicResult) []string { return v.IpamIpIds }).(pulumi.StringArrayOutput) +} + func (o LookupInstancePrivateNicResultOutput) MacAddress() pulumi.StringOutput { return o.ApplyT(func(v LookupInstancePrivateNicResult) string { return v.MacAddress }).(pulumi.StringOutput) } diff --git a/sdk/go/scaleway/getRegistryImageTag.go b/sdk/go/scaleway/getRegistryImageTag.go new file mode 100644 index 00000000..f088ff61 --- /dev/null +++ b/sdk/go/scaleway/getRegistryImageTag.go @@ -0,0 +1,164 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package scaleway + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/internal" +) + +// Gets information about a specific tag of a Container Registry image. +func GetRegistryImageTag(ctx *pulumi.Context, args *GetRegistryImageTagArgs, opts ...pulumi.InvokeOption) (*GetRegistryImageTagResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRegistryImageTagResult + err := ctx.Invoke("scaleway:index/getRegistryImageTag:getRegistryImageTag", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getRegistryImageTag. +type GetRegistryImageTagArgs struct { + // The ID of the registry image. + ImageId string `pulumi:"imageId"` + // The name of the registry image tag. + Name *string `pulumi:"name"` + // The ID of the project the image tag is associated with. + ProjectId *string `pulumi:"projectId"` + // The region in which the registry image tag exists. + Region *string `pulumi:"region"` + // The ID of the registry image tag. + TagId *string `pulumi:"tagId"` +} + +// A collection of values returned by getRegistryImageTag. +type GetRegistryImageTagResult struct { + // The date and time when the registry image tag was created. + CreatedAt string `pulumi:"createdAt"` + // Hash of the tag content. Several tags of the same image may have the same digest. + Digest string `pulumi:"digest"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + ImageId string `pulumi:"imageId"` + Name *string `pulumi:"name"` + // The organization ID the image tag is associated with. + OrganizationId string `pulumi:"organizationId"` + ProjectId string `pulumi:"projectId"` + Region string `pulumi:"region"` + // The status of the registry image tag. + Status string `pulumi:"status"` + TagId *string `pulumi:"tagId"` + // The date and time of the last update to the registry image tag. + UpdatedAt string `pulumi:"updatedAt"` +} + +func GetRegistryImageTagOutput(ctx *pulumi.Context, args GetRegistryImageTagOutputArgs, opts ...pulumi.InvokeOption) GetRegistryImageTagResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetRegistryImageTagResultOutput, error) { + args := v.(GetRegistryImageTagArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetRegistryImageTagResult + secret, err := ctx.InvokePackageRaw("scaleway:index/getRegistryImageTag:getRegistryImageTag", args, &rv, "", opts...) + if err != nil { + return GetRegistryImageTagResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(GetRegistryImageTagResultOutput) + if secret { + return pulumi.ToSecret(output).(GetRegistryImageTagResultOutput), nil + } + return output, nil + }).(GetRegistryImageTagResultOutput) +} + +// A collection of arguments for invoking getRegistryImageTag. +type GetRegistryImageTagOutputArgs struct { + // The ID of the registry image. + ImageId pulumi.StringInput `pulumi:"imageId"` + // The name of the registry image tag. + Name pulumi.StringPtrInput `pulumi:"name"` + // The ID of the project the image tag is associated with. + ProjectId pulumi.StringPtrInput `pulumi:"projectId"` + // The region in which the registry image tag exists. + Region pulumi.StringPtrInput `pulumi:"region"` + // The ID of the registry image tag. + TagId pulumi.StringPtrInput `pulumi:"tagId"` +} + +func (GetRegistryImageTagOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRegistryImageTagArgs)(nil)).Elem() +} + +// A collection of values returned by getRegistryImageTag. +type GetRegistryImageTagResultOutput struct{ *pulumi.OutputState } + +func (GetRegistryImageTagResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRegistryImageTagResult)(nil)).Elem() +} + +func (o GetRegistryImageTagResultOutput) ToGetRegistryImageTagResultOutput() GetRegistryImageTagResultOutput { + return o +} + +func (o GetRegistryImageTagResultOutput) ToGetRegistryImageTagResultOutputWithContext(ctx context.Context) GetRegistryImageTagResultOutput { + return o +} + +// The date and time when the registry image tag was created. +func (o GetRegistryImageTagResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Hash of the tag content. Several tags of the same image may have the same digest. +func (o GetRegistryImageTagResultOutput) Digest() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.Digest }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetRegistryImageTagResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetRegistryImageTagResultOutput) ImageId() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.ImageId }).(pulumi.StringOutput) +} + +func (o GetRegistryImageTagResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The organization ID the image tag is associated with. +func (o GetRegistryImageTagResultOutput) OrganizationId() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.OrganizationId }).(pulumi.StringOutput) +} + +func (o GetRegistryImageTagResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o GetRegistryImageTagResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.Region }).(pulumi.StringOutput) +} + +// The status of the registry image tag. +func (o GetRegistryImageTagResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.Status }).(pulumi.StringOutput) +} + +func (o GetRegistryImageTagResultOutput) TagId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) *string { return v.TagId }).(pulumi.StringPtrOutput) +} + +// The date and time of the last update to the registry image tag. +func (o GetRegistryImageTagResultOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRegistryImageTagResult) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetRegistryImageTagResultOutput{}) +} diff --git a/sdk/go/scaleway/init.go b/sdk/go/scaleway/init.go index 73801cf9..838342e3 100644 --- a/sdk/go/scaleway/init.go +++ b/sdk/go/scaleway/init.go @@ -69,18 +69,6 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DatabaseReadReplica{} case "scaleway:index/databaseUser:DatabaseUser": r = &DatabaseUser{} - case "scaleway:index/documentdbDatabase:DocumentdbDatabase": - r = &DocumentdbDatabase{} - case "scaleway:index/documentdbInstance:DocumentdbInstance": - r = &DocumentdbInstance{} - case "scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint": - r = &DocumentdbPrivateNetworkEndpoint{} - case "scaleway:index/documentdbPrivilege:DocumentdbPrivilege": - r = &DocumentdbPrivilege{} - case "scaleway:index/documentdbReadReplica:DocumentdbReadReplica": - r = &DocumentdbReadReplica{} - case "scaleway:index/documentdbUser:DocumentdbUser": - r = &DocumentdbUser{} case "scaleway:index/domainRecord:DomainRecord": r = &DomainRecord{} case "scaleway:index/domainZone:DomainZone": @@ -388,36 +376,6 @@ func init() { "index/databaseUser", &module{version}, ) - pulumi.RegisterResourceModule( - "scaleway", - "index/documentdbDatabase", - &module{version}, - ) - pulumi.RegisterResourceModule( - "scaleway", - "index/documentdbInstance", - &module{version}, - ) - pulumi.RegisterResourceModule( - "scaleway", - "index/documentdbPrivateNetworkEndpoint", - &module{version}, - ) - pulumi.RegisterResourceModule( - "scaleway", - "index/documentdbPrivilege", - &module{version}, - ) - pulumi.RegisterResourceModule( - "scaleway", - "index/documentdbReadReplica", - &module{version}, - ) - pulumi.RegisterResourceModule( - "scaleway", - "index/documentdbUser", - &module{version}, - ) pulumi.RegisterResourceModule( "scaleway", "index/domainRecord", diff --git a/sdk/go/scaleway/instancePrivateNic.go b/sdk/go/scaleway/instancePrivateNic.go index 612bd65f..459956dd 100644 --- a/sdk/go/scaleway/instancePrivateNic.go +++ b/sdk/go/scaleway/instancePrivateNic.go @@ -59,8 +59,8 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{ -// Name: pulumi.String("private_network_instance"), -// Zone: pulumi.String("fr-par-2"), +// Name: pulumi.String("private_network_instance"), +// Region: pulumi.String("fr-par"), // }) // if err != nil { // return err @@ -87,6 +87,70 @@ import ( // // ``` // +// ### With IPAM IP IDs +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// vpc01, err := scaleway.NewVpc(ctx, "vpc01", &scaleway.VpcArgs{ +// Name: pulumi.String("vpc_instance"), +// }) +// if err != nil { +// return err +// } +// pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{ +// Name: pulumi.String("private_network_instance"), +// Ipv4Subnet: &scaleway.VpcPrivateNetworkIpv4SubnetArgs{ +// Subnet: pulumi.String("172.16.64.0/22"), +// }, +// VpcId: vpc01.ID(), +// }) +// if err != nil { +// return err +// } +// ip01, err := scaleway.NewIpamIp(ctx, "ip01", &scaleway.IpamIpArgs{ +// Address: pulumi.String("172.16.64.7"), +// Sources: scaleway.IpamIpSourceArray{ +// &scaleway.IpamIpSourceArgs{ +// PrivateNetworkId: pn01.ID(), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// server01, err := scaleway.NewInstanceServer(ctx, "server01", &scaleway.InstanceServerArgs{ +// Image: pulumi.String("ubuntu_focal"), +// Type: pulumi.String("PLAY2-MICRO"), +// }) +// if err != nil { +// return err +// } +// _, err = scaleway.NewInstancePrivateNic(ctx, "pnic01", &scaleway.InstancePrivateNicArgs{ +// PrivateNetworkId: pn01.ID(), +// ServerId: server01.ID(), +// IpamIpIds: pulumi.StringArray{ +// ip01.ID(), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Private NICs can be imported using the `{zone}/{server_id}/{private_nic_id}`, e.g. @@ -101,6 +165,8 @@ type InstancePrivateNic struct { // IPAM ip list, should be for internal use only IpIds pulumi.StringArrayOutput `pulumi:"ipIds"` + // IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + IpamIpIds pulumi.StringArrayOutput `pulumi:"ipamIpIds"` // The MAC address of the private NIC. MacAddress pulumi.StringOutput `pulumi:"macAddress"` // The ID of the private network attached to. @@ -151,6 +217,8 @@ func GetInstancePrivateNic(ctx *pulumi.Context, type instancePrivateNicState struct { // IPAM ip list, should be for internal use only IpIds []string `pulumi:"ipIds"` + // IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + IpamIpIds []string `pulumi:"ipamIpIds"` // The MAC address of the private NIC. MacAddress *string `pulumi:"macAddress"` // The ID of the private network attached to. @@ -166,6 +234,8 @@ type instancePrivateNicState struct { type InstancePrivateNicState struct { // IPAM ip list, should be for internal use only IpIds pulumi.StringArrayInput + // IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + IpamIpIds pulumi.StringArrayInput // The MAC address of the private NIC. MacAddress pulumi.StringPtrInput // The ID of the private network attached to. @@ -185,6 +255,8 @@ func (InstancePrivateNicState) ElementType() reflect.Type { type instancePrivateNicArgs struct { // IPAM ip list, should be for internal use only IpIds []string `pulumi:"ipIds"` + // IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + IpamIpIds []string `pulumi:"ipamIpIds"` // The ID of the private network attached to. PrivateNetworkId string `pulumi:"privateNetworkId"` // The ID of the server associated with. @@ -199,6 +271,8 @@ type instancePrivateNicArgs struct { type InstancePrivateNicArgs struct { // IPAM ip list, should be for internal use only IpIds pulumi.StringArrayInput + // IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + IpamIpIds pulumi.StringArrayInput // The ID of the private network attached to. PrivateNetworkId pulumi.StringInput // The ID of the server associated with. @@ -301,6 +375,11 @@ func (o InstancePrivateNicOutput) IpIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *InstancePrivateNic) pulumi.StringArrayOutput { return v.IpIds }).(pulumi.StringArrayOutput) } +// IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. +func (o InstancePrivateNicOutput) IpamIpIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *InstancePrivateNic) pulumi.StringArrayOutput { return v.IpamIpIds }).(pulumi.StringArrayOutput) +} + // The MAC address of the private NIC. func (o InstancePrivateNicOutput) MacAddress() pulumi.StringOutput { return o.ApplyT(func(v *InstancePrivateNic) pulumi.StringOutput { return v.MacAddress }).(pulumi.StringOutput) diff --git a/sdk/go/scaleway/pulumiTypes.go b/sdk/go/scaleway/pulumiTypes.go index afbe0475..7d0e0ce4 100644 --- a/sdk/go/scaleway/pulumiTypes.go +++ b/sdk/go/scaleway/pulumiTypes.go @@ -2963,748 +2963,6 @@ func (o DatabaseReadReplicaPrivateNetworkPtrOutput) Zone() pulumi.StringPtrOutpu }).(pulumi.StringPtrOutput) } -type DocumentdbPrivateNetworkEndpointPrivateNetwork struct { - // The hostname of your endpoint. - Hostname *string `pulumi:"hostname"` - // The private network ID. - Id string `pulumi:"id"` - // The IP of your private network service. - Ip *string `pulumi:"ip"` - // The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - IpNet *string `pulumi:"ipNet"` - // The name of your private service. - Name *string `pulumi:"name"` - // The port of your private service. - Port *int `pulumi:"port"` - // The zone of your endpoint. - Zone *string `pulumi:"zone"` -} - -// DocumentdbPrivateNetworkEndpointPrivateNetworkInput is an input type that accepts DocumentdbPrivateNetworkEndpointPrivateNetworkArgs and DocumentdbPrivateNetworkEndpointPrivateNetworkOutput values. -// You can construct a concrete instance of `DocumentdbPrivateNetworkEndpointPrivateNetworkInput` via: -// -// DocumentdbPrivateNetworkEndpointPrivateNetworkArgs{...} -type DocumentdbPrivateNetworkEndpointPrivateNetworkInput interface { - pulumi.Input - - ToDocumentdbPrivateNetworkEndpointPrivateNetworkOutput() DocumentdbPrivateNetworkEndpointPrivateNetworkOutput - ToDocumentdbPrivateNetworkEndpointPrivateNetworkOutputWithContext(context.Context) DocumentdbPrivateNetworkEndpointPrivateNetworkOutput -} - -type DocumentdbPrivateNetworkEndpointPrivateNetworkArgs struct { - // The hostname of your endpoint. - Hostname pulumi.StringPtrInput `pulumi:"hostname"` - // The private network ID. - Id pulumi.StringInput `pulumi:"id"` - // The IP of your private network service. - Ip pulumi.StringPtrInput `pulumi:"ip"` - // The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - IpNet pulumi.StringPtrInput `pulumi:"ipNet"` - // The name of your private service. - Name pulumi.StringPtrInput `pulumi:"name"` - // The port of your private service. - Port pulumi.IntPtrInput `pulumi:"port"` - // The zone of your endpoint. - Zone pulumi.StringPtrInput `pulumi:"zone"` -} - -func (DocumentdbPrivateNetworkEndpointPrivateNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DocumentdbPrivateNetworkEndpointPrivateNetwork)(nil)).Elem() -} - -func (i DocumentdbPrivateNetworkEndpointPrivateNetworkArgs) ToDocumentdbPrivateNetworkEndpointPrivateNetworkOutput() DocumentdbPrivateNetworkEndpointPrivateNetworkOutput { - return i.ToDocumentdbPrivateNetworkEndpointPrivateNetworkOutputWithContext(context.Background()) -} - -func (i DocumentdbPrivateNetworkEndpointPrivateNetworkArgs) ToDocumentdbPrivateNetworkEndpointPrivateNetworkOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointPrivateNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) -} - -func (i DocumentdbPrivateNetworkEndpointPrivateNetworkArgs) ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput() DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return i.ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(context.Background()) -} - -func (i DocumentdbPrivateNetworkEndpointPrivateNetworkArgs) ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivateNetworkEndpointPrivateNetworkOutput).ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(ctx) -} - -// DocumentdbPrivateNetworkEndpointPrivateNetworkPtrInput is an input type that accepts DocumentdbPrivateNetworkEndpointPrivateNetworkArgs, DocumentdbPrivateNetworkEndpointPrivateNetworkPtr and DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput values. -// You can construct a concrete instance of `DocumentdbPrivateNetworkEndpointPrivateNetworkPtrInput` via: -// -// DocumentdbPrivateNetworkEndpointPrivateNetworkArgs{...} -// -// or: -// -// nil -type DocumentdbPrivateNetworkEndpointPrivateNetworkPtrInput interface { - pulumi.Input - - ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput() DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput - ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(context.Context) DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput -} - -type documentdbPrivateNetworkEndpointPrivateNetworkPtrType DocumentdbPrivateNetworkEndpointPrivateNetworkArgs - -func DocumentdbPrivateNetworkEndpointPrivateNetworkPtr(v *DocumentdbPrivateNetworkEndpointPrivateNetworkArgs) DocumentdbPrivateNetworkEndpointPrivateNetworkPtrInput { - return (*documentdbPrivateNetworkEndpointPrivateNetworkPtrType)(v) -} - -func (*documentdbPrivateNetworkEndpointPrivateNetworkPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbPrivateNetworkEndpointPrivateNetwork)(nil)).Elem() -} - -func (i *documentdbPrivateNetworkEndpointPrivateNetworkPtrType) ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput() DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return i.ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(context.Background()) -} - -func (i *documentdbPrivateNetworkEndpointPrivateNetworkPtrType) ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) -} - -type DocumentdbPrivateNetworkEndpointPrivateNetworkOutput struct{ *pulumi.OutputState } - -func (DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DocumentdbPrivateNetworkEndpointPrivateNetwork)(nil)).Elem() -} - -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) ToDocumentdbPrivateNetworkEndpointPrivateNetworkOutput() DocumentdbPrivateNetworkEndpointPrivateNetworkOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) ToDocumentdbPrivateNetworkEndpointPrivateNetworkOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointPrivateNetworkOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput() DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return o.ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(context.Background()) -} - -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DocumentdbPrivateNetworkEndpointPrivateNetwork) *DocumentdbPrivateNetworkEndpointPrivateNetwork { - return &v - }).(DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) -} - -// The hostname of your endpoint. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { return v.Hostname }).(pulumi.StringPtrOutput) -} - -// The private network ID. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v DocumentdbPrivateNetworkEndpointPrivateNetwork) string { return v.Id }).(pulumi.StringOutput) -} - -// The IP of your private network service. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) Ip() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { return v.Ip }).(pulumi.StringPtrOutput) -} - -// The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) IpNet() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { return v.IpNet }).(pulumi.StringPtrOutput) -} - -// The name of your private service. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// The port of your private service. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v DocumentdbPrivateNetworkEndpointPrivateNetwork) *int { return v.Port }).(pulumi.IntPtrOutput) -} - -// The zone of your endpoint. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) Zone() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { return v.Zone }).(pulumi.StringPtrOutput) -} - -type DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput struct{ *pulumi.OutputState } - -func (DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbPrivateNetworkEndpointPrivateNetwork)(nil)).Elem() -} - -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput() DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) ToDocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutputWithContext(ctx context.Context) DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput { - return o -} - -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) Elem() DocumentdbPrivateNetworkEndpointPrivateNetworkOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpointPrivateNetwork) DocumentdbPrivateNetworkEndpointPrivateNetwork { - if v != nil { - return *v - } - var ret DocumentdbPrivateNetworkEndpointPrivateNetwork - return ret - }).(DocumentdbPrivateNetworkEndpointPrivateNetworkOutput) -} - -// The hostname of your endpoint. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { - if v == nil { - return nil - } - return v.Hostname - }).(pulumi.StringPtrOutput) -} - -// The private network ID. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { - if v == nil { - return nil - } - return &v.Id - }).(pulumi.StringPtrOutput) -} - -// The IP of your private network service. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) Ip() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { - if v == nil { - return nil - } - return v.Ip - }).(pulumi.StringPtrOutput) -} - -// The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) IpNet() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { - if v == nil { - return nil - } - return v.IpNet - }).(pulumi.StringPtrOutput) -} - -// The name of your private service. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) -} - -// The port of your private service. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpointPrivateNetwork) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) -} - -// The zone of your endpoint. -func (o DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput) Zone() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbPrivateNetworkEndpointPrivateNetwork) *string { - if v == nil { - return nil - } - return v.Zone - }).(pulumi.StringPtrOutput) -} - -type DocumentdbReadReplicaDirectAccess struct { - // The ID of the endpoint of the read replica. - EndpointId *string `pulumi:"endpointId"` - // Hostname of the endpoint. Only one of ip and hostname may be set. - Hostname *string `pulumi:"hostname"` - // IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - Ip *string `pulumi:"ip"` - // Name of the endpoint. - Name *string `pulumi:"name"` - // TCP port of the endpoint. - Port *int `pulumi:"port"` -} - -// DocumentdbReadReplicaDirectAccessInput is an input type that accepts DocumentdbReadReplicaDirectAccessArgs and DocumentdbReadReplicaDirectAccessOutput values. -// You can construct a concrete instance of `DocumentdbReadReplicaDirectAccessInput` via: -// -// DocumentdbReadReplicaDirectAccessArgs{...} -type DocumentdbReadReplicaDirectAccessInput interface { - pulumi.Input - - ToDocumentdbReadReplicaDirectAccessOutput() DocumentdbReadReplicaDirectAccessOutput - ToDocumentdbReadReplicaDirectAccessOutputWithContext(context.Context) DocumentdbReadReplicaDirectAccessOutput -} - -type DocumentdbReadReplicaDirectAccessArgs struct { - // The ID of the endpoint of the read replica. - EndpointId pulumi.StringPtrInput `pulumi:"endpointId"` - // Hostname of the endpoint. Only one of ip and hostname may be set. - Hostname pulumi.StringPtrInput `pulumi:"hostname"` - // IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - Ip pulumi.StringPtrInput `pulumi:"ip"` - // Name of the endpoint. - Name pulumi.StringPtrInput `pulumi:"name"` - // TCP port of the endpoint. - Port pulumi.IntPtrInput `pulumi:"port"` -} - -func (DocumentdbReadReplicaDirectAccessArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DocumentdbReadReplicaDirectAccess)(nil)).Elem() -} - -func (i DocumentdbReadReplicaDirectAccessArgs) ToDocumentdbReadReplicaDirectAccessOutput() DocumentdbReadReplicaDirectAccessOutput { - return i.ToDocumentdbReadReplicaDirectAccessOutputWithContext(context.Background()) -} - -func (i DocumentdbReadReplicaDirectAccessArgs) ToDocumentdbReadReplicaDirectAccessOutputWithContext(ctx context.Context) DocumentdbReadReplicaDirectAccessOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaDirectAccessOutput) -} - -func (i DocumentdbReadReplicaDirectAccessArgs) ToDocumentdbReadReplicaDirectAccessPtrOutput() DocumentdbReadReplicaDirectAccessPtrOutput { - return i.ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(context.Background()) -} - -func (i DocumentdbReadReplicaDirectAccessArgs) ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(ctx context.Context) DocumentdbReadReplicaDirectAccessPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaDirectAccessOutput).ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(ctx) -} - -// DocumentdbReadReplicaDirectAccessPtrInput is an input type that accepts DocumentdbReadReplicaDirectAccessArgs, DocumentdbReadReplicaDirectAccessPtr and DocumentdbReadReplicaDirectAccessPtrOutput values. -// You can construct a concrete instance of `DocumentdbReadReplicaDirectAccessPtrInput` via: -// -// DocumentdbReadReplicaDirectAccessArgs{...} -// -// or: -// -// nil -type DocumentdbReadReplicaDirectAccessPtrInput interface { - pulumi.Input - - ToDocumentdbReadReplicaDirectAccessPtrOutput() DocumentdbReadReplicaDirectAccessPtrOutput - ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(context.Context) DocumentdbReadReplicaDirectAccessPtrOutput -} - -type documentdbReadReplicaDirectAccessPtrType DocumentdbReadReplicaDirectAccessArgs - -func DocumentdbReadReplicaDirectAccessPtr(v *DocumentdbReadReplicaDirectAccessArgs) DocumentdbReadReplicaDirectAccessPtrInput { - return (*documentdbReadReplicaDirectAccessPtrType)(v) -} - -func (*documentdbReadReplicaDirectAccessPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbReadReplicaDirectAccess)(nil)).Elem() -} - -func (i *documentdbReadReplicaDirectAccessPtrType) ToDocumentdbReadReplicaDirectAccessPtrOutput() DocumentdbReadReplicaDirectAccessPtrOutput { - return i.ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(context.Background()) -} - -func (i *documentdbReadReplicaDirectAccessPtrType) ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(ctx context.Context) DocumentdbReadReplicaDirectAccessPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaDirectAccessPtrOutput) -} - -type DocumentdbReadReplicaDirectAccessOutput struct{ *pulumi.OutputState } - -func (DocumentdbReadReplicaDirectAccessOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DocumentdbReadReplicaDirectAccess)(nil)).Elem() -} - -func (o DocumentdbReadReplicaDirectAccessOutput) ToDocumentdbReadReplicaDirectAccessOutput() DocumentdbReadReplicaDirectAccessOutput { - return o -} - -func (o DocumentdbReadReplicaDirectAccessOutput) ToDocumentdbReadReplicaDirectAccessOutputWithContext(ctx context.Context) DocumentdbReadReplicaDirectAccessOutput { - return o -} - -func (o DocumentdbReadReplicaDirectAccessOutput) ToDocumentdbReadReplicaDirectAccessPtrOutput() DocumentdbReadReplicaDirectAccessPtrOutput { - return o.ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(context.Background()) -} - -func (o DocumentdbReadReplicaDirectAccessOutput) ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(ctx context.Context) DocumentdbReadReplicaDirectAccessPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DocumentdbReadReplicaDirectAccess) *DocumentdbReadReplicaDirectAccess { - return &v - }).(DocumentdbReadReplicaDirectAccessPtrOutput) -} - -// The ID of the endpoint of the read replica. -func (o DocumentdbReadReplicaDirectAccessOutput) EndpointId() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaDirectAccess) *string { return v.EndpointId }).(pulumi.StringPtrOutput) -} - -// Hostname of the endpoint. Only one of ip and hostname may be set. -func (o DocumentdbReadReplicaDirectAccessOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaDirectAccess) *string { return v.Hostname }).(pulumi.StringPtrOutput) -} - -// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. -func (o DocumentdbReadReplicaDirectAccessOutput) Ip() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaDirectAccess) *string { return v.Ip }).(pulumi.StringPtrOutput) -} - -// Name of the endpoint. -func (o DocumentdbReadReplicaDirectAccessOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaDirectAccess) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// TCP port of the endpoint. -func (o DocumentdbReadReplicaDirectAccessOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaDirectAccess) *int { return v.Port }).(pulumi.IntPtrOutput) -} - -type DocumentdbReadReplicaDirectAccessPtrOutput struct{ *pulumi.OutputState } - -func (DocumentdbReadReplicaDirectAccessPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbReadReplicaDirectAccess)(nil)).Elem() -} - -func (o DocumentdbReadReplicaDirectAccessPtrOutput) ToDocumentdbReadReplicaDirectAccessPtrOutput() DocumentdbReadReplicaDirectAccessPtrOutput { - return o -} - -func (o DocumentdbReadReplicaDirectAccessPtrOutput) ToDocumentdbReadReplicaDirectAccessPtrOutputWithContext(ctx context.Context) DocumentdbReadReplicaDirectAccessPtrOutput { - return o -} - -func (o DocumentdbReadReplicaDirectAccessPtrOutput) Elem() DocumentdbReadReplicaDirectAccessOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaDirectAccess) DocumentdbReadReplicaDirectAccess { - if v != nil { - return *v - } - var ret DocumentdbReadReplicaDirectAccess - return ret - }).(DocumentdbReadReplicaDirectAccessOutput) -} - -// The ID of the endpoint of the read replica. -func (o DocumentdbReadReplicaDirectAccessPtrOutput) EndpointId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaDirectAccess) *string { - if v == nil { - return nil - } - return v.EndpointId - }).(pulumi.StringPtrOutput) -} - -// Hostname of the endpoint. Only one of ip and hostname may be set. -func (o DocumentdbReadReplicaDirectAccessPtrOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaDirectAccess) *string { - if v == nil { - return nil - } - return v.Hostname - }).(pulumi.StringPtrOutput) -} - -// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. -func (o DocumentdbReadReplicaDirectAccessPtrOutput) Ip() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaDirectAccess) *string { - if v == nil { - return nil - } - return v.Ip - }).(pulumi.StringPtrOutput) -} - -// Name of the endpoint. -func (o DocumentdbReadReplicaDirectAccessPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaDirectAccess) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) -} - -// TCP port of the endpoint. -func (o DocumentdbReadReplicaDirectAccessPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaDirectAccess) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) -} - -type DocumentdbReadReplicaPrivateNetwork struct { - // The ID of the endpoint of the read replica. - EndpointId *string `pulumi:"endpointId"` - // Hostname of the endpoint. Only one of ip and hostname may be set. - Hostname *string `pulumi:"hostname"` - // IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - Ip *string `pulumi:"ip"` - // Name of the endpoint. - Name *string `pulumi:"name"` - // TCP port of the endpoint. - Port *int `pulumi:"port"` - // UUID of the private network to be connected to the read replica. - PrivateNetworkId string `pulumi:"privateNetworkId"` - // The IP network address within the private subnet. This must be an IPv4 address with a - // CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - // service if not set. - ServiceIp *string `pulumi:"serviceIp"` - // Private network zone - Zone *string `pulumi:"zone"` -} - -// DocumentdbReadReplicaPrivateNetworkInput is an input type that accepts DocumentdbReadReplicaPrivateNetworkArgs and DocumentdbReadReplicaPrivateNetworkOutput values. -// You can construct a concrete instance of `DocumentdbReadReplicaPrivateNetworkInput` via: -// -// DocumentdbReadReplicaPrivateNetworkArgs{...} -type DocumentdbReadReplicaPrivateNetworkInput interface { - pulumi.Input - - ToDocumentdbReadReplicaPrivateNetworkOutput() DocumentdbReadReplicaPrivateNetworkOutput - ToDocumentdbReadReplicaPrivateNetworkOutputWithContext(context.Context) DocumentdbReadReplicaPrivateNetworkOutput -} - -type DocumentdbReadReplicaPrivateNetworkArgs struct { - // The ID of the endpoint of the read replica. - EndpointId pulumi.StringPtrInput `pulumi:"endpointId"` - // Hostname of the endpoint. Only one of ip and hostname may be set. - Hostname pulumi.StringPtrInput `pulumi:"hostname"` - // IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - Ip pulumi.StringPtrInput `pulumi:"ip"` - // Name of the endpoint. - Name pulumi.StringPtrInput `pulumi:"name"` - // TCP port of the endpoint. - Port pulumi.IntPtrInput `pulumi:"port"` - // UUID of the private network to be connected to the read replica. - PrivateNetworkId pulumi.StringInput `pulumi:"privateNetworkId"` - // The IP network address within the private subnet. This must be an IPv4 address with a - // CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - // service if not set. - ServiceIp pulumi.StringPtrInput `pulumi:"serviceIp"` - // Private network zone - Zone pulumi.StringPtrInput `pulumi:"zone"` -} - -func (DocumentdbReadReplicaPrivateNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DocumentdbReadReplicaPrivateNetwork)(nil)).Elem() -} - -func (i DocumentdbReadReplicaPrivateNetworkArgs) ToDocumentdbReadReplicaPrivateNetworkOutput() DocumentdbReadReplicaPrivateNetworkOutput { - return i.ToDocumentdbReadReplicaPrivateNetworkOutputWithContext(context.Background()) -} - -func (i DocumentdbReadReplicaPrivateNetworkArgs) ToDocumentdbReadReplicaPrivateNetworkOutputWithContext(ctx context.Context) DocumentdbReadReplicaPrivateNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaPrivateNetworkOutput) -} - -func (i DocumentdbReadReplicaPrivateNetworkArgs) ToDocumentdbReadReplicaPrivateNetworkPtrOutput() DocumentdbReadReplicaPrivateNetworkPtrOutput { - return i.ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(context.Background()) -} - -func (i DocumentdbReadReplicaPrivateNetworkArgs) ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(ctx context.Context) DocumentdbReadReplicaPrivateNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaPrivateNetworkOutput).ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(ctx) -} - -// DocumentdbReadReplicaPrivateNetworkPtrInput is an input type that accepts DocumentdbReadReplicaPrivateNetworkArgs, DocumentdbReadReplicaPrivateNetworkPtr and DocumentdbReadReplicaPrivateNetworkPtrOutput values. -// You can construct a concrete instance of `DocumentdbReadReplicaPrivateNetworkPtrInput` via: -// -// DocumentdbReadReplicaPrivateNetworkArgs{...} -// -// or: -// -// nil -type DocumentdbReadReplicaPrivateNetworkPtrInput interface { - pulumi.Input - - ToDocumentdbReadReplicaPrivateNetworkPtrOutput() DocumentdbReadReplicaPrivateNetworkPtrOutput - ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(context.Context) DocumentdbReadReplicaPrivateNetworkPtrOutput -} - -type documentdbReadReplicaPrivateNetworkPtrType DocumentdbReadReplicaPrivateNetworkArgs - -func DocumentdbReadReplicaPrivateNetworkPtr(v *DocumentdbReadReplicaPrivateNetworkArgs) DocumentdbReadReplicaPrivateNetworkPtrInput { - return (*documentdbReadReplicaPrivateNetworkPtrType)(v) -} - -func (*documentdbReadReplicaPrivateNetworkPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbReadReplicaPrivateNetwork)(nil)).Elem() -} - -func (i *documentdbReadReplicaPrivateNetworkPtrType) ToDocumentdbReadReplicaPrivateNetworkPtrOutput() DocumentdbReadReplicaPrivateNetworkPtrOutput { - return i.ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(context.Background()) -} - -func (i *documentdbReadReplicaPrivateNetworkPtrType) ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(ctx context.Context) DocumentdbReadReplicaPrivateNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DocumentdbReadReplicaPrivateNetworkPtrOutput) -} - -type DocumentdbReadReplicaPrivateNetworkOutput struct{ *pulumi.OutputState } - -func (DocumentdbReadReplicaPrivateNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DocumentdbReadReplicaPrivateNetwork)(nil)).Elem() -} - -func (o DocumentdbReadReplicaPrivateNetworkOutput) ToDocumentdbReadReplicaPrivateNetworkOutput() DocumentdbReadReplicaPrivateNetworkOutput { - return o -} - -func (o DocumentdbReadReplicaPrivateNetworkOutput) ToDocumentdbReadReplicaPrivateNetworkOutputWithContext(ctx context.Context) DocumentdbReadReplicaPrivateNetworkOutput { - return o -} - -func (o DocumentdbReadReplicaPrivateNetworkOutput) ToDocumentdbReadReplicaPrivateNetworkPtrOutput() DocumentdbReadReplicaPrivateNetworkPtrOutput { - return o.ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(context.Background()) -} - -func (o DocumentdbReadReplicaPrivateNetworkOutput) ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(ctx context.Context) DocumentdbReadReplicaPrivateNetworkPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DocumentdbReadReplicaPrivateNetwork) *DocumentdbReadReplicaPrivateNetwork { - return &v - }).(DocumentdbReadReplicaPrivateNetworkPtrOutput) -} - -// The ID of the endpoint of the read replica. -func (o DocumentdbReadReplicaPrivateNetworkOutput) EndpointId() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaPrivateNetwork) *string { return v.EndpointId }).(pulumi.StringPtrOutput) -} - -// Hostname of the endpoint. Only one of ip and hostname may be set. -func (o DocumentdbReadReplicaPrivateNetworkOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaPrivateNetwork) *string { return v.Hostname }).(pulumi.StringPtrOutput) -} - -// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. -func (o DocumentdbReadReplicaPrivateNetworkOutput) Ip() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaPrivateNetwork) *string { return v.Ip }).(pulumi.StringPtrOutput) -} - -// Name of the endpoint. -func (o DocumentdbReadReplicaPrivateNetworkOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaPrivateNetwork) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -// TCP port of the endpoint. -func (o DocumentdbReadReplicaPrivateNetworkOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaPrivateNetwork) *int { return v.Port }).(pulumi.IntPtrOutput) -} - -// UUID of the private network to be connected to the read replica. -func (o DocumentdbReadReplicaPrivateNetworkOutput) PrivateNetworkId() pulumi.StringOutput { - return o.ApplyT(func(v DocumentdbReadReplicaPrivateNetwork) string { return v.PrivateNetworkId }).(pulumi.StringOutput) -} - -// The IP network address within the private subnet. This must be an IPv4 address with a -// CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) -// service if not set. -func (o DocumentdbReadReplicaPrivateNetworkOutput) ServiceIp() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaPrivateNetwork) *string { return v.ServiceIp }).(pulumi.StringPtrOutput) -} - -// Private network zone -func (o DocumentdbReadReplicaPrivateNetworkOutput) Zone() pulumi.StringPtrOutput { - return o.ApplyT(func(v DocumentdbReadReplicaPrivateNetwork) *string { return v.Zone }).(pulumi.StringPtrOutput) -} - -type DocumentdbReadReplicaPrivateNetworkPtrOutput struct{ *pulumi.OutputState } - -func (DocumentdbReadReplicaPrivateNetworkPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DocumentdbReadReplicaPrivateNetwork)(nil)).Elem() -} - -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) ToDocumentdbReadReplicaPrivateNetworkPtrOutput() DocumentdbReadReplicaPrivateNetworkPtrOutput { - return o -} - -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) ToDocumentdbReadReplicaPrivateNetworkPtrOutputWithContext(ctx context.Context) DocumentdbReadReplicaPrivateNetworkPtrOutput { - return o -} - -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) Elem() DocumentdbReadReplicaPrivateNetworkOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) DocumentdbReadReplicaPrivateNetwork { - if v != nil { - return *v - } - var ret DocumentdbReadReplicaPrivateNetwork - return ret - }).(DocumentdbReadReplicaPrivateNetworkOutput) -} - -// The ID of the endpoint of the read replica. -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) EndpointId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) *string { - if v == nil { - return nil - } - return v.EndpointId - }).(pulumi.StringPtrOutput) -} - -// Hostname of the endpoint. Only one of ip and hostname may be set. -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) *string { - if v == nil { - return nil - } - return v.Hostname - }).(pulumi.StringPtrOutput) -} - -// IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) Ip() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) *string { - if v == nil { - return nil - } - return v.Ip - }).(pulumi.StringPtrOutput) -} - -// Name of the endpoint. -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) -} - -// TCP port of the endpoint. -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) -} - -// UUID of the private network to be connected to the read replica. -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) PrivateNetworkId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) *string { - if v == nil { - return nil - } - return &v.PrivateNetworkId - }).(pulumi.StringPtrOutput) -} - -// The IP network address within the private subnet. This must be an IPv4 address with a -// CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) -// service if not set. -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) ServiceIp() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) *string { - if v == nil { - return nil - } - return v.ServiceIp - }).(pulumi.StringPtrOutput) -} - -// Private network zone -func (o DocumentdbReadReplicaPrivateNetworkPtrOutput) Zone() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DocumentdbReadReplicaPrivateNetwork) *string { - if v == nil { - return nil - } - return v.Zone - }).(pulumi.StringPtrOutput) -} - type DomainRecordGeoIp struct { // The list of matches Matches []DomainRecordGeoIpMatch `pulumi:"matches"` @@ -26506,12 +25764,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DatabaseReadReplicaDirectAccessPtrInput)(nil)).Elem(), DatabaseReadReplicaDirectAccessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseReadReplicaPrivateNetworkInput)(nil)).Elem(), DatabaseReadReplicaPrivateNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseReadReplicaPrivateNetworkPtrInput)(nil)).Elem(), DatabaseReadReplicaPrivateNetworkArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbPrivateNetworkEndpointPrivateNetworkInput)(nil)).Elem(), DocumentdbPrivateNetworkEndpointPrivateNetworkArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbPrivateNetworkEndpointPrivateNetworkPtrInput)(nil)).Elem(), DocumentdbPrivateNetworkEndpointPrivateNetworkArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbReadReplicaDirectAccessInput)(nil)).Elem(), DocumentdbReadReplicaDirectAccessArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbReadReplicaDirectAccessPtrInput)(nil)).Elem(), DocumentdbReadReplicaDirectAccessArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbReadReplicaPrivateNetworkInput)(nil)).Elem(), DocumentdbReadReplicaPrivateNetworkArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DocumentdbReadReplicaPrivateNetworkPtrInput)(nil)).Elem(), DocumentdbReadReplicaPrivateNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainRecordGeoIpInput)(nil)).Elem(), DomainRecordGeoIpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainRecordGeoIpPtrInput)(nil)).Elem(), DomainRecordGeoIpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainRecordGeoIpMatchInput)(nil)).Elem(), DomainRecordGeoIpMatchArgs{}) @@ -26861,12 +26113,6 @@ func init() { pulumi.RegisterOutputType(DatabaseReadReplicaDirectAccessPtrOutput{}) pulumi.RegisterOutputType(DatabaseReadReplicaPrivateNetworkOutput{}) pulumi.RegisterOutputType(DatabaseReadReplicaPrivateNetworkPtrOutput{}) - pulumi.RegisterOutputType(DocumentdbPrivateNetworkEndpointPrivateNetworkOutput{}) - pulumi.RegisterOutputType(DocumentdbPrivateNetworkEndpointPrivateNetworkPtrOutput{}) - pulumi.RegisterOutputType(DocumentdbReadReplicaDirectAccessOutput{}) - pulumi.RegisterOutputType(DocumentdbReadReplicaDirectAccessPtrOutput{}) - pulumi.RegisterOutputType(DocumentdbReadReplicaPrivateNetworkOutput{}) - pulumi.RegisterOutputType(DocumentdbReadReplicaPrivateNetworkPtrOutput{}) pulumi.RegisterOutputType(DomainRecordGeoIpOutput{}) pulumi.RegisterOutputType(DomainRecordGeoIpPtrOutput{}) pulumi.RegisterOutputType(DomainRecordGeoIpMatchOutput{}) diff --git a/sdk/nodejs/cockpitAlertManager.ts b/sdk/nodejs/cockpitAlertManager.ts index b9b18507..8919ee69 100644 --- a/sdk/nodejs/cockpitAlertManager.ts +++ b/sdk/nodejs/cockpitAlertManager.ts @@ -13,6 +13,33 @@ import * as utilities from "./utilities"; * * ## Example Usage * + * ### Enable the alert manager and configure managed alerts + * + * The following commands allow you to: + * + * - enable the alert manager in a Project named `tfTestProject` + * - enable [managed alerts](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#managed-alerts) + * - set up [contact points](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#contact-points) to receive alert notifications + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumiverse/scaleway"; + * + * const project = new scaleway.AccountProject("project", {name: "tf_test_project"}); + * const alertManager = new scaleway.CockpitAlertManager("alert_manager", { + * projectId: project.id, + * enableManagedAlerts: true, + * contactPoints: [ + * { + * email: "alert1@example.com", + * }, + * { + * email: "alert2@example.com", + * }, + * ], + * }); + * ``` + * * ## Import * * This section explains how to import alert managers using the ID of the Project associated with Cockpit. diff --git a/sdk/nodejs/documentdbDatabase.ts b/sdk/nodejs/documentdbDatabase.ts deleted file mode 100644 index d0f132f0..00000000 --- a/sdk/nodejs/documentdbDatabase.ts +++ /dev/null @@ -1,197 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "./utilities"; - -/** - * Creates and manages Scaleway DocumentDB database. - * - * ## Example Usage - * - * ### Basic - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const instance = new scaleway.DocumentdbInstance("instance", { - * name: "test-document_db-basic", - * nodeType: "docdb-play2-pico", - * engine: "FerretDB-1", - * userName: "my_initial_user", - * password: "thiZ_is_v&ry_s3cret", - * volumeSizeInGb: 20, - * }); - * const main = new scaleway.DocumentdbDatabase("main", { - * instanceId: instance.id, - * name: "my-new-database", - * }); - * ``` - * - * ## Import - * - * DocumentDB Database can be imported using the `{region}/{id}/{DBNAME}`, e.g. - * - * bash - * - * ```sh - * $ pulumi import scaleway:index/documentdbDatabase:DocumentdbDatabase mydb fr-par/11111111-1111-1111-1111-111111111111/mydb - * ``` - */ -export class DocumentdbDatabase extends pulumi.CustomResource { - /** - * Get an existing DocumentdbDatabase resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: DocumentdbDatabaseState, opts?: pulumi.CustomResourceOptions): DocumentdbDatabase { - return new DocumentdbDatabase(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'scaleway:index/documentdbDatabase:DocumentdbDatabase'; - - /** - * Returns true if the given object is an instance of DocumentdbDatabase. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is DocumentdbDatabase { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === DocumentdbDatabase.__pulumiType; - } - - /** - * UUID of the documentdb instance. - * - * > **Important:** Updates to `instanceId` will recreate the Database. - */ - public readonly instanceId!: pulumi.Output; - /** - * Whether the database is managed or not. - */ - public /*out*/ readonly managed!: pulumi.Output; - /** - * Name of the database (e.g. `my-new-database`). - */ - public readonly name!: pulumi.Output; - /** - * The name of the owner of the database. - */ - public /*out*/ readonly owner!: pulumi.Output; - /** - * The projectId you want to attach the resource to - */ - public readonly projectId!: pulumi.Output; - /** - * `region`) The region in which the resource exists. - */ - public readonly region!: pulumi.Output; - /** - * Size in gigabytes of the database. - */ - public /*out*/ readonly size!: pulumi.Output; - - /** - * Create a DocumentdbDatabase resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: DocumentdbDatabaseArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: DocumentdbDatabaseArgs | DocumentdbDatabaseState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as DocumentdbDatabaseState | undefined; - resourceInputs["instanceId"] = state ? state.instanceId : undefined; - resourceInputs["managed"] = state ? state.managed : undefined; - resourceInputs["name"] = state ? state.name : undefined; - resourceInputs["owner"] = state ? state.owner : undefined; - resourceInputs["projectId"] = state ? state.projectId : undefined; - resourceInputs["region"] = state ? state.region : undefined; - resourceInputs["size"] = state ? state.size : undefined; - } else { - const args = argsOrState as DocumentdbDatabaseArgs | undefined; - if ((!args || args.instanceId === undefined) && !opts.urn) { - throw new Error("Missing required property 'instanceId'"); - } - resourceInputs["instanceId"] = args ? args.instanceId : undefined; - resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["projectId"] = args ? args.projectId : undefined; - resourceInputs["region"] = args ? args.region : undefined; - resourceInputs["managed"] = undefined /*out*/; - resourceInputs["owner"] = undefined /*out*/; - resourceInputs["size"] = undefined /*out*/; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - super(DocumentdbDatabase.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering DocumentdbDatabase resources. - */ -export interface DocumentdbDatabaseState { - /** - * UUID of the documentdb instance. - * - * > **Important:** Updates to `instanceId` will recreate the Database. - */ - instanceId?: pulumi.Input; - /** - * Whether the database is managed or not. - */ - managed?: pulumi.Input; - /** - * Name of the database (e.g. `my-new-database`). - */ - name?: pulumi.Input; - /** - * The name of the owner of the database. - */ - owner?: pulumi.Input; - /** - * The projectId you want to attach the resource to - */ - projectId?: pulumi.Input; - /** - * `region`) The region in which the resource exists. - */ - region?: pulumi.Input; - /** - * Size in gigabytes of the database. - */ - size?: pulumi.Input; -} - -/** - * The set of arguments for constructing a DocumentdbDatabase resource. - */ -export interface DocumentdbDatabaseArgs { - /** - * UUID of the documentdb instance. - * - * > **Important:** Updates to `instanceId` will recreate the Database. - */ - instanceId: pulumi.Input; - /** - * Name of the database (e.g. `my-new-database`). - */ - name?: pulumi.Input; - /** - * The projectId you want to attach the resource to - */ - projectId?: pulumi.Input; - /** - * `region`) The region in which the resource exists. - */ - region?: pulumi.Input; -} diff --git a/sdk/nodejs/documentdbInstance.ts b/sdk/nodejs/documentdbInstance.ts deleted file mode 100644 index bd3c3b94..00000000 --- a/sdk/nodejs/documentdbInstance.ts +++ /dev/null @@ -1,312 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "./utilities"; - -/** - * Creates and manages Scaleway Database Instances. - * - * ## Example Usage - * - * ### Example Basic - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const main = new scaleway.DocumentdbInstance("main", { - * name: "test-documentdb-instance-basic", - * nodeType: "docdb-play2-pico", - * engine: "FerretDB-1", - * userName: "my_initial_user", - * password: "thiZ_is_v&ry_s3cret", - * tags: [ - * "terraform-test", - * "scaleway_documentdb_instance", - * "minimal", - * ], - * volumeSizeInGb: 20, - * }); - * ``` - * - * ## Import - * - * Database Instance can be imported using the `{region}/{id}`, e.g. - * - * bash - * - * ```sh - * $ pulumi import scaleway:index/documentdbInstance:DocumentdbInstance db fr-par/11111111-1111-1111-1111-111111111111 - * ``` - */ -export class DocumentdbInstance extends pulumi.CustomResource { - /** - * Get an existing DocumentdbInstance resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: DocumentdbInstanceState, opts?: pulumi.CustomResourceOptions): DocumentdbInstance { - return new DocumentdbInstance(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'scaleway:index/documentdbInstance:DocumentdbInstance'; - - /** - * Returns true if the given object is an instance of DocumentdbInstance. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is DocumentdbInstance { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === DocumentdbInstance.__pulumiType; - } - - /** - * Database Instance's engine version (e.g. `FerretDB-1`). - * - * > **Important:** Updates to `engine` will recreate the Database Instance. - */ - public readonly engine!: pulumi.Output; - /** - * Enable or disable high availability for the database instance. - */ - public readonly isHaCluster!: pulumi.Output; - /** - * The name of the Database Instance. - */ - public readonly name!: pulumi.Output; - /** - * The type of database instance you want to create (e.g. `docdb-play2-pico`). - * - * > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any - * interruption. Keep in mind that you cannot downgrade a Database Instance. - */ - public readonly nodeType!: pulumi.Output; - /** - * Password for the first user of the database instance. - */ - public readonly password!: pulumi.Output; - /** - * `projectId`) The ID of the project the Database - * Instance is associated with. - */ - public readonly projectId!: pulumi.Output; - /** - * `region`) The region - * in which the Database Instance should be created. - */ - public readonly region!: pulumi.Output; - /** - * The tags associated with the Database Instance. - */ - public readonly tags!: pulumi.Output; - /** - * Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - * - * > **Important:** Updates to `isHaCluster` will recreate the Database Instance. - */ - public readonly telemetryEnabled!: pulumi.Output; - /** - * Identifier for the first user of the database instance. - * - * > **Important:** Updates to `userName` will recreate the Database Instance. - */ - public readonly userName!: pulumi.Output; - /** - * Volume size (in GB) when `volumeType` is set to `bssd`. - */ - public readonly volumeSizeInGb!: pulumi.Output; - /** - * Type of volume where data are stored (`bssd` or `lssd`). - */ - public readonly volumeType!: pulumi.Output; - - /** - * Create a DocumentdbInstance resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: DocumentdbInstanceArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: DocumentdbInstanceArgs | DocumentdbInstanceState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as DocumentdbInstanceState | undefined; - resourceInputs["engine"] = state ? state.engine : undefined; - resourceInputs["isHaCluster"] = state ? state.isHaCluster : undefined; - resourceInputs["name"] = state ? state.name : undefined; - resourceInputs["nodeType"] = state ? state.nodeType : undefined; - resourceInputs["password"] = state ? state.password : undefined; - resourceInputs["projectId"] = state ? state.projectId : undefined; - resourceInputs["region"] = state ? state.region : undefined; - resourceInputs["tags"] = state ? state.tags : undefined; - resourceInputs["telemetryEnabled"] = state ? state.telemetryEnabled : undefined; - resourceInputs["userName"] = state ? state.userName : undefined; - resourceInputs["volumeSizeInGb"] = state ? state.volumeSizeInGb : undefined; - resourceInputs["volumeType"] = state ? state.volumeType : undefined; - } else { - const args = argsOrState as DocumentdbInstanceArgs | undefined; - if ((!args || args.engine === undefined) && !opts.urn) { - throw new Error("Missing required property 'engine'"); - } - if ((!args || args.nodeType === undefined) && !opts.urn) { - throw new Error("Missing required property 'nodeType'"); - } - resourceInputs["engine"] = args ? args.engine : undefined; - resourceInputs["isHaCluster"] = args ? args.isHaCluster : undefined; - resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["nodeType"] = args ? args.nodeType : undefined; - resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; - resourceInputs["projectId"] = args ? args.projectId : undefined; - resourceInputs["region"] = args ? args.region : undefined; - resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["telemetryEnabled"] = args ? args.telemetryEnabled : undefined; - resourceInputs["userName"] = args ? args.userName : undefined; - resourceInputs["volumeSizeInGb"] = args ? args.volumeSizeInGb : undefined; - resourceInputs["volumeType"] = args ? args.volumeType : undefined; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const secretOpts = { additionalSecretOutputs: ["password"] }; - opts = pulumi.mergeOptions(opts, secretOpts); - super(DocumentdbInstance.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering DocumentdbInstance resources. - */ -export interface DocumentdbInstanceState { - /** - * Database Instance's engine version (e.g. `FerretDB-1`). - * - * > **Important:** Updates to `engine` will recreate the Database Instance. - */ - engine?: pulumi.Input; - /** - * Enable or disable high availability for the database instance. - */ - isHaCluster?: pulumi.Input; - /** - * The name of the Database Instance. - */ - name?: pulumi.Input; - /** - * The type of database instance you want to create (e.g. `docdb-play2-pico`). - * - * > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any - * interruption. Keep in mind that you cannot downgrade a Database Instance. - */ - nodeType?: pulumi.Input; - /** - * Password for the first user of the database instance. - */ - password?: pulumi.Input; - /** - * `projectId`) The ID of the project the Database - * Instance is associated with. - */ - projectId?: pulumi.Input; - /** - * `region`) The region - * in which the Database Instance should be created. - */ - region?: pulumi.Input; - /** - * The tags associated with the Database Instance. - */ - tags?: pulumi.Input[]>; - /** - * Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - * - * > **Important:** Updates to `isHaCluster` will recreate the Database Instance. - */ - telemetryEnabled?: pulumi.Input; - /** - * Identifier for the first user of the database instance. - * - * > **Important:** Updates to `userName` will recreate the Database Instance. - */ - userName?: pulumi.Input; - /** - * Volume size (in GB) when `volumeType` is set to `bssd`. - */ - volumeSizeInGb?: pulumi.Input; - /** - * Type of volume where data are stored (`bssd` or `lssd`). - */ - volumeType?: pulumi.Input; -} - -/** - * The set of arguments for constructing a DocumentdbInstance resource. - */ -export interface DocumentdbInstanceArgs { - /** - * Database Instance's engine version (e.g. `FerretDB-1`). - * - * > **Important:** Updates to `engine` will recreate the Database Instance. - */ - engine: pulumi.Input; - /** - * Enable or disable high availability for the database instance. - */ - isHaCluster?: pulumi.Input; - /** - * The name of the Database Instance. - */ - name?: pulumi.Input; - /** - * The type of database instance you want to create (e.g. `docdb-play2-pico`). - * - * > **Important:** Updates to `nodeType` will upgrade the Database Instance to the desired `nodeType` without any - * interruption. Keep in mind that you cannot downgrade a Database Instance. - */ - nodeType: pulumi.Input; - /** - * Password for the first user of the database instance. - */ - password?: pulumi.Input; - /** - * `projectId`) The ID of the project the Database - * Instance is associated with. - */ - projectId?: pulumi.Input; - /** - * `region`) The region - * in which the Database Instance should be created. - */ - region?: pulumi.Input; - /** - * The tags associated with the Database Instance. - */ - tags?: pulumi.Input[]>; - /** - * Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - * - * > **Important:** Updates to `isHaCluster` will recreate the Database Instance. - */ - telemetryEnabled?: pulumi.Input; - /** - * Identifier for the first user of the database instance. - * - * > **Important:** Updates to `userName` will recreate the Database Instance. - */ - userName?: pulumi.Input; - /** - * Volume size (in GB) when `volumeType` is set to `bssd`. - */ - volumeSizeInGb?: pulumi.Input; - /** - * Type of volume where data are stored (`bssd` or `lssd`). - */ - volumeType?: pulumi.Input; -} diff --git a/sdk/nodejs/documentdbPrivateNetworkEndpoint.ts b/sdk/nodejs/documentdbPrivateNetworkEndpoint.ts deleted file mode 100644 index f837c3cb..00000000 --- a/sdk/nodejs/documentdbPrivateNetworkEndpoint.ts +++ /dev/null @@ -1,170 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "./types/input"; -import * as outputs from "./types/output"; -import * as utilities from "./utilities"; - -/** - * Creates and manages Scaleway Database Private Network Endpoint. - * - * ## Example Usage - * - * ### Example Basic - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const pn = new scaleway.VpcPrivateNetwork("pn", {name: "my_private_network"}); - * const instance = new scaleway.DocumentdbInstance("instance", { - * name: "test-document_db-basic", - * nodeType: "docdb-play2-pico", - * engine: "FerretDB-1", - * userName: "my_initial_user", - * password: "thiZ_is_v&ry_s3cret", - * volumeSizeInGb: 20, - * }); - * const main = new scaleway.DocumentdbPrivateNetworkEndpoint("main", { - * instanceId: instance.id, - * privateNetwork: { - * ipNet: "172.16.32.3/22", - * id: pn.id, - * }, - * }, { - * dependsOn: [pn], - * }); - * ``` - * - * ## Import - * - * Database Instance Endpoint can be imported using the `{region}/{endpoint_id}`, e.g. - * - * bash - * - * ```sh - * $ pulumi import scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint end fr-par/11111111-1111-1111-1111-111111111111 - * ``` - */ -export class DocumentdbPrivateNetworkEndpoint extends pulumi.CustomResource { - /** - * Get an existing DocumentdbPrivateNetworkEndpoint resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: DocumentdbPrivateNetworkEndpointState, opts?: pulumi.CustomResourceOptions): DocumentdbPrivateNetworkEndpoint { - return new DocumentdbPrivateNetworkEndpoint(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint'; - - /** - * Returns true if the given object is an instance of DocumentdbPrivateNetworkEndpoint. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is DocumentdbPrivateNetworkEndpoint { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === DocumentdbPrivateNetworkEndpoint.__pulumiType; - } - - /** - * UUID of the documentdb instance. - */ - public readonly instanceId!: pulumi.Output; - /** - * The private network specs details. This is a list with maximum one element and supports the following attributes: - */ - public readonly privateNetwork!: pulumi.Output; - /** - * The region of the endpoint. - * - * - * > **NOTE:** Please calculate your host IP. - * using cirhost. Otherwise, lets IPAM service - * handle the host IP on the network. - */ - public readonly region!: pulumi.Output; - - /** - * Create a DocumentdbPrivateNetworkEndpoint resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: DocumentdbPrivateNetworkEndpointArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: DocumentdbPrivateNetworkEndpointArgs | DocumentdbPrivateNetworkEndpointState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as DocumentdbPrivateNetworkEndpointState | undefined; - resourceInputs["instanceId"] = state ? state.instanceId : undefined; - resourceInputs["privateNetwork"] = state ? state.privateNetwork : undefined; - resourceInputs["region"] = state ? state.region : undefined; - } else { - const args = argsOrState as DocumentdbPrivateNetworkEndpointArgs | undefined; - if ((!args || args.instanceId === undefined) && !opts.urn) { - throw new Error("Missing required property 'instanceId'"); - } - resourceInputs["instanceId"] = args ? args.instanceId : undefined; - resourceInputs["privateNetwork"] = args ? args.privateNetwork : undefined; - resourceInputs["region"] = args ? args.region : undefined; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - super(DocumentdbPrivateNetworkEndpoint.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering DocumentdbPrivateNetworkEndpoint resources. - */ -export interface DocumentdbPrivateNetworkEndpointState { - /** - * UUID of the documentdb instance. - */ - instanceId?: pulumi.Input; - /** - * The private network specs details. This is a list with maximum one element and supports the following attributes: - */ - privateNetwork?: pulumi.Input; - /** - * The region of the endpoint. - * - * - * > **NOTE:** Please calculate your host IP. - * using cirhost. Otherwise, lets IPAM service - * handle the host IP on the network. - */ - region?: pulumi.Input; -} - -/** - * The set of arguments for constructing a DocumentdbPrivateNetworkEndpoint resource. - */ -export interface DocumentdbPrivateNetworkEndpointArgs { - /** - * UUID of the documentdb instance. - */ - instanceId: pulumi.Input; - /** - * The private network specs details. This is a list with maximum one element and supports the following attributes: - */ - privateNetwork?: pulumi.Input; - /** - * The region of the endpoint. - * - * - * > **NOTE:** Please calculate your host IP. - * using cirhost. Otherwise, lets IPAM service - * handle the host IP on the network. - */ - region?: pulumi.Input; -} diff --git a/sdk/nodejs/documentdbPrivilege.ts b/sdk/nodejs/documentdbPrivilege.ts deleted file mode 100644 index 49cbf599..00000000 --- a/sdk/nodejs/documentdbPrivilege.ts +++ /dev/null @@ -1,184 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "./utilities"; - -/** - * Create and manage Scaleway DocumentDB database privilege. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const instance = new scaleway.DocumentdbInstance("instance", { - * name: "test-document_db-basic", - * nodeType: "docdb-play2-pico", - * engine: "FerretDB-1", - * userName: "my_initial_user", - * password: "thiZ_is_v&ry_s3cret", - * volumeSizeInGb: 20, - * }); - * const main = new scaleway.DocumentdbPrivilege("main", { - * instanceId: instance.id, - * userName: "my-db-user", - * databaseName: "my-db-name", - * permission: "all", - * }); - * ``` - * - * ## Import - * - * The user privileges can be imported using the `{region}/{instance_id}/{database_name}/{user_name}`, e.g. - * - * bash - * - * ```sh - * $ pulumi import scaleway:index/documentdbPrivilege:DocumentdbPrivilege o fr-par/11111111-1111-1111-1111-111111111111/database_name/foo - * ``` - */ -export class DocumentdbPrivilege extends pulumi.CustomResource { - /** - * Get an existing DocumentdbPrivilege resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: DocumentdbPrivilegeState, opts?: pulumi.CustomResourceOptions): DocumentdbPrivilege { - return new DocumentdbPrivilege(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'scaleway:index/documentdbPrivilege:DocumentdbPrivilege'; - - /** - * Returns true if the given object is an instance of DocumentdbPrivilege. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is DocumentdbPrivilege { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === DocumentdbPrivilege.__pulumiType; - } - - /** - * Name of the database (e.g. `my-db-name`). - */ - public readonly databaseName!: pulumi.Output; - /** - * UUID of the rdb instance. - */ - public readonly instanceId!: pulumi.Output; - /** - * Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - */ - public readonly permission!: pulumi.Output; - /** - * `region`) The region in which the resource exists. - */ - public readonly region!: pulumi.Output; - /** - * Name of the user (e.g. `my-db-user`). - */ - public readonly userName!: pulumi.Output; - - /** - * Create a DocumentdbPrivilege resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: DocumentdbPrivilegeArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: DocumentdbPrivilegeArgs | DocumentdbPrivilegeState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as DocumentdbPrivilegeState | undefined; - resourceInputs["databaseName"] = state ? state.databaseName : undefined; - resourceInputs["instanceId"] = state ? state.instanceId : undefined; - resourceInputs["permission"] = state ? state.permission : undefined; - resourceInputs["region"] = state ? state.region : undefined; - resourceInputs["userName"] = state ? state.userName : undefined; - } else { - const args = argsOrState as DocumentdbPrivilegeArgs | undefined; - if ((!args || args.databaseName === undefined) && !opts.urn) { - throw new Error("Missing required property 'databaseName'"); - } - if ((!args || args.instanceId === undefined) && !opts.urn) { - throw new Error("Missing required property 'instanceId'"); - } - if ((!args || args.permission === undefined) && !opts.urn) { - throw new Error("Missing required property 'permission'"); - } - if ((!args || args.userName === undefined) && !opts.urn) { - throw new Error("Missing required property 'userName'"); - } - resourceInputs["databaseName"] = args ? args.databaseName : undefined; - resourceInputs["instanceId"] = args ? args.instanceId : undefined; - resourceInputs["permission"] = args ? args.permission : undefined; - resourceInputs["region"] = args ? args.region : undefined; - resourceInputs["userName"] = args ? args.userName : undefined; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - super(DocumentdbPrivilege.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering DocumentdbPrivilege resources. - */ -export interface DocumentdbPrivilegeState { - /** - * Name of the database (e.g. `my-db-name`). - */ - databaseName?: pulumi.Input; - /** - * UUID of the rdb instance. - */ - instanceId?: pulumi.Input; - /** - * Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - */ - permission?: pulumi.Input; - /** - * `region`) The region in which the resource exists. - */ - region?: pulumi.Input; - /** - * Name of the user (e.g. `my-db-user`). - */ - userName?: pulumi.Input; -} - -/** - * The set of arguments for constructing a DocumentdbPrivilege resource. - */ -export interface DocumentdbPrivilegeArgs { - /** - * Name of the database (e.g. `my-db-name`). - */ - databaseName: pulumi.Input; - /** - * UUID of the rdb instance. - */ - instanceId: pulumi.Input; - /** - * Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - */ - permission: pulumi.Input; - /** - * `region`) The region in which the resource exists. - */ - region?: pulumi.Input; - /** - * Name of the user (e.g. `my-db-user`). - */ - userName: pulumi.Input; -} diff --git a/sdk/nodejs/documentdbReadReplica.ts b/sdk/nodejs/documentdbReadReplica.ts deleted file mode 100644 index 1325cf07..00000000 --- a/sdk/nodejs/documentdbReadReplica.ts +++ /dev/null @@ -1,188 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "./types/input"; -import * as outputs from "./types/output"; -import * as utilities from "./utilities"; - -/** - * Creates and manages Scaleway DocumentDB Database read replicas. - * - * ## Example Usage - * - * ### Basic - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const replica = new scaleway.DocumentdbReadReplica("replica", { - * instanceId: "11111111-1111-1111-1111-111111111111", - * directAccess: {}, - * }); - * ``` - * - * ### Private network - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const pn = new scaleway.VpcPrivateNetwork("pn", {}); - * const instance = new scaleway.DocumentdbInstance("instance", { - * name: "document_db-read-replica-basic", - * nodeType: "docdb-play2-pico", - * engine: "FerretDB-1", - * userName: "my_initial_user", - * password: "thiZ_is_v&ry_s3cret", - * volumeSizeInGb: 20, - * }); - * const replica = new scaleway.DocumentdbReadReplica("replica", { - * instanceId: instance.id, - * privateNetwork: { - * privateNetworkId: pn.id, - * serviceIp: "192.168.1.254/24", - * }, - * }); - * ``` - * - * ## Import - * - * Database Read replica can be imported using the `{region}/{id}`, e.g. - * - * bash - * - * ```sh - * $ pulumi import scaleway:index/documentdbReadReplica:DocumentdbReadReplica rr fr-par/11111111-1111-1111-1111-111111111111 - * ``` - */ -export class DocumentdbReadReplica extends pulumi.CustomResource { - /** - * Get an existing DocumentdbReadReplica resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: DocumentdbReadReplicaState, opts?: pulumi.CustomResourceOptions): DocumentdbReadReplica { - return new DocumentdbReadReplica(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'scaleway:index/documentdbReadReplica:DocumentdbReadReplica'; - - /** - * Returns true if the given object is an instance of DocumentdbReadReplica. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is DocumentdbReadReplica { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === DocumentdbReadReplica.__pulumiType; - } - - /** - * Creates a direct access endpoint to documentdb replica. - */ - public readonly directAccess!: pulumi.Output; - /** - * UUID of the documentdb instance. - * - * > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. - */ - public readonly instanceId!: pulumi.Output; - /** - * Create an endpoint in a private network. - */ - public readonly privateNetwork!: pulumi.Output; - /** - * `region`) The region - * in which the Database read replica should be created. - */ - public readonly region!: pulumi.Output; - - /** - * Create a DocumentdbReadReplica resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: DocumentdbReadReplicaArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: DocumentdbReadReplicaArgs | DocumentdbReadReplicaState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as DocumentdbReadReplicaState | undefined; - resourceInputs["directAccess"] = state ? state.directAccess : undefined; - resourceInputs["instanceId"] = state ? state.instanceId : undefined; - resourceInputs["privateNetwork"] = state ? state.privateNetwork : undefined; - resourceInputs["region"] = state ? state.region : undefined; - } else { - const args = argsOrState as DocumentdbReadReplicaArgs | undefined; - if ((!args || args.instanceId === undefined) && !opts.urn) { - throw new Error("Missing required property 'instanceId'"); - } - resourceInputs["directAccess"] = args ? args.directAccess : undefined; - resourceInputs["instanceId"] = args ? args.instanceId : undefined; - resourceInputs["privateNetwork"] = args ? args.privateNetwork : undefined; - resourceInputs["region"] = args ? args.region : undefined; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - super(DocumentdbReadReplica.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering DocumentdbReadReplica resources. - */ -export interface DocumentdbReadReplicaState { - /** - * Creates a direct access endpoint to documentdb replica. - */ - directAccess?: pulumi.Input; - /** - * UUID of the documentdb instance. - * - * > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. - */ - instanceId?: pulumi.Input; - /** - * Create an endpoint in a private network. - */ - privateNetwork?: pulumi.Input; - /** - * `region`) The region - * in which the Database read replica should be created. - */ - region?: pulumi.Input; -} - -/** - * The set of arguments for constructing a DocumentdbReadReplica resource. - */ -export interface DocumentdbReadReplicaArgs { - /** - * Creates a direct access endpoint to documentdb replica. - */ - directAccess?: pulumi.Input; - /** - * UUID of the documentdb instance. - * - * > **Important:** The replica musts contains at least one of `directAccess` or `privateNetwork`. It can contain both. - */ - instanceId: pulumi.Input; - /** - * Create an endpoint in a private network. - */ - privateNetwork?: pulumi.Input; - /** - * `region`) The region - * in which the Database read replica should be created. - */ - region?: pulumi.Input; -} diff --git a/sdk/nodejs/documentdbUser.ts b/sdk/nodejs/documentdbUser.ts deleted file mode 100644 index d3d1b26c..00000000 --- a/sdk/nodejs/documentdbUser.ts +++ /dev/null @@ -1,199 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "./utilities"; - -/** - * Creates and manages Scaleway Database DocumentDB Users. - * - * ## Example Usage - * - * ### Basic - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as random from "@pulumi/random"; - * import * as scaleway from "@pulumiverse/scaleway"; - * - * const instance = new scaleway.DocumentdbInstance("instance", { - * name: "test-document_db-basic", - * nodeType: "docdb-play2-pico", - * engine: "FerretDB-1", - * userName: "my_initial_user", - * password: "thiZ_is_v&ry_s3cret", - * volumeSizeInGb: 20, - * }); - * const dbPassword = new random.RandomPassword("db_password", { - * length: 16, - * special: true, - * }); - * const dbAdmin = new scaleway.DocumentdbUser("db_admin", { - * instanceId: instance.id, - * name: "devtools", - * password: dbPassword.result, - * isAdmin: true, - * }); - * ``` - * - * ## Import - * - * Database User can be imported using `{region}/{instance_id}/{user_name}`, e.g. - * - * bash - * - * ```sh - * $ pulumi import scaleway:index/documentdbUser:DocumentdbUser admin fr-par/11111111-1111-1111-1111-111111111111/admin - * ``` - */ -export class DocumentdbUser extends pulumi.CustomResource { - /** - * Get an existing DocumentdbUser resource's state with the given name, ID, and optional extra - * properties used to qualify the lookup. - * - * @param name The _unique_ name of the resulting resource. - * @param id The _unique_ provider ID of the resource to lookup. - * @param state Any extra arguments used during the lookup. - * @param opts Optional settings to control the behavior of the CustomResource. - */ - public static get(name: string, id: pulumi.Input, state?: DocumentdbUserState, opts?: pulumi.CustomResourceOptions): DocumentdbUser { - return new DocumentdbUser(name, state, { ...opts, id: id }); - } - - /** @internal */ - public static readonly __pulumiType = 'scaleway:index/documentdbUser:DocumentdbUser'; - - /** - * Returns true if the given object is an instance of DocumentdbUser. This is designed to work even - * when multiple copies of the Pulumi SDK have been loaded into the same process. - */ - public static isInstance(obj: any): obj is DocumentdbUser { - if (obj === undefined || obj === null) { - return false; - } - return obj['__pulumiType'] === DocumentdbUser.__pulumiType; - } - - /** - * UUID of the documentDB instance. - * - * > **Important:** Updates to `instanceId` will recreate the Database User. - */ - public readonly instanceId!: pulumi.Output; - /** - * Grant admin permissions to the Database User. - */ - public readonly isAdmin!: pulumi.Output; - /** - * Database Username. - * - * > **Important:** Updates to `name` will recreate the Database User. - */ - public readonly name!: pulumi.Output; - /** - * Database User password. - */ - public readonly password!: pulumi.Output; - /** - * The Scaleway region this resource resides in. - */ - public readonly region!: pulumi.Output; - - /** - * Create a DocumentdbUser resource with the given unique name, arguments, and options. - * - * @param name The _unique_ name of the resource. - * @param args The arguments to use to populate this resource's properties. - * @param opts A bag of options that control this resource's behavior. - */ - constructor(name: string, args: DocumentdbUserArgs, opts?: pulumi.CustomResourceOptions) - constructor(name: string, argsOrState?: DocumentdbUserArgs | DocumentdbUserState, opts?: pulumi.CustomResourceOptions) { - let resourceInputs: pulumi.Inputs = {}; - opts = opts || {}; - if (opts.id) { - const state = argsOrState as DocumentdbUserState | undefined; - resourceInputs["instanceId"] = state ? state.instanceId : undefined; - resourceInputs["isAdmin"] = state ? state.isAdmin : undefined; - resourceInputs["name"] = state ? state.name : undefined; - resourceInputs["password"] = state ? state.password : undefined; - resourceInputs["region"] = state ? state.region : undefined; - } else { - const args = argsOrState as DocumentdbUserArgs | undefined; - if ((!args || args.instanceId === undefined) && !opts.urn) { - throw new Error("Missing required property 'instanceId'"); - } - if ((!args || args.password === undefined) && !opts.urn) { - throw new Error("Missing required property 'password'"); - } - resourceInputs["instanceId"] = args ? args.instanceId : undefined; - resourceInputs["isAdmin"] = args ? args.isAdmin : undefined; - resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; - resourceInputs["region"] = args ? args.region : undefined; - } - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const secretOpts = { additionalSecretOutputs: ["password"] }; - opts = pulumi.mergeOptions(opts, secretOpts); - super(DocumentdbUser.__pulumiType, name, resourceInputs, opts); - } -} - -/** - * Input properties used for looking up and filtering DocumentdbUser resources. - */ -export interface DocumentdbUserState { - /** - * UUID of the documentDB instance. - * - * > **Important:** Updates to `instanceId` will recreate the Database User. - */ - instanceId?: pulumi.Input; - /** - * Grant admin permissions to the Database User. - */ - isAdmin?: pulumi.Input; - /** - * Database Username. - * - * > **Important:** Updates to `name` will recreate the Database User. - */ - name?: pulumi.Input; - /** - * Database User password. - */ - password?: pulumi.Input; - /** - * The Scaleway region this resource resides in. - */ - region?: pulumi.Input; -} - -/** - * The set of arguments for constructing a DocumentdbUser resource. - */ -export interface DocumentdbUserArgs { - /** - * UUID of the documentDB instance. - * - * > **Important:** Updates to `instanceId` will recreate the Database User. - */ - instanceId: pulumi.Input; - /** - * Grant admin permissions to the Database User. - */ - isAdmin?: pulumi.Input; - /** - * Database Username. - * - * > **Important:** Updates to `name` will recreate the Database User. - */ - name?: pulumi.Input; - /** - * Database User password. - */ - password: pulumi.Input; - /** - * The Scaleway region this resource resides in. - */ - region?: pulumi.Input; -} diff --git a/sdk/nodejs/getDocumentdbDatabase.ts b/sdk/nodejs/getDocumentdbDatabase.ts deleted file mode 100644 index f539a622..00000000 --- a/sdk/nodejs/getDocumentdbDatabase.ts +++ /dev/null @@ -1,110 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "./utilities"; - -/** - * Gets information about DocumentDB database. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumi/scaleway"; - * - * // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111 - * const main = scaleway.getDocumentdbDatabase({ - * instanceId: "11111111-1111-1111-1111-111111111111", - * name: "foobar", - * }); - * ``` - */ -export function getDocumentdbDatabase(args: GetDocumentdbDatabaseArgs, opts?: pulumi.InvokeOptions): Promise { - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase", { - "instanceId": args.instanceId, - "name": args.name, - "region": args.region, - }, opts); -} - -/** - * A collection of arguments for invoking getDocumentdbDatabase. - */ -export interface GetDocumentdbDatabaseArgs { - /** - * The DocumentDB instance ID. - */ - instanceId: string; - /** - * The name of the DocumentDB instance. - */ - name?: string; - region?: string; -} - -/** - * A collection of values returned by getDocumentdbDatabase. - */ -export interface GetDocumentdbDatabaseResult { - /** - * The provider-assigned unique ID for this managed resource. - */ - readonly id: string; - readonly instanceId: string; - /** - * Whether the database is managed or not. - */ - readonly managed: boolean; - readonly name?: string; - /** - * The name of the owner of the database. - */ - readonly owner: string; - readonly projectId: string; - readonly region?: string; - /** - * Size of the database (in bytes). - */ - readonly size: string; -} -/** - * Gets information about DocumentDB database. - * - * ## Example Usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as scaleway from "@pulumi/scaleway"; - * - * // Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111 - * const main = scaleway.getDocumentdbDatabase({ - * instanceId: "11111111-1111-1111-1111-111111111111", - * name: "foobar", - * }); - * ``` - */ -export function getDocumentdbDatabaseOutput(args: GetDocumentdbDatabaseOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invokeOutput("scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase", { - "instanceId": args.instanceId, - "name": args.name, - "region": args.region, - }, opts); -} - -/** - * A collection of arguments for invoking getDocumentdbDatabase. - */ -export interface GetDocumentdbDatabaseOutputArgs { - /** - * The DocumentDB instance ID. - */ - instanceId: pulumi.Input; - /** - * The name of the DocumentDB instance. - */ - name?: pulumi.Input; - region?: pulumi.Input; -} diff --git a/sdk/nodejs/getDocumentdbInstance.ts b/sdk/nodejs/getDocumentdbInstance.ts deleted file mode 100644 index 2ecd5b51..00000000 --- a/sdk/nodejs/getDocumentdbInstance.ts +++ /dev/null @@ -1,103 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "./utilities"; - -/** - * Gets information about an DocumentDB instance. - */ -export function getDocumentdbInstance(args?: GetDocumentdbInstanceArgs, opts?: pulumi.InvokeOptions): Promise { - args = args || {}; - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("scaleway:index/getDocumentdbInstance:getDocumentdbInstance", { - "instanceId": args.instanceId, - "name": args.name, - "projectId": args.projectId, - "region": args.region, - }, opts); -} - -/** - * A collection of arguments for invoking getDocumentdbInstance. - */ -export interface GetDocumentdbInstanceArgs { - /** - * The DocumentDB instance ID. - * Only one of `name` and `instanceId` should be specified. - */ - instanceId?: string; - /** - * The name of the DocumentDB instance. - * Only one of `name` and `instanceId` should be specified. - */ - name?: string; - /** - * The ID of the project the DocumentDB instance is associated with. - */ - projectId?: string; - /** - * `region`) The region in which the DocumentDB instance exists. - */ - region?: string; -} - -/** - * A collection of values returned by getDocumentdbInstance. - */ -export interface GetDocumentdbInstanceResult { - readonly engine: string; - /** - * The provider-assigned unique ID for this managed resource. - */ - readonly id: string; - readonly instanceId?: string; - readonly isHaCluster: boolean; - readonly name?: string; - readonly nodeType: string; - readonly password: string; - readonly projectId?: string; - readonly region?: string; - readonly tags: string[]; - readonly telemetryEnabled: boolean; - readonly userName: string; - readonly volumeSizeInGb: number; - readonly volumeType: string; -} -/** - * Gets information about an DocumentDB instance. - */ -export function getDocumentdbInstanceOutput(args?: GetDocumentdbInstanceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - args = args || {}; - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invokeOutput("scaleway:index/getDocumentdbInstance:getDocumentdbInstance", { - "instanceId": args.instanceId, - "name": args.name, - "projectId": args.projectId, - "region": args.region, - }, opts); -} - -/** - * A collection of arguments for invoking getDocumentdbInstance. - */ -export interface GetDocumentdbInstanceOutputArgs { - /** - * The DocumentDB instance ID. - * Only one of `name` and `instanceId` should be specified. - */ - instanceId?: pulumi.Input; - /** - * The name of the DocumentDB instance. - * Only one of `name` and `instanceId` should be specified. - */ - name?: pulumi.Input; - /** - * The ID of the project the DocumentDB instance is associated with. - */ - projectId?: pulumi.Input; - /** - * `region`) The region in which the DocumentDB instance exists. - */ - region?: pulumi.Input; -} diff --git a/sdk/nodejs/getDocumentdbLoadBalancerEndpoint.ts b/sdk/nodejs/getDocumentdbLoadBalancerEndpoint.ts deleted file mode 100644 index 18fbb104..00000000 --- a/sdk/nodejs/getDocumentdbLoadBalancerEndpoint.ts +++ /dev/null @@ -1,106 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -import * as pulumi from "@pulumi/pulumi"; -import * as utilities from "./utilities"; - -/** - * Gets information about an DocumentDB load balancer endpoint. - */ -export function getDocumentdbLoadBalancerEndpoint(args?: GetDocumentdbLoadBalancerEndpointArgs, opts?: pulumi.InvokeOptions): Promise { - args = args || {}; - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invoke("scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint", { - "instanceId": args.instanceId, - "instanceName": args.instanceName, - "projectId": args.projectId, - "region": args.region, - }, opts); -} - -/** - * A collection of arguments for invoking getDocumentdbLoadBalancerEndpoint. - */ -export interface GetDocumentdbLoadBalancerEndpointArgs { - /** - * The DocumentDB Instance on which the endpoint is attached. Only one of `instanceName` and `instanceId` should be specified. - */ - instanceId?: string; - /** - * The DocumentDB Instance Name on which the endpoint is attached. Only one of `instanceName` and `instanceId` should be specified. - */ - instanceName?: string; - /** - * The ID of the project the DocumentDB endpoint is associated with. - */ - projectId?: string; - /** - * `region`) The region in which the DocumentDB endpoint exists. - */ - region?: string; -} - -/** - * A collection of values returned by getDocumentdbLoadBalancerEndpoint. - */ -export interface GetDocumentdbLoadBalancerEndpointResult { - /** - * The hostname of your endpoint. - */ - readonly hostname: string; - /** - * The provider-assigned unique ID for this managed resource. - */ - readonly id: string; - readonly instanceId: string; - readonly instanceName: string; - /** - * The IP of your load balancer service. - */ - readonly ip: string; - /** - * The name of your load balancer service. - */ - readonly name: string; - /** - * The port of your load balancer service. - */ - readonly port: number; - readonly projectId: string; - readonly region: string; -} -/** - * Gets information about an DocumentDB load balancer endpoint. - */ -export function getDocumentdbLoadBalancerEndpointOutput(args?: GetDocumentdbLoadBalancerEndpointOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { - args = args || {}; - opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); - return pulumi.runtime.invokeOutput("scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint", { - "instanceId": args.instanceId, - "instanceName": args.instanceName, - "projectId": args.projectId, - "region": args.region, - }, opts); -} - -/** - * A collection of arguments for invoking getDocumentdbLoadBalancerEndpoint. - */ -export interface GetDocumentdbLoadBalancerEndpointOutputArgs { - /** - * The DocumentDB Instance on which the endpoint is attached. Only one of `instanceName` and `instanceId` should be specified. - */ - instanceId?: pulumi.Input; - /** - * The DocumentDB Instance Name on which the endpoint is attached. Only one of `instanceName` and `instanceId` should be specified. - */ - instanceName?: pulumi.Input; - /** - * The ID of the project the DocumentDB endpoint is associated with. - */ - projectId?: pulumi.Input; - /** - * `region`) The region in which the DocumentDB endpoint exists. - */ - region?: pulumi.Input; -} diff --git a/sdk/nodejs/getInstancePrivateNic.ts b/sdk/nodejs/getInstancePrivateNic.ts index 2be0bbcf..5a6914dc 100644 --- a/sdk/nodejs/getInstancePrivateNic.ts +++ b/sdk/nodejs/getInstancePrivateNic.ts @@ -76,6 +76,7 @@ export interface GetInstancePrivateNicResult { */ readonly id: string; readonly ipIds: string[]; + readonly ipamIpIds: string[]; readonly macAddress: string; readonly privateNetworkId?: string; readonly privateNicId?: string; diff --git a/sdk/nodejs/getRegistryImageTag.ts b/sdk/nodejs/getRegistryImageTag.ts new file mode 100644 index 00000000..494aae51 --- /dev/null +++ b/sdk/nodejs/getRegistryImageTag.ts @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Gets information about a specific tag of a Container Registry image. + */ +export function getRegistryImageTag(args: GetRegistryImageTagArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("scaleway:index/getRegistryImageTag:getRegistryImageTag", { + "imageId": args.imageId, + "name": args.name, + "projectId": args.projectId, + "region": args.region, + "tagId": args.tagId, + }, opts); +} + +/** + * A collection of arguments for invoking getRegistryImageTag. + */ +export interface GetRegistryImageTagArgs { + /** + * The ID of the registry image. + */ + imageId: string; + /** + * The name of the registry image tag. + */ + name?: string; + /** + * The ID of the project the image tag is associated with. + */ + projectId?: string; + /** + * The region in which the registry image tag exists. + */ + region?: string; + /** + * The ID of the registry image tag. + */ + tagId?: string; +} + +/** + * A collection of values returned by getRegistryImageTag. + */ +export interface GetRegistryImageTagResult { + /** + * The date and time when the registry image tag was created. + */ + readonly createdAt: string; + /** + * Hash of the tag content. Several tags of the same image may have the same digest. + */ + readonly digest: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly imageId: string; + readonly name?: string; + /** + * The organization ID the image tag is associated with. + */ + readonly organizationId: string; + readonly projectId: string; + readonly region: string; + /** + * The status of the registry image tag. + */ + readonly status: string; + readonly tagId?: string; + /** + * The date and time of the last update to the registry image tag. + */ + readonly updatedAt: string; +} +/** + * Gets information about a specific tag of a Container Registry image. + */ +export function getRegistryImageTagOutput(args: GetRegistryImageTagOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("scaleway:index/getRegistryImageTag:getRegistryImageTag", { + "imageId": args.imageId, + "name": args.name, + "projectId": args.projectId, + "region": args.region, + "tagId": args.tagId, + }, opts); +} + +/** + * A collection of arguments for invoking getRegistryImageTag. + */ +export interface GetRegistryImageTagOutputArgs { + /** + * The ID of the registry image. + */ + imageId: pulumi.Input; + /** + * The name of the registry image tag. + */ + name?: pulumi.Input; + /** + * The ID of the project the image tag is associated with. + */ + projectId?: pulumi.Input; + /** + * The region in which the registry image tag exists. + */ + region?: pulumi.Input; + /** + * The ID of the registry image tag. + */ + tagId?: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 56066e7c..86f96cf9 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -125,36 +125,6 @@ export type DatabaseUser = import("./databaseUser").DatabaseUser; export const DatabaseUser: typeof import("./databaseUser").DatabaseUser = null as any; utilities.lazyLoad(exports, ["DatabaseUser"], () => require("./databaseUser")); -export { DocumentdbDatabaseArgs, DocumentdbDatabaseState } from "./documentdbDatabase"; -export type DocumentdbDatabase = import("./documentdbDatabase").DocumentdbDatabase; -export const DocumentdbDatabase: typeof import("./documentdbDatabase").DocumentdbDatabase = null as any; -utilities.lazyLoad(exports, ["DocumentdbDatabase"], () => require("./documentdbDatabase")); - -export { DocumentdbInstanceArgs, DocumentdbInstanceState } from "./documentdbInstance"; -export type DocumentdbInstance = import("./documentdbInstance").DocumentdbInstance; -export const DocumentdbInstance: typeof import("./documentdbInstance").DocumentdbInstance = null as any; -utilities.lazyLoad(exports, ["DocumentdbInstance"], () => require("./documentdbInstance")); - -export { DocumentdbPrivateNetworkEndpointArgs, DocumentdbPrivateNetworkEndpointState } from "./documentdbPrivateNetworkEndpoint"; -export type DocumentdbPrivateNetworkEndpoint = import("./documentdbPrivateNetworkEndpoint").DocumentdbPrivateNetworkEndpoint; -export const DocumentdbPrivateNetworkEndpoint: typeof import("./documentdbPrivateNetworkEndpoint").DocumentdbPrivateNetworkEndpoint = null as any; -utilities.lazyLoad(exports, ["DocumentdbPrivateNetworkEndpoint"], () => require("./documentdbPrivateNetworkEndpoint")); - -export { DocumentdbPrivilegeArgs, DocumentdbPrivilegeState } from "./documentdbPrivilege"; -export type DocumentdbPrivilege = import("./documentdbPrivilege").DocumentdbPrivilege; -export const DocumentdbPrivilege: typeof import("./documentdbPrivilege").DocumentdbPrivilege = null as any; -utilities.lazyLoad(exports, ["DocumentdbPrivilege"], () => require("./documentdbPrivilege")); - -export { DocumentdbReadReplicaArgs, DocumentdbReadReplicaState } from "./documentdbReadReplica"; -export type DocumentdbReadReplica = import("./documentdbReadReplica").DocumentdbReadReplica; -export const DocumentdbReadReplica: typeof import("./documentdbReadReplica").DocumentdbReadReplica = null as any; -utilities.lazyLoad(exports, ["DocumentdbReadReplica"], () => require("./documentdbReadReplica")); - -export { DocumentdbUserArgs, DocumentdbUserState } from "./documentdbUser"; -export type DocumentdbUser = import("./documentdbUser").DocumentdbUser; -export const DocumentdbUser: typeof import("./documentdbUser").DocumentdbUser = null as any; -utilities.lazyLoad(exports, ["DocumentdbUser"], () => require("./documentdbUser")); - export { DomainRecordArgs, DomainRecordState } from "./domainRecord"; export type DomainRecord = import("./domainRecord").DomainRecord; export const DomainRecord: typeof import("./domainRecord").DomainRecord = null as any; @@ -310,21 +280,6 @@ export const getDatabasePrivilege: typeof import("./getDatabasePrivilege").getDa export const getDatabasePrivilegeOutput: typeof import("./getDatabasePrivilege").getDatabasePrivilegeOutput = null as any; utilities.lazyLoad(exports, ["getDatabasePrivilege","getDatabasePrivilegeOutput"], () => require("./getDatabasePrivilege")); -export { GetDocumentdbDatabaseArgs, GetDocumentdbDatabaseResult, GetDocumentdbDatabaseOutputArgs } from "./getDocumentdbDatabase"; -export const getDocumentdbDatabase: typeof import("./getDocumentdbDatabase").getDocumentdbDatabase = null as any; -export const getDocumentdbDatabaseOutput: typeof import("./getDocumentdbDatabase").getDocumentdbDatabaseOutput = null as any; -utilities.lazyLoad(exports, ["getDocumentdbDatabase","getDocumentdbDatabaseOutput"], () => require("./getDocumentdbDatabase")); - -export { GetDocumentdbInstanceArgs, GetDocumentdbInstanceResult, GetDocumentdbInstanceOutputArgs } from "./getDocumentdbInstance"; -export const getDocumentdbInstance: typeof import("./getDocumentdbInstance").getDocumentdbInstance = null as any; -export const getDocumentdbInstanceOutput: typeof import("./getDocumentdbInstance").getDocumentdbInstanceOutput = null as any; -utilities.lazyLoad(exports, ["getDocumentdbInstance","getDocumentdbInstanceOutput"], () => require("./getDocumentdbInstance")); - -export { GetDocumentdbLoadBalancerEndpointArgs, GetDocumentdbLoadBalancerEndpointResult, GetDocumentdbLoadBalancerEndpointOutputArgs } from "./getDocumentdbLoadBalancerEndpoint"; -export const getDocumentdbLoadBalancerEndpoint: typeof import("./getDocumentdbLoadBalancerEndpoint").getDocumentdbLoadBalancerEndpoint = null as any; -export const getDocumentdbLoadBalancerEndpointOutput: typeof import("./getDocumentdbLoadBalancerEndpoint").getDocumentdbLoadBalancerEndpointOutput = null as any; -utilities.lazyLoad(exports, ["getDocumentdbLoadBalancerEndpoint","getDocumentdbLoadBalancerEndpointOutput"], () => require("./getDocumentdbLoadBalancerEndpoint")); - export { GetDomainRecordArgs, GetDomainRecordResult, GetDomainRecordOutputArgs } from "./getDomainRecord"; export const getDomainRecord: typeof import("./getDomainRecord").getDomainRecord = null as any; export const getDomainRecordOutput: typeof import("./getDomainRecord").getDomainRecordOutput = null as any; @@ -555,6 +510,11 @@ export const getRegistryImage: typeof import("./getRegistryImage").getRegistryIm export const getRegistryImageOutput: typeof import("./getRegistryImage").getRegistryImageOutput = null as any; utilities.lazyLoad(exports, ["getRegistryImage","getRegistryImageOutput"], () => require("./getRegistryImage")); +export { GetRegistryImageTagArgs, GetRegistryImageTagResult, GetRegistryImageTagOutputArgs } from "./getRegistryImageTag"; +export const getRegistryImageTag: typeof import("./getRegistryImageTag").getRegistryImageTag = null as any; +export const getRegistryImageTagOutput: typeof import("./getRegistryImageTag").getRegistryImageTagOutput = null as any; +utilities.lazyLoad(exports, ["getRegistryImageTag","getRegistryImageTagOutput"], () => require("./getRegistryImageTag")); + export { GetRegistryNamespaceArgs, GetRegistryNamespaceResult, GetRegistryNamespaceOutputArgs } from "./getRegistryNamespace"; export const getRegistryNamespace: typeof import("./getRegistryNamespace").getRegistryNamespace = null as any; export const getRegistryNamespaceOutput: typeof import("./getRegistryNamespace").getRegistryNamespaceOutput = null as any; @@ -1042,18 +1002,6 @@ const _module = { return new DatabaseReadReplica(name, undefined, { urn }) case "scaleway:index/databaseUser:DatabaseUser": return new DatabaseUser(name, undefined, { urn }) - case "scaleway:index/documentdbDatabase:DocumentdbDatabase": - return new DocumentdbDatabase(name, undefined, { urn }) - case "scaleway:index/documentdbInstance:DocumentdbInstance": - return new DocumentdbInstance(name, undefined, { urn }) - case "scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint": - return new DocumentdbPrivateNetworkEndpoint(name, undefined, { urn }) - case "scaleway:index/documentdbPrivilege:DocumentdbPrivilege": - return new DocumentdbPrivilege(name, undefined, { urn }) - case "scaleway:index/documentdbReadReplica:DocumentdbReadReplica": - return new DocumentdbReadReplica(name, undefined, { urn }) - case "scaleway:index/documentdbUser:DocumentdbUser": - return new DocumentdbUser(name, undefined, { urn }) case "scaleway:index/domainRecord:DomainRecord": return new DomainRecord(name, undefined, { urn }) case "scaleway:index/domainZone:DomainZone": @@ -1239,12 +1187,6 @@ pulumi.runtime.registerResourceModule("scaleway", "index/databaseInstance", _mod pulumi.runtime.registerResourceModule("scaleway", "index/databasePrivilege", _module) pulumi.runtime.registerResourceModule("scaleway", "index/databaseReadReplica", _module) pulumi.runtime.registerResourceModule("scaleway", "index/databaseUser", _module) -pulumi.runtime.registerResourceModule("scaleway", "index/documentdbDatabase", _module) -pulumi.runtime.registerResourceModule("scaleway", "index/documentdbInstance", _module) -pulumi.runtime.registerResourceModule("scaleway", "index/documentdbPrivateNetworkEndpoint", _module) -pulumi.runtime.registerResourceModule("scaleway", "index/documentdbPrivilege", _module) -pulumi.runtime.registerResourceModule("scaleway", "index/documentdbReadReplica", _module) -pulumi.runtime.registerResourceModule("scaleway", "index/documentdbUser", _module) pulumi.runtime.registerResourceModule("scaleway", "index/domainRecord", _module) pulumi.runtime.registerResourceModule("scaleway", "index/domainZone", _module) pulumi.runtime.registerResourceModule("scaleway", "index/flexibleIp", _module) diff --git a/sdk/nodejs/instancePrivateNic.ts b/sdk/nodejs/instancePrivateNic.ts index 0a68d0f6..cc2cbbe9 100644 --- a/sdk/nodejs/instancePrivateNic.ts +++ b/sdk/nodejs/instancePrivateNic.ts @@ -30,7 +30,7 @@ import * as utilities from "./utilities"; * * const pn01 = new scaleway.VpcPrivateNetwork("pn01", { * name: "private_network_instance", - * zone: "fr-par-2", + * region: "fr-par", * }); * const base = new scaleway.InstanceServer("base", { * image: "ubuntu_jammy", @@ -44,6 +44,37 @@ import * as utilities from "./utilities"; * }); * ``` * + * ### With IPAM IP IDs + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as scaleway from "@pulumiverse/scaleway"; + * + * const vpc01 = new scaleway.Vpc("vpc01", {name: "vpc_instance"}); + * const pn01 = new scaleway.VpcPrivateNetwork("pn01", { + * name: "private_network_instance", + * ipv4Subnet: { + * subnet: "172.16.64.0/22", + * }, + * vpcId: vpc01.id, + * }); + * const ip01 = new scaleway.IpamIp("ip01", { + * address: "172.16.64.7", + * sources: [{ + * privateNetworkId: pn01.id, + * }], + * }); + * const server01 = new scaleway.InstanceServer("server01", { + * image: "ubuntu_focal", + * type: "PLAY2-MICRO", + * }); + * const pnic01 = new scaleway.InstancePrivateNic("pnic01", { + * privateNetworkId: pn01.id, + * serverId: server01.id, + * ipamIpIds: [ip01.id], + * }); + * ``` + * * ## Import * * Private NICs can be imported using the `{zone}/{server_id}/{private_nic_id}`, e.g. @@ -86,6 +117,10 @@ export class InstancePrivateNic extends pulumi.CustomResource { * IPAM ip list, should be for internal use only */ public readonly ipIds!: pulumi.Output; + /** + * IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + */ + public readonly ipamIpIds!: pulumi.Output; /** * The MAC address of the private NIC. */ @@ -121,6 +156,7 @@ export class InstancePrivateNic extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as InstancePrivateNicState | undefined; resourceInputs["ipIds"] = state ? state.ipIds : undefined; + resourceInputs["ipamIpIds"] = state ? state.ipamIpIds : undefined; resourceInputs["macAddress"] = state ? state.macAddress : undefined; resourceInputs["privateNetworkId"] = state ? state.privateNetworkId : undefined; resourceInputs["serverId"] = state ? state.serverId : undefined; @@ -135,6 +171,7 @@ export class InstancePrivateNic extends pulumi.CustomResource { throw new Error("Missing required property 'serverId'"); } resourceInputs["ipIds"] = args ? args.ipIds : undefined; + resourceInputs["ipamIpIds"] = args ? args.ipamIpIds : undefined; resourceInputs["privateNetworkId"] = args ? args.privateNetworkId : undefined; resourceInputs["serverId"] = args ? args.serverId : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -154,6 +191,10 @@ export interface InstancePrivateNicState { * IPAM ip list, should be for internal use only */ ipIds?: pulumi.Input[]>; + /** + * IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + */ + ipamIpIds?: pulumi.Input[]>; /** * The MAC address of the private NIC. */ @@ -184,6 +225,10 @@ export interface InstancePrivateNicArgs { * IPAM ip list, should be for internal use only */ ipIds?: pulumi.Input[]>; + /** + * IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + */ + ipamIpIds?: pulumi.Input[]>; /** * The ID of the private network attached to. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 2a06ffe8..5d8f38eb 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -39,12 +39,6 @@ "databasePrivilege.ts", "databaseReadReplica.ts", "databaseUser.ts", - "documentdbDatabase.ts", - "documentdbInstance.ts", - "documentdbPrivateNetworkEndpoint.ts", - "documentdbPrivilege.ts", - "documentdbReadReplica.ts", - "documentdbUser.ts", "domainRecord.ts", "domainZone.ts", "flexibleIp.ts", @@ -76,9 +70,6 @@ "getDatabaseBackup.ts", "getDatabaseInstance.ts", "getDatabasePrivilege.ts", - "getDocumentdbDatabase.ts", - "getDocumentdbInstance.ts", - "getDocumentdbLoadBalancerEndpoint.ts", "getDomainRecord.ts", "getDomainZone.ts", "getFlexibleIp.ts", @@ -125,6 +116,7 @@ "getObjectBucketPolicy.ts", "getRedisCluster.ts", "getRegistryImage.ts", + "getRegistryImageTag.ts", "getRegistryNamespace.ts", "getSecret.ts", "getSecretVersion.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 7935e91e..664a790c 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -383,97 +383,6 @@ export interface DatabaseReadReplicaPrivateNetwork { zone?: pulumi.Input; } -export interface DocumentdbPrivateNetworkEndpointPrivateNetwork { - /** - * The hostname of your endpoint. - */ - hostname?: pulumi.Input; - /** - * The private network ID. - */ - id: pulumi.Input; - /** - * The IP of your private network service. - */ - ip?: pulumi.Input; - /** - * The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - */ - ipNet?: pulumi.Input; - /** - * The name of your private service. - */ - name?: pulumi.Input; - /** - * The port of your private service. - */ - port?: pulumi.Input; - /** - * The zone of your endpoint. - */ - zone?: pulumi.Input; -} - -export interface DocumentdbReadReplicaDirectAccess { - /** - * The ID of the endpoint of the read replica. - */ - endpointId?: pulumi.Input; - /** - * Hostname of the endpoint. Only one of ip and hostname may be set. - */ - hostname?: pulumi.Input; - /** - * IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - */ - ip?: pulumi.Input; - /** - * Name of the endpoint. - */ - name?: pulumi.Input; - /** - * TCP port of the endpoint. - */ - port?: pulumi.Input; -} - -export interface DocumentdbReadReplicaPrivateNetwork { - /** - * The ID of the endpoint of the read replica. - */ - endpointId?: pulumi.Input; - /** - * Hostname of the endpoint. Only one of ip and hostname may be set. - */ - hostname?: pulumi.Input; - /** - * IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - */ - ip?: pulumi.Input; - /** - * Name of the endpoint. - */ - name?: pulumi.Input; - /** - * TCP port of the endpoint. - */ - port?: pulumi.Input; - /** - * UUID of the private network to be connected to the read replica. - */ - privateNetworkId: pulumi.Input; - /** - * The IP network address within the private subnet. This must be an IPv4 address with a - * CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - * service if not set. - */ - serviceIp?: pulumi.Input; - /** - * Private network zone - */ - zone?: pulumi.Input; -} - export interface DomainRecordGeoIp { /** * The list of matches diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 2ae98e7b..8fb08806 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -383,97 +383,6 @@ export interface DatabaseReadReplicaPrivateNetwork { zone: string; } -export interface DocumentdbPrivateNetworkEndpointPrivateNetwork { - /** - * The hostname of your endpoint. - */ - hostname: string; - /** - * The private network ID. - */ - id: string; - /** - * The IP of your private network service. - */ - ip: string; - /** - * The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - */ - ipNet: string; - /** - * The name of your private service. - */ - name: string; - /** - * The port of your private service. - */ - port: number; - /** - * The zone of your endpoint. - */ - zone: string; -} - -export interface DocumentdbReadReplicaDirectAccess { - /** - * The ID of the endpoint of the read replica. - */ - endpointId: string; - /** - * Hostname of the endpoint. Only one of ip and hostname may be set. - */ - hostname: string; - /** - * IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - */ - ip: string; - /** - * Name of the endpoint. - */ - name: string; - /** - * TCP port of the endpoint. - */ - port: number; -} - -export interface DocumentdbReadReplicaPrivateNetwork { - /** - * The ID of the endpoint of the read replica. - */ - endpointId: string; - /** - * Hostname of the endpoint. Only one of ip and hostname may be set. - */ - hostname: string; - /** - * IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - */ - ip: string; - /** - * Name of the endpoint. - */ - name: string; - /** - * TCP port of the endpoint. - */ - port: number; - /** - * UUID of the private network to be connected to the read replica. - */ - privateNetworkId: string; - /** - * The IP network address within the private subnet. This must be an IPv4 address with a - * CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - * service if not set. - */ - serviceIp: string; - /** - * Private network zone - */ - zone: string; -} - export interface DomainRecordGeoIp { /** * The list of matches diff --git a/sdk/python/pulumiverse_scaleway/__init__.py b/sdk/python/pulumiverse_scaleway/__init__.py index 8c10da36..e2008b02 100644 --- a/sdk/python/pulumiverse_scaleway/__init__.py +++ b/sdk/python/pulumiverse_scaleway/__init__.py @@ -29,12 +29,6 @@ from .database_privilege import * from .database_read_replica import * from .database_user import * -from .documentdb_database import * -from .documentdb_instance import * -from .documentdb_private_network_endpoint import * -from .documentdb_privilege import * -from .documentdb_read_replica import * -from .documentdb_user import * from .domain_record import * from .domain_zone import * from .flexible_ip import * @@ -66,9 +60,6 @@ from .get_database_backup import * from .get_database_instance import * from .get_database_privilege import * -from .get_documentdb_database import * -from .get_documentdb_instance import * -from .get_documentdb_load_balancer_endpoint import * from .get_domain_record import * from .get_domain_zone import * from .get_flexible_ip import * @@ -115,6 +106,7 @@ from .get_object_bucket_policy import * from .get_redis_cluster import * from .get_registry_image import * +from .get_registry_image_tag import * from .get_registry_namespace import * from .get_secret import * from .get_secret_version import * @@ -405,54 +397,6 @@ "scaleway:index/databaseUser:DatabaseUser": "DatabaseUser" } }, - { - "pkg": "scaleway", - "mod": "index/documentdbDatabase", - "fqn": "pulumiverse_scaleway", - "classes": { - "scaleway:index/documentdbDatabase:DocumentdbDatabase": "DocumentdbDatabase" - } - }, - { - "pkg": "scaleway", - "mod": "index/documentdbInstance", - "fqn": "pulumiverse_scaleway", - "classes": { - "scaleway:index/documentdbInstance:DocumentdbInstance": "DocumentdbInstance" - } - }, - { - "pkg": "scaleway", - "mod": "index/documentdbPrivateNetworkEndpoint", - "fqn": "pulumiverse_scaleway", - "classes": { - "scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint": "DocumentdbPrivateNetworkEndpoint" - } - }, - { - "pkg": "scaleway", - "mod": "index/documentdbPrivilege", - "fqn": "pulumiverse_scaleway", - "classes": { - "scaleway:index/documentdbPrivilege:DocumentdbPrivilege": "DocumentdbPrivilege" - } - }, - { - "pkg": "scaleway", - "mod": "index/documentdbReadReplica", - "fqn": "pulumiverse_scaleway", - "classes": { - "scaleway:index/documentdbReadReplica:DocumentdbReadReplica": "DocumentdbReadReplica" - } - }, - { - "pkg": "scaleway", - "mod": "index/documentdbUser", - "fqn": "pulumiverse_scaleway", - "classes": { - "scaleway:index/documentdbUser:DocumentdbUser": "DocumentdbUser" - } - }, { "pkg": "scaleway", "mod": "index/domainRecord", diff --git a/sdk/python/pulumiverse_scaleway/_inputs.py b/sdk/python/pulumiverse_scaleway/_inputs.py index e7ab47fb..daac2bcf 100644 --- a/sdk/python/pulumiverse_scaleway/_inputs.py +++ b/sdk/python/pulumiverse_scaleway/_inputs.py @@ -51,12 +51,6 @@ 'DatabaseReadReplicaDirectAccessArgsDict', 'DatabaseReadReplicaPrivateNetworkArgs', 'DatabaseReadReplicaPrivateNetworkArgsDict', - 'DocumentdbPrivateNetworkEndpointPrivateNetworkArgs', - 'DocumentdbPrivateNetworkEndpointPrivateNetworkArgsDict', - 'DocumentdbReadReplicaDirectAccessArgs', - 'DocumentdbReadReplicaDirectAccessArgsDict', - 'DocumentdbReadReplicaPrivateNetworkArgs', - 'DocumentdbReadReplicaPrivateNetworkArgsDict', 'DomainRecordGeoIpArgs', 'DomainRecordGeoIpArgsDict', 'DomainRecordGeoIpMatchArgs', @@ -2028,446 +2022,6 @@ def zone(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "zone", value) -if not MYPY: - class DocumentdbPrivateNetworkEndpointPrivateNetworkArgsDict(TypedDict): - id: pulumi.Input[str] - """ - The private network ID. - """ - hostname: NotRequired[pulumi.Input[str]] - """ - The hostname of your endpoint. - """ - ip: NotRequired[pulumi.Input[str]] - """ - The IP of your private network service. - """ - ip_net: NotRequired[pulumi.Input[str]] - """ - The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - """ - name: NotRequired[pulumi.Input[str]] - """ - The name of your private service. - """ - port: NotRequired[pulumi.Input[int]] - """ - The port of your private service. - """ - zone: NotRequired[pulumi.Input[str]] - """ - The zone of your endpoint. - """ -elif False: - DocumentdbPrivateNetworkEndpointPrivateNetworkArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class DocumentdbPrivateNetworkEndpointPrivateNetworkArgs: - def __init__(__self__, *, - id: pulumi.Input[str], - hostname: Optional[pulumi.Input[str]] = None, - ip: Optional[pulumi.Input[str]] = None, - ip_net: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - port: Optional[pulumi.Input[int]] = None, - zone: Optional[pulumi.Input[str]] = None): - """ - :param pulumi.Input[str] id: The private network ID. - :param pulumi.Input[str] hostname: The hostname of your endpoint. - :param pulumi.Input[str] ip: The IP of your private network service. - :param pulumi.Input[str] ip_net: The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - :param pulumi.Input[str] name: The name of your private service. - :param pulumi.Input[int] port: The port of your private service. - :param pulumi.Input[str] zone: The zone of your endpoint. - """ - pulumi.set(__self__, "id", id) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if ip is not None: - pulumi.set(__self__, "ip", ip) - if ip_net is not None: - pulumi.set(__self__, "ip_net", ip_net) - if name is not None: - pulumi.set(__self__, "name", name) - if port is not None: - pulumi.set(__self__, "port", port) - if zone is not None: - pulumi.set(__self__, "zone", zone) - - @property - @pulumi.getter - def id(self) -> pulumi.Input[str]: - """ - The private network ID. - """ - return pulumi.get(self, "id") - - @id.setter - def id(self, value: pulumi.Input[str]): - pulumi.set(self, "id", value) - - @property - @pulumi.getter - def hostname(self) -> Optional[pulumi.Input[str]]: - """ - The hostname of your endpoint. - """ - return pulumi.get(self, "hostname") - - @hostname.setter - def hostname(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "hostname", value) - - @property - @pulumi.getter - def ip(self) -> Optional[pulumi.Input[str]]: - """ - The IP of your private network service. - """ - return pulumi.get(self, "ip") - - @ip.setter - def ip(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "ip", value) - - @property - @pulumi.getter(name="ipNet") - def ip_net(self) -> Optional[pulumi.Input[str]]: - """ - The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - """ - return pulumi.get(self, "ip_net") - - @ip_net.setter - def ip_net(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "ip_net", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - The name of your private service. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: - """ - The port of your private service. - """ - return pulumi.get(self, "port") - - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) - - @property - @pulumi.getter - def zone(self) -> Optional[pulumi.Input[str]]: - """ - The zone of your endpoint. - """ - return pulumi.get(self, "zone") - - @zone.setter - def zone(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "zone", value) - - -if not MYPY: - class DocumentdbReadReplicaDirectAccessArgsDict(TypedDict): - endpoint_id: NotRequired[pulumi.Input[str]] - """ - The ID of the endpoint of the read replica. - """ - hostname: NotRequired[pulumi.Input[str]] - """ - Hostname of the endpoint. Only one of ip and hostname may be set. - """ - ip: NotRequired[pulumi.Input[str]] - """ - IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - """ - name: NotRequired[pulumi.Input[str]] - """ - Name of the endpoint. - """ - port: NotRequired[pulumi.Input[int]] - """ - TCP port of the endpoint. - """ -elif False: - DocumentdbReadReplicaDirectAccessArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class DocumentdbReadReplicaDirectAccessArgs: - def __init__(__self__, *, - endpoint_id: Optional[pulumi.Input[str]] = None, - hostname: Optional[pulumi.Input[str]] = None, - ip: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - port: Optional[pulumi.Input[int]] = None): - """ - :param pulumi.Input[str] endpoint_id: The ID of the endpoint of the read replica. - :param pulumi.Input[str] hostname: Hostname of the endpoint. Only one of ip and hostname may be set. - :param pulumi.Input[str] ip: IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - :param pulumi.Input[str] name: Name of the endpoint. - :param pulumi.Input[int] port: TCP port of the endpoint. - """ - if endpoint_id is not None: - pulumi.set(__self__, "endpoint_id", endpoint_id) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if ip is not None: - pulumi.set(__self__, "ip", ip) - if name is not None: - pulumi.set(__self__, "name", name) - if port is not None: - pulumi.set(__self__, "port", port) - - @property - @pulumi.getter(name="endpointId") - def endpoint_id(self) -> Optional[pulumi.Input[str]]: - """ - The ID of the endpoint of the read replica. - """ - return pulumi.get(self, "endpoint_id") - - @endpoint_id.setter - def endpoint_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "endpoint_id", value) - - @property - @pulumi.getter - def hostname(self) -> Optional[pulumi.Input[str]]: - """ - Hostname of the endpoint. Only one of ip and hostname may be set. - """ - return pulumi.get(self, "hostname") - - @hostname.setter - def hostname(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "hostname", value) - - @property - @pulumi.getter - def ip(self) -> Optional[pulumi.Input[str]]: - """ - IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - """ - return pulumi.get(self, "ip") - - @ip.setter - def ip(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "ip", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - Name of the endpoint. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: - """ - TCP port of the endpoint. - """ - return pulumi.get(self, "port") - - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) - - -if not MYPY: - class DocumentdbReadReplicaPrivateNetworkArgsDict(TypedDict): - private_network_id: pulumi.Input[str] - """ - UUID of the private network to be connected to the read replica. - """ - endpoint_id: NotRequired[pulumi.Input[str]] - """ - The ID of the endpoint of the read replica. - """ - hostname: NotRequired[pulumi.Input[str]] - """ - Hostname of the endpoint. Only one of ip and hostname may be set. - """ - ip: NotRequired[pulumi.Input[str]] - """ - IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - """ - name: NotRequired[pulumi.Input[str]] - """ - Name of the endpoint. - """ - port: NotRequired[pulumi.Input[int]] - """ - TCP port of the endpoint. - """ - service_ip: NotRequired[pulumi.Input[str]] - """ - The IP network address within the private subnet. This must be an IPv4 address with a - CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - service if not set. - """ - zone: NotRequired[pulumi.Input[str]] - """ - Private network zone - """ -elif False: - DocumentdbReadReplicaPrivateNetworkArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class DocumentdbReadReplicaPrivateNetworkArgs: - def __init__(__self__, *, - private_network_id: pulumi.Input[str], - endpoint_id: Optional[pulumi.Input[str]] = None, - hostname: Optional[pulumi.Input[str]] = None, - ip: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - port: Optional[pulumi.Input[int]] = None, - service_ip: Optional[pulumi.Input[str]] = None, - zone: Optional[pulumi.Input[str]] = None): - """ - :param pulumi.Input[str] private_network_id: UUID of the private network to be connected to the read replica. - :param pulumi.Input[str] endpoint_id: The ID of the endpoint of the read replica. - :param pulumi.Input[str] hostname: Hostname of the endpoint. Only one of ip and hostname may be set. - :param pulumi.Input[str] ip: IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - :param pulumi.Input[str] name: Name of the endpoint. - :param pulumi.Input[int] port: TCP port of the endpoint. - :param pulumi.Input[str] service_ip: The IP network address within the private subnet. This must be an IPv4 address with a - CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - service if not set. - :param pulumi.Input[str] zone: Private network zone - """ - pulumi.set(__self__, "private_network_id", private_network_id) - if endpoint_id is not None: - pulumi.set(__self__, "endpoint_id", endpoint_id) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if ip is not None: - pulumi.set(__self__, "ip", ip) - if name is not None: - pulumi.set(__self__, "name", name) - if port is not None: - pulumi.set(__self__, "port", port) - if service_ip is not None: - pulumi.set(__self__, "service_ip", service_ip) - if zone is not None: - pulumi.set(__self__, "zone", zone) - - @property - @pulumi.getter(name="privateNetworkId") - def private_network_id(self) -> pulumi.Input[str]: - """ - UUID of the private network to be connected to the read replica. - """ - return pulumi.get(self, "private_network_id") - - @private_network_id.setter - def private_network_id(self, value: pulumi.Input[str]): - pulumi.set(self, "private_network_id", value) - - @property - @pulumi.getter(name="endpointId") - def endpoint_id(self) -> Optional[pulumi.Input[str]]: - """ - The ID of the endpoint of the read replica. - """ - return pulumi.get(self, "endpoint_id") - - @endpoint_id.setter - def endpoint_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "endpoint_id", value) - - @property - @pulumi.getter - def hostname(self) -> Optional[pulumi.Input[str]]: - """ - Hostname of the endpoint. Only one of ip and hostname may be set. - """ - return pulumi.get(self, "hostname") - - @hostname.setter - def hostname(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "hostname", value) - - @property - @pulumi.getter - def ip(self) -> Optional[pulumi.Input[str]]: - """ - IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - """ - return pulumi.get(self, "ip") - - @ip.setter - def ip(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "ip", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - Name of the endpoint. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: - """ - TCP port of the endpoint. - """ - return pulumi.get(self, "port") - - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) - - @property - @pulumi.getter(name="serviceIp") - def service_ip(self) -> Optional[pulumi.Input[str]]: - """ - The IP network address within the private subnet. This must be an IPv4 address with a - CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - service if not set. - """ - return pulumi.get(self, "service_ip") - - @service_ip.setter - def service_ip(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "service_ip", value) - - @property - @pulumi.getter - def zone(self) -> Optional[pulumi.Input[str]]: - """ - Private network zone - """ - return pulumi.get(self, "zone") - - @zone.setter - def zone(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "zone", value) - - if not MYPY: class DomainRecordGeoIpArgsDict(TypedDict): matches: pulumi.Input[Sequence[pulumi.Input['DomainRecordGeoIpMatchArgsDict']]] diff --git a/sdk/python/pulumiverse_scaleway/cockpit_alert_manager.py b/sdk/python/pulumiverse_scaleway/cockpit_alert_manager.py index 114e8b4b..5ef36159 100644 --- a/sdk/python/pulumiverse_scaleway/cockpit_alert_manager.py +++ b/sdk/python/pulumiverse_scaleway/cockpit_alert_manager.py @@ -195,6 +195,32 @@ def __init__(__self__, ## Example Usage + ### Enable the alert manager and configure managed alerts + + The following commands allow you to: + + - enable the alert manager in a Project named `tf_test_project` + - enable [managed alerts](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#managed-alerts) + - set up [contact points](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#contact-points) to receive alert notifications + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + project = scaleway.AccountProject("project", name="tf_test_project") + alert_manager = scaleway.CockpitAlertManager("alert_manager", + project_id=project.id, + enable_managed_alerts=True, + contact_points=[ + { + "email": "alert1@example.com", + }, + { + "email": "alert2@example.com", + }, + ]) + ``` + ## Import This section explains how to import alert managers using the ID of the Project associated with Cockpit. @@ -225,6 +251,32 @@ def __init__(__self__, ## Example Usage + ### Enable the alert manager and configure managed alerts + + The following commands allow you to: + + - enable the alert manager in a Project named `tf_test_project` + - enable [managed alerts](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#managed-alerts) + - set up [contact points](https://www.scaleway.com/en/docs/observability/cockpit/concepts/#contact-points) to receive alert notifications + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + project = scaleway.AccountProject("project", name="tf_test_project") + alert_manager = scaleway.CockpitAlertManager("alert_manager", + project_id=project.id, + enable_managed_alerts=True, + contact_points=[ + { + "email": "alert1@example.com", + }, + { + "email": "alert2@example.com", + }, + ]) + ``` + ## Import This section explains how to import alert managers using the ID of the Project associated with Cockpit. diff --git a/sdk/python/pulumiverse_scaleway/documentdb_database.py b/sdk/python/pulumiverse_scaleway/documentdb_database.py deleted file mode 100644 index de0c1c81..00000000 --- a/sdk/python/pulumiverse_scaleway/documentdb_database.py +++ /dev/null @@ -1,450 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities - -__all__ = ['DocumentdbDatabaseArgs', 'DocumentdbDatabase'] - -@pulumi.input_type -class DocumentdbDatabaseArgs: - def __init__(__self__, *, - instance_id: pulumi.Input[str], - name: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a DocumentdbDatabase resource. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - - > **Important:** Updates to `instance_id` will recreate the Database. - :param pulumi.Input[str] name: Name of the database (e.g. `my-new-database`). - :param pulumi.Input[str] project_id: The project_id you want to attach the resource to - :param pulumi.Input[str] region: `region`) The region in which the resource exists. - """ - pulumi.set(__self__, "instance_id", instance_id) - if name is not None: - pulumi.set(__self__, "name", name) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if region is not None: - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Input[str]: - """ - UUID of the documentdb instance. - - > **Important:** Updates to `instance_id` will recreate the Database. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: pulumi.Input[str]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - Name of the database (e.g. `my-new-database`). - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[pulumi.Input[str]]: - """ - The project_id you want to attach the resource to - """ - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "project_id", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - `region`) The region in which the resource exists. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - -@pulumi.input_type -class _DocumentdbDatabaseState: - def __init__(__self__, *, - instance_id: Optional[pulumi.Input[str]] = None, - managed: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - owner: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - size: Optional[pulumi.Input[str]] = None): - """ - Input properties used for looking up and filtering DocumentdbDatabase resources. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - - > **Important:** Updates to `instance_id` will recreate the Database. - :param pulumi.Input[bool] managed: Whether the database is managed or not. - :param pulumi.Input[str] name: Name of the database (e.g. `my-new-database`). - :param pulumi.Input[str] owner: The name of the owner of the database. - :param pulumi.Input[str] project_id: The project_id you want to attach the resource to - :param pulumi.Input[str] region: `region`) The region in which the resource exists. - :param pulumi.Input[str] size: Size in gigabytes of the database. - """ - if instance_id is not None: - pulumi.set(__self__, "instance_id", instance_id) - if managed is not None: - pulumi.set(__self__, "managed", managed) - if name is not None: - pulumi.set(__self__, "name", name) - if owner is not None: - pulumi.set(__self__, "owner", owner) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if region is not None: - pulumi.set(__self__, "region", region) - if size is not None: - pulumi.set(__self__, "size", size) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> Optional[pulumi.Input[str]]: - """ - UUID of the documentdb instance. - - > **Important:** Updates to `instance_id` will recreate the Database. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter - def managed(self) -> Optional[pulumi.Input[bool]]: - """ - Whether the database is managed or not. - """ - return pulumi.get(self, "managed") - - @managed.setter - def managed(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "managed", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - Name of the database (e.g. `my-new-database`). - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def owner(self) -> Optional[pulumi.Input[str]]: - """ - The name of the owner of the database. - """ - return pulumi.get(self, "owner") - - @owner.setter - def owner(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "owner", value) - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[pulumi.Input[str]]: - """ - The project_id you want to attach the resource to - """ - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "project_id", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - `region`) The region in which the resource exists. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - @property - @pulumi.getter - def size(self) -> Optional[pulumi.Input[str]]: - """ - Size in gigabytes of the database. - """ - return pulumi.get(self, "size") - - @size.setter - def size(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "size", value) - - -class DocumentdbDatabase(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Creates and manages Scaleway DocumentDB database. - - ## Example Usage - - ### Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - instance = scaleway.DocumentdbInstance("instance", - name="test-document_db-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - main = scaleway.DocumentdbDatabase("main", - instance_id=instance.id, - name="my-new-database") - ``` - - ## Import - - DocumentDB Database can be imported using the `{region}/{id}/{DBNAME}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbDatabase:DocumentdbDatabase mydb fr-par/11111111-1111-1111-1111-111111111111/mydb - ``` - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - - > **Important:** Updates to `instance_id` will recreate the Database. - :param pulumi.Input[str] name: Name of the database (e.g. `my-new-database`). - :param pulumi.Input[str] project_id: The project_id you want to attach the resource to - :param pulumi.Input[str] region: `region`) The region in which the resource exists. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: DocumentdbDatabaseArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Creates and manages Scaleway DocumentDB database. - - ## Example Usage - - ### Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - instance = scaleway.DocumentdbInstance("instance", - name="test-document_db-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - main = scaleway.DocumentdbDatabase("main", - instance_id=instance.id, - name="my-new-database") - ``` - - ## Import - - DocumentDB Database can be imported using the `{region}/{id}/{DBNAME}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbDatabase:DocumentdbDatabase mydb fr-par/11111111-1111-1111-1111-111111111111/mydb - ``` - - :param str resource_name: The name of the resource. - :param DocumentdbDatabaseArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(DocumentdbDatabaseArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = DocumentdbDatabaseArgs.__new__(DocumentdbDatabaseArgs) - - if instance_id is None and not opts.urn: - raise TypeError("Missing required property 'instance_id'") - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["name"] = name - __props__.__dict__["project_id"] = project_id - __props__.__dict__["region"] = region - __props__.__dict__["managed"] = None - __props__.__dict__["owner"] = None - __props__.__dict__["size"] = None - super(DocumentdbDatabase, __self__).__init__( - 'scaleway:index/documentdbDatabase:DocumentdbDatabase', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - managed: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - owner: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - size: Optional[pulumi.Input[str]] = None) -> 'DocumentdbDatabase': - """ - Get an existing DocumentdbDatabase resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - - > **Important:** Updates to `instance_id` will recreate the Database. - :param pulumi.Input[bool] managed: Whether the database is managed or not. - :param pulumi.Input[str] name: Name of the database (e.g. `my-new-database`). - :param pulumi.Input[str] owner: The name of the owner of the database. - :param pulumi.Input[str] project_id: The project_id you want to attach the resource to - :param pulumi.Input[str] region: `region`) The region in which the resource exists. - :param pulumi.Input[str] size: Size in gigabytes of the database. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _DocumentdbDatabaseState.__new__(_DocumentdbDatabaseState) - - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["managed"] = managed - __props__.__dict__["name"] = name - __props__.__dict__["owner"] = owner - __props__.__dict__["project_id"] = project_id - __props__.__dict__["region"] = region - __props__.__dict__["size"] = size - return DocumentdbDatabase(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Output[str]: - """ - UUID of the documentdb instance. - - > **Important:** Updates to `instance_id` will recreate the Database. - """ - return pulumi.get(self, "instance_id") - - @property - @pulumi.getter - def managed(self) -> pulumi.Output[bool]: - """ - Whether the database is managed or not. - """ - return pulumi.get(self, "managed") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - Name of the database (e.g. `my-new-database`). - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def owner(self) -> pulumi.Output[str]: - """ - The name of the owner of the database. - """ - return pulumi.get(self, "owner") - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> pulumi.Output[str]: - """ - The project_id you want to attach the resource to - """ - return pulumi.get(self, "project_id") - - @property - @pulumi.getter - def region(self) -> pulumi.Output[str]: - """ - `region`) The region in which the resource exists. - """ - return pulumi.get(self, "region") - - @property - @pulumi.getter - def size(self) -> pulumi.Output[str]: - """ - Size in gigabytes of the database. - """ - return pulumi.get(self, "size") - diff --git a/sdk/python/pulumiverse_scaleway/documentdb_instance.py b/sdk/python/pulumiverse_scaleway/documentdb_instance.py deleted file mode 100644 index 28c00c16..00000000 --- a/sdk/python/pulumiverse_scaleway/documentdb_instance.py +++ /dev/null @@ -1,812 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities - -__all__ = ['DocumentdbInstanceArgs', 'DocumentdbInstance'] - -@pulumi.input_type -class DocumentdbInstanceArgs: - def __init__(__self__, *, - engine: pulumi.Input[str], - node_type: pulumi.Input[str], - is_ha_cluster: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - telemetry_enabled: Optional[pulumi.Input[bool]] = None, - user_name: Optional[pulumi.Input[str]] = None, - volume_size_in_gb: Optional[pulumi.Input[int]] = None, - volume_type: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a DocumentdbInstance resource. - :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `FerretDB-1`). - - > **Important:** Updates to `engine` will recreate the Database Instance. - :param pulumi.Input[str] node_type: The type of database instance you want to create (e.g. `docdb-play2-pico`). - - > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - interruption. Keep in mind that you cannot downgrade a Database Instance. - :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the database instance. - :param pulumi.Input[str] name: The name of the Database Instance. - :param pulumi.Input[str] password: Password for the first user of the database instance. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database - Instance is associated with. - :param pulumi.Input[str] region: `region`) The region - in which the Database Instance should be created. - :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance. - :param pulumi.Input[bool] telemetry_enabled: Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - - > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - :param pulumi.Input[str] user_name: Identifier for the first user of the database instance. - - > **Important:** Updates to `user_name` will recreate the Database Instance. - :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB) when `volume_type` is set to `bssd`. - :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd` or `lssd`). - """ - pulumi.set(__self__, "engine", engine) - pulumi.set(__self__, "node_type", node_type) - if is_ha_cluster is not None: - pulumi.set(__self__, "is_ha_cluster", is_ha_cluster) - if name is not None: - pulumi.set(__self__, "name", name) - if password is not None: - pulumi.set(__self__, "password", password) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if region is not None: - pulumi.set(__self__, "region", region) - if tags is not None: - pulumi.set(__self__, "tags", tags) - if telemetry_enabled is not None: - pulumi.set(__self__, "telemetry_enabled", telemetry_enabled) - if user_name is not None: - pulumi.set(__self__, "user_name", user_name) - if volume_size_in_gb is not None: - pulumi.set(__self__, "volume_size_in_gb", volume_size_in_gb) - if volume_type is not None: - pulumi.set(__self__, "volume_type", volume_type) - - @property - @pulumi.getter - def engine(self) -> pulumi.Input[str]: - """ - Database Instance's engine version (e.g. `FerretDB-1`). - - > **Important:** Updates to `engine` will recreate the Database Instance. - """ - return pulumi.get(self, "engine") - - @engine.setter - def engine(self, value: pulumi.Input[str]): - pulumi.set(self, "engine", value) - - @property - @pulumi.getter(name="nodeType") - def node_type(self) -> pulumi.Input[str]: - """ - The type of database instance you want to create (e.g. `docdb-play2-pico`). - - > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - interruption. Keep in mind that you cannot downgrade a Database Instance. - """ - return pulumi.get(self, "node_type") - - @node_type.setter - def node_type(self, value: pulumi.Input[str]): - pulumi.set(self, "node_type", value) - - @property - @pulumi.getter(name="isHaCluster") - def is_ha_cluster(self) -> Optional[pulumi.Input[bool]]: - """ - Enable or disable high availability for the database instance. - """ - return pulumi.get(self, "is_ha_cluster") - - @is_ha_cluster.setter - def is_ha_cluster(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "is_ha_cluster", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the Database Instance. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def password(self) -> Optional[pulumi.Input[str]]: - """ - Password for the first user of the database instance. - """ - return pulumi.get(self, "password") - - @password.setter - def password(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "password", value) - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[pulumi.Input[str]]: - """ - `project_id`) The ID of the project the Database - Instance is associated with. - """ - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "project_id", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - `region`) The region - in which the Database Instance should be created. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - @property - @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - The tags associated with the Database Instance. - """ - return pulumi.get(self, "tags") - - @tags.setter - def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "tags", value) - - @property - @pulumi.getter(name="telemetryEnabled") - def telemetry_enabled(self) -> Optional[pulumi.Input[bool]]: - """ - Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - - > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - """ - return pulumi.get(self, "telemetry_enabled") - - @telemetry_enabled.setter - def telemetry_enabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "telemetry_enabled", value) - - @property - @pulumi.getter(name="userName") - def user_name(self) -> Optional[pulumi.Input[str]]: - """ - Identifier for the first user of the database instance. - - > **Important:** Updates to `user_name` will recreate the Database Instance. - """ - return pulumi.get(self, "user_name") - - @user_name.setter - def user_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "user_name", value) - - @property - @pulumi.getter(name="volumeSizeInGb") - def volume_size_in_gb(self) -> Optional[pulumi.Input[int]]: - """ - Volume size (in GB) when `volume_type` is set to `bssd`. - """ - return pulumi.get(self, "volume_size_in_gb") - - @volume_size_in_gb.setter - def volume_size_in_gb(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "volume_size_in_gb", value) - - @property - @pulumi.getter(name="volumeType") - def volume_type(self) -> Optional[pulumi.Input[str]]: - """ - Type of volume where data are stored (`bssd` or `lssd`). - """ - return pulumi.get(self, "volume_type") - - @volume_type.setter - def volume_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "volume_type", value) - - -@pulumi.input_type -class _DocumentdbInstanceState: - def __init__(__self__, *, - engine: Optional[pulumi.Input[str]] = None, - is_ha_cluster: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - node_type: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - telemetry_enabled: Optional[pulumi.Input[bool]] = None, - user_name: Optional[pulumi.Input[str]] = None, - volume_size_in_gb: Optional[pulumi.Input[int]] = None, - volume_type: Optional[pulumi.Input[str]] = None): - """ - Input properties used for looking up and filtering DocumentdbInstance resources. - :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `FerretDB-1`). - - > **Important:** Updates to `engine` will recreate the Database Instance. - :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the database instance. - :param pulumi.Input[str] name: The name of the Database Instance. - :param pulumi.Input[str] node_type: The type of database instance you want to create (e.g. `docdb-play2-pico`). - - > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - interruption. Keep in mind that you cannot downgrade a Database Instance. - :param pulumi.Input[str] password: Password for the first user of the database instance. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database - Instance is associated with. - :param pulumi.Input[str] region: `region`) The region - in which the Database Instance should be created. - :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance. - :param pulumi.Input[bool] telemetry_enabled: Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - - > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - :param pulumi.Input[str] user_name: Identifier for the first user of the database instance. - - > **Important:** Updates to `user_name` will recreate the Database Instance. - :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB) when `volume_type` is set to `bssd`. - :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd` or `lssd`). - """ - if engine is not None: - pulumi.set(__self__, "engine", engine) - if is_ha_cluster is not None: - pulumi.set(__self__, "is_ha_cluster", is_ha_cluster) - if name is not None: - pulumi.set(__self__, "name", name) - if node_type is not None: - pulumi.set(__self__, "node_type", node_type) - if password is not None: - pulumi.set(__self__, "password", password) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if region is not None: - pulumi.set(__self__, "region", region) - if tags is not None: - pulumi.set(__self__, "tags", tags) - if telemetry_enabled is not None: - pulumi.set(__self__, "telemetry_enabled", telemetry_enabled) - if user_name is not None: - pulumi.set(__self__, "user_name", user_name) - if volume_size_in_gb is not None: - pulumi.set(__self__, "volume_size_in_gb", volume_size_in_gb) - if volume_type is not None: - pulumi.set(__self__, "volume_type", volume_type) - - @property - @pulumi.getter - def engine(self) -> Optional[pulumi.Input[str]]: - """ - Database Instance's engine version (e.g. `FerretDB-1`). - - > **Important:** Updates to `engine` will recreate the Database Instance. - """ - return pulumi.get(self, "engine") - - @engine.setter - def engine(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "engine", value) - - @property - @pulumi.getter(name="isHaCluster") - def is_ha_cluster(self) -> Optional[pulumi.Input[bool]]: - """ - Enable or disable high availability for the database instance. - """ - return pulumi.get(self, "is_ha_cluster") - - @is_ha_cluster.setter - def is_ha_cluster(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "is_ha_cluster", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - The name of the Database Instance. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter(name="nodeType") - def node_type(self) -> Optional[pulumi.Input[str]]: - """ - The type of database instance you want to create (e.g. `docdb-play2-pico`). - - > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - interruption. Keep in mind that you cannot downgrade a Database Instance. - """ - return pulumi.get(self, "node_type") - - @node_type.setter - def node_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "node_type", value) - - @property - @pulumi.getter - def password(self) -> Optional[pulumi.Input[str]]: - """ - Password for the first user of the database instance. - """ - return pulumi.get(self, "password") - - @password.setter - def password(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "password", value) - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[pulumi.Input[str]]: - """ - `project_id`) The ID of the project the Database - Instance is associated with. - """ - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "project_id", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - `region`) The region - in which the Database Instance should be created. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - @property - @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - The tags associated with the Database Instance. - """ - return pulumi.get(self, "tags") - - @tags.setter - def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "tags", value) - - @property - @pulumi.getter(name="telemetryEnabled") - def telemetry_enabled(self) -> Optional[pulumi.Input[bool]]: - """ - Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - - > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - """ - return pulumi.get(self, "telemetry_enabled") - - @telemetry_enabled.setter - def telemetry_enabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "telemetry_enabled", value) - - @property - @pulumi.getter(name="userName") - def user_name(self) -> Optional[pulumi.Input[str]]: - """ - Identifier for the first user of the database instance. - - > **Important:** Updates to `user_name` will recreate the Database Instance. - """ - return pulumi.get(self, "user_name") - - @user_name.setter - def user_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "user_name", value) - - @property - @pulumi.getter(name="volumeSizeInGb") - def volume_size_in_gb(self) -> Optional[pulumi.Input[int]]: - """ - Volume size (in GB) when `volume_type` is set to `bssd`. - """ - return pulumi.get(self, "volume_size_in_gb") - - @volume_size_in_gb.setter - def volume_size_in_gb(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "volume_size_in_gb", value) - - @property - @pulumi.getter(name="volumeType") - def volume_type(self) -> Optional[pulumi.Input[str]]: - """ - Type of volume where data are stored (`bssd` or `lssd`). - """ - return pulumi.get(self, "volume_type") - - @volume_type.setter - def volume_type(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "volume_type", value) - - -class DocumentdbInstance(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - engine: Optional[pulumi.Input[str]] = None, - is_ha_cluster: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - node_type: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - telemetry_enabled: Optional[pulumi.Input[bool]] = None, - user_name: Optional[pulumi.Input[str]] = None, - volume_size_in_gb: Optional[pulumi.Input[int]] = None, - volume_type: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Creates and manages Scaleway Database Instances. - - ## Example Usage - - ### Example Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - main = scaleway.DocumentdbInstance("main", - name="test-documentdb-instance-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - tags=[ - "terraform-test", - "scaleway_documentdb_instance", - "minimal", - ], - volume_size_in_gb=20) - ``` - - ## Import - - Database Instance can be imported using the `{region}/{id}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbInstance:DocumentdbInstance db fr-par/11111111-1111-1111-1111-111111111111 - ``` - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `FerretDB-1`). - - > **Important:** Updates to `engine` will recreate the Database Instance. - :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the database instance. - :param pulumi.Input[str] name: The name of the Database Instance. - :param pulumi.Input[str] node_type: The type of database instance you want to create (e.g. `docdb-play2-pico`). - - > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - interruption. Keep in mind that you cannot downgrade a Database Instance. - :param pulumi.Input[str] password: Password for the first user of the database instance. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database - Instance is associated with. - :param pulumi.Input[str] region: `region`) The region - in which the Database Instance should be created. - :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance. - :param pulumi.Input[bool] telemetry_enabled: Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - - > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - :param pulumi.Input[str] user_name: Identifier for the first user of the database instance. - - > **Important:** Updates to `user_name` will recreate the Database Instance. - :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB) when `volume_type` is set to `bssd`. - :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd` or `lssd`). - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: DocumentdbInstanceArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Creates and manages Scaleway Database Instances. - - ## Example Usage - - ### Example Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - main = scaleway.DocumentdbInstance("main", - name="test-documentdb-instance-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - tags=[ - "terraform-test", - "scaleway_documentdb_instance", - "minimal", - ], - volume_size_in_gb=20) - ``` - - ## Import - - Database Instance can be imported using the `{region}/{id}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbInstance:DocumentdbInstance db fr-par/11111111-1111-1111-1111-111111111111 - ``` - - :param str resource_name: The name of the resource. - :param DocumentdbInstanceArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(DocumentdbInstanceArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - engine: Optional[pulumi.Input[str]] = None, - is_ha_cluster: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - node_type: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - telemetry_enabled: Optional[pulumi.Input[bool]] = None, - user_name: Optional[pulumi.Input[str]] = None, - volume_size_in_gb: Optional[pulumi.Input[int]] = None, - volume_type: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = DocumentdbInstanceArgs.__new__(DocumentdbInstanceArgs) - - if engine is None and not opts.urn: - raise TypeError("Missing required property 'engine'") - __props__.__dict__["engine"] = engine - __props__.__dict__["is_ha_cluster"] = is_ha_cluster - __props__.__dict__["name"] = name - if node_type is None and not opts.urn: - raise TypeError("Missing required property 'node_type'") - __props__.__dict__["node_type"] = node_type - __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) - __props__.__dict__["project_id"] = project_id - __props__.__dict__["region"] = region - __props__.__dict__["tags"] = tags - __props__.__dict__["telemetry_enabled"] = telemetry_enabled - __props__.__dict__["user_name"] = user_name - __props__.__dict__["volume_size_in_gb"] = volume_size_in_gb - __props__.__dict__["volume_type"] = volume_type - secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) - opts = pulumi.ResourceOptions.merge(opts, secret_opts) - super(DocumentdbInstance, __self__).__init__( - 'scaleway:index/documentdbInstance:DocumentdbInstance', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - engine: Optional[pulumi.Input[str]] = None, - is_ha_cluster: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - node_type: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - telemetry_enabled: Optional[pulumi.Input[bool]] = None, - user_name: Optional[pulumi.Input[str]] = None, - volume_size_in_gb: Optional[pulumi.Input[int]] = None, - volume_type: Optional[pulumi.Input[str]] = None) -> 'DocumentdbInstance': - """ - Get an existing DocumentdbInstance resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] engine: Database Instance's engine version (e.g. `FerretDB-1`). - - > **Important:** Updates to `engine` will recreate the Database Instance. - :param pulumi.Input[bool] is_ha_cluster: Enable or disable high availability for the database instance. - :param pulumi.Input[str] name: The name of the Database Instance. - :param pulumi.Input[str] node_type: The type of database instance you want to create (e.g. `docdb-play2-pico`). - - > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - interruption. Keep in mind that you cannot downgrade a Database Instance. - :param pulumi.Input[str] password: Password for the first user of the database instance. - :param pulumi.Input[str] project_id: `project_id`) The ID of the project the Database - Instance is associated with. - :param pulumi.Input[str] region: `region`) The region - in which the Database Instance should be created. - :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Database Instance. - :param pulumi.Input[bool] telemetry_enabled: Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - - > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - :param pulumi.Input[str] user_name: Identifier for the first user of the database instance. - - > **Important:** Updates to `user_name` will recreate the Database Instance. - :param pulumi.Input[int] volume_size_in_gb: Volume size (in GB) when `volume_type` is set to `bssd`. - :param pulumi.Input[str] volume_type: Type of volume where data are stored (`bssd` or `lssd`). - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _DocumentdbInstanceState.__new__(_DocumentdbInstanceState) - - __props__.__dict__["engine"] = engine - __props__.__dict__["is_ha_cluster"] = is_ha_cluster - __props__.__dict__["name"] = name - __props__.__dict__["node_type"] = node_type - __props__.__dict__["password"] = password - __props__.__dict__["project_id"] = project_id - __props__.__dict__["region"] = region - __props__.__dict__["tags"] = tags - __props__.__dict__["telemetry_enabled"] = telemetry_enabled - __props__.__dict__["user_name"] = user_name - __props__.__dict__["volume_size_in_gb"] = volume_size_in_gb - __props__.__dict__["volume_type"] = volume_type - return DocumentdbInstance(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter - def engine(self) -> pulumi.Output[str]: - """ - Database Instance's engine version (e.g. `FerretDB-1`). - - > **Important:** Updates to `engine` will recreate the Database Instance. - """ - return pulumi.get(self, "engine") - - @property - @pulumi.getter(name="isHaCluster") - def is_ha_cluster(self) -> pulumi.Output[Optional[bool]]: - """ - Enable or disable high availability for the database instance. - """ - return pulumi.get(self, "is_ha_cluster") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - The name of the Database Instance. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="nodeType") - def node_type(self) -> pulumi.Output[str]: - """ - The type of database instance you want to create (e.g. `docdb-play2-pico`). - - > **Important:** Updates to `node_type` will upgrade the Database Instance to the desired `node_type` without any - interruption. Keep in mind that you cannot downgrade a Database Instance. - """ - return pulumi.get(self, "node_type") - - @property - @pulumi.getter - def password(self) -> pulumi.Output[Optional[str]]: - """ - Password for the first user of the database instance. - """ - return pulumi.get(self, "password") - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> pulumi.Output[str]: - """ - `project_id`) The ID of the project the Database - Instance is associated with. - """ - return pulumi.get(self, "project_id") - - @property - @pulumi.getter - def region(self) -> pulumi.Output[str]: - """ - `region`) The region - in which the Database Instance should be created. - """ - return pulumi.get(self, "region") - - @property - @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Sequence[str]]]: - """ - The tags associated with the Database Instance. - """ - return pulumi.get(self, "tags") - - @property - @pulumi.getter(name="telemetryEnabled") - def telemetry_enabled(self) -> pulumi.Output[Optional[bool]]: - """ - Enable telemetry to collects basic anonymous usage data and sends them to FerretDB telemetry service. More about the telemetry [here](https://docs.ferretdb.io/telemetry/#configure-telemetry). - - > **Important:** Updates to `is_ha_cluster` will recreate the Database Instance. - """ - return pulumi.get(self, "telemetry_enabled") - - @property - @pulumi.getter(name="userName") - def user_name(self) -> pulumi.Output[Optional[str]]: - """ - Identifier for the first user of the database instance. - - > **Important:** Updates to `user_name` will recreate the Database Instance. - """ - return pulumi.get(self, "user_name") - - @property - @pulumi.getter(name="volumeSizeInGb") - def volume_size_in_gb(self) -> pulumi.Output[int]: - """ - Volume size (in GB) when `volume_type` is set to `bssd`. - """ - return pulumi.get(self, "volume_size_in_gb") - - @property - @pulumi.getter(name="volumeType") - def volume_type(self) -> pulumi.Output[Optional[str]]: - """ - Type of volume where data are stored (`bssd` or `lssd`). - """ - return pulumi.get(self, "volume_type") - diff --git a/sdk/python/pulumiverse_scaleway/documentdb_private_network_endpoint.py b/sdk/python/pulumiverse_scaleway/documentdb_private_network_endpoint.py deleted file mode 100644 index 1b0ae26f..00000000 --- a/sdk/python/pulumiverse_scaleway/documentdb_private_network_endpoint.py +++ /dev/null @@ -1,352 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities -from . import outputs -from ._inputs import * - -__all__ = ['DocumentdbPrivateNetworkEndpointArgs', 'DocumentdbPrivateNetworkEndpoint'] - -@pulumi.input_type -class DocumentdbPrivateNetworkEndpointArgs: - def __init__(__self__, *, - instance_id: pulumi.Input[str], - private_network: Optional[pulumi.Input['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs']] = None, - region: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a DocumentdbPrivateNetworkEndpoint resource. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - :param pulumi.Input['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs'] private_network: The private network specs details. This is a list with maximum one element and supports the following attributes: - :param pulumi.Input[str] region: The region of the endpoint. - - - > **NOTE:** Please calculate your host IP. - using cirhost. Otherwise, lets IPAM service - handle the host IP on the network. - """ - pulumi.set(__self__, "instance_id", instance_id) - if private_network is not None: - pulumi.set(__self__, "private_network", private_network) - if region is not None: - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Input[str]: - """ - UUID of the documentdb instance. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: pulumi.Input[str]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter(name="privateNetwork") - def private_network(self) -> Optional[pulumi.Input['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs']]: - """ - The private network specs details. This is a list with maximum one element and supports the following attributes: - """ - return pulumi.get(self, "private_network") - - @private_network.setter - def private_network(self, value: Optional[pulumi.Input['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs']]): - pulumi.set(self, "private_network", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - The region of the endpoint. - - - > **NOTE:** Please calculate your host IP. - using cirhost. Otherwise, lets IPAM service - handle the host IP on the network. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - -@pulumi.input_type -class _DocumentdbPrivateNetworkEndpointState: - def __init__(__self__, *, - instance_id: Optional[pulumi.Input[str]] = None, - private_network: Optional[pulumi.Input['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs']] = None, - region: Optional[pulumi.Input[str]] = None): - """ - Input properties used for looking up and filtering DocumentdbPrivateNetworkEndpoint resources. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - :param pulumi.Input['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs'] private_network: The private network specs details. This is a list with maximum one element and supports the following attributes: - :param pulumi.Input[str] region: The region of the endpoint. - - - > **NOTE:** Please calculate your host IP. - using cirhost. Otherwise, lets IPAM service - handle the host IP on the network. - """ - if instance_id is not None: - pulumi.set(__self__, "instance_id", instance_id) - if private_network is not None: - pulumi.set(__self__, "private_network", private_network) - if region is not None: - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> Optional[pulumi.Input[str]]: - """ - UUID of the documentdb instance. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter(name="privateNetwork") - def private_network(self) -> Optional[pulumi.Input['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs']]: - """ - The private network specs details. This is a list with maximum one element and supports the following attributes: - """ - return pulumi.get(self, "private_network") - - @private_network.setter - def private_network(self, value: Optional[pulumi.Input['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs']]): - pulumi.set(self, "private_network", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - The region of the endpoint. - - - > **NOTE:** Please calculate your host IP. - using cirhost. Otherwise, lets IPAM service - handle the host IP on the network. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - -class DocumentdbPrivateNetworkEndpoint(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - private_network: Optional[pulumi.Input[Union['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs', 'DocumentdbPrivateNetworkEndpointPrivateNetworkArgsDict']]] = None, - region: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Creates and manages Scaleway Database Private Network Endpoint. - - ## Example Usage - - ### Example Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - pn = scaleway.VpcPrivateNetwork("pn", name="my_private_network") - instance = scaleway.DocumentdbInstance("instance", - name="test-document_db-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - main = scaleway.DocumentdbPrivateNetworkEndpoint("main", - instance_id=instance.id, - private_network={ - "ip_net": "172.16.32.3/22", - "id": pn.id, - }, - opts = pulumi.ResourceOptions(depends_on=[pn])) - ``` - - ## Import - - Database Instance Endpoint can be imported using the `{region}/{endpoint_id}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint end fr-par/11111111-1111-1111-1111-111111111111 - ``` - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - :param pulumi.Input[Union['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs', 'DocumentdbPrivateNetworkEndpointPrivateNetworkArgsDict']] private_network: The private network specs details. This is a list with maximum one element and supports the following attributes: - :param pulumi.Input[str] region: The region of the endpoint. - - - > **NOTE:** Please calculate your host IP. - using cirhost. Otherwise, lets IPAM service - handle the host IP on the network. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: DocumentdbPrivateNetworkEndpointArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Creates and manages Scaleway Database Private Network Endpoint. - - ## Example Usage - - ### Example Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - pn = scaleway.VpcPrivateNetwork("pn", name="my_private_network") - instance = scaleway.DocumentdbInstance("instance", - name="test-document_db-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - main = scaleway.DocumentdbPrivateNetworkEndpoint("main", - instance_id=instance.id, - private_network={ - "ip_net": "172.16.32.3/22", - "id": pn.id, - }, - opts = pulumi.ResourceOptions(depends_on=[pn])) - ``` - - ## Import - - Database Instance Endpoint can be imported using the `{region}/{endpoint_id}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint end fr-par/11111111-1111-1111-1111-111111111111 - ``` - - :param str resource_name: The name of the resource. - :param DocumentdbPrivateNetworkEndpointArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(DocumentdbPrivateNetworkEndpointArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - private_network: Optional[pulumi.Input[Union['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs', 'DocumentdbPrivateNetworkEndpointPrivateNetworkArgsDict']]] = None, - region: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = DocumentdbPrivateNetworkEndpointArgs.__new__(DocumentdbPrivateNetworkEndpointArgs) - - if instance_id is None and not opts.urn: - raise TypeError("Missing required property 'instance_id'") - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["private_network"] = private_network - __props__.__dict__["region"] = region - super(DocumentdbPrivateNetworkEndpoint, __self__).__init__( - 'scaleway:index/documentdbPrivateNetworkEndpoint:DocumentdbPrivateNetworkEndpoint', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - private_network: Optional[pulumi.Input[Union['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs', 'DocumentdbPrivateNetworkEndpointPrivateNetworkArgsDict']]] = None, - region: Optional[pulumi.Input[str]] = None) -> 'DocumentdbPrivateNetworkEndpoint': - """ - Get an existing DocumentdbPrivateNetworkEndpoint resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - :param pulumi.Input[Union['DocumentdbPrivateNetworkEndpointPrivateNetworkArgs', 'DocumentdbPrivateNetworkEndpointPrivateNetworkArgsDict']] private_network: The private network specs details. This is a list with maximum one element and supports the following attributes: - :param pulumi.Input[str] region: The region of the endpoint. - - - > **NOTE:** Please calculate your host IP. - using cirhost. Otherwise, lets IPAM service - handle the host IP on the network. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _DocumentdbPrivateNetworkEndpointState.__new__(_DocumentdbPrivateNetworkEndpointState) - - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["private_network"] = private_network - __props__.__dict__["region"] = region - return DocumentdbPrivateNetworkEndpoint(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Output[str]: - """ - UUID of the documentdb instance. - """ - return pulumi.get(self, "instance_id") - - @property - @pulumi.getter(name="privateNetwork") - def private_network(self) -> pulumi.Output[Optional['outputs.DocumentdbPrivateNetworkEndpointPrivateNetwork']]: - """ - The private network specs details. This is a list with maximum one element and supports the following attributes: - """ - return pulumi.get(self, "private_network") - - @property - @pulumi.getter - def region(self) -> pulumi.Output[str]: - """ - The region of the endpoint. - - - > **NOTE:** Please calculate your host IP. - using cirhost. Otherwise, lets IPAM service - handle the host IP on the network. - """ - return pulumi.get(self, "region") - diff --git a/sdk/python/pulumiverse_scaleway/documentdb_privilege.py b/sdk/python/pulumiverse_scaleway/documentdb_privilege.py deleted file mode 100644 index 6eb9a2e9..00000000 --- a/sdk/python/pulumiverse_scaleway/documentdb_privilege.py +++ /dev/null @@ -1,402 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities - -__all__ = ['DocumentdbPrivilegeArgs', 'DocumentdbPrivilege'] - -@pulumi.input_type -class DocumentdbPrivilegeArgs: - def __init__(__self__, *, - database_name: pulumi.Input[str], - instance_id: pulumi.Input[str], - permission: pulumi.Input[str], - user_name: pulumi.Input[str], - region: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a DocumentdbPrivilege resource. - :param pulumi.Input[str] database_name: Name of the database (e.g. `my-db-name`). - :param pulumi.Input[str] instance_id: UUID of the rdb instance. - :param pulumi.Input[str] permission: Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - :param pulumi.Input[str] user_name: Name of the user (e.g. `my-db-user`). - :param pulumi.Input[str] region: `region`) The region in which the resource exists. - """ - pulumi.set(__self__, "database_name", database_name) - pulumi.set(__self__, "instance_id", instance_id) - pulumi.set(__self__, "permission", permission) - pulumi.set(__self__, "user_name", user_name) - if region is not None: - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter(name="databaseName") - def database_name(self) -> pulumi.Input[str]: - """ - Name of the database (e.g. `my-db-name`). - """ - return pulumi.get(self, "database_name") - - @database_name.setter - def database_name(self, value: pulumi.Input[str]): - pulumi.set(self, "database_name", value) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Input[str]: - """ - UUID of the rdb instance. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: pulumi.Input[str]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter - def permission(self) -> pulumi.Input[str]: - """ - Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - """ - return pulumi.get(self, "permission") - - @permission.setter - def permission(self, value: pulumi.Input[str]): - pulumi.set(self, "permission", value) - - @property - @pulumi.getter(name="userName") - def user_name(self) -> pulumi.Input[str]: - """ - Name of the user (e.g. `my-db-user`). - """ - return pulumi.get(self, "user_name") - - @user_name.setter - def user_name(self, value: pulumi.Input[str]): - pulumi.set(self, "user_name", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - `region`) The region in which the resource exists. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - -@pulumi.input_type -class _DocumentdbPrivilegeState: - def __init__(__self__, *, - database_name: Optional[pulumi.Input[str]] = None, - instance_id: Optional[pulumi.Input[str]] = None, - permission: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - user_name: Optional[pulumi.Input[str]] = None): - """ - Input properties used for looking up and filtering DocumentdbPrivilege resources. - :param pulumi.Input[str] database_name: Name of the database (e.g. `my-db-name`). - :param pulumi.Input[str] instance_id: UUID of the rdb instance. - :param pulumi.Input[str] permission: Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - :param pulumi.Input[str] region: `region`) The region in which the resource exists. - :param pulumi.Input[str] user_name: Name of the user (e.g. `my-db-user`). - """ - if database_name is not None: - pulumi.set(__self__, "database_name", database_name) - if instance_id is not None: - pulumi.set(__self__, "instance_id", instance_id) - if permission is not None: - pulumi.set(__self__, "permission", permission) - if region is not None: - pulumi.set(__self__, "region", region) - if user_name is not None: - pulumi.set(__self__, "user_name", user_name) - - @property - @pulumi.getter(name="databaseName") - def database_name(self) -> Optional[pulumi.Input[str]]: - """ - Name of the database (e.g. `my-db-name`). - """ - return pulumi.get(self, "database_name") - - @database_name.setter - def database_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "database_name", value) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> Optional[pulumi.Input[str]]: - """ - UUID of the rdb instance. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter - def permission(self) -> Optional[pulumi.Input[str]]: - """ - Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - """ - return pulumi.get(self, "permission") - - @permission.setter - def permission(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "permission", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - `region`) The region in which the resource exists. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - @property - @pulumi.getter(name="userName") - def user_name(self) -> Optional[pulumi.Input[str]]: - """ - Name of the user (e.g. `my-db-user`). - """ - return pulumi.get(self, "user_name") - - @user_name.setter - def user_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "user_name", value) - - -class DocumentdbPrivilege(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - database_name: Optional[pulumi.Input[str]] = None, - instance_id: Optional[pulumi.Input[str]] = None, - permission: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - user_name: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Create and manage Scaleway DocumentDB database privilege. - - ## Example Usage - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - instance = scaleway.DocumentdbInstance("instance", - name="test-document_db-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - main = scaleway.DocumentdbPrivilege("main", - instance_id=instance.id, - user_name="my-db-user", - database_name="my-db-name", - permission="all") - ``` - - ## Import - - The user privileges can be imported using the `{region}/{instance_id}/{database_name}/{user_name}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbPrivilege:DocumentdbPrivilege o fr-par/11111111-1111-1111-1111-111111111111/database_name/foo - ``` - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] database_name: Name of the database (e.g. `my-db-name`). - :param pulumi.Input[str] instance_id: UUID of the rdb instance. - :param pulumi.Input[str] permission: Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - :param pulumi.Input[str] region: `region`) The region in which the resource exists. - :param pulumi.Input[str] user_name: Name of the user (e.g. `my-db-user`). - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: DocumentdbPrivilegeArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Create and manage Scaleway DocumentDB database privilege. - - ## Example Usage - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - instance = scaleway.DocumentdbInstance("instance", - name="test-document_db-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - main = scaleway.DocumentdbPrivilege("main", - instance_id=instance.id, - user_name="my-db-user", - database_name="my-db-name", - permission="all") - ``` - - ## Import - - The user privileges can be imported using the `{region}/{instance_id}/{database_name}/{user_name}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbPrivilege:DocumentdbPrivilege o fr-par/11111111-1111-1111-1111-111111111111/database_name/foo - ``` - - :param str resource_name: The name of the resource. - :param DocumentdbPrivilegeArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(DocumentdbPrivilegeArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - database_name: Optional[pulumi.Input[str]] = None, - instance_id: Optional[pulumi.Input[str]] = None, - permission: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - user_name: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = DocumentdbPrivilegeArgs.__new__(DocumentdbPrivilegeArgs) - - if database_name is None and not opts.urn: - raise TypeError("Missing required property 'database_name'") - __props__.__dict__["database_name"] = database_name - if instance_id is None and not opts.urn: - raise TypeError("Missing required property 'instance_id'") - __props__.__dict__["instance_id"] = instance_id - if permission is None and not opts.urn: - raise TypeError("Missing required property 'permission'") - __props__.__dict__["permission"] = permission - __props__.__dict__["region"] = region - if user_name is None and not opts.urn: - raise TypeError("Missing required property 'user_name'") - __props__.__dict__["user_name"] = user_name - super(DocumentdbPrivilege, __self__).__init__( - 'scaleway:index/documentdbPrivilege:DocumentdbPrivilege', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - database_name: Optional[pulumi.Input[str]] = None, - instance_id: Optional[pulumi.Input[str]] = None, - permission: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - user_name: Optional[pulumi.Input[str]] = None) -> 'DocumentdbPrivilege': - """ - Get an existing DocumentdbPrivilege resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] database_name: Name of the database (e.g. `my-db-name`). - :param pulumi.Input[str] instance_id: UUID of the rdb instance. - :param pulumi.Input[str] permission: Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - :param pulumi.Input[str] region: `region`) The region in which the resource exists. - :param pulumi.Input[str] user_name: Name of the user (e.g. `my-db-user`). - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _DocumentdbPrivilegeState.__new__(_DocumentdbPrivilegeState) - - __props__.__dict__["database_name"] = database_name - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["permission"] = permission - __props__.__dict__["region"] = region - __props__.__dict__["user_name"] = user_name - return DocumentdbPrivilege(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="databaseName") - def database_name(self) -> pulumi.Output[str]: - """ - Name of the database (e.g. `my-db-name`). - """ - return pulumi.get(self, "database_name") - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Output[str]: - """ - UUID of the rdb instance. - """ - return pulumi.get(self, "instance_id") - - @property - @pulumi.getter - def permission(self) -> pulumi.Output[str]: - """ - Permission to set. Valid values are `readonly`, `readwrite`, `all`, `custom` and `none`. - """ - return pulumi.get(self, "permission") - - @property - @pulumi.getter - def region(self) -> pulumi.Output[str]: - """ - `region`) The region in which the resource exists. - """ - return pulumi.get(self, "region") - - @property - @pulumi.getter(name="userName") - def user_name(self) -> pulumi.Output[str]: - """ - Name of the user (e.g. `my-db-user`). - """ - return pulumi.get(self, "user_name") - diff --git a/sdk/python/pulumiverse_scaleway/documentdb_read_replica.py b/sdk/python/pulumiverse_scaleway/documentdb_read_replica.py deleted file mode 100644 index e9792598..00000000 --- a/sdk/python/pulumiverse_scaleway/documentdb_read_replica.py +++ /dev/null @@ -1,405 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities -from . import outputs -from ._inputs import * - -__all__ = ['DocumentdbReadReplicaArgs', 'DocumentdbReadReplica'] - -@pulumi.input_type -class DocumentdbReadReplicaArgs: - def __init__(__self__, *, - instance_id: pulumi.Input[str], - direct_access: Optional[pulumi.Input['DocumentdbReadReplicaDirectAccessArgs']] = None, - private_network: Optional[pulumi.Input['DocumentdbReadReplicaPrivateNetworkArgs']] = None, - region: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a DocumentdbReadReplica resource. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - - > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - :param pulumi.Input['DocumentdbReadReplicaDirectAccessArgs'] direct_access: Creates a direct access endpoint to documentdb replica. - :param pulumi.Input['DocumentdbReadReplicaPrivateNetworkArgs'] private_network: Create an endpoint in a private network. - :param pulumi.Input[str] region: `region`) The region - in which the Database read replica should be created. - """ - pulumi.set(__self__, "instance_id", instance_id) - if direct_access is not None: - pulumi.set(__self__, "direct_access", direct_access) - if private_network is not None: - pulumi.set(__self__, "private_network", private_network) - if region is not None: - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Input[str]: - """ - UUID of the documentdb instance. - - > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: pulumi.Input[str]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter(name="directAccess") - def direct_access(self) -> Optional[pulumi.Input['DocumentdbReadReplicaDirectAccessArgs']]: - """ - Creates a direct access endpoint to documentdb replica. - """ - return pulumi.get(self, "direct_access") - - @direct_access.setter - def direct_access(self, value: Optional[pulumi.Input['DocumentdbReadReplicaDirectAccessArgs']]): - pulumi.set(self, "direct_access", value) - - @property - @pulumi.getter(name="privateNetwork") - def private_network(self) -> Optional[pulumi.Input['DocumentdbReadReplicaPrivateNetworkArgs']]: - """ - Create an endpoint in a private network. - """ - return pulumi.get(self, "private_network") - - @private_network.setter - def private_network(self, value: Optional[pulumi.Input['DocumentdbReadReplicaPrivateNetworkArgs']]): - pulumi.set(self, "private_network", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - `region`) The region - in which the Database read replica should be created. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - -@pulumi.input_type -class _DocumentdbReadReplicaState: - def __init__(__self__, *, - direct_access: Optional[pulumi.Input['DocumentdbReadReplicaDirectAccessArgs']] = None, - instance_id: Optional[pulumi.Input[str]] = None, - private_network: Optional[pulumi.Input['DocumentdbReadReplicaPrivateNetworkArgs']] = None, - region: Optional[pulumi.Input[str]] = None): - """ - Input properties used for looking up and filtering DocumentdbReadReplica resources. - :param pulumi.Input['DocumentdbReadReplicaDirectAccessArgs'] direct_access: Creates a direct access endpoint to documentdb replica. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - - > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - :param pulumi.Input['DocumentdbReadReplicaPrivateNetworkArgs'] private_network: Create an endpoint in a private network. - :param pulumi.Input[str] region: `region`) The region - in which the Database read replica should be created. - """ - if direct_access is not None: - pulumi.set(__self__, "direct_access", direct_access) - if instance_id is not None: - pulumi.set(__self__, "instance_id", instance_id) - if private_network is not None: - pulumi.set(__self__, "private_network", private_network) - if region is not None: - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter(name="directAccess") - def direct_access(self) -> Optional[pulumi.Input['DocumentdbReadReplicaDirectAccessArgs']]: - """ - Creates a direct access endpoint to documentdb replica. - """ - return pulumi.get(self, "direct_access") - - @direct_access.setter - def direct_access(self, value: Optional[pulumi.Input['DocumentdbReadReplicaDirectAccessArgs']]): - pulumi.set(self, "direct_access", value) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> Optional[pulumi.Input[str]]: - """ - UUID of the documentdb instance. - - > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter(name="privateNetwork") - def private_network(self) -> Optional[pulumi.Input['DocumentdbReadReplicaPrivateNetworkArgs']]: - """ - Create an endpoint in a private network. - """ - return pulumi.get(self, "private_network") - - @private_network.setter - def private_network(self, value: Optional[pulumi.Input['DocumentdbReadReplicaPrivateNetworkArgs']]): - pulumi.set(self, "private_network", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - `region`) The region - in which the Database read replica should be created. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - -class DocumentdbReadReplica(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - direct_access: Optional[pulumi.Input[Union['DocumentdbReadReplicaDirectAccessArgs', 'DocumentdbReadReplicaDirectAccessArgsDict']]] = None, - instance_id: Optional[pulumi.Input[str]] = None, - private_network: Optional[pulumi.Input[Union['DocumentdbReadReplicaPrivateNetworkArgs', 'DocumentdbReadReplicaPrivateNetworkArgsDict']]] = None, - region: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Creates and manages Scaleway DocumentDB Database read replicas. - - ## Example Usage - - ### Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - replica = scaleway.DocumentdbReadReplica("replica", - instance_id="11111111-1111-1111-1111-111111111111", - direct_access={}) - ``` - - ### Private network - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - pn = scaleway.VpcPrivateNetwork("pn") - instance = scaleway.DocumentdbInstance("instance", - name="document_db-read-replica-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - replica = scaleway.DocumentdbReadReplica("replica", - instance_id=instance.id, - private_network={ - "private_network_id": pn.id, - "service_ip": "192.168.1.254/24", - }) - ``` - - ## Import - - Database Read replica can be imported using the `{region}/{id}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbReadReplica:DocumentdbReadReplica rr fr-par/11111111-1111-1111-1111-111111111111 - ``` - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['DocumentdbReadReplicaDirectAccessArgs', 'DocumentdbReadReplicaDirectAccessArgsDict']] direct_access: Creates a direct access endpoint to documentdb replica. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - - > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - :param pulumi.Input[Union['DocumentdbReadReplicaPrivateNetworkArgs', 'DocumentdbReadReplicaPrivateNetworkArgsDict']] private_network: Create an endpoint in a private network. - :param pulumi.Input[str] region: `region`) The region - in which the Database read replica should be created. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: DocumentdbReadReplicaArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Creates and manages Scaleway DocumentDB Database read replicas. - - ## Example Usage - - ### Basic - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - replica = scaleway.DocumentdbReadReplica("replica", - instance_id="11111111-1111-1111-1111-111111111111", - direct_access={}) - ``` - - ### Private network - - ```python - import pulumi - import pulumiverse_scaleway as scaleway - - pn = scaleway.VpcPrivateNetwork("pn") - instance = scaleway.DocumentdbInstance("instance", - name="document_db-read-replica-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - replica = scaleway.DocumentdbReadReplica("replica", - instance_id=instance.id, - private_network={ - "private_network_id": pn.id, - "service_ip": "192.168.1.254/24", - }) - ``` - - ## Import - - Database Read replica can be imported using the `{region}/{id}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbReadReplica:DocumentdbReadReplica rr fr-par/11111111-1111-1111-1111-111111111111 - ``` - - :param str resource_name: The name of the resource. - :param DocumentdbReadReplicaArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(DocumentdbReadReplicaArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - direct_access: Optional[pulumi.Input[Union['DocumentdbReadReplicaDirectAccessArgs', 'DocumentdbReadReplicaDirectAccessArgsDict']]] = None, - instance_id: Optional[pulumi.Input[str]] = None, - private_network: Optional[pulumi.Input[Union['DocumentdbReadReplicaPrivateNetworkArgs', 'DocumentdbReadReplicaPrivateNetworkArgsDict']]] = None, - region: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = DocumentdbReadReplicaArgs.__new__(DocumentdbReadReplicaArgs) - - __props__.__dict__["direct_access"] = direct_access - if instance_id is None and not opts.urn: - raise TypeError("Missing required property 'instance_id'") - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["private_network"] = private_network - __props__.__dict__["region"] = region - super(DocumentdbReadReplica, __self__).__init__( - 'scaleway:index/documentdbReadReplica:DocumentdbReadReplica', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - direct_access: Optional[pulumi.Input[Union['DocumentdbReadReplicaDirectAccessArgs', 'DocumentdbReadReplicaDirectAccessArgsDict']]] = None, - instance_id: Optional[pulumi.Input[str]] = None, - private_network: Optional[pulumi.Input[Union['DocumentdbReadReplicaPrivateNetworkArgs', 'DocumentdbReadReplicaPrivateNetworkArgsDict']]] = None, - region: Optional[pulumi.Input[str]] = None) -> 'DocumentdbReadReplica': - """ - Get an existing DocumentdbReadReplica resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['DocumentdbReadReplicaDirectAccessArgs', 'DocumentdbReadReplicaDirectAccessArgsDict']] direct_access: Creates a direct access endpoint to documentdb replica. - :param pulumi.Input[str] instance_id: UUID of the documentdb instance. - - > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - :param pulumi.Input[Union['DocumentdbReadReplicaPrivateNetworkArgs', 'DocumentdbReadReplicaPrivateNetworkArgsDict']] private_network: Create an endpoint in a private network. - :param pulumi.Input[str] region: `region`) The region - in which the Database read replica should be created. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _DocumentdbReadReplicaState.__new__(_DocumentdbReadReplicaState) - - __props__.__dict__["direct_access"] = direct_access - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["private_network"] = private_network - __props__.__dict__["region"] = region - return DocumentdbReadReplica(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="directAccess") - def direct_access(self) -> pulumi.Output[Optional['outputs.DocumentdbReadReplicaDirectAccess']]: - """ - Creates a direct access endpoint to documentdb replica. - """ - return pulumi.get(self, "direct_access") - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Output[str]: - """ - UUID of the documentdb instance. - - > **Important:** The replica musts contains at least one of `direct_access` or `private_network`. It can contain both. - """ - return pulumi.get(self, "instance_id") - - @property - @pulumi.getter(name="privateNetwork") - def private_network(self) -> pulumi.Output[Optional['outputs.DocumentdbReadReplicaPrivateNetwork']]: - """ - Create an endpoint in a private network. - """ - return pulumi.get(self, "private_network") - - @property - @pulumi.getter - def region(self) -> pulumi.Output[str]: - """ - `region`) The region - in which the Database read replica should be created. - """ - return pulumi.get(self, "region") - diff --git a/sdk/python/pulumiverse_scaleway/documentdb_user.py b/sdk/python/pulumiverse_scaleway/documentdb_user.py deleted file mode 100644 index 79e37416..00000000 --- a/sdk/python/pulumiverse_scaleway/documentdb_user.py +++ /dev/null @@ -1,442 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities - -__all__ = ['DocumentdbUserArgs', 'DocumentdbUser'] - -@pulumi.input_type -class DocumentdbUserArgs: - def __init__(__self__, *, - instance_id: pulumi.Input[str], - password: pulumi.Input[str], - is_admin: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None): - """ - The set of arguments for constructing a DocumentdbUser resource. - :param pulumi.Input[str] instance_id: UUID of the documentDB instance. - - > **Important:** Updates to `instance_id` will recreate the Database User. - :param pulumi.Input[str] password: Database User password. - :param pulumi.Input[bool] is_admin: Grant admin permissions to the Database User. - :param pulumi.Input[str] name: Database Username. - - > **Important:** Updates to `name` will recreate the Database User. - :param pulumi.Input[str] region: The Scaleway region this resource resides in. - """ - pulumi.set(__self__, "instance_id", instance_id) - pulumi.set(__self__, "password", password) - if is_admin is not None: - pulumi.set(__self__, "is_admin", is_admin) - if name is not None: - pulumi.set(__self__, "name", name) - if region is not None: - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Input[str]: - """ - UUID of the documentDB instance. - - > **Important:** Updates to `instance_id` will recreate the Database User. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: pulumi.Input[str]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter - def password(self) -> pulumi.Input[str]: - """ - Database User password. - """ - return pulumi.get(self, "password") - - @password.setter - def password(self, value: pulumi.Input[str]): - pulumi.set(self, "password", value) - - @property - @pulumi.getter(name="isAdmin") - def is_admin(self) -> Optional[pulumi.Input[bool]]: - """ - Grant admin permissions to the Database User. - """ - return pulumi.get(self, "is_admin") - - @is_admin.setter - def is_admin(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "is_admin", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - Database Username. - - > **Important:** Updates to `name` will recreate the Database User. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - The Scaleway region this resource resides in. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - -@pulumi.input_type -class _DocumentdbUserState: - def __init__(__self__, *, - instance_id: Optional[pulumi.Input[str]] = None, - is_admin: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None): - """ - Input properties used for looking up and filtering DocumentdbUser resources. - :param pulumi.Input[str] instance_id: UUID of the documentDB instance. - - > **Important:** Updates to `instance_id` will recreate the Database User. - :param pulumi.Input[bool] is_admin: Grant admin permissions to the Database User. - :param pulumi.Input[str] name: Database Username. - - > **Important:** Updates to `name` will recreate the Database User. - :param pulumi.Input[str] password: Database User password. - :param pulumi.Input[str] region: The Scaleway region this resource resides in. - """ - if instance_id is not None: - pulumi.set(__self__, "instance_id", instance_id) - if is_admin is not None: - pulumi.set(__self__, "is_admin", is_admin) - if name is not None: - pulumi.set(__self__, "name", name) - if password is not None: - pulumi.set(__self__, "password", password) - if region is not None: - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> Optional[pulumi.Input[str]]: - """ - UUID of the documentDB instance. - - > **Important:** Updates to `instance_id` will recreate the Database User. - """ - return pulumi.get(self, "instance_id") - - @instance_id.setter - def instance_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "instance_id", value) - - @property - @pulumi.getter(name="isAdmin") - def is_admin(self) -> Optional[pulumi.Input[bool]]: - """ - Grant admin permissions to the Database User. - """ - return pulumi.get(self, "is_admin") - - @is_admin.setter - def is_admin(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "is_admin", value) - - @property - @pulumi.getter - def name(self) -> Optional[pulumi.Input[str]]: - """ - Database Username. - - > **Important:** Updates to `name` will recreate the Database User. - """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "name", value) - - @property - @pulumi.getter - def password(self) -> Optional[pulumi.Input[str]]: - """ - Database User password. - """ - return pulumi.get(self, "password") - - @password.setter - def password(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "password", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - The Scaleway region this resource resides in. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - - -class DocumentdbUser(pulumi.CustomResource): - @overload - def __init__(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - is_admin: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - __props__=None): - """ - Creates and manages Scaleway Database DocumentDB Users. - - ## Example Usage - - ### Basic - - ```python - import pulumi - import pulumi_random as random - import pulumiverse_scaleway as scaleway - - instance = scaleway.DocumentdbInstance("instance", - name="test-document_db-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - db_password = random.RandomPassword("db_password", - length=16, - special=True) - db_admin = scaleway.DocumentdbUser("db_admin", - instance_id=instance.id, - name="devtools", - password=db_password.result, - is_admin=True) - ``` - - ## Import - - Database User can be imported using `{region}/{instance_id}/{user_name}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbUser:DocumentdbUser admin fr-par/11111111-1111-1111-1111-111111111111/admin - ``` - - :param str resource_name: The name of the resource. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] instance_id: UUID of the documentDB instance. - - > **Important:** Updates to `instance_id` will recreate the Database User. - :param pulumi.Input[bool] is_admin: Grant admin permissions to the Database User. - :param pulumi.Input[str] name: Database Username. - - > **Important:** Updates to `name` will recreate the Database User. - :param pulumi.Input[str] password: Database User password. - :param pulumi.Input[str] region: The Scaleway region this resource resides in. - """ - ... - @overload - def __init__(__self__, - resource_name: str, - args: DocumentdbUserArgs, - opts: Optional[pulumi.ResourceOptions] = None): - """ - Creates and manages Scaleway Database DocumentDB Users. - - ## Example Usage - - ### Basic - - ```python - import pulumi - import pulumi_random as random - import pulumiverse_scaleway as scaleway - - instance = scaleway.DocumentdbInstance("instance", - name="test-document_db-basic", - node_type="docdb-play2-pico", - engine="FerretDB-1", - user_name="my_initial_user", - password="thiZ_is_v&ry_s3cret", - volume_size_in_gb=20) - db_password = random.RandomPassword("db_password", - length=16, - special=True) - db_admin = scaleway.DocumentdbUser("db_admin", - instance_id=instance.id, - name="devtools", - password=db_password.result, - is_admin=True) - ``` - - ## Import - - Database User can be imported using `{region}/{instance_id}/{user_name}`, e.g. - - bash - - ```sh - $ pulumi import scaleway:index/documentdbUser:DocumentdbUser admin fr-par/11111111-1111-1111-1111-111111111111/admin - ``` - - :param str resource_name: The name of the resource. - :param DocumentdbUserArgs args: The arguments to use to populate this resource's properties. - :param pulumi.ResourceOptions opts: Options for the resource. - """ - ... - def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(DocumentdbUserArgs, pulumi.ResourceOptions, *args, **kwargs) - if resource_args is not None: - __self__._internal_init(resource_name, opts, **resource_args.__dict__) - else: - __self__._internal_init(resource_name, *args, **kwargs) - - def _internal_init(__self__, - resource_name: str, - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - is_admin: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None, - __props__=None): - opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) - if not isinstance(opts, pulumi.ResourceOptions): - raise TypeError('Expected resource options to be a ResourceOptions instance') - if opts.id is None: - if __props__ is not None: - raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = DocumentdbUserArgs.__new__(DocumentdbUserArgs) - - if instance_id is None and not opts.urn: - raise TypeError("Missing required property 'instance_id'") - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["is_admin"] = is_admin - __props__.__dict__["name"] = name - if password is None and not opts.urn: - raise TypeError("Missing required property 'password'") - __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) - __props__.__dict__["region"] = region - secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) - opts = pulumi.ResourceOptions.merge(opts, secret_opts) - super(DocumentdbUser, __self__).__init__( - 'scaleway:index/documentdbUser:DocumentdbUser', - resource_name, - __props__, - opts) - - @staticmethod - def get(resource_name: str, - id: pulumi.Input[str], - opts: Optional[pulumi.ResourceOptions] = None, - instance_id: Optional[pulumi.Input[str]] = None, - is_admin: Optional[pulumi.Input[bool]] = None, - name: Optional[pulumi.Input[str]] = None, - password: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None) -> 'DocumentdbUser': - """ - Get an existing DocumentdbUser resource's state with the given name, id, and optional extra - properties used to qualify the lookup. - - :param str resource_name: The unique name of the resulting resource. - :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. - :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] instance_id: UUID of the documentDB instance. - - > **Important:** Updates to `instance_id` will recreate the Database User. - :param pulumi.Input[bool] is_admin: Grant admin permissions to the Database User. - :param pulumi.Input[str] name: Database Username. - - > **Important:** Updates to `name` will recreate the Database User. - :param pulumi.Input[str] password: Database User password. - :param pulumi.Input[str] region: The Scaleway region this resource resides in. - """ - opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - - __props__ = _DocumentdbUserState.__new__(_DocumentdbUserState) - - __props__.__dict__["instance_id"] = instance_id - __props__.__dict__["is_admin"] = is_admin - __props__.__dict__["name"] = name - __props__.__dict__["password"] = password - __props__.__dict__["region"] = region - return DocumentdbUser(resource_name, opts=opts, __props__=__props__) - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> pulumi.Output[str]: - """ - UUID of the documentDB instance. - - > **Important:** Updates to `instance_id` will recreate the Database User. - """ - return pulumi.get(self, "instance_id") - - @property - @pulumi.getter(name="isAdmin") - def is_admin(self) -> pulumi.Output[Optional[bool]]: - """ - Grant admin permissions to the Database User. - """ - return pulumi.get(self, "is_admin") - - @property - @pulumi.getter - def name(self) -> pulumi.Output[str]: - """ - Database Username. - - > **Important:** Updates to `name` will recreate the Database User. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def password(self) -> pulumi.Output[str]: - """ - Database User password. - """ - return pulumi.get(self, "password") - - @property - @pulumi.getter - def region(self) -> pulumi.Output[str]: - """ - The Scaleway region this resource resides in. - """ - return pulumi.get(self, "region") - diff --git a/sdk/python/pulumiverse_scaleway/get_documentdb_database.py b/sdk/python/pulumiverse_scaleway/get_documentdb_database.py deleted file mode 100644 index d9253258..00000000 --- a/sdk/python/pulumiverse_scaleway/get_documentdb_database.py +++ /dev/null @@ -1,198 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities - -__all__ = [ - 'GetDocumentdbDatabaseResult', - 'AwaitableGetDocumentdbDatabaseResult', - 'get_documentdb_database', - 'get_documentdb_database_output', -] - -@pulumi.output_type -class GetDocumentdbDatabaseResult: - """ - A collection of values returned by getDocumentdbDatabase. - """ - def __init__(__self__, id=None, instance_id=None, managed=None, name=None, owner=None, project_id=None, region=None, size=None): - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if instance_id and not isinstance(instance_id, str): - raise TypeError("Expected argument 'instance_id' to be a str") - pulumi.set(__self__, "instance_id", instance_id) - if managed and not isinstance(managed, bool): - raise TypeError("Expected argument 'managed' to be a bool") - pulumi.set(__self__, "managed", managed) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if owner and not isinstance(owner, str): - raise TypeError("Expected argument 'owner' to be a str") - pulumi.set(__self__, "owner", owner) - if project_id and not isinstance(project_id, str): - raise TypeError("Expected argument 'project_id' to be a str") - pulumi.set(__self__, "project_id", project_id) - if region and not isinstance(region, str): - raise TypeError("Expected argument 'region' to be a str") - pulumi.set(__self__, "region", region) - if size and not isinstance(size, str): - raise TypeError("Expected argument 'size' to be a str") - pulumi.set(__self__, "size", size) - - @property - @pulumi.getter - def id(self) -> str: - """ - The provider-assigned unique ID for this managed resource. - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> str: - return pulumi.get(self, "instance_id") - - @property - @pulumi.getter - def managed(self) -> bool: - """ - Whether the database is managed or not. - """ - return pulumi.get(self, "managed") - - @property - @pulumi.getter - def name(self) -> Optional[str]: - return pulumi.get(self, "name") - - @property - @pulumi.getter - def owner(self) -> str: - """ - The name of the owner of the database. - """ - return pulumi.get(self, "owner") - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: - return pulumi.get(self, "project_id") - - @property - @pulumi.getter - def region(self) -> Optional[str]: - return pulumi.get(self, "region") - - @property - @pulumi.getter - def size(self) -> str: - """ - Size of the database (in bytes). - """ - return pulumi.get(self, "size") - - -class AwaitableGetDocumentdbDatabaseResult(GetDocumentdbDatabaseResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetDocumentdbDatabaseResult( - id=self.id, - instance_id=self.instance_id, - managed=self.managed, - name=self.name, - owner=self.owner, - project_id=self.project_id, - region=self.region, - size=self.size) - - -def get_documentdb_database(instance_id: Optional[str] = None, - name: Optional[str] = None, - region: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDocumentdbDatabaseResult: - """ - Gets information about DocumentDB database. - - ## Example Usage - - ```python - import pulumi - import pulumi_scaleway as scaleway - - # Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111 - main = scaleway.get_documentdb_database(instance_id="11111111-1111-1111-1111-111111111111", - name="foobar") - ``` - - - :param str instance_id: The DocumentDB instance ID. - :param str name: The name of the DocumentDB instance. - """ - __args__ = dict() - __args__['instanceId'] = instance_id - __args__['name'] = name - __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase', __args__, opts=opts, typ=GetDocumentdbDatabaseResult).value - - return AwaitableGetDocumentdbDatabaseResult( - id=pulumi.get(__ret__, 'id'), - instance_id=pulumi.get(__ret__, 'instance_id'), - managed=pulumi.get(__ret__, 'managed'), - name=pulumi.get(__ret__, 'name'), - owner=pulumi.get(__ret__, 'owner'), - project_id=pulumi.get(__ret__, 'project_id'), - region=pulumi.get(__ret__, 'region'), - size=pulumi.get(__ret__, 'size')) -def get_documentdb_database_output(instance_id: Optional[pulumi.Input[str]] = None, - name: Optional[pulumi.Input[Optional[str]]] = None, - region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDocumentdbDatabaseResult]: - """ - Gets information about DocumentDB database. - - ## Example Usage - - ```python - import pulumi - import pulumi_scaleway as scaleway - - # Get the database foobar hosted on instance id 11111111-1111-1111-1111-111111111111 - main = scaleway.get_documentdb_database(instance_id="11111111-1111-1111-1111-111111111111", - name="foobar") - ``` - - - :param str instance_id: The DocumentDB instance ID. - :param str name: The name of the DocumentDB instance. - """ - __args__ = dict() - __args__['instanceId'] = instance_id - __args__['name'] = name - __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDocumentdbDatabase:getDocumentdbDatabase', __args__, opts=opts, typ=GetDocumentdbDatabaseResult) - return __ret__.apply(lambda __response__: GetDocumentdbDatabaseResult( - id=pulumi.get(__response__, 'id'), - instance_id=pulumi.get(__response__, 'instance_id'), - managed=pulumi.get(__response__, 'managed'), - name=pulumi.get(__response__, 'name'), - owner=pulumi.get(__response__, 'owner'), - project_id=pulumi.get(__response__, 'project_id'), - region=pulumi.get(__response__, 'region'), - size=pulumi.get(__response__, 'size'))) diff --git a/sdk/python/pulumiverse_scaleway/get_documentdb_instance.py b/sdk/python/pulumiverse_scaleway/get_documentdb_instance.py deleted file mode 100644 index 08fb9d3b..00000000 --- a/sdk/python/pulumiverse_scaleway/get_documentdb_instance.py +++ /dev/null @@ -1,245 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities - -__all__ = [ - 'GetDocumentdbInstanceResult', - 'AwaitableGetDocumentdbInstanceResult', - 'get_documentdb_instance', - 'get_documentdb_instance_output', -] - -@pulumi.output_type -class GetDocumentdbInstanceResult: - """ - A collection of values returned by getDocumentdbInstance. - """ - def __init__(__self__, engine=None, id=None, instance_id=None, is_ha_cluster=None, name=None, node_type=None, password=None, project_id=None, region=None, tags=None, telemetry_enabled=None, user_name=None, volume_size_in_gb=None, volume_type=None): - if engine and not isinstance(engine, str): - raise TypeError("Expected argument 'engine' to be a str") - pulumi.set(__self__, "engine", engine) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if instance_id and not isinstance(instance_id, str): - raise TypeError("Expected argument 'instance_id' to be a str") - pulumi.set(__self__, "instance_id", instance_id) - if is_ha_cluster and not isinstance(is_ha_cluster, bool): - raise TypeError("Expected argument 'is_ha_cluster' to be a bool") - pulumi.set(__self__, "is_ha_cluster", is_ha_cluster) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if node_type and not isinstance(node_type, str): - raise TypeError("Expected argument 'node_type' to be a str") - pulumi.set(__self__, "node_type", node_type) - if password and not isinstance(password, str): - raise TypeError("Expected argument 'password' to be a str") - pulumi.set(__self__, "password", password) - if project_id and not isinstance(project_id, str): - raise TypeError("Expected argument 'project_id' to be a str") - pulumi.set(__self__, "project_id", project_id) - if region and not isinstance(region, str): - raise TypeError("Expected argument 'region' to be a str") - pulumi.set(__self__, "region", region) - if tags and not isinstance(tags, list): - raise TypeError("Expected argument 'tags' to be a list") - pulumi.set(__self__, "tags", tags) - if telemetry_enabled and not isinstance(telemetry_enabled, bool): - raise TypeError("Expected argument 'telemetry_enabled' to be a bool") - pulumi.set(__self__, "telemetry_enabled", telemetry_enabled) - if user_name and not isinstance(user_name, str): - raise TypeError("Expected argument 'user_name' to be a str") - pulumi.set(__self__, "user_name", user_name) - if volume_size_in_gb and not isinstance(volume_size_in_gb, int): - raise TypeError("Expected argument 'volume_size_in_gb' to be a int") - pulumi.set(__self__, "volume_size_in_gb", volume_size_in_gb) - if volume_type and not isinstance(volume_type, str): - raise TypeError("Expected argument 'volume_type' to be a str") - pulumi.set(__self__, "volume_type", volume_type) - - @property - @pulumi.getter - def engine(self) -> str: - return pulumi.get(self, "engine") - - @property - @pulumi.getter - def id(self) -> str: - """ - The provider-assigned unique ID for this managed resource. - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> Optional[str]: - return pulumi.get(self, "instance_id") - - @property - @pulumi.getter(name="isHaCluster") - def is_ha_cluster(self) -> bool: - return pulumi.get(self, "is_ha_cluster") - - @property - @pulumi.getter - def name(self) -> Optional[str]: - return pulumi.get(self, "name") - - @property - @pulumi.getter(name="nodeType") - def node_type(self) -> str: - return pulumi.get(self, "node_type") - - @property - @pulumi.getter - def password(self) -> str: - return pulumi.get(self, "password") - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[str]: - return pulumi.get(self, "project_id") - - @property - @pulumi.getter - def region(self) -> Optional[str]: - return pulumi.get(self, "region") - - @property - @pulumi.getter - def tags(self) -> Sequence[str]: - return pulumi.get(self, "tags") - - @property - @pulumi.getter(name="telemetryEnabled") - def telemetry_enabled(self) -> bool: - return pulumi.get(self, "telemetry_enabled") - - @property - @pulumi.getter(name="userName") - def user_name(self) -> str: - return pulumi.get(self, "user_name") - - @property - @pulumi.getter(name="volumeSizeInGb") - def volume_size_in_gb(self) -> int: - return pulumi.get(self, "volume_size_in_gb") - - @property - @pulumi.getter(name="volumeType") - def volume_type(self) -> str: - return pulumi.get(self, "volume_type") - - -class AwaitableGetDocumentdbInstanceResult(GetDocumentdbInstanceResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetDocumentdbInstanceResult( - engine=self.engine, - id=self.id, - instance_id=self.instance_id, - is_ha_cluster=self.is_ha_cluster, - name=self.name, - node_type=self.node_type, - password=self.password, - project_id=self.project_id, - region=self.region, - tags=self.tags, - telemetry_enabled=self.telemetry_enabled, - user_name=self.user_name, - volume_size_in_gb=self.volume_size_in_gb, - volume_type=self.volume_type) - - -def get_documentdb_instance(instance_id: Optional[str] = None, - name: Optional[str] = None, - project_id: Optional[str] = None, - region: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDocumentdbInstanceResult: - """ - Gets information about an DocumentDB instance. - - - :param str instance_id: The DocumentDB instance ID. - Only one of `name` and `instance_id` should be specified. - :param str name: The name of the DocumentDB instance. - Only one of `name` and `instance_id` should be specified. - :param str project_id: The ID of the project the DocumentDB instance is associated with. - :param str region: `region`) The region in which the DocumentDB instance exists. - """ - __args__ = dict() - __args__['instanceId'] = instance_id - __args__['name'] = name - __args__['projectId'] = project_id - __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('scaleway:index/getDocumentdbInstance:getDocumentdbInstance', __args__, opts=opts, typ=GetDocumentdbInstanceResult).value - - return AwaitableGetDocumentdbInstanceResult( - engine=pulumi.get(__ret__, 'engine'), - id=pulumi.get(__ret__, 'id'), - instance_id=pulumi.get(__ret__, 'instance_id'), - is_ha_cluster=pulumi.get(__ret__, 'is_ha_cluster'), - name=pulumi.get(__ret__, 'name'), - node_type=pulumi.get(__ret__, 'node_type'), - password=pulumi.get(__ret__, 'password'), - project_id=pulumi.get(__ret__, 'project_id'), - region=pulumi.get(__ret__, 'region'), - tags=pulumi.get(__ret__, 'tags'), - telemetry_enabled=pulumi.get(__ret__, 'telemetry_enabled'), - user_name=pulumi.get(__ret__, 'user_name'), - volume_size_in_gb=pulumi.get(__ret__, 'volume_size_in_gb'), - volume_type=pulumi.get(__ret__, 'volume_type')) -def get_documentdb_instance_output(instance_id: Optional[pulumi.Input[Optional[str]]] = None, - name: Optional[pulumi.Input[Optional[str]]] = None, - project_id: Optional[pulumi.Input[Optional[str]]] = None, - region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDocumentdbInstanceResult]: - """ - Gets information about an DocumentDB instance. - - - :param str instance_id: The DocumentDB instance ID. - Only one of `name` and `instance_id` should be specified. - :param str name: The name of the DocumentDB instance. - Only one of `name` and `instance_id` should be specified. - :param str project_id: The ID of the project the DocumentDB instance is associated with. - :param str region: `region`) The region in which the DocumentDB instance exists. - """ - __args__ = dict() - __args__['instanceId'] = instance_id - __args__['name'] = name - __args__['projectId'] = project_id - __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDocumentdbInstance:getDocumentdbInstance', __args__, opts=opts, typ=GetDocumentdbInstanceResult) - return __ret__.apply(lambda __response__: GetDocumentdbInstanceResult( - engine=pulumi.get(__response__, 'engine'), - id=pulumi.get(__response__, 'id'), - instance_id=pulumi.get(__response__, 'instance_id'), - is_ha_cluster=pulumi.get(__response__, 'is_ha_cluster'), - name=pulumi.get(__response__, 'name'), - node_type=pulumi.get(__response__, 'node_type'), - password=pulumi.get(__response__, 'password'), - project_id=pulumi.get(__response__, 'project_id'), - region=pulumi.get(__response__, 'region'), - tags=pulumi.get(__response__, 'tags'), - telemetry_enabled=pulumi.get(__response__, 'telemetry_enabled'), - user_name=pulumi.get(__response__, 'user_name'), - volume_size_in_gb=pulumi.get(__response__, 'volume_size_in_gb'), - volume_type=pulumi.get(__response__, 'volume_type'))) diff --git a/sdk/python/pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py b/sdk/python/pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py deleted file mode 100644 index 0566d397..00000000 --- a/sdk/python/pulumiverse_scaleway/get_documentdb_load_balancer_endpoint.py +++ /dev/null @@ -1,198 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -import copy -import warnings -import sys -import pulumi -import pulumi.runtime -from typing import Any, Mapping, Optional, Sequence, Union, overload -if sys.version_info >= (3, 11): - from typing import NotRequired, TypedDict, TypeAlias -else: - from typing_extensions import NotRequired, TypedDict, TypeAlias -from . import _utilities - -__all__ = [ - 'GetDocumentdbLoadBalancerEndpointResult', - 'AwaitableGetDocumentdbLoadBalancerEndpointResult', - 'get_documentdb_load_balancer_endpoint', - 'get_documentdb_load_balancer_endpoint_output', -] - -@pulumi.output_type -class GetDocumentdbLoadBalancerEndpointResult: - """ - A collection of values returned by getDocumentdbLoadBalancerEndpoint. - """ - def __init__(__self__, hostname=None, id=None, instance_id=None, instance_name=None, ip=None, name=None, port=None, project_id=None, region=None): - if hostname and not isinstance(hostname, str): - raise TypeError("Expected argument 'hostname' to be a str") - pulumi.set(__self__, "hostname", hostname) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) - if instance_id and not isinstance(instance_id, str): - raise TypeError("Expected argument 'instance_id' to be a str") - pulumi.set(__self__, "instance_id", instance_id) - if instance_name and not isinstance(instance_name, str): - raise TypeError("Expected argument 'instance_name' to be a str") - pulumi.set(__self__, "instance_name", instance_name) - if ip and not isinstance(ip, str): - raise TypeError("Expected argument 'ip' to be a str") - pulumi.set(__self__, "ip", ip) - if name and not isinstance(name, str): - raise TypeError("Expected argument 'name' to be a str") - pulumi.set(__self__, "name", name) - if port and not isinstance(port, int): - raise TypeError("Expected argument 'port' to be a int") - pulumi.set(__self__, "port", port) - if project_id and not isinstance(project_id, str): - raise TypeError("Expected argument 'project_id' to be a str") - pulumi.set(__self__, "project_id", project_id) - if region and not isinstance(region, str): - raise TypeError("Expected argument 'region' to be a str") - pulumi.set(__self__, "region", region) - - @property - @pulumi.getter - def hostname(self) -> str: - """ - The hostname of your endpoint. - """ - return pulumi.get(self, "hostname") - - @property - @pulumi.getter - def id(self) -> str: - """ - The provider-assigned unique ID for this managed resource. - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter(name="instanceId") - def instance_id(self) -> str: - return pulumi.get(self, "instance_id") - - @property - @pulumi.getter(name="instanceName") - def instance_name(self) -> str: - return pulumi.get(self, "instance_name") - - @property - @pulumi.getter - def ip(self) -> str: - """ - The IP of your load balancer service. - """ - return pulumi.get(self, "ip") - - @property - @pulumi.getter - def name(self) -> str: - """ - The name of your load balancer service. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def port(self) -> int: - """ - The port of your load balancer service. - """ - return pulumi.get(self, "port") - - @property - @pulumi.getter(name="projectId") - def project_id(self) -> str: - return pulumi.get(self, "project_id") - - @property - @pulumi.getter - def region(self) -> str: - return pulumi.get(self, "region") - - -class AwaitableGetDocumentdbLoadBalancerEndpointResult(GetDocumentdbLoadBalancerEndpointResult): - # pylint: disable=using-constant-test - def __await__(self): - if False: - yield self - return GetDocumentdbLoadBalancerEndpointResult( - hostname=self.hostname, - id=self.id, - instance_id=self.instance_id, - instance_name=self.instance_name, - ip=self.ip, - name=self.name, - port=self.port, - project_id=self.project_id, - region=self.region) - - -def get_documentdb_load_balancer_endpoint(instance_id: Optional[str] = None, - instance_name: Optional[str] = None, - project_id: Optional[str] = None, - region: Optional[str] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDocumentdbLoadBalancerEndpointResult: - """ - Gets information about an DocumentDB load balancer endpoint. - - - :param str instance_id: The DocumentDB Instance on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified. - :param str instance_name: The DocumentDB Instance Name on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified. - :param str project_id: The ID of the project the DocumentDB endpoint is associated with. - :param str region: `region`) The region in which the DocumentDB endpoint exists. - """ - __args__ = dict() - __args__['instanceId'] = instance_id - __args__['instanceName'] = instance_name - __args__['projectId'] = project_id - __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke('scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint', __args__, opts=opts, typ=GetDocumentdbLoadBalancerEndpointResult).value - - return AwaitableGetDocumentdbLoadBalancerEndpointResult( - hostname=pulumi.get(__ret__, 'hostname'), - id=pulumi.get(__ret__, 'id'), - instance_id=pulumi.get(__ret__, 'instance_id'), - instance_name=pulumi.get(__ret__, 'instance_name'), - ip=pulumi.get(__ret__, 'ip'), - name=pulumi.get(__ret__, 'name'), - port=pulumi.get(__ret__, 'port'), - project_id=pulumi.get(__ret__, 'project_id'), - region=pulumi.get(__ret__, 'region')) -def get_documentdb_load_balancer_endpoint_output(instance_id: Optional[pulumi.Input[Optional[str]]] = None, - instance_name: Optional[pulumi.Input[Optional[str]]] = None, - project_id: Optional[pulumi.Input[Optional[str]]] = None, - region: Optional[pulumi.Input[Optional[str]]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDocumentdbLoadBalancerEndpointResult]: - """ - Gets information about an DocumentDB load balancer endpoint. - - - :param str instance_id: The DocumentDB Instance on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified. - :param str instance_name: The DocumentDB Instance Name on which the endpoint is attached. Only one of `instance_name` and `instance_id` should be specified. - :param str project_id: The ID of the project the DocumentDB endpoint is associated with. - :param str region: `region`) The region in which the DocumentDB endpoint exists. - """ - __args__ = dict() - __args__['instanceId'] = instance_id - __args__['instanceName'] = instance_name - __args__['projectId'] = project_id - __args__['region'] = region - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) - __ret__ = pulumi.runtime.invoke_output('scaleway:index/getDocumentdbLoadBalancerEndpoint:getDocumentdbLoadBalancerEndpoint', __args__, opts=opts, typ=GetDocumentdbLoadBalancerEndpointResult) - return __ret__.apply(lambda __response__: GetDocumentdbLoadBalancerEndpointResult( - hostname=pulumi.get(__response__, 'hostname'), - id=pulumi.get(__response__, 'id'), - instance_id=pulumi.get(__response__, 'instance_id'), - instance_name=pulumi.get(__response__, 'instance_name'), - ip=pulumi.get(__response__, 'ip'), - name=pulumi.get(__response__, 'name'), - port=pulumi.get(__response__, 'port'), - project_id=pulumi.get(__response__, 'project_id'), - region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumiverse_scaleway/get_instance_private_nic.py b/sdk/python/pulumiverse_scaleway/get_instance_private_nic.py index e62ead0a..3ab87d0c 100644 --- a/sdk/python/pulumiverse_scaleway/get_instance_private_nic.py +++ b/sdk/python/pulumiverse_scaleway/get_instance_private_nic.py @@ -26,13 +26,16 @@ class GetInstancePrivateNicResult: """ A collection of values returned by getInstancePrivateNic. """ - def __init__(__self__, id=None, ip_ids=None, mac_address=None, private_network_id=None, private_nic_id=None, server_id=None, tags=None, zone=None): + def __init__(__self__, id=None, ip_ids=None, ipam_ip_ids=None, mac_address=None, private_network_id=None, private_nic_id=None, server_id=None, tags=None, zone=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) if ip_ids and not isinstance(ip_ids, list): raise TypeError("Expected argument 'ip_ids' to be a list") pulumi.set(__self__, "ip_ids", ip_ids) + if ipam_ip_ids and not isinstance(ipam_ip_ids, list): + raise TypeError("Expected argument 'ipam_ip_ids' to be a list") + pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids) if mac_address and not isinstance(mac_address, str): raise TypeError("Expected argument 'mac_address' to be a str") pulumi.set(__self__, "mac_address", mac_address) @@ -65,6 +68,11 @@ def id(self) -> str: def ip_ids(self) -> Sequence[str]: return pulumi.get(self, "ip_ids") + @property + @pulumi.getter(name="ipamIpIds") + def ipam_ip_ids(self) -> Sequence[str]: + return pulumi.get(self, "ipam_ip_ids") + @property @pulumi.getter(name="macAddress") def mac_address(self) -> str: @@ -104,6 +112,7 @@ def __await__(self): return GetInstancePrivateNicResult( id=self.id, ip_ids=self.ip_ids, + ipam_ip_ids=self.ipam_ip_ids, mac_address=self.mac_address, private_network_id=self.private_network_id, private_nic_id=self.private_nic_id, @@ -157,6 +166,7 @@ def get_instance_private_nic(private_network_id: Optional[str] = None, return AwaitableGetInstancePrivateNicResult( id=pulumi.get(__ret__, 'id'), ip_ids=pulumi.get(__ret__, 'ip_ids'), + ipam_ip_ids=pulumi.get(__ret__, 'ipam_ip_ids'), mac_address=pulumi.get(__ret__, 'mac_address'), private_network_id=pulumi.get(__ret__, 'private_network_id'), private_nic_id=pulumi.get(__ret__, 'private_nic_id'), @@ -207,6 +217,7 @@ def get_instance_private_nic_output(private_network_id: Optional[pulumi.Input[Op return __ret__.apply(lambda __response__: GetInstancePrivateNicResult( id=pulumi.get(__response__, 'id'), ip_ids=pulumi.get(__response__, 'ip_ids'), + ipam_ip_ids=pulumi.get(__response__, 'ipam_ip_ids'), mac_address=pulumi.get(__response__, 'mac_address'), private_network_id=pulumi.get(__response__, 'private_network_id'), private_nic_id=pulumi.get(__response__, 'private_nic_id'), diff --git a/sdk/python/pulumiverse_scaleway/get_registry_image_tag.py b/sdk/python/pulumiverse_scaleway/get_registry_image_tag.py new file mode 100644 index 00000000..0cf4cb2d --- /dev/null +++ b/sdk/python/pulumiverse_scaleway/get_registry_image_tag.py @@ -0,0 +1,229 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = [ + 'GetRegistryImageTagResult', + 'AwaitableGetRegistryImageTagResult', + 'get_registry_image_tag', + 'get_registry_image_tag_output', +] + +@pulumi.output_type +class GetRegistryImageTagResult: + """ + A collection of values returned by getRegistryImageTag. + """ + def __init__(__self__, created_at=None, digest=None, id=None, image_id=None, name=None, organization_id=None, project_id=None, region=None, status=None, tag_id=None, updated_at=None): + if created_at and not isinstance(created_at, str): + raise TypeError("Expected argument 'created_at' to be a str") + pulumi.set(__self__, "created_at", created_at) + if digest and not isinstance(digest, str): + raise TypeError("Expected argument 'digest' to be a str") + pulumi.set(__self__, "digest", digest) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if image_id and not isinstance(image_id, str): + raise TypeError("Expected argument 'image_id' to be a str") + pulumi.set(__self__, "image_id", image_id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if organization_id and not isinstance(organization_id, str): + raise TypeError("Expected argument 'organization_id' to be a str") + pulumi.set(__self__, "organization_id", organization_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if tag_id and not isinstance(tag_id, str): + raise TypeError("Expected argument 'tag_id' to be a str") + pulumi.set(__self__, "tag_id", tag_id) + if updated_at and not isinstance(updated_at, str): + raise TypeError("Expected argument 'updated_at' to be a str") + pulumi.set(__self__, "updated_at", updated_at) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> str: + """ + The date and time when the registry image tag was created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def digest(self) -> str: + """ + Hash of the tag content. Several tags of the same image may have the same digest. + """ + return pulumi.get(self, "digest") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="imageId") + def image_id(self) -> str: + return pulumi.get(self, "image_id") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="organizationId") + def organization_id(self) -> str: + """ + The organization ID the image tag is associated with. + """ + return pulumi.get(self, "organization_id") + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + @property + @pulumi.getter + def status(self) -> str: + """ + The status of the registry image tag. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="tagId") + def tag_id(self) -> Optional[str]: + return pulumi.get(self, "tag_id") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> str: + """ + The date and time of the last update to the registry image tag. + """ + return pulumi.get(self, "updated_at") + + +class AwaitableGetRegistryImageTagResult(GetRegistryImageTagResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetRegistryImageTagResult( + created_at=self.created_at, + digest=self.digest, + id=self.id, + image_id=self.image_id, + name=self.name, + organization_id=self.organization_id, + project_id=self.project_id, + region=self.region, + status=self.status, + tag_id=self.tag_id, + updated_at=self.updated_at) + + +def get_registry_image_tag(image_id: Optional[str] = None, + name: Optional[str] = None, + project_id: Optional[str] = None, + region: Optional[str] = None, + tag_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRegistryImageTagResult: + """ + Gets information about a specific tag of a Container Registry image. + + + :param str image_id: The ID of the registry image. + :param str name: The name of the registry image tag. + :param str project_id: The ID of the project the image tag is associated with. + :param str region: The region in which the registry image tag exists. + :param str tag_id: The ID of the registry image tag. + """ + __args__ = dict() + __args__['imageId'] = image_id + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + __args__['tagId'] = tag_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('scaleway:index/getRegistryImageTag:getRegistryImageTag', __args__, opts=opts, typ=GetRegistryImageTagResult).value + + return AwaitableGetRegistryImageTagResult( + created_at=pulumi.get(__ret__, 'created_at'), + digest=pulumi.get(__ret__, 'digest'), + id=pulumi.get(__ret__, 'id'), + image_id=pulumi.get(__ret__, 'image_id'), + name=pulumi.get(__ret__, 'name'), + organization_id=pulumi.get(__ret__, 'organization_id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + status=pulumi.get(__ret__, 'status'), + tag_id=pulumi.get(__ret__, 'tag_id'), + updated_at=pulumi.get(__ret__, 'updated_at')) +def get_registry_image_tag_output(image_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[Optional[str]]] = None, + project_id: Optional[pulumi.Input[Optional[str]]] = None, + region: Optional[pulumi.Input[Optional[str]]] = None, + tag_id: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegistryImageTagResult]: + """ + Gets information about a specific tag of a Container Registry image. + + + :param str image_id: The ID of the registry image. + :param str name: The name of the registry image tag. + :param str project_id: The ID of the project the image tag is associated with. + :param str region: The region in which the registry image tag exists. + :param str tag_id: The ID of the registry image tag. + """ + __args__ = dict() + __args__['imageId'] = image_id + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + __args__['tagId'] = tag_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('scaleway:index/getRegistryImageTag:getRegistryImageTag', __args__, opts=opts, typ=GetRegistryImageTagResult) + return __ret__.apply(lambda __response__: GetRegistryImageTagResult( + created_at=pulumi.get(__response__, 'created_at'), + digest=pulumi.get(__response__, 'digest'), + id=pulumi.get(__response__, 'id'), + image_id=pulumi.get(__response__, 'image_id'), + name=pulumi.get(__response__, 'name'), + organization_id=pulumi.get(__response__, 'organization_id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + status=pulumi.get(__response__, 'status'), + tag_id=pulumi.get(__response__, 'tag_id'), + updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumiverse_scaleway/instance_private_nic.py b/sdk/python/pulumiverse_scaleway/instance_private_nic.py index 31ac2788..03b0faa8 100644 --- a/sdk/python/pulumiverse_scaleway/instance_private_nic.py +++ b/sdk/python/pulumiverse_scaleway/instance_private_nic.py @@ -22,6 +22,7 @@ def __init__(__self__, *, private_network_id: pulumi.Input[str], server_id: pulumi.Input[str], ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, zone: Optional[pulumi.Input[str]] = None): """ @@ -29,6 +30,7 @@ def __init__(__self__, *, :param pulumi.Input[str] private_network_id: The ID of the private network attached to. :param pulumi.Input[str] server_id: The ID of the server associated with. :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only + :param pulumi.Input[Sequence[pulumi.Input[str]]] ipam_ip_ids: IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC. :param pulumi.Input[str] zone: `zone`) The zone in which the server must be created. """ @@ -36,6 +38,8 @@ def __init__(__self__, *, pulumi.set(__self__, "server_id", server_id) if ip_ids is not None: pulumi.set(__self__, "ip_ids", ip_ids) + if ipam_ip_ids is not None: + pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids) if tags is not None: pulumi.set(__self__, "tags", tags) if zone is not None: @@ -77,6 +81,18 @@ def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "ip_ids", value) + @property + @pulumi.getter(name="ipamIpIds") + def ipam_ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + """ + return pulumi.get(self, "ipam_ip_ids") + + @ipam_ip_ids.setter + def ipam_ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ipam_ip_ids", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -106,6 +122,7 @@ def zone(self, value: Optional[pulumi.Input[str]]): class _InstancePrivateNicState: def __init__(__self__, *, ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, mac_address: Optional[pulumi.Input[str]] = None, private_network_id: Optional[pulumi.Input[str]] = None, server_id: Optional[pulumi.Input[str]] = None, @@ -114,6 +131,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering InstancePrivateNic resources. :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only + :param pulumi.Input[Sequence[pulumi.Input[str]]] ipam_ip_ids: IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. :param pulumi.Input[str] mac_address: The MAC address of the private NIC. :param pulumi.Input[str] private_network_id: The ID of the private network attached to. :param pulumi.Input[str] server_id: The ID of the server associated with. @@ -122,6 +140,8 @@ def __init__(__self__, *, """ if ip_ids is not None: pulumi.set(__self__, "ip_ids", ip_ids) + if ipam_ip_ids is not None: + pulumi.set(__self__, "ipam_ip_ids", ipam_ip_ids) if mac_address is not None: pulumi.set(__self__, "mac_address", mac_address) if private_network_id is not None: @@ -145,6 +165,18 @@ def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "ip_ids", value) + @property + @pulumi.getter(name="ipamIpIds") + def ipam_ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + """ + return pulumi.get(self, "ipam_ip_ids") + + @ipam_ip_ids.setter + def ipam_ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ipam_ip_ids", value) + @property @pulumi.getter(name="macAddress") def mac_address(self) -> Optional[pulumi.Input[str]]: @@ -212,6 +244,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_network_id: Optional[pulumi.Input[str]] = None, server_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -242,7 +275,7 @@ def __init__(__self__, pn01 = scaleway.VpcPrivateNetwork("pn01", name="private_network_instance", - zone="fr-par-2") + region="fr-par") base = scaleway.InstanceServer("base", image="ubuntu_jammy", type="DEV1-S", @@ -253,6 +286,33 @@ def __init__(__self__, zone=pn01.zone) ``` + ### With IPAM IP IDs + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + vpc01 = scaleway.Vpc("vpc01", name="vpc_instance") + pn01 = scaleway.VpcPrivateNetwork("pn01", + name="private_network_instance", + ipv4_subnet={ + "subnet": "172.16.64.0/22", + }, + vpc_id=vpc01.id) + ip01 = scaleway.IpamIp("ip01", + address="172.16.64.7", + sources=[{ + "private_network_id": pn01.id, + }]) + server01 = scaleway.InstanceServer("server01", + image="ubuntu_focal", + type="PLAY2-MICRO") + pnic01 = scaleway.InstancePrivateNic("pnic01", + private_network_id=pn01.id, + server_id=server01.id, + ipam_ip_ids=[ip01.id]) + ``` + ## Import Private NICs can be imported using the `{zone}/{server_id}/{private_nic_id}`, e.g. @@ -266,6 +326,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only + :param pulumi.Input[Sequence[pulumi.Input[str]]] ipam_ip_ids: IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. :param pulumi.Input[str] private_network_id: The ID of the private network attached to. :param pulumi.Input[str] server_id: The ID of the server associated with. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the private NIC. @@ -302,7 +363,7 @@ def __init__(__self__, pn01 = scaleway.VpcPrivateNetwork("pn01", name="private_network_instance", - zone="fr-par-2") + region="fr-par") base = scaleway.InstanceServer("base", image="ubuntu_jammy", type="DEV1-S", @@ -313,6 +374,33 @@ def __init__(__self__, zone=pn01.zone) ``` + ### With IPAM IP IDs + + ```python + import pulumi + import pulumiverse_scaleway as scaleway + + vpc01 = scaleway.Vpc("vpc01", name="vpc_instance") + pn01 = scaleway.VpcPrivateNetwork("pn01", + name="private_network_instance", + ipv4_subnet={ + "subnet": "172.16.64.0/22", + }, + vpc_id=vpc01.id) + ip01 = scaleway.IpamIp("ip01", + address="172.16.64.7", + sources=[{ + "private_network_id": pn01.id, + }]) + server01 = scaleway.InstanceServer("server01", + image="ubuntu_focal", + type="PLAY2-MICRO") + pnic01 = scaleway.InstancePrivateNic("pnic01", + private_network_id=pn01.id, + server_id=server01.id, + ipam_ip_ids=[ip01.id]) + ``` + ## Import Private NICs can be imported using the `{zone}/{server_id}/{private_nic_id}`, e.g. @@ -339,6 +427,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, private_network_id: Optional[pulumi.Input[str]] = None, server_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -353,6 +442,7 @@ def _internal_init(__self__, __props__ = InstancePrivateNicArgs.__new__(InstancePrivateNicArgs) __props__.__dict__["ip_ids"] = ip_ids + __props__.__dict__["ipam_ip_ids"] = ipam_ip_ids if private_network_id is None and not opts.urn: raise TypeError("Missing required property 'private_network_id'") __props__.__dict__["private_network_id"] = private_network_id @@ -373,6 +463,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + ipam_ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, mac_address: Optional[pulumi.Input[str]] = None, private_network_id: Optional[pulumi.Input[str]] = None, server_id: Optional[pulumi.Input[str]] = None, @@ -386,6 +477,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: IPAM ip list, should be for internal use only + :param pulumi.Input[Sequence[pulumi.Input[str]]] ipam_ip_ids: IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. :param pulumi.Input[str] mac_address: The MAC address of the private NIC. :param pulumi.Input[str] private_network_id: The ID of the private network attached to. :param pulumi.Input[str] server_id: The ID of the server associated with. @@ -397,6 +489,7 @@ def get(resource_name: str, __props__ = _InstancePrivateNicState.__new__(_InstancePrivateNicState) __props__.__dict__["ip_ids"] = ip_ids + __props__.__dict__["ipam_ip_ids"] = ipam_ip_ids __props__.__dict__["mac_address"] = mac_address __props__.__dict__["private_network_id"] = private_network_id __props__.__dict__["server_id"] = server_id @@ -412,6 +505,14 @@ def ip_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: """ return pulumi.get(self, "ip_ids") + @property + @pulumi.getter(name="ipamIpIds") + def ipam_ip_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + IPAM IDs of a pre-reserved IP addresses to assign to the Instance in the requested private network. + """ + return pulumi.get(self, "ipam_ip_ids") + @property @pulumi.getter(name="macAddress") def mac_address(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumiverse_scaleway/outputs.py b/sdk/python/pulumiverse_scaleway/outputs.py index 9433f6d0..49f28bfe 100644 --- a/sdk/python/pulumiverse_scaleway/outputs.py +++ b/sdk/python/pulumiverse_scaleway/outputs.py @@ -34,9 +34,6 @@ 'DatabaseInstanceReadReplica', 'DatabaseReadReplicaDirectAccess', 'DatabaseReadReplicaPrivateNetwork', - 'DocumentdbPrivateNetworkEndpointPrivateNetwork', - 'DocumentdbReadReplicaDirectAccess', - 'DocumentdbReadReplicaPrivateNetwork', 'DomainRecordGeoIp', 'DomainRecordGeoIpMatch', 'DomainRecordHttpService', @@ -1531,324 +1528,6 @@ def zone(self) -> Optional[str]: return pulumi.get(self, "zone") -@pulumi.output_type -class DocumentdbPrivateNetworkEndpointPrivateNetwork(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "ipNet": - suggest = "ip_net" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in DocumentdbPrivateNetworkEndpointPrivateNetwork. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - DocumentdbPrivateNetworkEndpointPrivateNetwork.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - DocumentdbPrivateNetworkEndpointPrivateNetwork.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - id: str, - hostname: Optional[str] = None, - ip: Optional[str] = None, - ip_net: Optional[str] = None, - name: Optional[str] = None, - port: Optional[int] = None, - zone: Optional[str] = None): - """ - :param str id: The private network ID. - :param str hostname: The hostname of your endpoint. - :param str ip: The IP of your private network service. - :param str ip_net: The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - :param str name: The name of your private service. - :param int port: The port of your private service. - :param str zone: The zone of your endpoint. - """ - pulumi.set(__self__, "id", id) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if ip is not None: - pulumi.set(__self__, "ip", ip) - if ip_net is not None: - pulumi.set(__self__, "ip_net", ip_net) - if name is not None: - pulumi.set(__self__, "name", name) - if port is not None: - pulumi.set(__self__, "port", port) - if zone is not None: - pulumi.set(__self__, "zone", zone) - - @property - @pulumi.getter - def id(self) -> str: - """ - The private network ID. - """ - return pulumi.get(self, "id") - - @property - @pulumi.getter - def hostname(self) -> Optional[str]: - """ - The hostname of your endpoint. - """ - return pulumi.get(self, "hostname") - - @property - @pulumi.getter - def ip(self) -> Optional[str]: - """ - The IP of your private network service. - """ - return pulumi.get(self, "ip") - - @property - @pulumi.getter(name="ipNet") - def ip_net(self) -> Optional[str]: - """ - The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set. - """ - return pulumi.get(self, "ip_net") - - @property - @pulumi.getter - def name(self) -> Optional[str]: - """ - The name of your private service. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def port(self) -> Optional[int]: - """ - The port of your private service. - """ - return pulumi.get(self, "port") - - @property - @pulumi.getter - def zone(self) -> Optional[str]: - """ - The zone of your endpoint. - """ - return pulumi.get(self, "zone") - - -@pulumi.output_type -class DocumentdbReadReplicaDirectAccess(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "endpointId": - suggest = "endpoint_id" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in DocumentdbReadReplicaDirectAccess. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - DocumentdbReadReplicaDirectAccess.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - DocumentdbReadReplicaDirectAccess.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - endpoint_id: Optional[str] = None, - hostname: Optional[str] = None, - ip: Optional[str] = None, - name: Optional[str] = None, - port: Optional[int] = None): - """ - :param str endpoint_id: The ID of the endpoint of the read replica. - :param str hostname: Hostname of the endpoint. Only one of ip and hostname may be set. - :param str ip: IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - :param str name: Name of the endpoint. - :param int port: TCP port of the endpoint. - """ - if endpoint_id is not None: - pulumi.set(__self__, "endpoint_id", endpoint_id) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if ip is not None: - pulumi.set(__self__, "ip", ip) - if name is not None: - pulumi.set(__self__, "name", name) - if port is not None: - pulumi.set(__self__, "port", port) - - @property - @pulumi.getter(name="endpointId") - def endpoint_id(self) -> Optional[str]: - """ - The ID of the endpoint of the read replica. - """ - return pulumi.get(self, "endpoint_id") - - @property - @pulumi.getter - def hostname(self) -> Optional[str]: - """ - Hostname of the endpoint. Only one of ip and hostname may be set. - """ - return pulumi.get(self, "hostname") - - @property - @pulumi.getter - def ip(self) -> Optional[str]: - """ - IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - """ - return pulumi.get(self, "ip") - - @property - @pulumi.getter - def name(self) -> Optional[str]: - """ - Name of the endpoint. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def port(self) -> Optional[int]: - """ - TCP port of the endpoint. - """ - return pulumi.get(self, "port") - - -@pulumi.output_type -class DocumentdbReadReplicaPrivateNetwork(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "privateNetworkId": - suggest = "private_network_id" - elif key == "endpointId": - suggest = "endpoint_id" - elif key == "serviceIp": - suggest = "service_ip" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in DocumentdbReadReplicaPrivateNetwork. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - DocumentdbReadReplicaPrivateNetwork.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - DocumentdbReadReplicaPrivateNetwork.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - private_network_id: str, - endpoint_id: Optional[str] = None, - hostname: Optional[str] = None, - ip: Optional[str] = None, - name: Optional[str] = None, - port: Optional[int] = None, - service_ip: Optional[str] = None, - zone: Optional[str] = None): - """ - :param str private_network_id: UUID of the private network to be connected to the read replica. - :param str endpoint_id: The ID of the endpoint of the read replica. - :param str hostname: Hostname of the endpoint. Only one of ip and hostname may be set. - :param str ip: IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - :param str name: Name of the endpoint. - :param int port: TCP port of the endpoint. - :param str service_ip: The IP network address within the private subnet. This must be an IPv4 address with a - CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - service if not set. - :param str zone: Private network zone - """ - pulumi.set(__self__, "private_network_id", private_network_id) - if endpoint_id is not None: - pulumi.set(__self__, "endpoint_id", endpoint_id) - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if ip is not None: - pulumi.set(__self__, "ip", ip) - if name is not None: - pulumi.set(__self__, "name", name) - if port is not None: - pulumi.set(__self__, "port", port) - if service_ip is not None: - pulumi.set(__self__, "service_ip", service_ip) - if zone is not None: - pulumi.set(__self__, "zone", zone) - - @property - @pulumi.getter(name="privateNetworkId") - def private_network_id(self) -> str: - """ - UUID of the private network to be connected to the read replica. - """ - return pulumi.get(self, "private_network_id") - - @property - @pulumi.getter(name="endpointId") - def endpoint_id(self) -> Optional[str]: - """ - The ID of the endpoint of the read replica. - """ - return pulumi.get(self, "endpoint_id") - - @property - @pulumi.getter - def hostname(self) -> Optional[str]: - """ - Hostname of the endpoint. Only one of ip and hostname may be set. - """ - return pulumi.get(self, "hostname") - - @property - @pulumi.getter - def ip(self) -> Optional[str]: - """ - IPv4 address of the endpoint (IP address). Only one of ip and hostname may be set. - """ - return pulumi.get(self, "ip") - - @property - @pulumi.getter - def name(self) -> Optional[str]: - """ - Name of the endpoint. - """ - return pulumi.get(self, "name") - - @property - @pulumi.getter - def port(self) -> Optional[int]: - """ - TCP port of the endpoint. - """ - return pulumi.get(self, "port") - - @property - @pulumi.getter(name="serviceIp") - def service_ip(self) -> Optional[str]: - """ - The IP network address within the private subnet. This must be an IPv4 address with a - CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) - service if not set. - """ - return pulumi.get(self, "service_ip") - - @property - @pulumi.getter - def zone(self) -> Optional[str]: - """ - Private network zone - """ - return pulumi.get(self, "zone") - - @pulumi.output_type class DomainRecordGeoIp(dict): def __init__(__self__, *,